RrdGraphConstantspublic class RrdGraphDefTemplate extends XmlTemplate implements RrdGraphConstants
Here is an example of a properly formatted XML template with all available options in it (unwanted options can be removed/ignored):
<rrd_graph_def>
<!-- use '-' to represent in-memory graph -->
<filename>test.png</filename>
<!--
starting and ending timestamps can be specified by
using at-style time specification, or by specifying
exact timestamps since epoch (without milliseconds)
-->
<span>
<start>now - 1d</start>
<end>now</end>
</span>
<options>
<!--
specify 'true' if you want to use RrdDbPool while
creating graph
-->
<use_pool>false</use_pool>
<anti_aliasing>true</anti_aliasing>
<time_grid>
<show_grid>true</show_grid>
<!-- allowed units: second, minute, hour, day, week, month, year -->
<minor_grid_unit>minute</minor_grid_unit>
<minor_grid_unit_count>60</minor_grid_unit_count>
<major_grid_unit>hour</major_grid_unit>
<major_grid_unit_count>2</major_grid_unit_count>
<label_unit>hour</label_unit>
<label_unit_count>2</label_unit_count>
<label_span>1200</label_span>
<!-- use SimpleDateFormat or strftime-like format to format labels -->
<label_format>dd-MMM-yy</label_format>
</time_grid>
<value_grid>
<show_grid>true</show_grid>
<grid_step>100.0</grid_step>
<label_factor>5</label_factor>
</value_grid>
<no_minor_grid>true</no_minor_grid>
<alt_y_grid>true</alt_y_grid>
<alt_y_mrtg>true</alt_y_mrtg>
<alt_autoscale>true</alt_autoscale>
<alt_autoscale_max>true</alt_autoscale_max>
<units_exponent>3</units_exponent>
<units_length>13</units_length>
<vertical_label>Speed (kbits/sec)</vertical_label>
<width>444</width>
<height>222</height>
<interlaced>true</interlaced>
<image_info>filename = %s, width=%d, height=%d</image_info>
<image_format>png</image_format>
<image_quality>0.8</image_quality>
<background_image>luka.png</background_image>
<overlay_image>luka.png</overlay_image>
<unit>kilos</unit>
<lazy>false</lazy>
<min_value>0</min_value>
<max_value>5000</max_value>
<rigid>true</rigid>
<base>1000</base>
<logarithmic>false</logarithmic>
<colors>
<canvas>#FFFFFF</canvas>
<back>#FFFFFF</back>
<shadea>#AABBCC</shadea>
<shadeb>#DDDDDD</shadeb>
<grid>#FF0000</grid>
<mgrid>#00FF00</mgrid>
<font>#FFFFFF</font>
<frame>#EE00FF</frame>
<arrow>#FF0000</arrow>
</colors>
<no_legend>false</no_legend>
<only_graph>false</only_graph>
<force_rules_legend>false</force_rules_legend>
<title>This is a title</title>
<step>300</step>
<fonts>
<small_font>
<name>Courier</name>
<style>bold italic</style>
<size>12</size>
</small_font>
<large_font>
<name>Courier</name>
<style>plain</style>
<size>11</size>
</large_font>
</fonts>
<first_day_of_week>SUNDAY</first_day_of_week>
</options>
<datasources>
<def>
<name>x</name>
<rrd>test.rrd</rrd>
<source>sun</source>
<cf>AVERAGE</cf>
<backend>FILE</backend>
</def>
<def>
<name>y</name>
<rrd>test.rrd</rrd>
<source>shade</source>
<cf>AVERAGE</cf>
</def>
<cdef>
<name>x_plus_y</name>
<rpn>x,y,+</rpn>
</cdef>
<cdef>
<name>x_minus_y</name>
<rpn>x,y,-</rpn>
</cdef>
<sdef>
<name>x_avg</name>
<source>x</source>
<cf>AVERAGE</cf>
</sdef>
<sdef>
<name>y_max</name>
<source>y</source>
<cf>MAX</cf>
</sdef>
</datasources>
<graph>
<area>
<datasource>x</datasource>
<color>#FF0000</color>
<legend>X value\r</legend>
</area>
<stack>
<datasource>y</datasource>
<color>#00FF00</color>
<legend>Y value\r</legend>
</stack>
<line>
<datasource>x</datasource>
<color>#FF0000</color>
<legend>X value\r</legend>
<width>2</width>
</line>
<print>
<datasource>x</datasource>
<cf>AVERAGE</cf>
<format>Average is %7.3f\c</format>
</print>
<gprint>
<datasource>y</datasource>
<cf>MAX</cf>
<format>Max is %7.3f\c</format>
</gprint>
<hrule>
<value>1250</value>
<color>#0000FF</color>
<legend>This is a horizontal rule</legend>
</hrule>
<vrule>
<time>now-6h</time>
<color>#0000FF</color>
<legend>This is a vertical rule</legend>
</vrule>
<comment>Simple comment</comment>
<comment>One more comment\c</comment>
</graph>
</rrd_graph_def>
Notes on the template syntax:
RrdGraphDef class methods. If you are not sure what some XML tag means, check javadoc
for the corresponding class method.
true, on, yes, y,
or 1 to specify boolean true value (anything else will
be treated as false).
<some_tag> and
</some_tag>) can be replaced with
a variable of the following form: ${variable_name}. Use
setVariable()
methods from the base class to replace
template variables with real values at runtime.
Typical usage scenario:
<rrd_graph_def>
...
<span>
<start>${start}</start>
<end>${end}</end>
</span>
...
RrdGraphDefTemplate t = new RrdGraphDefTemplate(new File(template.xml));
t.setVariable("start", new GregorianCalendar(2004, 2, 25));
t.setVariable("end", new GregorianCalendar(2004, 2, 26));
RrdGraphDef gdef = t.getRrdGraphDef(); RrdGraph g = new RrdGraph(gdef);
| Modifier and Type | Field | Description |
|---|---|---|
(package private) static Color |
BLIND_COLOR |
ALIGN_CENTER_MARKER, ALIGN_JUSTIFIED_MARKER, ALIGN_LEFT_MARKER, ALIGN_RIGHT_MARKER, COLOR_ARROW, COLOR_BACK, COLOR_CANVAS, COLOR_FONT, COLOR_FRAME, COLOR_GRID, COLOR_MGRID, COLOR_NAMES, COLOR_SHADEA, COLOR_SHADEB, DAY, DEFAULT_ARROW_COLOR, DEFAULT_BACK_COLOR, DEFAULT_BASE, DEFAULT_CANVAS_COLOR, DEFAULT_END, DEFAULT_FONT_COLOR, DEFAULT_FONT_NAME, DEFAULT_FRAME_COLOR, DEFAULT_GRID_COLOR, DEFAULT_HEIGHT, DEFAULT_IMAGE_FORMAT, DEFAULT_IMAGE_QUALITY, DEFAULT_MGRID_COLOR, DEFAULT_MONOSPACE_FONT_FILE, DEFAULT_PROPORTIONAL_FONT_FILE, DEFAULT_SHADEA_COLOR, DEFAULT_SHADEB_COLOR, DEFAULT_START, DEFAULT_UNITS_LENGTH, DEFAULT_WIDTH, FIRST_DAY_OF_WEEK, FONTTAG_AXIS, FONTTAG_DEFAULT, FONTTAG_LEGEND, FONTTAG_NAMES, FONTTAG_TITLE, FONTTAG_UNIT, FONTTAG_WATERMARK, FRIDAY, GLUE_MARKER, GRID_STROKE, HOUR, IN_MEMORY_IMAGE, LEGEND_BOX, LEGEND_BOX_SPACE, LEGEND_INTERSPACING, LEGEND_LEADING, LEGEND_LEADING_SMALL, MARKERS, MINUTE, MONDAY, MONTH, NO_JUSTIFICATION_MARKER, PADDING_BOTTOM, PADDING_LEFT, PADDING_LEGEND, PADDING_PLOT, PADDING_RIGHT, PADDING_TITLE, PADDING_TOP, PADDING_VLABEL, SATURDAY, SECOND, SUNDAY, THURSDAY, TICK_STROKE, TUESDAY, VERTICAL_SPACING_MARKER, WEDNESDAY, WEEK, YEARroot| Constructor | Description |
|---|---|
RrdGraphDefTemplate(File xmlFile) |
Creates template object from the file containing XML template code
|
RrdGraphDefTemplate(String xmlString) |
Creates template object from the string containing XML template code
|
RrdGraphDefTemplate(InputSource inputSource) |
Creates template object from any parsable XML source
|
| Modifier and Type | Method | Description |
|---|---|---|
RrdGraphDef |
getRrdGraphDef() |
Creates RrdGraphDef object which can be used to create RrdGraph
object (actual JRobin graphs).
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclearValues, getChildNodes, getChildNodes, getChildValue, getChildValue, getChildValueAsBoolean, getChildValueAsDouble, getChildValueAsInt, getChildValueAsLong, getFirstChildNode, getValue, getValue, getValueAsBoolean, getValueAsColor, getValueAsDouble, getValueAsInt, getValueAsLong, getVariables, hasChildNode, hasVariables, isEmptyNode, setVariable, setVariable, setVariable, setVariable, setVariable, setVariable, setVariable, setVariable, validateTagsOnlyOncestatic final Color BLIND_COLOR
public RrdGraphDefTemplate(InputSource inputSource) throws IOException, RrdException
inputSource - XML sourceIOException - thrown in case of I/O errorRrdException - usually thrown in case of XML related errorpublic RrdGraphDefTemplate(File xmlFile) throws IOException, RrdException
xmlFile - file containing XML templateIOException - thrown in case of I/O errorRrdException - usually thrown in case of XML related errorpublic RrdGraphDefTemplate(String xmlString) throws IOException, RrdException
xmlString - string containing XML templateIOException - thrown in case of I/O errorRrdException - usually thrown in case of XML related errorpublic RrdGraphDef getRrdGraphDef() throws RrdException
setVariable() method information to
understand how to supply values for template variables.RrdException - Thrown if parsed XML template contains invalid (unrecognized) tags