During DZ2 development it became clear tat there's no such thing as too much instrumentation data. Hence, DZ3 was architected in such a way that any object that produces DataSample<E extends Number>
can have their data logged.
Here's an example how you can log temperature sensor data (this has been added to the bottom of this example):
<!-- Loggers -->
<bean id="rrdbase" class="java.io.File">
<!-- This is the path in the file system. If in doubt, make it absolute --/>
<constructor-arg type="java.lang.String" value="./rrd"/>
</bean>
<bean id="rrdtool" class="java.io.File">
<constructor-arg type="java.lang.String" value="/usr/bin/rrdtool"/>
</bean>
<bean id="rrdlogger" class="net.sf.jukebox.datastream.logger.impl.rrd.RrdLogger" init-method="start">
<constructor-arg index="0" type="java.util.Set">
<set>
<ref bean="temperature_sensor-6EE055000000"/>
<ref bean="temperature_sensor-cpu1"/>
<ref bean="temperature_sensor-cpu2"/>
<ref bean="temperature_sensor-mobo"/>
<ref bean="temperature_sensor-sda"/>
<ref bean="temperature_sensor-sdb"/>
</set>
</constructor-arg>
<constructor-arg index="1" type="java.io.File" ref="rrdbase"/>
<constructor-arg index="2" type="java.io.File" ref="rrdtool"/>
</bean>
And here's the data that it produced during its first 3 hours of operation:
UPDATE (2009/11/08): Added comment to rrdbean
constructor argument - thanks to David for clarification.
Thursday, October 29, 2009
DZ3 Data Logger: Logging *Everything*
Posted by vt at 10/29/2009 05:14:00 PM
Labels: configuration, data logger, DZ3, instrumentation
Subscribe to:
Post Comments (Atom)
In this example, where is the "./rrd" relative to? I'm getting an error when starting the system that says "./rrd: not a directory or not writable", but I can't tell from the logged exception what the working directory is?
ReplyDeleteThe value above is a relative path to the shell's working directory. It would be safe to make it absolute.
ReplyDeleteThanks for the suggestion, I'll convert this into absolute path when logging the exception.