PerfMonComps: Add some additional information to the PerfMonMTSvc output
This MR adds some useful information to the results of the PerfMonMTSvc
:
- An average CPU utilization efficiency that takes into account the number of concurrent events in-flight,
- Always print the measurements for the last event that's captured,
- Include the cache size in the CPU model information,
- Include the total memory of the node in the system information,
- Include the
malloc
and themath
libraries that were used in the processing.
Let me cc @elmsheus as he might be interested in especially the first one. See the documentation in the code that explains how it is computed.
There are also a few whitespace changes.
An example output (100 events four-thread q431 test RAWtoALL) looks like this now:
INFO =======================================================================================
INFO PerfMonMTSvc Report
INFO =======================================================================================
INFO IMPORTANT : PLEASE NOTE THAT THIS SERVICE IS CURRENTLY IN R&D PHASE.
INFO FOR FURTHER INFORMATION/QUERIES PLEASE GET IN TOUCH WITH THE SPOT TEAM.
INFO =======================================================================================
INFO *** Full set of information can also be found in: perfmonmt_RAWtoALL.json
INFO *** In order to make plots using the results run the following commands:
INFO *** $ perfmonmt-plotter.py -i perfmonmt_RAWtoALL.json
INFO *** In order to print tables using the results run the following commands:
INFO *** $ perfmonmt-printer.py -i perfmonmt_RAWtoALL.json
INFO =======================================================================================
INFO Event Level Monitoring
INFO (Only the first 10 and the last measurements are explicitly printed)
INFO =======================================================================================
INFO Event CPU [s] Wall [s] Vmem [kB] Rss [kB] Pss [kB] Swap [kB]
INFO ---------------------------------------------------------------------------------------
INFO 1 407.23 440.76 5491104 3916204 3913436 0
INFO 10 478.93 467.36 8052780 6376776 6374005 0
INFO 25 587.90 494.88 8220276 6586228 6583457 0
INFO 50 784.53 544.71 8367900 6735968 6733196 0
INFO 100 1218.12 654.79 8530808 6706708 6704112 0
INFO =======================================================================================
INFO Snapshots Summary
INFO =======================================================================================
INFO Step dCPU [s] dWall [s] <CPU> dVmem [kB] dRss [kB] dPss [kB] dSwap [kB]
INFO ---------------------------------------------------------------------------------------
INFO Configure 297.46 320.172 0.93 3216888 2201584 2198751 0
INFO Initialize 73.33 75.455 0.97 867084 360300 360551 0
INFO Execute 862.49 262.318 3.29 4330420 4029184 4029190 0
INFO Finalize 15.8 15.801 1.00 0 31728 31725 0
INFO ***************************************************************************************
INFO Number of events processed: 100
INFO CPU usage per event [ms]: 8625
INFO Events per second: 0.381
INFO CPU utilization efficiency [%]: 85
INFO ***************************************************************************************
INFO Max Vmem: 8.14 GB
INFO Max Rss: 6.42 GB
INFO Max Pss: 6.42 GB
INFO ***************************************************************************************
INFO Leak estimate per event Vmem: 3.92 MB
INFO Leak estimate per event Pss: 1.26 MB
INFO >> Estimated using the last 3 measurements from the Event Level Monitoring
INFO >> Events prior to the first 25 are omitted...
INFO =======================================================================================
INFO System Information
INFO =======================================================================================
INFO CPU Model: Intel(R) Xeon(R) CPU E5-2667 v2 @ 3.30GHz 25600 KB
INFO Number of Available Cores: 32
INFO Total Memory: 31.21 GB
INFO =======================================================================================
INFO Environment Information
INFO =======================================================================================
INFO Malloc Library: libtcmalloc_minimal.so
INFO Math Library: libm.so.6
INFO =======================================================================================
Merge request reports
Activity
This merge request affects 1 package:
- Control/PerformanceMonitoring/PerfMonComps
This merge request affects 3 files:
- Control/PerformanceMonitoring/PerfMonComps/src/PerfMonMTSvc.cxx
- Control/PerformanceMonitoring/PerfMonComps/src/PerfMonMTSvc.h
- Control/PerformanceMonitoring/PerfMonComps/src/PerfMonMTUtils.h
added Core master review-pending-level-1 labels
removed Core master review-pending-level-1 labels
CI Result SUCCESS (hash b00cab62)Athena AthSimulation AthGeneration AnalysisBase externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 25438]added Core master review-pending-level-1 labels
removed review-pending-level-1 label
added review-approved label
mentioned in commit cbadde03
added sweep:ignore label
mentioned in merge request !39615 (merged)