Record profiler overhead data
Categories
(Core :: Gecko Profiler, enhancement, P3)
Tracking
()
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.
Assignee | ||
Comment 1•5 years ago
|
||
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
Comment 3•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Description
•