facebookincubator / dynolog

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.
MIT License
260 stars 38 forks source link

Update unittests in hbt/src/perf_event #79

Closed bigzachattack closed 1 year ago

bigzachattack commented 1 year ago

Summary: Many of the tests require running as root, so these test definitions have been updated to use sudo_cpp_unittests to allow for normal testing with buck2 test.

BuiltinMetricsTest -- Init was updated to account for some counters have a default sampling period of 0.

BuiltinMetricsTest, PerfEventAttrPreciseJson was updated to account for that newer Intel Processors do not have "UOPS_RETIRED.ALL" and when they do not "UOPS_RETIRED.RETIRE_SLOTS" lacks the pebs feature and therefore not precise.

"CpuEventsGroup.h:getCount()" was modified check for time_running == 0 as there were occasionaly failures from "BPerfCountReader --SmokeTest" due to USAN on a nan being converted to unit. (nan was from dividing by zero.)

Differential Revision: D42173995

facebook-github-bot commented 1 year ago

This pull request was exported from Phabricator. Differential Revision: D42173995

facebook-github-bot commented 1 year ago

This pull request was exported from Phabricator. Differential Revision: D42173995

facebook-github-bot commented 1 year ago

This pull request was exported from Phabricator. Differential Revision: D42173995

facebook-github-bot commented 1 year ago

This pull request was exported from Phabricator. Differential Revision: D42173995

facebook-github-bot commented 1 year ago

This pull request was exported from Phabricator. Differential Revision: D42173995

facebook-github-bot commented 1 year ago

This pull request has been merged in facebookincubator/dynolog@4edaf89847f111a87bda4601760c0e0952977549.