Remove dependency on fbzmq::ResourceMonitor & sigar
Summary: Replace the methods to get CPU and memory usage statistics: - For the memory: use `VmRSS` of `/proc/[pid]/status`: http://man7.org/linux/man-pages/man5/proc.5.html - For the CPU%: calculate the process is occupied how much percentage of the CPU time, use `getrusage()`: http://man7.org/linux/man-pages/man2/getrusage.2.html - Implemented like the sigar: https://our.intern.facebook.com/intern/diffusion/FBS/browse/master/third-party/sigar/src/sigar.c?commit=4f945812675131ea64cb3d143350b1414f34a351&lines=111-169 - Formula: - CPU% = `process used time` during the period / `time period` * 100 - `time period` = current query timestamp - last query timestamp - `process used time` = current `process total time` - last query `process total time` - `process total time` = CPU time used in user mode + CPU time used in system mode // get from the API `ru_utime` and `ru_stime` Remove the `fbzmq::ResourceMonitor` and `sigar`: - Change and rename the UT - `ResourceMonitorTest.cpp` -> `SystemMetricsTest.cpp` - `ResourceMonitor` -> `SystemMetricsTest` in `openr/tests/OpenrSystemTest.cpp` - Remove `ResourceMonitor` code and dependency for `Watchdog` and `ZmqMonitor` - Remove `sigar` dependency used in building Reviewed By: saifhhasan Differential Revision: D20049944 fbshipit-source-id: 00b90c8558dc5f0fb18cc31a09b9666a47b096fe
Showing
Please register or sign in to comment