Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
JavaScript Go Ruby HTML Shell Makefile

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin changed file arrangement for gem packaging
core add darwin to build targets
data
lib start supporting darwin (no measurement available yet)
misc fix typo
spec
.dir-locals.el add .dir-locals.el to disable indent-tabs-mode
.gitignore
.rspec
.tachikoma.yml
.travis.yml run apt-get update in wercker/travis
COPYING add prototype implementation
Gemfile
Guardfile use guard
HOWTO.md
NEWS
README.md add wercker badge
Rakefile rake runs :spec and :test_core by default
perfmonger.gemspec stop supporting ruby 1.8.x
perfmonger.pgr
wercker.yml fix typo

README.md

PerfMonger

Build Status

wercker status

PerfMonger is an yet anothor performance measurement/monitoring tool speaking JSON.

CAUTION: PerfMonger is still in early stage, so there may be a drastic change in the future. Do not use it for critical jobs

Target platform

  • GNU/Linux

Prerequisites

  • Ruby 1.9.3 or later
  • gnuplot 4.6.0 or later (optional)

Note: You need Cutter unit testing framework for building/running tests.

How to install

gem install perfmonger

Build from source

rake build

How to use: case study

Monitor IO performance of /dev/sda for each 0.1 second

$ perfmonger record -i 0.1 -d sda

Monitor CPU usage for each 0.1 second

$ perfmonger record -i 0.1

Monitor CPU usage and IO performance of /dev/sda, sdb for each 0.1 second

$ perfmonger record -i 0.1 -d sda -d sdb

Plot CPU and IOPS

$ perfmonger record -i 0.1 -C -d sda > /tmp/perfmonger.log & sleep 10; pkill perfmonger
$ perfmonger plot -o /path/to/output_dir/ -Tpng /tmp/perfmonger.log
$ display /path/to/output_dir/read-iops.png
$ display /path/to/output_dir/cpu.png

Sample image of IOPS graph Sample image of CPU usage graph

Special Thanks

Large portion of PerfMonger comes from SYSSTAT codebase. Thanks for their great work.

Something went wrong with that request. Please try again.