RRDTool command... | ...in JRobin API |
CREATE |
rrdtool create test.rrd | RrdDef rrdDef = new RrdDef("test.rrd"); |
--start 1000111222 | rrdDef.setStartTime(1000111222L); |
--step 300 | rrdDef.setStep(300); |
DS:input:COUNTER:600:0:U | rrdDef.addDatasource("input", "COUNTER", 600, 0, Double.NaN); |
RRA:AVERAGE:0.5:6:700 | rrdDef.addArchive("AVERAGE", 0.5, 6, 700) |
[Enter] | RrdDb rrdDb = new RrdDb(rrdDef); |
UPDATE |
rrdtool update test.rrd | RrdDb rrdDb = new RrdDb("test.rrd"); Sample sample = rrdDb.createSample(); |
1000111222:23.45:U | sample.setTime(1000111222L); sample.setValue(0, 23.45); sample.setValue(1, Double.NaN); |
-t input:output 1000111222:12.345:U | sample.setTime(1000111222L); sample.setValue("input", 12.345); sample.setValue("output", Double.NaN); |
[Enter] | sample.update(); |
LAST |
rrdtool last test.rrd | RrdDb rrdDb = new RrdDb("test.rrd"); |
[Enter] | long lastUpdateTime = rrdDb.getLastUpdateTime(); |
FETCH |
rrdtool fetch test.rrd | RrdDb rrdDb = new RrdDb("test.rrd"); |
AVERAGE --start 1000111222 --end 1000222333 | FetchRequest req = rrdDb.createFetchRequest("AVERAGE", 1000111222L, 1000222333L); |
AVERAGE --start 1000111222 --end 1000222333 --resolution 600 | FetchRequest req = rrdDb.createFetchRequest("AVERAGE", 1000111222L, 1000222333L, 600); |
[Enter] | FetchData fetchData = req.fetchData(); |
DUMP |
rrdtool dump test.rrd > test.xml | RrdDb rrdDb = new RrdRb("test.rrd"); |
[Enter] | rrdDb.dumpXml("test.xml"); |
RESTORE |
rrdtool restore new.rrd old.xml [Enter] | RrdDb rrdDb = new RrdDb("new.rrd" "old.xml"); |
GRAPH |
rrdtool graph traffic.png | RrdGraphDef def = new RrdGraphDef(); String pngFile = "traffic.png"; |
--start 1000111222 --end 1000222333 | def.setTimePeriod(1000111222L, 1000222333L); |
--start "10/25/2003" --end "10/28/2003" | def.setTimePeriod(Util.getTimestamp(2003, 9, 25), Util.getTimestamp(2003, 9, 28));* |
-w 400 -h 200 | int pngWidth = 400, pngHeight = 200; |
-v "this is y-axis" | def.setVerticalLabel("this is y-axis"); |
-t "this is graph title" | def.setTitle("this is graph title"); |
--lower-limit 1000.0 --upper-limit 2000.0 --rigid | def.setGridRange(1000.0, 2000.0, true); |
--background image_path | def.setBackground("image_path"); |
--color BACK#FF0080 | def.setBackColor(new Color(0xFF, 0x00, 0x80)); |
--color CANVAS#FF0080 | def.setCanvasColor(new Color(0xFF, 0x00, 0x80)); |
--base 1024 | def.setBaseValue(1024); |
--units-exponent 6 | def.setUnitsExponent(6); |
--no-legend | def.setShowLegend(false); |
DEF:in=traffic.rrd:input:AVERAGE | def.datasource("in", "traffic.rrd", "input", "AVERAGE"); |
CDEF:in1=in,8,* | def.datasource("in1", "in,8,*"); |
CDEF:in2=rpn_expression | def.datasource("in2", "rpn_expression"); |
LINE1:in#0000FF:"input" | def.line("in", new Color(0, 0, 0xFF), "input"); |
AREA:in1#00FF00:"input 1" | def.area("in1", new Color(0, 0xFF, 0), "input 1"); |
STACK:in2#FFFF00:"input 2\r" | def.stack("in2", new Color(0xFF, 0xFF, 0), "input 2@r"); |
COMMENT:"This is a comment" | def.comment("This is a comment"); |
GPRINT:in:AVERAGE: "avg=%.2lf %sbits/sec" | def.gprint("in", "AVERAGE", "avg=@2 @sbits/sec"); |
GPRINT:in1:MAX: "avg1=%5.2lf %Sbits/sec\r" | def.gprint("in1", "MAX", "avg1=@5.2 @Sbits/sec@r); |
[Enter] | RrdGraph g = new RrdGraph(def); g.saveAsPNG(pngFile, pngWidth, pngHeight);** |
XPORT |
rrdtool xport --start 1000111222 --end 1000222333 | RrdExportDef def = new RrdExportDef(1000111222L, 1000222333L); |
DEF:xval=test.rrd:x:AVERAGE | def.datasource("xval", "test.rrd", "x", "AVERAGE"); |
XPORT:xval:"X values" | def.export("xval", "X values"); |
--maxrows 100 | RrdExport export = new RrdExport(def); ExportData data = export.fetch(100); |
[Enter] | System.out.println(data.exportXml()); |
TUNE*** |
rrdtool tune file.rrd --heartbeat input:600 | RrdToolkit toolkit = RrdToolkit.getInstance(); toolkit.setDsHeartbeat("file.rrd", "input", 600); |
rrdtool tune file.rrd --maximum input:10000 | RrdToolkit toolkit = RrdToolkit.getInstance(); toolkit.setDsMaxValue("file.rrd", "input", 10000, false); |