NETWORK BANDWIDTH TEST is confusing

Issue #400 resolved
Don created an issue

1. What is conceptual difference between upload and total upload? Both specify bytes per time. Maybe it looked great, but, conceptually it's confusing, because, word 'total' does not clarify meaning. There is nothing more total in 'total upload' than in plain 'upload', because, both specify just byte rates. And both rates are supposed to be total per interval, because, 'non-total' upload 1MB/s is assumed to be total 1MB per second, unless you are not documented something about it. (You are not explained in doc how you calculate rates. Are they calculated differently between total and plain rates?)

2. Also, unit is described exactly same (as bytes) for 'upload' and 'total upload':

 IF UPLOAD operator value unit THEN action
 IF TOTAL UPLOAD operator value unit IN LAST number time-unit THEN action
unit is a choice of "B","KB","MB","GB" or long alternatives "byte", "kilobyte", "megabyte", "gigabyte".

While, from example you could guess, that for plain 'upload' it's actually byte-rate (xB/s) and not just xB. This adds to confusion.

       if upload > 500 kB/s then alert
       if total download > 1 GB in last 2 hours then alert

3. Warning: this test requires monit poll time to be at maximum 30 seconds.

Wow! What is this supposed to mean, if I'm using 60 second poll interval (which I'm actually using)? This is so confusing. Why is this limitation at all? This is double confusing.

When I'm set up important test I want to clearly understand what is tested exactly, but documentation confuses instead of clarifying.

Comments (10)

  1. Don reporter

    Btw, things become bit more clear, if we realize that TOTAL UPLOAD cannot be used with time-unit of second(s).

  2. Tildeslash repo owner

    The "UPLOAD" test checks the current upload speed, whereas the the "TOTAL UPLOAD" tests the total number of bytes uploaded.

    If we'll use a car analogy - the "UPLOAD" is similar to the speedometer, whereas the "TOTAL UPLOAD" is similar to traveled distance meter.

    Examples:

        if upload > 1 MB/s then alert  ## note: upload speed test
        if total upload > 1 GB in last day then alert  ## note: upload total test
    

    Will clarify the documentation.

    The poll frequency requirement is related to internal storage of the values and support for charts data - the warning means exactly what it states, you should set the poll frequency to 30s.

  3. Don reporter

    Thanks for correcting docs! But,

    1.

    The "UPLOAD" test checks the current upload speed, whereas the the "TOTAL UPLOAD" tests the total number of bytes uploaded. If we'll use a car analogy - the "UPLOAD" is similar to the speedometer, whereas the "TOTAL UPLOAD" is similar to travelled distance meter.

    Not exactly correct analogy. Travelled distance is total since car is bought or since travelling is begun (both are fixed points). But, for NET BW TEST both checks are set for bytes per time (where time is also 'last' i.e. rolling time), so it's basically data rate in both cases, it's speed and not distance. Difference is only you can use seconds in one test and minute or more in other test, and different wording.

    While test is OK (in case anybody want to measure that), terms are unusual and hard to guess, since network bandwidth is never measured in rolling totals. I would better understand more totalness per day or per month (since beginning of day or since beginning of month). Rolling total is not total as you would guess it.

    2.

    The poll frequency requirement is related to internal storage of the values and support for charts data - the warning means exactly what it states, you should set the poll frequency to 30s.

    I understand that, I am asking -- what are consequences if I have polling time 60 seconds? Test will not work (ignored or it will be unmonitored)? Or, test will produce wrong results? Could you state that in docs?

    3. I like polling time 60 sec, because, it's easier to understand for cycles counts, as it's coincides with one minute. Could you also allow Network Bandwidth Test to work with 60 second polling time, please please?

  4. Don reporter

    Example analogy showing why 'total' is not correct: it's like you are saying - "distance car travelled total is 100 km per hour". Obviously this is not total distance, but completely different measure.

  5. Tildeslash repo owner

    The TOTAL UPLOAD distance analogy is correct in general - the fact that it is rolling for "now - timeframe" doesn't mean it's not similar to distance ... it is just "distance in last X minutes". The test is designed to allow alert if the total data transfer exceeds normal value.

    So car analogy refinement: TOTAL UPLOAD is similar to average speed radar-cameras on motoway: you record the time when the car enters the section (first camera) and time when the car left the section (second camera). Where the UPLOAD test is similar to individual cameras only (measures current speed and the driver can pass the camera within speed limit), the TOTAL UPLOAD measures the time between these two cameras, so it makes sure the driver didn't increased the speed right after the first camera and didn't slow down right before the second camera, as you can compute average speed between these points.

    Of course we can extend the test, so it'll check the data also by wall-clock intervals (like last calendar month), but that is feature request - not bug. Both tests work as designed.

    The polling interval limitation will be removed with new test scheduler, which will be added in monit 6.x

  6. Don reporter

    Thanks for the answer. I never said it was a bug. (I may add, that distance per time, even though is similar to distance and includes distance, is different measure, it's speed. It's not just a quantity, it's a rate (first derivative of quantity with respect to time). I wont insist on changing how you interpret it anymore, though, as long as it's clarified it in the docs and is understandable.)

    But what will happen with current (5.14 for example) bandwidth test when polling interval is 60 sec? I do receive bandwidth alerts - are they wrong?

  7. Tildeslash repo owner

    But what will happen with current (5.14 for example) bandwidth test when polling interval is 60 sec? I do receive bandwidth alerts - are they wrong?

    Please disregard the warning message. It has been removed in this checkin 880ca9a. Unless you use M/Monit, you can use whatever poll cycle you want. If you do use M/Monit, you might want to keep a low (<60 sec) poll cycle to prevent gaps in charts. One thing to keep in mind though is that a longer poll cycle means you risk missing out on spikes in metrics collected and checked by Monit.

  8. Log in to comment