1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:07:45 +00:00

Kernel+Profiler: Track lost time between profiler timer ticks

We can lose profiling timer events for a few reasons, for example
disabled interrupts or system slowness. This accounts for lost
time between CPU samples by adding a field lost_samples to each
profiling event which tracks how many samples were lost immediately
preceding the event.
This commit is contained in:
Gunnar Beutner 2021-05-13 22:14:07 +02:00 committed by Andreas Kling
parent 8614d18956
commit c41f13f10b
8 changed files with 30 additions and 11 deletions

View file

@ -78,7 +78,7 @@ void TimelineTrack::paint_event(GUI::PaintEvent& event)
}
auto& histogram = event.in_kernel ? kernel_histogram : usermode_histogram;
histogram.insert(clamp_timestamp(event.timestamp), 1);
histogram.insert(clamp_timestamp(event.timestamp), 1 + event.lost_samples);
}
decltype(kernel_histogram.at(0)) max_value = 0;