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•7 years ago
|
||
Comment 3•7 years ago
|
||
| bugherder | ||
Updated•7 years ago
|
Description
•