sourCEntral - mobile manpages

pdf

feedGnuplot

NAME

feedGnuplot − General purpose pipe-oriented plotting tool

SYNOPSIS

likwid-setFreq <coreId> <frequency> [<governor>]

DESCRIPTION

feedGnuplot is a pipe-oriented plotting frontend for GNUplot that can read internediate results and create a sort of live plot of the data. feedGnuplot is used by likwid-perfscope(1) to print performance counter data printed out by the timeline daemon mode of likwid-perfctr(1). The Perl script feedGnuplot is not written by the LIKWID Authors, it was written by Dima Kogan and published under GPL. The original web page is https://github.com/dkogan/feedgnuplot

OPTIONS

−h

prints a help message to standard output, then exits.#

−−[no]domain

If enabled, the first element of each line is the domain variable. If not, the point index is used.

−−[no]dataid

If enabled, each data point is preceded by the ID of the data set that point corresponds to. This ID is interpreted as a string, NOT as just a number. If not enabled, the order of the point is used.

−−[no]3d

Do [not] plot in 3D. This only makes sense with --domain. Each domain here is an (x,y) tuple.

−−colormap

Show a colormapped xy plot. Requires extra data for the color. zmin/zmax can be used to set the extents of the colors. Automatically increments extraValuesPerPoint.

−−[no]stream

Do [not] display the data a point at a time, as it comes in.

−−[no]lines

Do [not] draw lines to connect consecutive points.

−−[no]points

Do [not] draw points.

−−circles

Plot with circles. This requires a radius be specified for each point. Automatically increments extraValuesPerPoint.

−−xlabel xxx

Set x-axis label.

−−ylabel xxx

Set y-axis label.

−−y2label xxx

Set y2-axis label. Does not apply to 3d plots.

−−zlabel xxx

Set z-axis label. Only applies to 3d plots.

−−title xxx

Set the title of the plot.

−−legend curveID=legend

Set the label for a curve plot. Use this option multiple times for multiple curves. With --dataid , curveID is the ID. Otherwise, it’s the index of the curve, starting at 0.

−−autolegend

Use the curve IDs for the legend. Titles given with --legend override these.

−−xlen xxx

When using --stream , sets the size of the x-window to plot. Omit this or set it to 0 to plot ALL the data. Does not make sense with 3d plots. Implies --monotonic

−−xmin xxx

Set the minimal point in range for the x-axis. These are ignored in a streaming plot.

−−xmax xxx

Set the maximal point in range for the x-axis. These are ignored in a streaming plot.

−−ymin xxx

Set the minimal point in range for the y-axis.

−−ymax xxx

Set the maximal point in range for the y-axis.

−−y2min xxx

Set the minimal point in range for the y2-axis. Does not apply to 3d plots.

−−y2max xxx

Set the maximal point in range for the y2-axis. Does not apply to 3d plots.

−−zmin xxx

Set the minimal point in range for the z-axis. Only applies to 3d plots or colormaps.

−−zmax xxx

Set the maximal point in range for the z-axis. Only applies to 3d plots or colormaps.

−−y2 xxx

Plot the data specified by this curve ID on the y2 axis. Without --dataid , the ID is just an ordered 0-based index. Does not apply to 3d plots.

−−curvestyle curveID=style

Additional styles per curve. With --dataid , curveID is the ID. Otherwise, it’s the index of the curve, starting at 0. Use this option multiple times for multiple curves.

−−curvestyleall xxx

Additional styles for ALL curves.

−−extracmds xxx

Additional commands. These could contain extra global styles for instance.

−−size xxx

Gnuplot size option.

−−square

Plot data with aspect ratio 1. For 3D plots, this controls the aspect ratio for all 3 axes.

−−square_xy

For 3D plots, set square aspect ratio for ONLY the x,y axes.

−−hardcopy xxx

If not streaming, output to a file specified here. Format inferred from filename.

−−maxcurves xxx

The maximum allowed number of curves. This is 100 by default, but can be reset with this option. This exists purely to prevent perl from allocating all of the system’s memory when reading bogus data.

−−monotonic

If --domain is given, checks to make sure that the x-coordinate in the input data is monotonically increasing.If a given x-variable is in the past, all data currently cached for this curve is purged. Without --monotonic , all data is kept. Does not make sense with 3d plots. No --monotonic by default.

−−extraValuesPerPoint xxx

How many extra values are given for each data point. Normally this is 0, and does not need to be specified, but sometimes we want extra data, like for colors or point sizes or error bars, etc. feedGnuplot options that require this (colormap, circles) automatically set it. This option is ONLY needed if unknown styles are used, with --curvestyleall for instance.

−−dump

Instead of printing to gnuplot, print to STDOUT. For debugging.

EXAMPLE

1.

Simple real-time plotting example: plot how much data is received on the wlan0 network interface in bytes/second

while true; do sleep 1; cat /proc/net/dev; done | gawk ’/wlan0/ {if(b)
{print $2-b; fflush()} b=$2}’ |

feedgnuplot --lines --stream --xlen 10 --ylabel ’Bytes/sec’ --xlabel seconds

Reads the stats of the network interface ’wlan0’ every second, reformats it with gawk and pipes the formatted output into feedGnuplot qto create a line plot ( --lines ) of the streaming input ( --stream ). Always show the last 10 seconds ( --xlen ) and use the labels ’seconds’ for the x-axis and ’Bytes/sec’ for the y-axis.

2.

Simple real-time plotting example: plot the ’idle’ CPU consumption against time

sar 1 -1 | awk ’$1 ~ /..:..:../ && $8 ~/^[0-9.]*$/ {print $1,$8;
fflush()}’ |

feedgnuplot --stream --domain --lines --timefmt ’%H:%M:%S’ --set ’format x %H:%M:%S ’

Reads the CPU IDLE consumption and sets the current time as x-axis key.

AUTHOR

Written by Dima Kogan <dima AT secretsauce DOT net>.

BUGS

Report Bugs on <https://github.com/dkogan/feedgnuplot/issues>.

SEE ALSO

gnuplot(1), awk(1), sar(1), likwid-perfscope(1), likwid-perfctr(1)

pdf