Closed Bug 1519752 Opened 5 years ago Closed 5 years ago

Record profiler overhead data

Categories

(Core :: Gecko Profiler, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox67 --- fixed

People

(Reporter: mozbugz, Assigned: mozbugz)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

It should be very easy and inexpensive to record some information about the time spent in the profiler.

At first, it could be kept hidden in Gecko profiles for our own use, to help us figure out sources of profiler performance issues, and to find regressions when we are modifying the profiler core code.
While hidden, we can easily change what we want to record based on experience using it.

Once stable, some of this data could be presented in the front-end, to indicate how much
the profiler may have influenced the software being profiled.

The prototype I'm working on currently records the following data:

 "profilerOverhead_UNSTABLE": {
  "schema": {"time": 0, "locking": 1, "cleaning": 2, "counters": 3, "threads": 4},
  "data": [
   [138.67270000000002, 0.0013, 0.00019999999999999998, 0.0024, 0.1003],
   [140.49980000000002, 0.0025, 0.0003, 0.00039999999999999996, 0.0522],
   "...",
   [6383.7972, 0.0019, 0.00009999999999999999, 0.00019999999999999998, 0.0291],
   [6385.7934, 0.0015, 0.00019999999999999998, 0.00019999999999999998, 0.034100000000000005]
  ],
  "statistics": {
   "profiledInterval": 6247.1206999999995,
   "overheadDurations": 169.3540000000005,
   "overheadPercentage": 0.027109128850351893,
   "samplingCount": 3133,
   "minInterval": 1.8271000000000015,
   "maxInterval": 2.095399999999927,
   "meanInterval": 1.9946106960408683,
   "minOverhead": 0.0023,
   "maxOverhead": 0.4188,
   "meanOverhead": 0.05405489945738924,
   "minLockings": 0.0006,
   "maxLockings": 0.056100000000000004,
   "meanLockings": 0.0025483242898180713,
   "minCleaning": 0,
   "maxCleaning": 0.058699999999999995,
   "meanCleaning": 0.0003978295563357614,
   "minCounter": 0.00009999999999999999,
   "maxCounter": 0.0593,
   "meanCounter": 0.0005486434727098368,
   "minThread": 0.0013,
   "maxThread": 0.414,
   "meanThread": 0.05056010213852527
  }
 }

(Intentionally not explaining each property, because I'm hoping they're self-explanatory -- please ask for better names if needed.)

Suggestions welcome.

Record some profiling overhead data, stored in Gecko profiles under
"profilerOverhead_UNSTABLE". Unstable for now as it will first be used
internally to help with profiler performance, and find regressions in upcoming
work; The choice of data may change as we explore what we need.

Eventually this data could be presented in the front-end, to indicate how much
the profiler may have influenced the profiled software.
Pushed by gsquelart@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8765e788de8b
Profiler overhead measurements - r=mstange
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: