public class RrdGraphDef extends Object implements RrdGraphConstants, DataHolder
RrdGraph
class which will actually create the graph.
The text printed below the actual graph can be formated by appending special escaped 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.
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 squashes 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.
A special case is COMMENT:\s this inserts some additional vertical space before placing the next row of legends.
When text has to be formated without special instructions from your side, RRDTool will automatically justify the text as soon as one string goes over the right edge. If you want to prevent the justification without forcing a newline, you can use the special tag \J at the end of the string to disable the auto justification.
| Modifier and Type | Class and Description |
|---|---|
static interface |
RrdGraphDef.ImageSource
Implementations of this class can be used to generate image than can be layered on graph.
|
RrdGraphConstants.FontConstructor, RrdGraphConstants.FontTag| Modifier and Type | Field and Description |
|---|---|
(package private) boolean |
altAutoscale |
(package private) boolean |
altAutoscaleMax |
(package private) boolean |
altAutoscaleMin |
(package private) boolean |
altYGrid |
(package private) boolean |
altYMrtg |
(package private) boolean |
antiAliasing |
(package private) RrdGraphDef.ImageSource |
backgroundImage |
(package private) double |
base |
(package private) RrdGraphDef.ImageSource |
canvasImage |
(package private) List<CommentText> |
comments |
(package private) DownSampler |
downsampler |
(package private) boolean |
drawXGrid |
(package private) boolean |
drawYGrid |
(package private) long |
endTime |
(package private) String |
filename |
(package private) int |
firstDayOfWeek |
(package private) Font[] |
fonts |
(package private) boolean |
forceRulesLegend |
(package private) java.util.function.Function<TimeUnit,Optional<TimeLabelFormat>> |
formatProvider |
(package private) Stroke |
gridStroke |
(package private) int |
height |
(package private) String |
imageFormat |
(package private) String |
imageInfo |
(package private) float |
imageQuality |
(package private) boolean |
interlaced |
(package private) boolean |
lazy |
(package private) Locale |
locale |
(package private) boolean |
logarithmic |
(package private) double |
maxValue |
(package private) double |
minValue |
(package private) boolean |
noLegend |
(package private) boolean |
noMinorGrid |
(package private) boolean |
onlyGraph |
(package private) RrdGraphDef.ImageSource |
overlayImage |
(package private) List<PlotElement> |
plotElements |
(package private) boolean |
poolUsed |
(package private) boolean |
rigid |
(package private) boolean |
showSignature |
(package private) String |
signature |
(package private) List<Source> |
sources |
(package private) long |
startTime |
(package private) long |
step |
(package private) boolean |
textAntiAliasing |
(package private) Stroke |
tickStroke |
(package private) TimeAxisSetting |
timeAxisSetting |
(package private) TimeLabelFormat |
timeLabelFormat |
(package private) String |
title |
(package private) TimeZone |
tz |
(package private) String |
unit |
(package private) int |
unitsExponent |
(package private) int |
unitsLength |
(package private) ValueAxisSetting |
valueAxisSetting |
(package private) String |
verticalLabel |
(package private) int |
width |
ALIGN_CENTER_MARKER, ALIGN_JUSTIFIED_MARKER, ALIGN_LEFT_MARKER, ALIGN_LEFTNONL_MARKER, ALIGN_RIGHT_MARKER, BLIND_COLOR, COLOR_ARROW, COLOR_BACK, COLOR_CANVAS, COLOR_FONT, COLOR_FRAME, COLOR_GRID, COLOR_MGRID, COLOR_SHADEA, COLOR_SHADEB, COLOR_XAXIS, COLOR_YAXIS, DAY, DEFAULT_ARROW_COLOR, DEFAULT_BACK_COLOR, DEFAULT_BASE, DEFAULT_CANVAS_COLOR, DEFAULT_END, DEFAULT_FONT_COLOR, DEFAULT_FRAME_COLOR, DEFAULT_GRID_COLOR, DEFAULT_HEIGHT, DEFAULT_IMAGE_FORMAT, DEFAULT_IMAGE_QUALITY, DEFAULT_LARGE_FONT, DEFAULT_MGRID_COLOR, DEFAULT_SHADEA_COLOR, DEFAULT_SHADEB_COLOR, DEFAULT_SMALL_FONT, DEFAULT_START, DEFAULT_UNITS_LENGTH, DEFAULT_WIDTH, DEFAULT_XAXIS_COLOR, DEFAULT_YAXIS_COLOR, FIRST_DAY_OF_WEEK, FONTTAG_AXIS, FONTTAG_DEFAULT, FONTTAG_LEGEND, FONTTAG_TITLE, FONTTAG_UNIT, FONTTAG_WATERMARK, FRIDAY, GATOR_FONT, GLUE_MARKER, GRID_STROKE, HH_MM, HOUR, IN_MEMORY_IMAGE, LEGEND_BOX, LEGEND_BOX_SPACE, LEGEND_INTERSPACING, LEGEND_LEADING, LEGEND_LEADING_SMALL, MINUTE, MONDAY, MONTH, NO_JUSTIFICATION_MARKER, PADDING_BOTTOM, PADDING_LEFT, PADDING_LEGEND, PADDING_PLOT, PADDING_RIGHT, PADDING_TITLE, PADDING_TOP, PADDING_VLABEL, PROPERTYFONTBOLD, PROPERTYFONTBOLDURL, PROPERTYFONTPLAIN, PROPERTYFONTPLAINURL, PROPERTYFONTSPROPERTIES, PROPERTYFONTSURL, SATURDAY, SECOND, SUNDAY, THURSDAY, TICK_STROKE, TUESDAY, VERTICAL_SPACING_MARKER, WEDNESDAY, WEEK, YEARDEFAULT_POOL_USAGE_POLICY| Constructor and Description |
|---|
RrdGraphDef(long t1,
long t2)
Creates RrdGraphDef object.
|
RrdGraphDef(java.time.temporal.TemporalAmount d)
Creates new DataProcessor object for the given time duration.
|
| Modifier and Type | Method and Description |
|---|---|
void |
area(double value,
Paint color,
boolean stack)
Add a area like any other but with a constant value, it can be stacked like any other area
|
void |
area(String srcName,
Paint color)
Plots requested data in the form of the filled area starting from zero, using the color
specified.
|
void |
area(String srcName,
Paint color,
String legend)
Plots requested data in the form of the filled area starting from zero, using the color
specified.
|
void |
area(String srcName,
Paint color,
String legend,
boolean stack)
Plots requested data in the form of the filled area starting from zero, using the color
specified.
|
void |
comment(String text)
Comment to be printed on the graph.
|
void |
datasource(String name,
FetchData fetchData)
Creates a new 'fetched' datasource.
|
void |
datasource(String name,
IPlottable plottable)
Creates a new (plottable) datasource.
|
void |
datasource(String name,
String rpnExpression)
Create a new virtual datasource by evaluating a mathematical expression, specified in Reverse
Polish Notation (RPN).
|
void |
datasource(String name,
String dsName,
FetchData fetchData)
Creates a new 'fetched' datasource.
|
void |
datasource(String name,
String rrdPath,
String dsName,
ConsolFun consolFun)
Defines virtual datasource.
|
void |
datasource(String name,
String rrdPath,
String dsName,
ConsolFun consolFun,
RrdBackendFactory backend)
Defines virtual datasource.
|
void |
datasource(String name,
String defName,
Variable var)
Creates a datasource that performs a variable calculation on an another named datasource to
yield a single combined timestamp/value.
|
void |
datasource(String name,
URI rrdUri,
String dsName,
ConsolFun consolFun)
Defines virtual datasource.
|
void |
datasource(String name,
URI rrdUri,
String dsName,
ConsolFun consolFun,
RrdBackendFactory backend)
Defines virtual datasource.
|
(package private) boolean |
drawTicks() |
(package private) Paint |
getColor(ElementsNames element) |
long |
getEndTime()
Returns ending timestamp.
|
Font |
getFont(RrdGraphConstants.FontTag tag) |
RrdDbPool |
getPool() |
String |
getSignature()
Gets the signature string that runs along the right-side of the graph.
|
long |
getStartTime()
Returns starting timestamp.
|
long |
getStep()
Returns the time step used for timestamp interval.
|
TimeZone |
getTimeZone() |
void |
gprint(String srcName,
String format)
Read the value of a variable (VDEF) and prints the value by using the given format string.
|
void |
gprint(String srcName,
String format,
boolean strftime)
Read the value of a variable (VDEF) and prints the the value or the time stamp, according to
the strftime flag by using the given format string.
|
void |
hrule(double value,
Paint color)
Draws a horizontal rule into the graph.
|
void |
hrule(double value,
Paint color,
String legend)
Draws a horizontal rule into the graph and optionally adds a legend.
|
void |
hrule(double value,
Paint color,
String legend,
BasicStroke stroke)
Draws a horizontal rule into the graph and optionally adds a legend.
|
void |
hrule(double value,
Paint color,
String legend,
float width)
Draws a horizontal rule into the graph and optionally adds a legend.
|
void |
hspan(double start,
double end,
Paint color)
Draws a horizontal span into the graph.
|
void |
hspan(double start,
double end,
Paint color,
String legend)
Draws a horizontal span into the graph and optionally adds a legend.
|
boolean |
isPoolUsed()
Returns boolean value representing
RrdDbPool usage policy. |
void |
line(double value,
Paint color,
BasicStroke stroke,
boolean stack)
Define a line like any other but with constant value, it can be stacked
|
void |
line(double value,
Paint color,
float width,
boolean stack)
Define a line like any other but with constant value, it can be stacked
|
void |
line(String srcName,
Paint color)
Plots requested data as a line, using the color specified.
|
void |
line(String srcName,
Paint color,
float width)
Plots requested data as a line, using the color and the line width specified.
|
void |
line(String srcName,
Paint color,
String legend)
Plots requested data as a line, using the color specified.
|
void |
line(String srcName,
Paint color,
String legend,
BasicStroke stroke,
boolean stack)
Plots requested data as a line, using the color and the
BasicStroke
specified. |
void |
line(String srcName,
Paint color,
String legend,
float width)
Plots requested data as a line, using the color and the line width specified.
|
void |
line(String srcName,
Paint color,
String legend,
float width,
boolean stack)
Plots requested data as a line, using the color and the line width specified.
|
void |
print(String srcName,
String format)
Read the value of a variable (VDEF) and prints the value by using the given format string.
|
void |
print(String srcName,
String format,
boolean strftime)
Read the value of a variable (VDEF) and prints the the value or the time stamp, according to
the strftime flag by using the given format string.
|
(package private) int |
printStatementCount() |
void |
setAltAutoscale(boolean altAutoscale)
Computes Y range based on function absolute minimum and maximum values.
|
void |
setAltAutoscaleMax(boolean altAutoscaleMax)
Computes Y range based on function absolute minimum and maximum values.
|
void |
setAltAutoscaleMin(boolean altAutoscaleMin)
Computes Y range based on function absolute minimum and maximum values.
|
void |
setAltYGrid(boolean altYGrid)
Places Y grid dynamically based on graph Y range.
|
void |
setAltYMrtg(boolean altYMrtg)
Use this method to request MRTG-like graph (false by default)
|
void |
setAntiAliasing(boolean antiAliasing)
Controls if the chart area of the image should be antialiased or not.
|
void |
setBackgroundImage(RrdGraphDef.ImageSource backgroundImage)
Sets background image.
|
void |
setBackgroundImage(String backgroundImage)
Sets background image.
|
void |
setBackgroundImage(URL backgroundImageUrl)
Sets background image.
|
void |
setBase(double base)
Sets default base for magnitude scaling.
|
void |
setCanvasImage(RrdGraphDef.ImageSource canvasImageSource)
Sets canvas background image.
|
void |
setCanvasImage(String canvasImage)
Sets canvas background image.
|
void |
setCanvasImage(URL canvasUrl)
Sets canvas background image.
|
void |
setColor(ElementsNames colorTag,
Paint color)
Overrides the colors for the standard elements of the graph.
|
void |
setColor(int colorTag,
Paint color)
Overrides the colors for the standard elements of the graph.
|
void |
setDownsampler(DownSampler downsampler)
Allows to set a downsampler, used to improved the visual representation of graph.
|
void |
setDrawXGrid(boolean drawXGrid)
Sets visibility of the X-axis grid.
|
void |
setDrawYGrid(boolean drawYGrid)
Sets visibility of the Y-axis grid.
|
void |
setEndTime(long time)
Sets the time when the graph should end.
|
void |
setFilename(String filename)
Sets the name of the graph to generate.
|
void |
setFirstDayOfWeek(int firstDayOfWeek)
Sets first day of the week.
|
void |
setFont(RrdGraphConstants.FontTag fontTag,
Font font)
Sets font to be used for a specific font tag.
|
void |
setFont(RrdGraphConstants.FontTag fontTag,
Font font,
boolean setAll)
Sets font.
|
void |
setFont(RrdGraphConstants.FontTag fontTag,
Font font,
boolean setAll,
boolean keepSizes)
Sets font.
|
void |
setFont(String fontTag,
Font font)
Sets font.
|
void |
setFont(String fontTag,
Font font,
boolean setAll)
Sets font.
|
void |
setFont(String fontTag,
Font font,
boolean setAll,
boolean keepSizes)
Sets font.
|
void |
setFontSet(boolean rrdtool)
This method reset the font set to it's default values.
|
void |
setForceRulesLegend(boolean forceRulesLegend)
Force the generation of HRULE and VRULE legend even if those HRULE or VRULE will not be drawn
because out of graph boundaries.
|
void |
setGridStroke(Stroke gridStroke)
Set the Stroke used to draw grid
|
void |
setHeight(int height)
Sets height of the drawing area within the graph.
|
void |
setImageFormat(String imageFormat)
Sets image format.
|
void |
setImageInfo(String imageInfo)
Creates additional image information.
|
void |
setImageQuality(float imageQuality)
Sets image quality.
|
void |
setInterlaced(boolean interlaced)
Creates interlaced or progressive mode image.
|
void |
setLazy(boolean lazy)
Creates graph only if the current graph is out of date or not existent.
|
void |
setLocale(Locale locale)
Set the locale used for the legend.
|
void |
setLogarithmic(boolean logarithmic)
Sets logarithmic y-axis scaling.
|
void |
setMaxValue(double maxValue)
Defines the value normally located at the upper border of the graph.
|
void |
setMinValue(double minValue)
Sets the lower limit of a graph.
|
void |
setNoLegend(boolean noLegend)
Suppress generation of legend, only render the graph.
|
void |
setNoMinorGrid(boolean noMinorGrid)
Use this method to turn off minor grid lines (printed by default)
|
void |
setOnlyGraph(boolean onlyGraph)
Suppresses anything but the graph, works only for height < 64.
|
void |
setOverlayImage(RrdGraphDef.ImageSource overlayImageSource)
Sets overlay image.
|
void |
setOverlayImage(String overlayImage)
Sets overlay image.
|
void |
setOverlayImage(URL overlayImage)
Sets overlay image.
|
void |
setPool(RrdDbPool pool)
Defines the
RrdDbPool to use. |
void |
setPoolUsed(boolean poolUsed)
Sets RrdDbPool usage policy (defaults to true).
|
void |
setRigid(boolean rigid)
Sets rigid boundaries mode.
|
void |
setShowSignature(boolean showSignature)
Shows or hides graph signature (gator) in the top right corner of the graph
|
void |
setSignature(String signature)
Sets the signature string that runs along the right-side of the graph.
|
void |
setStartTime(long time)
Sets the time when the graph should begin.
|
void |
setStep(long step)
Suggests which time step should be used by Rrd4j while processing data from RRD files.
|
void |
setTextAntiAliasing(boolean textAntiAliasing)
Controls if the text should be antialiased or not.
|
void |
setTickStroke(Stroke tickStroke)
Set the stroke used to draw ticks
|
void |
setTimeAxis(int minorUnit,
int minorUnitCount,
int majorUnit,
int majorUnitCount,
int labelUnit,
int labelUnitCount,
int labelSpan,
String simpleDateFormat)
Configures x-axis grid and labels.
|
void |
setTimeAxis(int minorUnit,
int minorUnitCount,
int majorUnit,
int majorUnitCount,
int labelUnit,
int labelUnitCount,
int labelSpan,
TimeLabelFormat format)
It configure the x-axis grid in the same way than
setTimeAxis(int, int, int, int,
int, int, int, String), but it allows to use a TimeLabelFormat to
format the date label. |
void |
setTimeLabelFormat(TimeLabelFormat format)
This allows to keep the default major and minor grid unit, but with changing only the label
formatting, using a
TimeLabelFormat |
void |
setTimeLabelFormatter(java.util.function.Function<TimeUnit,Optional<TimeLabelFormat>> formatProvider)
This allows to keep the default major and minor grid unit, but with changing only the label
formatting, that will be formatted differently according to
TimeUnit chosen for the
time axis. |
void |
setTimeSpan(long[] timestamps)
Sets starting and ending time for the for the graph.
|
void |
setTimeSpan(long startTime,
long endTime)
Sets starting and ending time for the for the graph.
|
void |
setTimeZone(TimeZone tz)
Set the time zone used for the legend.
|
void |
setTitle(String title)
Defines a title to be written into the graph.
|
void |
setUnit(String unit)
Sets unit to be displayed on y axis.
|
void |
setUnitsExponent(int unitsExponent)
Sets the 10**unitsExponent scaling of the y-axis values.
|
void |
setUnitsLength(int unitsLength)
Sets the character width on the left side of the graph for y-axis values.
|
void |
setValueAxis(double gridStep,
int labelFactor)
Sets vertical axis grid and labels.
|
void |
setVerticalLabel(String verticalLabel)
Sets vertical label on the left side of the graph.
|
void |
setWidth(int width)
Sets width of the drawing area within the graph.
|
(package private) boolean |
shouldPlot() |
void |
stack(String srcName,
Paint color)
Does the same as
line(String, java.awt.Paint), but the graph gets stacked on top of
the previous LINE, AREA or STACK graph. |
void |
stack(String srcName,
Paint color,
String legend)
Does the same as
line(String, java.awt.Paint, String), but the graph gets stacked on
top of the previous LINE, AREA or STACK graph. |
void |
vrule(long timestamp,
Paint color)
Draws a vertical rule into the graph.
|
void |
vrule(long timestamp,
Paint color,
String legend)
Draws a vertical rule into the graph and optionally adds a legend
|
void |
vrule(long timestamp,
Paint color,
String legend,
BasicStroke stroke)
Draws a vertical rule into the graph and optionally adds a legend
|
void |
vrule(long timestamp,
Paint color,
String legend,
float width)
Draws a vertical rule into the graph and optionally adds a legend
|
void |
vspan(long start,
long end,
Paint color)
Draws a vertical span into the graph.
|
void |
vspan(long start,
long end,
Paint color,
String legend)
Draws a vertical span into the graph and optionally adds a legend.
|
boolean altAutoscale
boolean altAutoscaleMax
boolean altAutoscaleMin
boolean altYGrid
boolean altYMrtg
boolean antiAliasing
RrdGraphDef.ImageSource backgroundImage
double base
RrdGraphDef.ImageSource canvasImage
final List<CommentText> comments
DownSampler downsampler
boolean drawXGrid
boolean drawYGrid
long endTime
String filename
int firstDayOfWeek
Font[] fonts
boolean forceRulesLegend
java.util.function.Function<TimeUnit,Optional<TimeLabelFormat>> formatProvider
Stroke gridStroke
int height
String imageFormat
String imageInfo
float imageQuality
boolean interlaced
boolean lazy
Locale locale
boolean logarithmic
double maxValue
double minValue
boolean noLegend
boolean noMinorGrid
boolean onlyGraph
RrdGraphDef.ImageSource overlayImage
final List<PlotElement> plotElements
boolean poolUsed
boolean rigid
boolean showSignature
String signature
long startTime
long step
boolean textAntiAliasing
Stroke tickStroke
TimeAxisSetting timeAxisSetting
TimeLabelFormat timeLabelFormat
String title
TimeZone tz
String unit
int unitsExponent
int unitsLength
ValueAxisSetting valueAxisSetting
String verticalLabel
int width
public RrdGraphDef(long t1,
long t2)
public RrdGraphDef(java.time.temporal.TemporalAmount d)
d - duration to substract.public void area(double value,
Paint color,
boolean stack)
value - Area positioncolor - Color of the filled area.stack - true if it will be stacked.public void area(String srcName, Paint color)
srcName - Virtual source name.color - Color of the filled area.public void area(String srcName, Paint color, String legend)
srcName - Virtual source name.color - Color of the filled area.legend - Legend text.public void area(String srcName, Paint color, String legend, boolean stack)
srcName - Virtual source name.color - Color of the filled area.legend - Legend text.stack - true if it will be stacked.public void comment(String text)
text - Comment textpublic void datasource(String name, FetchData fetchData)
FetchData object.datasource in interface DataHoldername - Source name.fetchData - FetchData object.public void datasource(String name, IPlottable plottable)
datasource in interface DataHoldername - Source name.plottable - Plottable object.public void datasource(String name, String rpnExpression)
datasource in interface DataHoldername - Source namerpnExpression - RPN expression.public void datasource(String name, String dsName, FetchData fetchData)
FetchData object. Values will be extracted from the datasource dsName in the
fetchDatadatasource in interface DataHoldername - Source name.dsName - Source name in fetchData.fetchData - FetchData object.public void datasource(String name, String rrdPath, String dsName, ConsolFun consolFun)
datasource(String, String) or gprint(String, ConsolFun, String).datasource in interface DataHoldername - Source namerrdPath - Path to RRD filedsName - Datasource name in the specified RRD fileconsolFun - Consolidation function (AVERAGE, MIN, MAX, LAST)public void datasource(String name, String rrdPath, String dsName, ConsolFun consolFun, RrdBackendFactory backend)
datasource(String, String) or gprint(String, ConsolFun, String).datasource in interface DataHoldername - Source namerrdPath - Path to RRD filedsName - Datasource name in the specified RRD fileconsolFun - Consolidation function (AVERAGE, MIN, MAX, LAST)backend - Backend to be used while fetching data from a RRD file.public void datasource(String name, String defName, Variable var)
Requires that the other datasource has already been defined; otherwise, it'll end up with no data
datasource in interface DataHoldername - - the new virtual datasource namedefName - - the datasource from which to extract the percentile. Must be a previously
defined virtual datasourcevar - - a new instance of a Variable used to do the calculationpublic void datasource(String name, URI rrdUri, String dsName, ConsolFun consolFun)
datasource(String, String) or gprint(String, ConsolFun, String).datasource in interface DataHoldername - Source namerrdUri - URI to RRD filedsName - Datasource name in the specified RRD fileconsolFun - Consolidation function (AVERAGE, MIN, MAX, LAST)public void datasource(String name, URI rrdUri, String dsName, ConsolFun consolFun, RrdBackendFactory backend)
datasource(String, String) or gprint(String, ConsolFun, String).datasource in interface DataHoldername - Source namerrdUri - Path to RRD filedsName - Datasource name in the specified RRD fileconsolFun - Consolidation function (AVERAGE, MIN, MAX, LAST)backend - Backend to be used while fetching data from a RRD file.boolean drawTicks()
Paint getColor(ElementsNames element)
public long getEndTime()
DataHoldergetEndTime in interface DataHolderpublic Font getFont(RrdGraphConstants.FontTag tag)
public RrdDbPool getPool()
getPool in interface DataHolderpublic String getSignature()
public long getStartTime()
DataHoldergetStartTime in interface DataHolderpublic long getStep()
DataHoldergetStep in interface DataHolderpublic TimeZone getTimeZone()
getTimeZone in interface DataHolderpublic void gprint(String srcName, String format)
If an additional '%s' is found AFTER the marker, the value will be scaled and an appropriate SI magnitude unit will be printed in place of the '%s' marker. The scaling will take the '--base' argument into consideration!
If a '%S' is used instead of a '%s', then instead of calculating the appropriate SI magnitude unit for this value, the previously calculated SI magnitude unit will be used. This is useful if you want all the values in a print statement to have the same SI magnitude unit. If there was no previous SI magnitude calculation made, then '%S' behaves like a '%s', unless the value is 0, in which case it does not remember a SI magnitude unit and a SI magnitude unit will only be calculated when the next '%s' is seen or the next '%S' for a non-zero value. print results are added to the graph as a legend
srcName - Virtual source nameformat - Format string (like "average = %10.3f %s")public void gprint(String srcName, String format, boolean strftime)
If an additional '%s' is found AFTER the marker, the value will be scaled and an appropriate SI magnitude unit will be printed in place of the '%s' marker. The scaling will take the '--base' argument into consideration!
If a '%S' is used instead of a '%s', then instead of calculating the appropriate SI magnitude unit for this value, the previously calculated SI magnitude unit will be used. This is useful if you want all the values in a print statement to have the same SI magnitude unit. If there was no previous SI magnitude calculation made, then '%S' behaves like a '%s', unless the value is 0, in which case it does not remember a SI magnitude unit and a SI magnitude unit will only be calculated when the next '%s' is seen or the next '%S' for a non-zero value.
print results are added to the graph as a legend.
srcName - Virtual source nameformat - Format string (like "average = %10.3f %s")strftime - use the timestamp from the variable (true) or the numerical value (false)public void hrule(double value,
Paint color)
value - Position of the rulecolor - Rule colorpublic void hrule(double value,
Paint color,
String legend)
value - Position of the rulecolor - Rule colorlegend - Legend text. If null, legend text will be omitted.public void hrule(double value,
Paint color,
String legend,
BasicStroke stroke)
value - Position of the rulecolor - Rule colorlegend - Legend text. If null, legend text will be omitted.stroke - Rule strokepublic void hrule(double value,
Paint color,
String legend,
float width)
value - Position of the rulecolor - Rule colorlegend - Legend text. If null, legend text will be omitted.width - Rule widthpublic void hspan(double start,
double end,
Paint color)
start - Starting value of the spanend - Ending value of the spancolor - Rule colorpublic void hspan(double start,
double end,
Paint color,
String legend)
start - Starting value of the spanend - Ending value of the spancolor - Rule colorlegend - Legend text. Use null to omit the text.public boolean isPoolUsed()
DataHolderRrdDbPool usage policy.isPoolUsed in interface DataHolderpublic void line(double value,
Paint color,
BasicStroke stroke,
boolean stack)
value - Line position.color - Line color.stroke - Line stroke to use.stack - true if it will be stacked.public void line(double value,
Paint color,
float width,
boolean stack)
value - Line position.color - Line color.width - Line width (default: 1.0F).stack - true if it will be stacked.public void line(String srcName, Paint color)
srcName - Virtual source namecolor - Line colorpublic void line(String srcName, Paint color, float width)
srcName - Virtual source namecolor - Line colorwidth - Line width (default: 1.0F)public void line(String srcName, Paint color, String legend)
srcName - Virtual source namecolor - Line colorlegend - Legend textpublic void line(String srcName, Paint color, String legend, BasicStroke stroke, boolean stack)
BasicStroke
specified.srcName - Virtual source namecolor - Line color.legend - Legend text.stroke - Line stroke to use.stack - true if it will be stacked.public void line(String srcName, Paint color, String legend, float width)
srcName - Virtual source namecolor - Line colorlegend - Legend textwidth - Line width (default: 1.0F)public void line(String srcName, Paint color, String legend, float width, boolean stack)
srcName - Virtual source namecolor - Line color.legend - Legend text.width - Line width (default: 1.0F).stack - true if it will be stacked.public void print(String srcName, String format)
If an additional '%s' is found AFTER the marker, the value will be scaled and an appropriate SI magnitude unit will be printed in place of the '%s' marker. The scaling will take the '--base' argument into consideration!
If a '%S' is used instead of a '%s', then instead of calculating the appropriate SI magnitude unit for this value, the previously calculated SI magnitude unit will be used. This is useful if you want all the values in a print statement to have the same SI magnitude unit. If there was no previous SI magnitude calculation made, then '%S' behaves like a '%s', unless the value is 0, in which case it does not remember a SI magnitude unit and a SI magnitude unit will only be calculated when the next '%s' is seen or the next '%S' for a non-zero value.
Print results are collected in the RrdGraphInfo object which is
retrieved from the object once the graph is created.
srcName - Virtual source nameformat - Format string (like "average = %10.3f %s")public void print(String srcName, String format, boolean strftime)
If an additional '%s' is found AFTER the marker, the value will be scaled and an appropriate SI magnitude unit will be printed in place of the '%s' marker. The scaling will take the '--base' argument into consideration!
If a '%S' is used instead of a '%s', then instead of calculating the appropriate SI magnitude unit for this value, the previously calculated SI magnitude unit will be used. This is useful if you want all the values in a print statement to have the same SI magnitude unit. If there was no previous SI magnitude calculation made, then '%S' behaves like a '%s', unless the value is 0, in which case it does not remember a SI magnitude unit and a SI magnitude unit will only be calculated when the next '%s' is seen or the next '%S' for a non-zero value.
Print results are collected in the RrdGraphInfo object which is
retrieved from the object once the graph is created.
srcName - Virtual source nameformat - Format string (like "average = %10.3f %s")strftime - use the timestamp from the variable (true) or the numerical value (false)int printStatementCount()
public void setAltAutoscale(boolean altAutoscale)
altAutoscale - true to request alternative autoscaling, false otherwise (default).public void setAltAutoscaleMax(boolean altAutoscaleMax)
altAutoscaleMax - true to request alternative autoscaling, false otherwise (default)public void setAltAutoscaleMin(boolean altAutoscaleMin)
altAutoscaleMin - true to request alternative autoscaling, false otherwise (default)public void setAltYGrid(boolean altYGrid)
altYGrid - true, if Y grid should be calculated dynamically (defaults to false)public void setAltYMrtg(boolean altYMrtg)
altYMrtg - true, to create MRTG-like graph, false otherwise (default)public void setAntiAliasing(boolean antiAliasing)
antiAliasing - use true to turn antialiasing on, false to turn it off (default)public void setBackgroundImage(RrdGraphDef.ImageSource backgroundImage)
backgroundImage - An RrdGraphDef.ImageSource that will provides a BufferedImagepublic void setBackgroundImage(String backgroundImage)
backgroundImage - Path to background imagepublic void setBackgroundImage(URL backgroundImageUrl)
backgroundImageUrl - URL to background imagepublic void setBase(double base)
base - Base value (defaults to 1000.0)public void setCanvasImage(RrdGraphDef.ImageSource canvasImageSource)
canvasImageSource - An RrdGraphDef.ImageSource that will provides a BufferedImagepublic void setCanvasImage(String canvasImage)
canvasImage - Path to canvas imagepublic void setCanvasImage(URL canvasUrl)
canvasUrl - URL to canvas imagepublic void setColor(ElementsNames colorTag, Paint color)
colorTag - The element to change color.color - The color of the element.public void setColor(int colorTag,
Paint color)
RrdGraphConstants: COLOR_BACKground, COLOR_CANVAS, COLOR_XAXIS, COLOR_SHADEA left/top border, COLOR_SHADEB right/bottom border, COLOR_GRID, COLOR_MGRID major grid, COLOR_FONT, COLOR_FRAME and axis of the graph or COLOR_ARROW. This method can be called
multiple times to set several colors.colorTag - Color tag, as explained above.color - Any color (paint) you likepublic void setDownsampler(DownSampler downsampler)
More details can be found on Sveinn Steinarsson's thesis
downsampler - The downsampler that will be usedpublic void setDrawXGrid(boolean drawXGrid)
drawXGrid - True if X-axis grid should be created (default), false otherwise.public void setDrawYGrid(boolean drawYGrid)
drawYGrid - True if Y-axis grid should be created (default), false otherwise.public void setEndTime(long time)
setEndTime in interface DataHoldertime - Ending time for the graph in seconds since epochpublic void setFilename(String filename)
filename - Path to the image filepublic void setFirstDayOfWeek(int firstDayOfWeek)
public void setFont(RrdGraphConstants.FontTag fontTag, Font font)
RrdGraphConstants: FONTTAG_DEFAULT default font,, FONTTAG_TITLE title,
FONTTAG_AXIS grid axis,, FONTTAG_UNIT vertical unit label,, FONTTAG_LEGEND legend, FONTTAG_WATERMARK watermark. This method can be called
multiple times to set several fonts.fontTag - Font tag, as explained above.font - Font to be used for tagpublic void setFont(RrdGraphConstants.FontTag fontTag, Font font, boolean setAll)
fontTag - Font tag, as explained above.font - Font to be used for tagsetAll - Boolean to flag whether to set all fonts if fontTag == FONTTAG_DEFAULTpublic void setFont(RrdGraphConstants.FontTag fontTag, Font font, boolean setAll, boolean keepSizes)
fontTag - Font tag, as explained above.font - Font to be used for tagsetAll - Boolean to flag whether to set all fonts if fontTag == FONTTAG_DEFAULTkeepSizes - Boolean to flag whether to keep original font sizes if setting all fonts.public void setFont(String fontTag, Font font)
fontTag - Font tag as String, as explained in setFont(org.rrd4j.graph.RrdGraphConstants.FontTag, Font, boolean).font - Font to be used for tagpublic void setFont(String fontTag, Font font, boolean setAll)
fontTag - Font tag as String, as explained in setFont(org.rrd4j.graph.RrdGraphConstants.FontTag, Font, boolean).font - Font to be used for tagsetAll - Boolean to flag whether to set all fonts if fontTag == FONTTAG_DEFAULTpublic void setFont(String fontTag, Font font, boolean setAll, boolean keepSizes)
fontTag - Font tag as String, as explained in setFont(org.rrd4j.graph.RrdGraphConstants.FontTag, Font, boolean).font - Font to be used for tagsetAll - Boolean to flag whether to set all fonts if fontTag == FONTTAG_DEFAULTkeepSizes - Boolean to flag whether to keep original font sizes if setting all fonts.public void setFontSet(boolean rrdtool)
rrdtool - true to use rrdtool font setpublic void setForceRulesLegend(boolean forceRulesLegend)
forceRulesLegend - true if rule legend should be always printed, false otherwise
(default).public void setGridStroke(Stroke gridStroke)
gridStroke - a Stroke object.public void setHeight(int height)
height - Height of the drawing area.public void setImageFormat(String imageFormat)
imageFormat - Any value as return by ImageIO.getReaderFormatNames()public void setImageInfo(String imageInfo)
print(String, ConsolFun, String) function. The format string is supplied with the following
parameters: filename, xsize and ysize (in that particular order).
For example, in order to generate an IMG tag suitable for including the graph into a web page, the command would look like this:
setImageInfo("<IMG SRC='/img/%s' WIDTH='%d' HEIGHT='%d' ALT='Demo'>");
imageInfo - Image info format. Use %s placeholder for filename, %d placeholder for image
width and height.public void setImageQuality(float imageQuality)
imageQuality - (0F=worst, 1F=best).public void setInterlaced(boolean interlaced)
interlaced - true, if GIF image should be interlaced.public void setLazy(boolean lazy)
lazy - true, if graph should be 'lazy', false otherwise (default)public void setLocale(Locale locale)
It overides the firstDayOfWeek
locale - the locale to setpublic void setLogarithmic(boolean logarithmic)
logarithmic - true, for logarithmic scaling, false otherwise (default).public void setMaxValue(double maxValue)
If you want to define an upper-limit which will not move in any event you have to use
setRigid(boolean) method as well.
maxValue - Maximal value displayed on the graph.public void setMinValue(double minValue)
minValue - Minimal value displayed on the graphpublic void setNoLegend(boolean noLegend)
noLegend - true if graph legend should be omitted. False otherwise (default).public void setNoMinorGrid(boolean noMinorGrid)
noMinorGrid - true, to turn off, false to turn on (default)public void setOnlyGraph(boolean onlyGraph)
onlyGraph - true if only graph should be created, false otherwise (default).public void setOverlayImage(RrdGraphDef.ImageSource overlayImageSource)
overlayImageSource - An RrdGraphDef.ImageSource that will provides a BufferedImagepublic void setOverlayImage(String overlayImage)
overlayImage - Path to overlay imagepublic void setOverlayImage(URL overlayImage)
overlayImage - URL to overlay imagepublic void setPool(RrdDbPool pool)
DataHolderRrdDbPool to use. If not defined, but {DataHolder.setPoolUsed(boolean) set to true, the default RrdDbPool.getInstance() will be used.setPool in interface DataHolderpool - an optional pool to use.public void setPoolUsed(boolean poolUsed)
RrdDbPool will be used to access individual RRD files. If set to
false, RRD files will be accessed directly.setPoolUsed in interface DataHolderpoolUsed - true, if RrdDbPool class should be used. False otherwise.public void setRigid(boolean rigid)
true
argument you can disable this behavior.rigid - true if upper and lower limits should not be expanded to accommodate values
outside of the specified range. False otherwise (default).public void setShowSignature(boolean showSignature)
showSignature - true, if signature should be seen (default), false otherwisepublic void setSignature(String signature)
signature - the string to printpublic void setStartTime(long time)
setStartTime in interface DataHoldertime - Starting time for the graph in seconds since epochpublic void setStep(long step)
setStep in interface DataHolderstep - Desired time step (don't use this method if you don't know what you're doing).public void setTextAntiAliasing(boolean textAntiAliasing)
textAntiAliasing - use true to turn text-antialiasing on, false to turn it off (default)public void setTickStroke(Stroke tickStroke)
tickStroke - a Stroke object.public void setTimeAxis(int minorUnit,
int minorUnitCount,
int majorUnit,
int majorUnitCount,
int labelUnit,
int labelUnitCount,
int labelSpan,
String simpleDateFormat)
Otherwise, you have to configure three elements making up the x-axis labels and grid. The base grid, the major grid and the labels. The configuration is based on the idea that you first specify a well known amount of time and then say how many times it has to pass between each minor/major grid line or label. For the label you have to define two additional items: The precision of the label in seconds and the format used to generate the text of the label.
For example, if you wanted a graph with a base grid every 10 minutes and a major one every hour, with labels every hour you would use the following x-axis definition.
setTimeAxis(RrdGraphConstants.MINUTE, 10,
RrdGraphConstants.HOUR, 1,
RrdGraphConstants.HOUR, 1,
0, "%H:%M")
The precision in this example is 0 because the %X format is exact. If the label was the name of the day, we would have had a precision of 24 hours, because when you say something like 'Monday' you mean the whole day and not Monday morning 00:00. Thus the label should be positioned at noon. By defining a precision of 24 hours or rather 86400 seconds, you make sure that this happens.
minorUnit - Minor grid unit. Minor grid, major grid and label units can be one of the
following constants defined in RrdGraphConstants: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR.minorUnitCount - Number of minor grid units between minor grid lines.majorUnit - Major grid unit.majorUnitCount - Number of major grid units between major grid lines.labelUnit - Label unit.labelUnitCount - Number of label units between labels.labelSpan - Label precisionsimpleDateFormat - Date format (SimpleDateFormat pattern of strftime-like pattern)public void setTimeAxis(int minorUnit,
int minorUnitCount,
int majorUnit,
int majorUnitCount,
int labelUnit,
int labelUnitCount,
int labelSpan,
TimeLabelFormat format)
setTimeAxis(int, int, int, int,
int, int, int, String), but it allows to use a TimeLabelFormat to
format the date label.minorUnit - minorUnitCount - majorUnit - majorUnitCount - labelUnit - labelUnitCount - labelSpan - format - public void setTimeLabelFormat(TimeLabelFormat format)
TimeLabelFormatformat - a custom dynamic time label formatpublic void setTimeLabelFormatter(java.util.function.Function<TimeUnit,Optional<TimeLabelFormat>> formatProvider)
TimeUnit chosen for the
time axis.
If the returned Optional is empty, the default formatting will be kept
TimeUnit |
Default pattern |
|---|---|
| MINUTE | HH:mm |
| HOUR | HH:mm |
| DAY | EEE dd |
| WEEK | 'Week 'w |
| MONTH | MMM |
| YEAR | yy |
formatProvider - An Optional holding the TimeLabelFormat to use or empy
to keep the default.public void setTimeSpan(long[] timestamps)
timestamps - Array of timestamps. The first array item will be chosen for the starting
timestamp. The last array item will be chosen for the ending timestamp.public void setTimeSpan(long startTime,
long endTime)
setTimeSpan in interface DataHolderstartTime - Starting time in seconds since epochendTime - Ending time in seconds since epochpublic void setTimeZone(TimeZone tz)
setTimeZone in interface DataHoldertz - the time zone to setpublic void setTitle(String title)
title - Graph title.public void setUnit(String unit)
unit - Unit descriptionpublic void setUnitsExponent(int unitsExponent)
unitsExponent - the 10**unitsExponent value for scaling y-axis values.public void setUnitsLength(int unitsLength)
unitsLength - Number of characters on the left side of the graphs reserved for vertical
axis labels.public void setValueAxis(double gridStep,
int labelFactor)
gridStep - Minor grid steplabelFactor - Specifies how many minor minor grid steps will appear between labels
(major grid lines)public void setVerticalLabel(String verticalLabel)
verticalLabel - Vertical axis labelpublic void setWidth(int width)
width - Width of the drawing area.boolean shouldPlot()
public void stack(String srcName, Paint color)
line(String, java.awt.Paint), but the graph gets stacked on top of
the previous LINE, AREA or STACK graph. Depending on the type of the previous graph, the
STACK will be either a LINE or an AREA. This obviously implies that the first STACK must be
preceded by an AREA or LINE.
Note, that when you STACK onto *UNKNOWN* data, Rrd4j will not draw any graphics ... *UNKNOWN* is not zero.
srcName - Virtual source namecolor - Stacked graph colorIllegalArgumentException - Thrown if this STACK has no previously defined
AREA, STACK or LINE graph bellow it.public void stack(String srcName, Paint color, String legend)
line(String, java.awt.Paint, String), but the graph gets stacked on
top of the previous LINE, AREA or STACK graph. Depending on the type of the previous graph,
the STACK will be either a LINE or an AREA. This obviously implies that the first STACK must
be preceded by an AREA or LINE. Note, that when you STACK onto *UNKNOWN* data, Rrd4j will not
draw any graphics ... *UNKNOWN* is not zero.srcName - Virtual source namecolor - Stacked graph colorlegend - Legend textIllegalArgumentException - Thrown if this STACK has no previously defined
AREA, STACK or LINE graph bellow it.public void vrule(long timestamp,
Paint color)
timestamp - Position of the rule (seconds since epoch)color - Rule colorpublic void vrule(long timestamp,
Paint color,
String legend)
timestamp - Position of the rule (seconds since epoch)color - Rule colorlegend - Legend text. Use null to omit the text.public void vrule(long timestamp,
Paint color,
String legend,
BasicStroke stroke)
timestamp - Position of the rule (seconds since epoch)color - Rule colorlegend - Legend text. Use null to omit the text.stroke - Rule strokepublic void vrule(long timestamp,
Paint color,
String legend,
float width)
timestamp - Position of the rule (seconds since epoch)color - Rule colorlegend - Legend text. Use null to omit the text.width - Rule widthpublic void vspan(long start,
long end,
Paint color)
start - Start time for the span (seconds since epoch)end - End time for the span (seconds since epoch)color - Rule colorpublic void vspan(long start,
long end,
Paint color,
String legend)
start - Start time for the span (seconds since epoch)end - End time for the span (seconds since epoch)color - Rule colorlegend - Legend text. Use null to omit the text.