tsplot [ -c configuration file ] [ -d images output directory ] [ -v verbose ] [ legend logfile ]
Tsung comes with a plotting tool using gnuplot, producing some graphs from the tsung.log file data. tsplot is able to plot data from several tsung.log files onto the same charts serie, for further comparison and analyze.
- specifies the configuration file to use. Default is http.en.plots.conf.
- directory where tsplot saves the images it produces, defaults to /tmp/tsung.
- makes tsplot very verbose about what it does.
The configuration file of tsplot allows one to define the plots you want to obtain, from their label to the data they will show. The configuration file adopts a .ini file syntax, each section defining a chart.
tsplot comes with two sample configuration files, namely http.plots.en.conf and pgsql.plots.en.conf. They respectively define charts to be plotted for a tsung HTTP test and a tsung PGSQL test.
A DEFAULT section may be provided, any element configured here may then be overridden into a specific plot section.
Another configuration file is used by tsplot: the tsung/stats.conf one. It's used to define by type the statistics to be read into tsung log files, and you shouldn't need to edit it, short of adding support for new tsung statistics.
Common settings, to be found into DEFAULT section or any specific chart section.
- set here the encoding used thereafter in the file, for labels and titles.
- dpi setting of produced charts images
- dpi setting of produced charts thumbnail images
type of chart image to produce, as in
png or ps
A complete list might be obtained on the python-matplotlib website, http://matplotlib.sourceforge.net/
default label for horizontal axe, often you want seconds
or minutes, depending on xfactor.
Please note you can also set some defaults for ylabel, but this seems not to be a good idea in practise.
- tsung logs statistics in its logfile every 10 seconds. By default, charts will not scale this and have seconds as horizontal axis units. By setting an xfactor of 60, you have a minute precision on horizontal axis.
same as xfactor, but for vertical axis.
Depending on the data you obtain with your tests, you may want to adapt the vertical scale of your plotting. For example, the page.mean statistic is logged in milliseconds by tsung. You may want to display seconds if this unit better fits your measures. Then simply set yfactor = 1000.
set here any number of matplotlib
styles you want to use, separated by spaces, as available
For exemple, set styles = b- g+ r- cx for plotting first dataset (see stats below) with a blue solid line, second with green plus symbols, third with a red line and last with cyan cross symbols.
This could fit a stats = 200.count 400.count stats setting when plotting two tsung logs.
You then can define any number of plot, one by section, and give them an arbitrary name. The name must be unique, and will be used for naming output images.
Any option available in DEFAULT section is also available in any specific chart section, with the same meaning and effect. The specific setting will systematically override the DEFAULT one.
- Title of the chart, as printed into the resulting image.
The statistics properties to use for this plotting, as
named in the tsung/stats
configuration file. Please see this bundled file for a
list of what is available.
Tsung provide several types of statistics, as documented here: http://tsung.erlang-projects.org/user_manual.html#htoc53. The two main types of statistics used are sample and counter. A third one is gauge but is only use for a single statistic (users).
sample provides count, mean, stdvar, max, min and gmean (global mean) properties, and counter provides only count and totalcount. gauge provide count and max.
The stats setting can accept several stat.property elements, separated by spaces.
Examples: stats = users.count to plot the number of simultaneously connected users, and stats = 200.count 400.count to plot given HTTP return codes count, both on the same chart.
Please notice tsplot is currently limited to use only one horizontal and only one vertical scales. matplotlib is able to define some more complex drawings, but tsplot is not yet able to benefit from this.
Legend prefix, which will be followed by the legend given
on command line.
Each plot on a chart has a legend entry, you configure here the meaning of the plot (say 'concurrent users') and tsplot will add it the name of the data serie being plotted (say 'scenario x'). You'd obtain this legend: 'concurrent users scenario x'.
- label for vertical axe
Please see the given configuration examples which should be distributed in /usr/share/doc/tsung/tsung-plotter/http.plots.en.conf and /usr/share/doc/tsung/tsung-plotter/pgsql.plots.en.conf.
Please reports bugs to the mailing list <[email protected]> or in the bug tracker <URL:https://support.process-one.net/browse/TSUN>, see also <URL:https://lists.process-one.net/mailman/listinfo/tsung-users> for archives.
tsplot is written by Dimitri Fontaine <[email protected]>.