日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

JRobin :: RRDTool Choice for the Java World :: Quick reference

 eeason 2011-07-14

Quick reference

Here is the list of some most commonly used RRDTool commands and command line switches with a proper translation to Java (JRobin API). It's quite straightforward:

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);

Simple, isn't it?

(*) Java months are zero based.
(**) PNG format should be your first choice. However, JRobin supports GIF and JPEG formats too.
(***) JRobin's RRDToolkit class is not fully compatible with rrdtool tune command but has some interesting features (to add/remove datasource/archive for example) that cannot be found in RRDTool. 

Back to the top

Copyright ? 2003, 2004 Sasa Markovic & Arne Vandamme. All Rights Reserved.

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多