Fetching latest commit…
Cannot retrieve the latest commit at this time
|Failed to load latest commit information.|
Kunabi is a quick and dirty solution I came up with to capture all of the primary metrics available on NetBSD to track long term as well as plot. Initially I was using it to help track metrics when doing benchmarks but now I use it on all production servers to be able to track performance. Requirements: sqlite3, rubygems gems sinatra, yaml It is a single script at the moment used for both capture and plotting. This should be broken out shortly. Below is a brief overview of syntax kunabi.rb Usage: -d (no argument) Turn debugging on which adds more verbose output -D (no argument) WARNING! This removes your database collection file. -c (no argument) Collect information from the various commands like vmstat/netstat/iostat/pstat -e "Event name" This allows you to collect data points and have them assigned to a given event. For example on several runs of benchmarks I will kick this off with different event names so I can plot those metrics as they apply to a given benchmark run. -p (no argument) Plot all charts related to the data collected. Right now all charts are plotted and there is no subcontrol over plotting by name, group. -r (no argument) Plot charts using relative time to the beginning of capture. Good for benchmarks where you wish to compare the results of various events against each other with relative time scales. Default is to use absolute date/time -i (no argument) This just creates an index.html of the images and thumbnails found in the @home directory. It assumes thumbnails exist. -l "number of loops" Turning looping on for argument value runs. This is used in conjunction with -w to setup a loop of capturing data points with the -w option determining how long to sleep between runs. Example kunabi.rb -l 10 -w 60 Would loop over 10 minutes capturing once a minute. Used in conjunction with -e helps make the charts comparable with same number of iterations. -L "limit charts to this number of data points." This limits the charted data to the last n data points. Adds a limit clause to the sql queries to value given. Works well for cases of very large data groups that result in excessive plot times. -t (no argument) Plot thumbnails for the charts created. For performance reasons this is not enabled by default. In order to use -i to create index.html you need to ensure -t is used. -w "number of seconds to wait between runs" Used with the -l option to loop and determine the wait time between runs.