rrdtool RDGRAPHGRAPH(1)
NAME
rrdgraphgraph - rrdtool graph command reference
SYNOPSIS
PRINT:vname:format
GPRINT:vname:format
COMENT:text
VRULE:time#color[:legend][:dashes[=ons[,offs[,ons,offs]...][:dash-offset=offset]
HRULE:value#color[:legend][:dashes[=ons[,offs[,ons,offs]...][:dash-offset=offset]
LINE[width]:value[#color][:[legend][:STACK][:dashes[=ons[,offs[,ons,offs]...][:dash-offset=offset]
AREA:value[#color][:[legend][:STACK]
TICK:vname#rrggbb[aa][:fraction[:legend]
SHIFT:vname:offset
TEXTALIGN:{leftrightjustifiedcenter}
PRINT:vname:CF:format (deprecated)
GPRINT:vname:CF:format (deprecated)
STACK:vname#color[:legend] (deprecated)
DESCRIPTION
These instructions allow you to generate your image or
report. If you don't use any graph elements, no graph is
generated. Similarly, no report is generated if you don't
use print options.
PRINT
PRINT::::vname::::format[::::strftime]
Depending on the context, either the value component or the
time component of a VDEF is printed using format. It is an
error to specify a vname generated by a DEF or CDEF.
Any text in format is printed literally with one exception:
The percent character introduces a formatter string. This
string can be:
For printing values:
%% just prints a literal '%' character
1.3.5 Last change: 2008-09-06 1
rrdtool RDGRAPHGRAPH(1)
%#.#le
prints numbers like 1.2346e]04. The optional integers #
denote field width and decimal precision.
%#.#lf
prints numbers like 12345.6789, with optional field
width and precision.
%s place this after %le, %lf or %lg. This will be replaced
by the appropriate SI magnitude unit and the value will
be scaled accordingly (123456 -> 123.456 k).
%S is similar to %s. It does, however, use a previously
defined magnitude unit. If there is no such unit yet, it
tries to define one (just like %s) unless the value is
zero, in which case the magnitude unit stays undefined.
Thus, formatter strings using %S and no %s will all use
the same magnitude unit except for zero values.
If you PRINT a VDEF value, you can also print the time
associated with it by appending the string :strftime to the
format. Note that rrdtool uses the strftime function of your
OSs clibrary. This means that the conversion specifier may
vary. Check the manual page if you are uncertain. The
following is a list of conversion specifiers usually
supported across the board.
%a The abbreviated weekday name according to the current
locale.
%A The full weekday name according to the current locale.
%b The abbreviated month name according to the current
locale.
%B The full month name according to the current locale.
%c The preferred date and time representation for the
current locale.
%d The day of the month as a decimal number (range 01 to
31).
%H The hour as a decimal number using a 24-hour clock
(range 00 to 23).
%I The hour as a decimal number using a 12-hour clock
(range 01 to 12).
%j The day of the year as a decimal number (range 001 to
366).
1.3.5 Last change: 2008-09-06 2
rrdtool RDGRAPHGRAPH(1)
%m The month as a decimal number (range 01 to 12).
%M The minute as a decimal number (range 00 to 59).
%p Either `AM' or `PM' according to the given time value,
or the corresponding strings for the current locale.
Noon is treated as `pm' and midnight as `am'. Note that
in many locales and `pm' notation is unsupported and in
such cases %p will return an empty string.
%s The second as a decimal number (range 00 to 61).
%S The seconds since the epoch (1.1.1970) (libc dependant
non standard!)
%U The week number of the current year as a decimal
number, range 00 to 53, starting with the first Sunday
as the first day of week 01. See also %V and %W.
%V The ISO 8601:1988 week number of the current year as a
decimal number, range 01 to 53, where week 1 is the
first week that has at least 4 days in the current year,
and with Monday as the first day of the week. See also
%U and %W.
%w The day of the week as a decimal, range 0 to 6, Sunday
being 0. See also %u.
%W The week number of the current year as a decimal number,
range 00 to 53, starting with the first Monday as
the first day of week 01.
%x The preferred date representation for the current locale
without the time.
%X The preferred time representation for the current locale
without the date.
%y The year as a decimal number without a century (range 00
to 99).
%Y The year as a decimal number including the century.
%Z The time zone or name or abbreviation.
%% A literal `%' character.
PRINT::::vname::::CF::::format
Deprecated. Use the new form of this command in new scripts.
The first form of this command is to be used with CDEF
vnames.
1.3.5 Last change: 2008-09-06 3
rrdtool RDGRAPHGRAPH(1)
GRAPH
GPRINT::::vname::::format
This is the same as "PRINT", but printed inside the graph.
GPRINT::::vname::::CF::::format
Deprecated. Use the new form of this command in new scripts.
This is the same as "PRINT", but printed inside the graph.
COMENT::::text
Text is printed literally in the legend section of the
graph. Note that in RDtool 1.2 you have to escape colons in
COMENT text in the same way you have to escape them in
*PRINT commands by writing '\:'.
VRULE::::time####color[::::legend][::::dashes[====ons[,offs[,ons,offs]...][::::dash-offset====offset]
Draw a vertical line at time. Its color is composed from
three hexadecimal numbers specifying the rgb color
components (00 is off, F is maximum) red, green and blue
followed by an optional alpha. Optionally, a legend box and
string is printed in the legend section. time may be a
number or a variable from a VDEF. It is an error to use
vnames from DEF or CDEF here. Dashed lines can be drawn
using the dashes modifier. See LINE for more details.
HRULE::::value####color[::::legend][::::dashes[====ons[,offs[,ons,offs]...][::::dash-offset====offset]
Draw a horizontal line at value. HRULE acts much like LINE
except that will have no effect on the scale of the graph.
If a HRULE is outside the graphing area it will just not be
visible.
LINE[width]::::value[####color][::::[legend][::::STACK][::::dashes[====ons[,offs[,ons,offs]...][::::dash-offset====offset]
Draw a line of the specified width onto the graph. width can
be a floating point number. If the color is not specified,
the drawing is done 'invisibly'. This is useful when
stacking something else on top of this line. Also optional
is the legend box and string which will be printed in the
legend section if specified. The value can be generated by
DEF, VDEF, and CDEF. If the optional STACK modifier is
used, this line is stacked on top of the previous element
which can be a LINE or an AREA.
The dashes modifier enables dashed line style. Without any
further options a symmetric dashed line with a segment
length of 5 pixels will be drawn. The dash pattern can be
changed if the dashes= parameter is followed by either one
1.3.5 Last change: 2008-09-06 4
rrdtool RDGRAPHGRAPH(1)
value or an even number (1, 2, 4, 6, ...) of positive
values. Each value provides the length of alternate ons and
offs portions of the stroke. The dash-offset parameter
specifies an offset into the pattern at which the stroke
begins.
When you do not specify a color, you cannot specify a
legend. Should you want to use STACK, use the
"LINEx:::STACK" form.
AREA::::value[####color][::::[legend][::::STACK]
See LINE, however the area between the x-axis and the line
will be filled.
TICK::::vname####rrggbb[aa][::::fraction[::::legend]
Plot a tick mark (a vertical line) for each value of vname
that is non-zero and not *UNKNOWN*. The fraction argument
specifies the length of the tick mark as a fraction of the
y-axis; the default value is 0.1 (10% of the axis). Note
that the color specification is not optional. The TICK marks
normaly start at the lower edge of the graphing area. If the
fraction is negative they start at the upper border of the
graphing area.
SHIFT::::vname::::offset
Using this command RDtool will graph the following elements
with the specified offset. For instance, you can specify an
offset of ( 7*24*60*60 = ) 604'800 seconds to "look back"
one week. Make sure to tell the viewer of your graph you did
this ... As with the other graphing elements, you can
specify a number or a variable here.
TEXTALIGN::::{leftrightjustifiedcenter}
Labels are placed below the graph. When they overflow to the
left, they wrap to the next line. By default, lines are
justified left and right. The TEXTALIGN function lets you
change this default. This is a command and not an option, so
that you can change the default several times in your
argument list.
STACK::::vname####color[::::legend]
Deprecated. Use the STACK modifiers on the other commands
instead!
Some notes on stacking
1.3.5 Last change: 2008-09-06 5
rrdtool RDGRAPHGRAPH(1)
When stacking, an element is not placed above the X-axis but
rather on top of the previous element. There must be
something to stack upon.
You can use an invisible LINE or AREA to stacked upon.
An unknown value makes the entire stack unknown from that
moment on. You don't know where to begin (the unknown
value) and therefore do not know where to end.
If you want to make sure you will be displaying a certain
variable, make sure never to stack upon the unknown value.
Use a CDEF instruction with IF and UN to do so.
NOTES on legend arguments
Escaping the colon
A colon ':' in a legend argument will mark the end of the
legend. To enter a ':' as part of a legend, the colon must
be escaped with a backslash '\:'. Beware that many
environments process backslashes themselves, so it may be
necessary to write two backslashes in order to one being
passed onto rrdgraph.
String Formatting
The text printed below the actual graph can be formatted by
appending special escape characters at the end of a text.
When ever such a character occurs, all pending text is
pushed onto the graph according to the character specified.
Valid markers are: \j for justified, \l for left aligned, \r
for right aligned, and \c for centered. In the next section
there is an example showing how to use centered formatting.
\n is a valid alias for \l since incomplete parsing in
earlier versions of rrdtool lead to this behaviour and a
number of people has been using it.
Normally there are two space characters inserted between
every two items printed into the graph. The space following
a string can be suppressed by putting a \g at the end of the
string. The \g also ignores any space inside the string if
it is at the very end of the string. This can be used in
connection with %s to suppress empty unit strings.
GPRINT:a:MAX:%lf%s\g
A special case is COMENT:\s which inserts some additional
vertical space before placing the next row of legends.
1.3.5 Last change: 2008-09-06 6
rrdtool RDGRAPHGRAPH(1)
If you are using the proportional font in your graph, you
can use tab characters or the sequence \t to line-up legend
elements. Note that the tabs inserted are relative to the
start of the current legend element!
Since RDtool 1.3 is using Pango for rending text, you can
use Pango markup. Pango uses the xml span tags for inline
formatting instructions.:
A simple example of a marked-up string might be:
Blue text is cool!
The complete list of attributes for the span tag (taken from
the pango documentation):
fontdesc
A font description string, such as "Sans Italic 12";
note that any other span attributes will override this
description. So if you have "Sans Italic" and also a
style="normal" attribute, you will get Sans normal, not
italic.
fontfamily
A font family name
face
Synonym for fontfamily
size
Font size in 1024ths of a point, or one of the absolute
sizes 'xx-small', 'x-small', 'small', 'medium', 'large',
'x-large', 'xx-large', or one of the relative sizes
'smaller' or 'larger'. If you want to specify a absolute
size, it's usually easier to take advantage of the
ability to specify a partial font description using
'fontdesc'; you can use fontdesc='12.5' rather than
size='12800'.
style
One of 'normal', 'oblique', 'italic'
weight
One of 'ultralight', 'light', 'normal', 'bold',
'ultrabold', 'heavy', or a numeric weight
variant
'normal' or 'smallcaps'
stretch
One of 'ultracondensed', 'extracondensed', 'condensed',
'semicondensed', 'normal', 'semiexpanded', 'expanded',
1.3.5 Last change: 2008-09-06 7
rrdtool RDGRAPHGRAPH(1)
'extraexpanded', 'ultraexpanded'
foreground
An RGB color specification such as '#00F00' or a color
name such as 'red'
background
An RGB color specification such as '#00F00' or a color
name such as 'red'
underline
One of 'none', 'single', 'double', 'low', 'error'
underlinecolor
The color of underlines; an RGB color specification such
as '#00F00' or a color name such as 'red'
rise
Vertical displacement, in 10000ths of an em. Can be
negative for subscript, positive for superscript.
strikethrough
'true' or 'false' whether to strike through the text
strikethroughcolor
The color of strikethrough lines; an RGB color
specification such as '#00F00' or a color name such as
'red'
fallback
'true' or 'false' whether to enable fallback. If
disabled, then characters will only be used from the
closest matching font on the system. No fallback will be
done to other fonts on the system that might contain the
characters in the text. Fallback is enabled by default.
Most applications should not disable fallback.
lang
A language code, indicating the text language
letterspacing
Inter-letter spacing in 1024ths of a point.
gravity
One of 'south', 'east', 'north', 'west', 'auto'.
gravityhint
One of 'natural', 'strong', 'line'.
To save you some typing, there are also some shortcuts:
b Bold
1.3.5 Last change: 2008-09-06 8
rrdtool RDGRAPHGRAPH(1)
big Makes font relatively larger, equivalent to
i Italic
s Strikethrough
sub Subscript
sup Superscript
small
Makes font relatively smaller, equivalent to
tt Monospace font
u Underline
SEE ALSO
rrdgraph gives an overview of how rrdtool graph works.
rrdgraphdata describes DEF,CDEF and VDEF in detail.
rrdgraphrpn describes the RPN language used in the ?DEF
statements. rrdgraphgraph page describes all of the graph
and print functions.
Make sure to read rrdgraphexamples for tips&tricks.
AUTHOR
Program by Tobias Oetiker
This manual page by Alex van den Bogaerdt
1.3.5 Last change: 2008-09-06 9
|