Closed Bug 1372857 Opened 7 years ago Closed 7 years ago

allow xperf in debug mode to upload more data to blobber

Categories

(Testing :: Talos, enhancement)

enhancement
Not set
normal

Tracking

(firefox56 fixed)

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: jmaher, Assigned: jmaher)

References

(Blocks 1 open bug)

Details

(Whiteboard: [PI:June])

Attachments

(1 file)

it is hard to answer this question: "I have a regressions in file IO, which files are being accessed?"

To do this we need to:
1) upload intermediate files to blobber
2) download etl_output.csv from 2 revisions
3) parse the log files and summarize the IO for each file
4) point out the differences

this bug is solving #1 assuming you hack talos into 'debug' mode.  We can either:
1) always upload the ~220K etl_output.csv to blobber (~2500/week = ~535MB/week)
2) make it easy to put xperf into debug mode for try pushes, ideally with a try syntax flag

I see solving #2/#3/#4 by writing a script which will live in tree an you can run it sort of like this:
python testing/talos/talos/xtalos/xperf_differences.py --baseBranch <branch> --baseRevision <rev> --newBranch <branch> --newRevision <rev> --stage <startup|normal> --thread <main|nonmain>

this would somehow figure out where the etl_output.csv file is for each revision and download them, then parse them and summarize the data.
Assignee: nobody → jmaher
Status: NEW → ASSIGNED
Attachment #8877527 - Flags: review?(rwood)
Comment on attachment 8877527 [details] [diff] [review]
if in debug mode, xperf should upload many files

Review of attachment 8877527 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM with those few items and nits addressed

::: testing/talos/talos/xtalos/etlparser.py
@@ +303,5 @@
>  
>      # remove the csv file
> +    if debug:
> +        uploadFile(csvname)
> +    mozfile.remove(csvname)

Do you want an else above this line, so it matches current behaviour? Or are you intentionally wanting to remove the csv even when in debug mode (and then having to get it from blobber instead)?

@@ +314,5 @@
>          with open(fname, "w") as f:
>              f.write(output)
> +
> +        if debug:
> +            uploadFile(fname)

uploadFile above will add a ".log" extension to fname, is that alright? Or will it have two extensions?

@@ +332,5 @@
>                                  (all_stages and x[2] != stages[0] or
>                                   not checkWhitelist(x[0], whitelist)),
>                        files.iterkeys())
> +    if debug:
> +        outputData = filter(lambda x: (all_stages or x[2] in [stages[0], stages[1]]) and

nit: add a comment like the one above describing what is being filtered out here

@@ +356,5 @@
>      if outputFile:
>          # close the file handle
>          outFile.close()
>  
> +    if debug:

maybe should be (?)

if debug and outputFile:

@@ +478,5 @@
>              with open(error_filename, 'w') as errorFile:
>                  errorFile.write('\n'.join(errors))
>  
> +        if debug:
> +            uploadFile(etl_filename)

will etl_filename always exist when in debug?
Attachment #8877527 - Flags: review?(rwood) → review+
Blocks: 1372862
Thanks for the quick review!

I have addressed the nits- except the .log extension (blobber has restrictions on file types/sizes allowed, so masking .csv as a .log is an old trick).

Will wait for try data before landing:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=0f95de8c1d65fd06ace4102c0200bbae48e3fe77
Pushed by jmaher@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/301cf943d0e0
allow xperf in debug mode to upload more data to blobber. r=rwood
Pushed by jmaher@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/1fc1e9d7f1fc
whitelist additional addons which show up in pgo only. r=Kwierso
https://hg.mozilla.org/mozilla-central/rev/301cf943d0e0
https://hg.mozilla.org/mozilla-central/rev/1fc1e9d7f1fc
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: