times2log 0.1.0 -- монитор процессорного времени

good-penguin.png

Состоялся первый выпуск проекта times2log, предназначенного для мониторинга и логирования процессорного времени, используемого выбранным процессом. Код открыт под лицензией CC0 (общественное достояние).

times2log представляет из себя Python скрипт, периодически проверяющий /proc/[PID]/stat указанного процесса для учета utime и stime.

times2log выводит (и опционально логирует в указанный файл) пользовательское и системное время процесса за указанный интервал времени (2 секунды по умолчанию).

Перед началом мониторинга выполняется mlockall() для бесперебойной работы процесса в условиях нехватки памяти.

Пример вывода:

$ times2log -p `pidof kswapd0`
Process memory locked with MCL_CURRENT | MCL_FUTURE | MCL_ONFAULT
PID: 93, Name: kswapd0, interval: 2s, SC_CLK_TCK: 100
============================================================
       user    |      system    |        total    | interval
-------------- | -------------- | --------------- | --------
   0 t,   0.0% |    0 t,   0.0% |     0 t,   0.0% | 2.0s
   0 t,   0.0% |    0 t,   0.0% |     0 t,   0.0% | 2.0s
   0 t,   0.0% |    0 t,   0.0% |     0 t,   0.0% | 2.0s
   0 t,   0.0% |    0 t,   0.0% |     0 t,   0.0% | 2.0s
   0 t,   0.0% |  161 t,  80.4% |   161 t,  80.4% | 2.0s
   0 t,   0.0% |  199 t,  99.4% |   199 t,  99.4% | 2.0s
   0 t,   0.0% |  197 t,  98.4% |   197 t,  98.4% | 2.0s
   0 t,   0.0% |  198 t,  98.9% |   198 t,  98.9% | 2.0s
   0 t,   0.0% |  150 t,  74.9% |   150 t,  74.9% | 2.0s
   0 t,   0.0% |  157 t,  78.4% |   157 t,  78.4% | 2.0s
   0 t,   0.0% |  197 t,  98.4% |   197 t,  98.4% | 2.0s
   0 t,   0.0% |   29 t,  14.5% |    29 t,  14.5% | 2.0s
   0 t,   0.0% |    0 t,   0.0% |     0 t,   0.0% | 2.0s
   0 t,   0.0% |    0 t,   0.0% |     0 t,   0.0% | 2.0s
   0 t,   0.0% |    0 t,   0.0% |     0 t,   0.0% | 2.0s
   0 t,   0.0% |    0 t,   0.0% |     0 t,   0.0% | 2.0s
^C--
Times for the last 32.2s:
  user:   0 ticks (0.0s), avg: 0.0%
  system: 1288 ticks (12.9s), avg: 40.0%
  total:  1288 ticks (12.9s), avg: 40.0%

Учет времени ведется в тиках и в процентах от пройденного интервала времени. При завершении работы (после получения сигнала SIGINT, SIGTERM, SIGQUIT или SIGHUP) times2log выводит итоговую статистику за все время мониторинга.

>>> Подробности

©  Linux.org.ru