Dynolog is a telemetry daemon for performance monitoring and tracing. It exports metrics from different components in the system like the linux kernel, CPU, disks, Intel PT, GPUs etc. Dynolog also integrates with pytorch and can trigger traces for distributed training applications.
Summary:
perPerfEventsGroupBase::read() function accumulate ReadValues from different CPU core or uncore PMU by summing accumulated running time/enabled time/raw count together. This sometimes is not expected when people want to calculate the sum of the kernel multiplexing adjusted value.
to avoid using perPerfEventsGroupBase::read() function in PerfCountMangerHbt, a new function readPerPerfEventsGroup() is added. it will return a list of ReadValues, one from each perf event. In this way, we can choose how to aggregate values from different perf events later in dynolog.
Summary: perPerfEventsGroupBase::read() function accumulate ReadValues from different CPU core or uncore PMU by summing accumulated running time/enabled time/raw count together. This sometimes is not expected when people want to calculate the sum of the kernel multiplexing adjusted value.
to avoid using perPerfEventsGroupBase::read() function in PerfCountMangerHbt, a new function readPerPerfEventsGroup() is added. it will return a list of ReadValues, one from each perf event. In this way, we can choose how to aggregate values from different perf events later in dynolog.
Reviewed By: bigzachattack
Differential Revision: D55400965