<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    On 10/23/2010 10:49 AM, Simon Hobson wrote:<br>
    <blockquote cite="mid:p06240834c8e8c7022f24@simon.thehobsons.co.uk"
      type="cite">
      <pre wrap="">I don't want to see what's in the database. Please provide a set of 
update values that reproduce the problem. If we don't know what went 
in, then we cannot even guess at whether what comes out is correct or 
not.
</pre>
    </blockquote>
    <br>
    Ok - added a print of the data that is supplied to rrdtool, then
    dropped the connection to force a read error.<br>
    <br>
    This is what was passed to the DB:<br>
    <p class="MsoNormal"><small><tt>1287865680:80720496:21353409:88678191:121292820:21641300:65478015:23557328:95055770:104725771<br>
1287865710:80721285:21354274:88679077:121294030:21642052:65480082:23558714:95056884:104726886<br>
1287865740:80722122:21355290:88679970:121294992:21642728:65482047:23559995:95057766:104728008<br>
1287865770:80723194:21356148:88680872:121295888:21643313:65484024:23561517:95058921:104729359<br>
          1287865800:U:U:U:U:U:U:U:U:U<br>
          1287865830:0:0:0:0:0:0:0:0:0<br>
          1287865860:0:0:0:0:0:0:0:0:0<br>
          1287865890:0:0:0:0:0:0:0:0:0<br>
          1287865920:0:0:0:0:0:0:0:0:0<br>
          1287865950:0:0:0:0:0:0:0:0:0<br>
          1287865980:0:0:0:0:0:0:0:0:0<br>
          1287866010:0:0:0:0:0:0:0:0:0<br>
          1287866040:0:0:0:0:0:0:0:0:0<br>
          1287866070:0:0:0:0:0:0:0:0:0<br>
          1287866100:0:0:0:0:0:0:0:0:0<br>
          1287866130:0:0:0:0:0:0:0:0:0<br>
          1287866160:0:0:0:0:0:0:0:0:0<br>
          1287866190:0:0:0:0:0:0:0:0:0<br>
          1287866220:0:0:0:0:0:0:0:0:0<br>
          1287866250:0:0:0:0:0:0:0:0:0<br>
1287866280:80739444:21371669:88696608:121313195:21655956:65519543:23582106:95072573:104743263<br>
1287866310:80740228:21372452:88697358:121314100:21656508:65521468:23583236:95073263:104743944<br>
1287866340:80740899:21373269:88698173:121315111:21657190:65523385:23584208:95073908:104744613<br>
1287866370:80741789:21374232:88699086:121316178:21657895:65525380:23585369:95074622:104745350</tt></small><br>
    </p>
    This is what the database contains:<br>
    <p class="MsoNormal"><small><tt>1287865680: 2.7366666667e+01
          2.9816666667e+01
          3.5166666667e+01 3.2800000000e+01 2.6966666667e+01
          6.8150000000e+01
          4.3283333333e+01 2.9133333333e+01 3.1566666667e+01<br>
          1287865710: 2.6300000000e+01 2.8833333333e+01
          2.9533333333e+01 4.0333333333e+01 2.5066666667e+01
          6.8900000000e+01
          4.6200000000e+01 3.7133333333e+01 3.7166666667e+01<br>
          1287865740: 2.7900000000e+01 3.3866666667e+01
          2.9766666667e+01 3.2066666667e+01 2.2533333333e+01
          6.5500000000e+01
          4.2700000000e+01 2.9400000000e+01 3.7400000000e+01<br>
          1287865770: 3.5733333333e+01 2.8600000000e+01
          3.0066666667e+01 2.9866666667e+01 1.9500000000e+01
          6.5900000000e+01
          5.0733333333e+01 3.8500000000e+01 4.5033333333e+01<br>
          1287865800: nan nan nan nan nan nan nan nan nan<br>
          1287865830: nan nan nan nan nan nan nan nan nan<br>
          1287865860: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00<br>
          1287865890: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00<br>
          1287865920: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00<br>
          1287865950: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00<br>
          1287865980: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00<br>
          1287866010: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00<br>
          1287866040: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00<br>
          1287866070: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00<br>
          1287866100: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00<br>
          1287866130: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00<br>
          1287866160: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00<br>
          1287866190: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00<br>
          1287866220: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00<br>
          1287866250: 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
          0.0000000000e+00
          0.0000000000e+00 0.0000000000e+00 0.0000000000e+00<br>
          1287866280: 2.6913148000e+06 7.1238896667e+05
          2.9565536000e+06 4.0437731667e+06 7.2186520000e+05
          2.1839847667e+06
          7.8607020000e+05 3.1690857667e+06 3.4914421000e+06<br>
          1287866310: 2.6133333333e+01 2.6100000000e+01
          2.5000000000e+01 3.0166666667e+01 1.8400000000e+01
          6.4166666667e+01
          3.7666666667e+01 2.3000000000e+01 2.2700000000e+01<br>
          1287866340: 2.2366666667e+01 2.7233333333e+01
          2.7166666667e+01 3.3700000000e+01 2.2733333333e+01
          6.3900000000e+01
          3.2400000000e+01 2.1500000000e+01 2.2300000000e+01</tt></small><small><tt><br>
          1287866370: 2.9666666667e+01 3.2100000000e+01
          3.0433333333e+01 3.5566666667e+01 2.3500000000e+01
          6.6500000000e+01
          3.8700000000e+01 2.3800000000e+01 2.4566666667e+01</tt></small><br>
    </p>
    <p class="MsoNormal">Interesting things to note:<br>
    </p>
    <ol>
      <li>Only one set of values is passed in as undefined. The readings
        (zero) after the undefined input is also recorded as undefined.
        I think this is correct behavior, since these are COUNTERs, and
        if a previous value is a NaN, it's not possible to calculate the
        incremental value.<br>
        <br>
      </li>
      <li>I now understand the "spike" - I assumed that any loss of
        connection would mean that the data source was being re-started,
        and that counters would start again from zero. What I must have
        seen when I saw this occur "naturally" must have been a network
        problem, which simply broke the connection, and the counters
        carried on running. I need to try to account for that somehow
        ... hard to know how really. I suppose I can store previous
        values, and when the DS comes back online check to see if the
        value is less than the recorded value, in which case assume a
        restart.<br>
        <br>
      </li>
      <li>I really wanted the stored values to be the same as the input
        values. They obviously are not, which seems odd since the sample
        period is 30 seconds, and I take great care to ensure that the
        values sampled as close to 30 seconds apart as I can, and then
        entered with a time set to a 30 second boundary. I thought this
        should ensure that the stored value would be precisely the
        difference between the current and previous value.<br>
        <br>
      </li>
      <li>Still don't understand why the different plots don't all show
        the "spike".<br>
      </li>
    </ol>
  </body>
</html>