首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RRD4J和XML创建图形?

使用RRD4J和XML创建图形?
EN

Stack Overflow用户
提问于 2013-10-16 23:06:12
回答 2查看 683关注 0票数 1

我有一个家庭作业,我需要研究RRD4J和使用RRD4J库创建图形。我的老师只给了我一个xml文件。那么,我可以在RRD4J中使用XML来绘制图形吗?

EN

回答 2

Stack Overflow用户

发布于 2013-10-17 08:15:41

如果没有更多的信息,很难回答你的问题。这些一般步骤可能会帮助你理解你应该做什么,解决问题:

1)根据您想要的粒度(以及XML文件中的数据频率)创建RRD

例如,如果您想要每小时和每天的数据,则您的归档创建应如下所示:

代码语言:javascript
复制
RrdDef rrdDef = new RrdDef(fileName, 60); // 60 is step, means you expect data to enter at 60 seconds interval
rrdDef.setStartTime(...); // Set initial timestamp here (must be 10 digit epoch timestamp) 
rrdDef.addDatasource(DATASOURCE_NAME, DsType.GAUGE, 120, 0, Double.NaN); // DATASOURCE_NAME is the name of your variable in time series, DsType - is the type of data (always increasing, increasing and decreasing, etc), 120 is the timeout for new data entry, (i.e if no data enters in 120 seconds, NaN will be added to database), max and min values 
rrdDef.addArchive(ConsolFun.AVERAGE, 0.99, 1, 60);
rrdDef.addArchive(ConsolFun.AVERAGE, 0.99, 24, 240);

RrdDb rrdDb = new RrdDb(rrdDef);
rrdDb.close();

(所有这些配置都来自于对您正在处理的时间序列的详细分析,如果不查看数据,就很难预测什么)

2)使用SAX解析XML文件(我猜这个会更好,因为在插入到RRD数据库之后,您将不再需要访问已解析的值)

3)解析XML时,更新RRD

代码语言:javascript
复制
RrdDb rrdDb = new RrdDb(fileName);
Sample sample = rrdDb.createSample();
sample.setAndUpdate(timestamp+":"+value);
rrdDb.close();

4)当所有数据都插入后,生成一些图表(请查看RRD4J网站上的示例和选项)

P.S(使用与MongoDB的集成,它的性能比RRD4J好很多次,在他们的页面上也有一个例子)

希望这能有所帮助:-)

票数 1
EN

Stack Overflow用户

发布于 2013-10-17 20:34:07

这是一个模板吗?http://rrd4j.googlecode.com/git/javadoc/org/rrd4j/core/XmlTemplate.html

rrd4j的最佳配置是文件和版本2 rrd。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19406985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档