Java 用于测量CPU和内存使用率的RRD

Java 用于测量CPU和内存使用率的RRD,java,rrdtool,rrd,Java,Rrdtool,Rrd,我想测量持续集成期间服务器的CPU和内存使用情况,并将它们表示为几个图形。我使用循环数据库文件(*.rrd)在带有RRD4J库的java中执行此操作 我不知道如何定义循环存档。。。 我尝试过这种RRA: rrdDefCPU.addDatasource("CPU", DsType.COUNTER, 150, 0, 100); rrdDefCPU.addArchive("RRA:AVERAGE:0.5:8:300"); 或 在这两种情况下,我每秒记录一个测量值,但在5分钟的时间内,我仍然在图表上

我想测量持续集成期间服务器的CPU和内存使用情况,并将它们表示为几个图形。我使用循环数据库文件(*.rrd)在带有RRD4J库的java中执行此操作

我不知道如何定义循环存档。。。 我尝试过这种RRA:

rrdDefCPU.addDatasource("CPU", DsType.COUNTER, 150, 0, 100);
rrdDefCPU.addArchive("RRA:AVERAGE:0.5:8:300"); 


在这两种情况下,我每秒记录一个测量值,但在5分钟的时间内,我仍然在图表上记录2个点。我想要一个有更多值的图​在同一时间段。

如果您在5分钟的时间间隔内看不到更多细节,那么我猜您的步长是5分钟,您是通过复制演示代码获得的。请在问题中显示您的RrdDef构造函数

RrdDef rrdDef = new RrdDef(rrdPath, startTime, 300); // step size 300s
此外,您可能需要一个cpu/内存使用量表,而不是一个只会上升的计数器。若你们错误地使用了计数器,你们会得到尖利的输出,因为RRD将下移解释为溢出,并在观测值上增加了很大一部分


在代码中,您正在改变心跳大小,心跳大小与Xff相结合,以确定输入中允许的大小差距。如果您有连续的数据,您将看不到更改HB的任何影响

非常感谢!我已将步骤更改为5,并将DsType.COUNTER更改为DsType.GAUGE!它起作用了!
RrdDef rrdDef = new RrdDef(rrdPath, startTime, 300); // step size 300s