Details

      Description

      Hi,

      I'd like to use the 95th percentile for billing purposes, but since the api or frontend doesn't support getting the value directly I have to calculate it mysql. But no matter how I calculate the value, it is always high than the value displayed in the graph.

      As you can see in the attached graph, the 95th percentile is 5,72Gb/s. But when I calculate (n=95/100*550+1/2) the percentile from the mysql data:

      mysql> select count(*) from history_uint where itemid = 39167;                       
      +----------+                                                                         
      | count(*) |                                                                         
      +----------+                                                                         
      |      550 |                                                                         
      +----------+                                                                         
      1 row in set (0.00 sec)                                                              
      
                                                                                           
      mysql> select * from history_uint where itemid = 39167 order by value desc limit 25,5;                                                                           
      +--------+------------+------------+-----------+                                     
      | itemid | clock      | value      | ns        |                                     
      +--------+------------+------------+-----------+                                     
      |  39167 | 1337971067 | 5959796816 | 567141320 |                                     
      |  39167 | 1337977367 | 5933375808 | 808058345 |                                     
      |  39167 | 1337969567 | 5923229816 | 167354372 |                                     
      |  39167 | 1337978567 | 5916897936 | 794447090 |                                     
      |  39167 | 1337968967 | 5890801240 | 184057883 |                                     
      +--------+------------+------------+-----------+                                     
      5 rows in set (0.05 sec)
      

      You can have a discussion if you should the number up or down, but if I use my calculation to get the value displayed in the graph, it would actually be ~90th percentile:

      mysql> select * from history_uint where itemid = 39167 order by value desc limit 52,5
          -> ;                                                                             
      +--------+------------+------------+-----------+                                     
      | itemid | clock      | value      | ns        |                                     
      +--------+------------+------------+-----------+                                     
      |  39167 | 1338055967 | 5743761168 | 738804166 |                                     
      |  39167 | 1338114768 | 5727882896 | 184340026 |                                     
      |  39167 | 1338062867 | 5723286872 |  31496589 |                                     
      |  39167 | 1338060467 | 5723070512 | 802785945 |                                     
      |  39167 | 1338061667 | 5718211304 | 693634107 |                                     
      +--------+------------+------------+-----------+                                     
      5 rows in set (0.05 sec)
      

      This would create problems for people that display graphs to customers including the 95th percentile, but as in my case, bill on a higher value. I've included a dump of the data for this item.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              attilla Attilla de Groot
            • Votes:
              3 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: