<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"><div><span>Martin,</span></div><div><span>you might be interested in this:</span></div><div><span>http://search.cpan.org/dist/RRD-Tweak/</span></div><div><br><span></span></div><div><span></span></div><div><br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;">  <div style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Martin Sperl &lt;rrdtool@martin.sperl.org&gt;<br> <b><span style="font-weight: bold;">To:</span></b> rrd-developers@lists.oetiker.ch <br> <b><span style="font-weight: bold;">Sent:</span></b> Monday, July 16, 2012 3:24 PM<br> <b><span style="font-weight:
 bold;">Subject:</span></b> [rrd-developers] "transferring data" from an old to a to a new rrd<br> </font> </div> <br>
Hi!<br><br>I have tried to make use of <a target="_blank" href="http://rrdjig.pl/">rrdjig.pl</a>, but it ran for ages at 100%CPU and never finished on my test data.<br><br>So I started writing a script that is able to extract the data from an original file and produces a list of update lines (takes from the "closest available resolution" - so if we have data for step 300, we take this, if not go to the next-higher version - up to 86400) - the timestamp is EXACTLY at the step boundry.<br>This output is then fed into a new program that does the updates on an EMPTY rrd file with different RRA definitions (different number of rows and different pdp_per_step).<br><br>But when I apply this update to the new empty rrd of the SAME definition i see:<br>a)&nbsp; the data at step 300 is identical<br>b) but the consolidated data at lower resolutions (say 86400) is not identical.<br><br>So after heavy debugging I had found out that a lookup of the value in a Specific
 RRA for a specific Timestamp TS requires the following logic:<br><br>For the timestamp TS I want to Insert (assuming TS % &lt;STEP&gt;=0), I have to look up in the value in the RRA at the Timestamp:<br>LookupTS(TS,RRA) = TS + IF(TS MOD (&lt;STEP&gt;*&lt;RRA.PDP_PER_ROW&gt;)&gt;0,&lt;STEP&gt;*&lt;RRA.PDP_PER_ROW&gt; - TS MOD (&lt;STEP&gt;*&lt;RRA.PDP_PER_ROW&gt;),0)<br><br>Maybe someone can shed some light on this mystery, why this logic has to be so complex?<br><br>Especially when reading posts on Holt-Winters forecasting it always says "gather data, then reimport them into an rrd definition that has been created with different parameters for Holt-Winters" - I assume most people made similar assumptions on the timestamps when extracting the data via RRDDump or RRDFetch.<br><br>Thanks,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Martin<br><br>P.s: If there is interest, then I will share the script as soon as It handles also counters and not only GAUGES (and
 probably ABSOLUTE - an assumption)... If I get it right it should also be able to handle multiple source rrd files and allow joining them to a single RRD. In the future the script potentially can do the updates itself as well (without the pipeing)...<br>_______________________________________________<br>rrd-developers mailing list<br><a ymailto="mailto:rrd-developers@lists.oetiker.ch" href="mailto:rrd-developers@lists.oetiker.ch">rrd-developers@lists.oetiker.ch</a><br><a href="https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers" target="_blank">https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers</a><br><br><br> </div> </div> </blockquote></div>   </div></body></html>