Graph in Status / Monitoring stop working after selecting Time period: 1week

  • Title pretty much describes the issue. I have searched but could not find any reference to this issue.

    In more detail, when I select Category = Quality (any graph) and  Time Period = 1 week, the graph is displayed without any axis or labels (just the graph). From that point on, updating the graph (with or without changing any options and/or category) fails completely - i.e. nothing is drawn (see attached screenshots). I have tried this with Chrome & IE11 - both fail with an "Uncaught TypeError: Cannot read property 'length' of undefined" in d3.min.js (if I use Chrome's pretty-print to format the file, the error is on line 893). Refreshing the page (not the graph) recovers and graphs are displayed again.

    pfSense version 2.3.2, running on Hyper-V 2012

  • Seems to work fine here.

    pfSense version 2.3.2 32-bit, running on bare metal.
    pfSense version 2.3.3 32-bit, running on VirtualBox VM.
    pfSense version 2.4.0 64-bit, running on VirtualBox VM.

  • I did some more tests and some debugging.

    The issue also happens with other graph categories / time period combinations. I haven't managed to figure out the exact relationship. The fact that it works for you leads me to think this is related to the actual data.

    I also did some debugging and as it turns out the error is caused by an incorrect "step" value returned in the XHR call. This is the value selected in "Resolution" field and it should be one of 60 (1 min), 300 (5 min), 3600 (1 hour) or 86400 (1 day). However looking at the XHR response, the step value is sometimes 43200 when 1 day is selected in Resolution. See the XHR request and response in attached screenshots. Note that "resolution" in request is 86400, yet in response "step" is 43200, so the issue must be with rrd_fetch_json.php

  • Looking at rrd_fetch_json.php, I notice that "step" is taken from the rrd data file itself. So it could be something with the data or at least the data collection process.