PHP - RRD rrd_graph() Function
The PHP RRD rrd_graph() function is used to generate graphs and charts from RRD data. By creating visual representations of time-series data, like performance metrics or logs, it makes the examination of trends and patterns easily.
Syntax
Below is the syntax of the PHP RRD rrd_graph() function −
int rrd_graph ( string $filename , array $options )
Parameters
Below are the parameters of the rrd_graph() function −
$filename − It is the name of the file where the graph will be printed. This will usually finish in .png, .svg, or .eps, depending on the format you wish to use.
$options − It is the options for creating images. All choices (data definitions, variable definitions, etc.) are acceptable.
Return Value
The rrd_graph() function returns array with information about generated image on success and FALSE on failure.
PHP Version
The rrd_graph() function is available from version 0.9.0 of the PECL rrd extension onwards.
Example 1
First we will show you the basic example of the PHP RRD rrd_graph() function to creates a simple graph from an RRD database.
<?php
// Path to the RRD file
$filename = "/PHP/PhpProjetcs/image.png";
// Options for the graph
$options = array(
"--imgformat", "PNG",
"--width", "300",
"--height", "200",
"--title", "Basic Graph",
"DEF:mydata=example.rrd:your_data:AVERAGE",
"LINE1:mydata#FF0000:My Data"
);
// Generate the graph
$result = rrd_graph($filename, $options);
if ($result == 0) {
echo "Graph created successfully!";
} else {
echo "Failed to create graph.";
}
?>
Output
The above code will result something like this −
Graph created successfully!
Example 2
In the below PHP code we will try to use the rrd_graph() function and create a line graph which has data from multiple sources.
<?php
// Specify the filename
$filename = "multi_line_graph.png";
$options = array(
"--imgformat", "PNG",
"--width", "500",
"--height", "300",
"--title", "Multi-Line Graph",
"DEF:data1=example.rrd:source1:AVERAGE",
"DEF:data2=example.rrd:source2:AVERAGE",
"LINE1:data1#00FF00:Data Source 1",
"LINE2:data2#0000FF:Data Source 2"
);
$result = rrd_graph($filename, $options);
if ($result == 0) {
echo "The multi-line graph has been created!";
} else {
echo "Failed to create multi-line graph.";
}
?>
?>
Output
After running the above program, it generates the following output −
The multi-line graph has been created!