Skip to main content

Benchmark resources usage

Project description

Monitor Process Resources Usage

Bench aims to be a handy tool with these functions:
  • Monitor CPU time (user time, sys time, real time)

  • Monitor memory usage (vms usage, rss usage)

  • Output to TSV(tab-delimited files)

  • Output benchmarking metrics

  • Visualize benchmarking over time

Examples

  • Example 1: simple command

> monitor.py sleep 2
PID Prog    UsrTime SysTime RealTime        MaxVms  MaxRss  AvgVms  AvgRss  Path    Command
26183       sleep   0.000   0.000   2.010   7581696 368640  7581696.0       368640.0        /home/zhanxw/anno/paper/benchmark.vcf   "sleep 2"
26181       python  0.000   0.000   2.109   78802944        7118848 75075881.6664   6807216.41318   /home/zhanxw/anno/paper/benchmark.vcf   "/home/zhanxw/python27/bin/python /home/zhanxw/bin/monitor.py sleep 2"
  • Example 2: complex shell commands with samping interval equaing 0.5 second

> monitor.py -s -i 0.5 'sleep 2 & sleep 4 & seq 1000000 >/dev/null & wait'
PID Prog    UsrTime SysTime RealTime        MaxVms  MaxRss  AvgVms  AvgRss  Path    Command
26561       python  0.000   0.000   4.007   77750272        6758400 77750272.0      6758400.0       /home/zhanxw/anno/paper/benchmark.vcf   "/home/zhanxw/python27/bin/python /home/zhanxw/bin/monitor.py -s -i 0.5 sleep 2 & sleep 4 & seq 1000000 >/dev/null & wait"
26562       sh      0.000   0.000   3.506   12881920        1413120 12881920.0      1413120.0       /home/zhanxw/anno/paper/benchmark.vcf   "sh -c sleep 2 & sleep 4 & seq 1000000 >/dev/null & wait"
26563       sleep   0.000   0.000   1.503   7581696 368640  7581696.0       368640.0        /home/zhanxw/anno/paper/benchmark.vcf   "sleep 2"
26564       sleep   0.000   0.000   3.506   7581696 368640  7581696.0       368640.0        /home/zhanxw/anno/paper/benchmark.vcf   "sleep 4"
26565       seq     0.580   0.010   0.501   7602176 634880  7602176.0       634880.0        /home/zhanxw/anno/paper/benchmark.vcf   "seq 1000000"
26559       python  0.000   0.000   4.507   77754368        7045120 77750843.0692   7045120.0       /home/zhanxw/anno/paper/benchmark.vcf   "/home/zhanxw/python27/bin/python /home/zhanxw/bin/monitor.py -s -i 0.5 sleep 2 & sleep 4 & seq 1000000 >/dev/null & wait"
  • Example 3: generate benmarking metrics and graphs to external file

::

> monitor.py -t -o burnCpu.mon -g ./burnCpu

Result are stored in burnCpu.mon, burnCpu.mon.trace.cpu, burnCpu.mon.trace.mem and burnCpu.mon.png.

burnCpu.mon content

PID Prog    UsrTime SysTime RealTime        MaxVms  MaxRss  AvgVms  AvgRss  Path    Command
29900       burnCpu 7.480   0.000   7.532   12730368        839680  12730368.0      839680.0        /home/zhanxw/mycode/bench       "./burnCpu"
29898       python  0.000   0.000   7.732   78807040        7118848 76893692.4593   7018742.03273   /home/zhanxw/mycode/bench       "/home/zhanxw/python27/bin/python /home/zhanxw/bin/monitor.py -t -o burnCpu.mon -g ./burnCpu"

burnCpu.mon.trace.cpu content

PID Prog    UsrTime SysTime RealTime
29900       burnCpu 0.06    0.0     1381423522.56
29900       burnCpu 0.16    0.0     1381423522.66
29900       burnCpu 0.26    0.0     1381423522.76
29900       burnCpu 0.36    0.0     1381423522.86
29900       burnCpu 0.46    0.0     1381423522.96
29900       burnCpu 0.56    0.0     1381423523.06
...

burnCpu.mon.trace.mem content

PID Prog    Time    VMS     RSS
29900       burnCpu 1381423522.56   12730368        839680
29900       burnCpu 1381423522.66   12730368        839680
29900       burnCpu 1381423522.76   12730368        839680
29900       burnCpu 1381423522.86   12730368        839680
29900       burnCpu 1381423522.96   12730368        839680

burnCpu.mon.png graph

http://zhanxw.com/bench/burnCpu.mon.png

NOTE

Shell (/bin/sh) are used to execute commands. It’s a convenient feature with some shell exploit hazard.

bench requires psutil to collect basic benchmarking metrics, and requires numpy and matplotlib to generate benchmark graphs.

Contact

Xiaowei Zhan<zhanxw[at]gmail.com>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bench-1.6.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

bench-1.6.linux-x86_64.exe (71.2 kB view details)

Uploaded Source

File details

Details for the file bench-1.6.tar.gz.

File metadata

  • Download URL: bench-1.6.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bench-1.6.tar.gz
Algorithm Hash digest
SHA256 3dc1265eaca0b820e75ea267357618a79c0c055face099970cdb0be73a7e19aa
MD5 8838d5f111bda8b85ae44700ba1887e5
BLAKE2b-256 43052f7ad231411f906843da50c149ce5bcce092f4292cb29dba5b3445ce4f72

See more details on using hashes here.

File details

Details for the file bench-1.6.linux-x86_64.exe.

File metadata

File hashes

Hashes for bench-1.6.linux-x86_64.exe
Algorithm Hash digest
SHA256 139300d3d52bab3c66be706063daf8eb448c8c3d1edcc3efe26af105fe43c1c9
MD5 b51c6923625c7e4a634c1cfafd868155
BLAKE2b-256 9a201cec7978600235cb64c26dea776d0f8f060bb68503eda7b6657beae5eafe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page