Closed Bug 1390084 Opened 7 years ago Closed 7 years ago

No gecko profile for Talos test with "mozharness: --geckoProfile" syntax

Categories

(Testing :: Talos, enhancement)

enhancement
Not set
normal

Tracking

(Performance Impact:high, firefox57 fixed)

RESOLVED FIXED
mozilla57
Performance Impact high
Tracking Status
firefox57 --- fixed

People

(Reporter: schien, Assigned: rwood)

References

Details

(Whiteboard: [PI:August])

Attachments

(1 file)

"mozharness: --geckoProfile" syntax broke again on latest m-c. Expect to see corresponding artifact in Job Details tab.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=d871c2420a3db25e8fc9d27ed68a849479202582&selectedJob=122945869
Whiteboard: [PI:August]
This blocks my analysis and experiment for bug 1369632. Maybe @rwood can help?
Flags: needinfo?(rwood)
Hey :jmaher, I believe :ionut was looking at something similar in Bug 1354964, do you want him to take this one, or do you want me to have a look?
Flags: needinfo?(rwood) → needinfo?(jmaher)
feel free to take a look, Ionut is on holiday all week long.
Flags: needinfo?(jmaher)
Assignee: nobody → rwood
Status: NEW → ASSIGNED
Hmm debugging on production, it seems the 'mozharness --geckoProfile' text is not making it's way through:

15:12:18     INFO - * RW * self.buildbot_config:
15:12:18     INFO - {u'properties': {u'buildnumber': 107, u'product': u'firefox', u'basedir': u'C:\\slave\\test', u'installer_path': u'public/build/target.zip', u'builddir': u'try_win10_64_test-tp6-e10s', u'repository': u'https://hg.mozilla.org/try', u'buildername': u'Windows 10 64-bit try talos tp6-e10s', u'stage_platform': u'win64', u'who': u'rwood@mozilla.com', u'project': u'', u'platform': u'win10_64', u'master': u'http://buildbot-master111.bb.releng.scl3.mozilla.com:8201/', u'slavebuilddir': u'test', u'taskId': u'SgaZR96eTUG3PxU4gGY9mA', u'branch': u'try', u'script_repo_revision': u'production', u'repo_path': u'try', u'slavename': u't-w1064-ix-039', u'revision': u'77e10f661fbd4711789452000860195e4b9e3c5e'}, u'sourcestamp': {u'repository': u'https://hg.mozilla.org/try', u'hasPatch': False, u'project': u'', u'branch': u'try', u'changes': [], u'revision': u'77e10f661fbd4711789452000860195e4b9e3c5e'}}

And results in catching this IndexError which just sets opts to None, and therefore not setting self.gecko_profile:

http://searchfox.org/mozilla-central/rev/48ea452803907f2575d81021e8678634e8067fc2/testing/mozharness/mozharness/mozilla/testing/talos.py#209
(In reply to Robert Wood [:rwood] from comment #18)
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=bffe901a979ddd9d54f8be76e3c59e303564cac3

Update: Patch makes gecko profiling work with it added in the try syntax, and the profiling data uploaded as an artifact; however now the "Performance" tab doesn't appear in treeherder when the job is selected.
(In reply to Robert Wood [:rwood] from comment #19)
> (In reply to Robert Wood [:rwood] from comment #18)
> > https://treeherder.mozilla.org/#/jobs?repo=try&revision=bffe901a979ddd9d54f8be76e3c59e303564cac3
> 
> Update: Patch makes gecko profiling work with it added in the try syntax,
> and the profiling data uploaded as an artifact; however now the
> "Performance" tab doesn't appear in treeherder when the job is selected.

Hey :jmaher, so this makes sense as currently in Talos we aren't dumping out PERFHERDER_DATA when gecko profiling is turned on. However, in which case when a talos job with profiling is selected in treeherder, no "Performance" tab will appear, and therefore the profiling artifacts must be grabbed via the "Job Details" treeherder tab instead. I'm assuming that is acceptable? Or should I file another bug to change that?
Flags: needinfo?(jmaher)
From the Description, "Expect to see corresponding artifact in Job Details tab." so I think that must be expected behaviour.
The performance numbers aren't particularly useful when the profiler is enabled, so I think that's fine. As long as we have performance results when the profiler is not enabled and profile results when it is :)
Thanks :kmag, makes sense.

And this behaviour has been around for awhile, even when it was "spsProfiling":

http://searchfox.org/mozilla-central/rev/cd82cacec2cf734768827ff85ba2dba90a534c5e/testing/talos/talos/output.py#188
Flags: needinfo?(jmaher)
Comment on attachment 8902352 [details]
Bug 1390084 - Fix enabling gecko profiling on try;

https://reviewboard.mozilla.org/r/173916/#review179266

thanks for figuring this out.  I agree that we don't want perf data in perfherder while using --geckoProfile, so glad that is working!

::: testing/mozharness/mozharness/mozilla/testing/talos.py:230
(Diff revision 1)
> -              except ValueError:
> +                except ValueError:
> -                  pass
> +                    pass
> +            else:
> +                # no opts, check for '--geckoProfile' in try message text directly
> +                if self.try_message_has_flag('geckoProfile'):
> +                    self.gecko_profile = True

in this scenarion what is self.gecko_profile_interval?  I assume it defaults to something useful?
Attachment #8902352 - Flags: review?(jmaher) → review+
(In reply to Joel Maher ( :jmaher) (UTC-5) from comment #25)
> Comment on attachment 8902352 [details]
> Bug 1390084 - Fix to turn on talos gecko profiling via try syntax;
> 
> https://reviewboard.mozilla.org/r/173916/#review179266
> 
> thanks for figuring this out.  I agree that we don't want perf data in
> perfherder while using --geckoProfile, so glad that is working!
> 
> ::: testing/mozharness/mozharness/mozilla/testing/talos.py:230
> (Diff revision 1)
> > -              except ValueError:
> > +                except ValueError:
> > -                  pass
> > +                    pass
> > +            else:
> > +                # no opts, check for '--geckoProfile' in try message text directly
> > +                if self.try_message_has_flag('geckoProfile'):
> > +                    self.gecko_profile = True
> 
> in this scenarion what is self.gecko_profile_interval?  I assume it defaults
> to something useful?

Thanks, yes gecko_profile_interval defaults to 1:

http://searchfox.org/mozilla-central/rev/51b3d67a5ec1758bd2fe7d7b6e75ad6b6b5da223/testing/talos/talos/config.py#32
Pushed by rwood@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c98c89a11df2
Fix to turn on talos gecko profiling via try syntax; r=jmaher
Backed out for mass environment setup failures:

https://hg.mozilla.org/integration/autoland/rev/6c192f0ce126e1386d4708267b1a54ccd3c5906c

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=c98c89a11df28e970c975088f1cfefc847aa06eb&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=usercancel&filter-resultStatus=runnable&filter-resultStatus=retry
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=127067058&repo=autoland

[task 2017-08-30T14:34:20.741311Z] 14:34:20     INFO - retry: Calling rmtree with args: ('/builds/worker/workspace/build',), kwargs: {}, attempt #1
[task 2017-08-30T14:34:20.747083Z] 14:34:20     INFO - Running post-action listener: _resource_record_post_action
[task 2017-08-30T14:34:20.749013Z] 14:34:20     INFO - [mozharness: 2017-08-30 14:34:20.748730Z] Finished clobber step (success)
[task 2017-08-30T14:34:20.751838Z] 14:34:20     INFO - [mozharness: 2017-08-30 14:34:20.751552Z] Skipping read-buildbot-config step.
[task 2017-08-30T14:34:20.753480Z] 14:34:20     INFO - [mozharness: 2017-08-30 14:34:20.752207Z] Running download-and-extract step.
[task 2017-08-30T14:34:20.755107Z] 14:34:20     INFO - Running pre-action listener: _pre_download_and_extract
[task 2017-08-30T14:34:20.769009Z] 14:34:20    ERROR - Exception during pre-action for download-and-extract: Traceback (most recent call last):
[task 2017-08-30T14:34:20.775544Z] 14:34:20    ERROR -   File "/builds/worker/workspace/mozharness/mozharness/base/script.py", line 1982, in run_action
[task 2017-08-30T14:34:20.778866Z] 14:34:20    ERROR -     method(action)
[task 2017-08-30T14:34:20.782692Z] 14:34:20    ERROR -   File "/builds/worker/workspace/mozharness/scripts/desktop_unittest.py", line 533, in _pre_download_and_extract
[task 2017-08-30T14:34:20.785071Z] 14:34:20    ERROR -     if not self.try_message_has_flag('artifact'):
[task 2017-08-30T14:34:20.787197Z] 14:34:20    ERROR -   File "/builds/worker/workspace/mozharness/mozharness/mozilla/testing/try_tools.py", line 155, in try_message_has_flag
[task 2017-08-30T14:34:20.789555Z] 14:34:20    ERROR -     message = message or self._extract_try_message()
[task 2017-08-30T14:34:20.791579Z] 14:34:20    ERROR -   File "/builds/worker/workspace/mozharness/mozharness/mozilla/testing/try_tools.py", line 90, in _extract_try_message
[task 2017-08-30T14:34:20.793585Z] 14:34:20    ERROR -     elif self._is_try():
[task 2017-08-30T14:34:20.795751Z] 14:34:20    ERROR -   File "/builds/worker/workspace/mozharness/mozharness/mozilla/testing/try_tools.py", line 166, in _is_try
[task 2017-08-30T14:34:20.799745Z] 14:34:20    ERROR -     return ('try' in self.config.get('branch', repo_path) or
[task 2017-08-30T14:34:20.803643Z] 14:34:20    ERROR - TypeError: argument of type 'NoneType' is not iterable
Flags: needinfo?(rwood)
Thanks Sebastian, apologies, patch worked fine on try but obviously I missed something when it comes to the other branches.
Flags: needinfo?(rwood)
Attachment #8902352 - Flags: review+ → review?(jmaher)
Comment on attachment 8902352 [details]
Bug 1390084 - Fix enabling gecko profiling on try;

Not my day, updated again
Attachment #8902352 - Flags: review?(jmaher)
Comment on attachment 8902352 [details]
Bug 1390084 - Fix enabling gecko profiling on try;

https://reviewboard.mozilla.org/r/173916/#review179682

sort of a rubber stamp here
Attachment #8902352 - Flags: review?(jmaher) → review+
Pushed by rwood@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b4ea43ebf346
Fix enabling gecko profiling on try; r=jmaher
https://hg.mozilla.org/mozilla-central/rev/b4ea43ebf346
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Thank you :)
Whiteboard: [PI:August] → [PI:August][qf:p1]
Performance Impact: --- → P1
Whiteboard: [PI:August][qf:p1] → [PI:August]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: