Bug 1030979

Summary: [horizon] precision of floating point metering stats is discarded unnecessarily
Product: Red Hat OpenStack Reporter: Eoghan Glynn <eglynn>
Component: python-django-horizonAssignee: Eoghan Glynn <eglynn>
Status: CLOSED ERRATA QA Contact: Kevin Whitney <kwhitney>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.0CC: aortega, ddomingo, hateya, jpichon, mrunge, srevivo, yeylon
Target Milestone: rcKeywords: OtherQA, Triaged
Target Release: 4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-django-horizon-2013.2-5.el6ost Doc Type: Bug Fix
Doc Text:
The Metering service aggregates statistical values as floating point values. However, the Dashboard service's admin/Resource Usage panel discards the floating point of these values, effectively rendering them as integers before inserting them into line charts. As a result, the admin/Resource Usage panel charted unnaturally smooth trend lines. This was especially apparent for meters where values varied over a narrow range. With this fix, the Dashboard service will always render floating-point data points correctly. This preserves the precision required for presenting trending information in the admin/Resource Usage panel.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-20 00:36:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Eoghan Glynn 2013-11-15 12:43:44 UTC
Description of problem:

Ceilometer returns aggregated statistical values as float, whereas the 'resource usage' panel narrows to int before inserting these data into the line chart.

For meters defined over a narrow range (such as cpu_util ranging from 0.0% to 100.0%) this has the effect of unnaturally smoothening the graph by discarding precision.


Version-Release number of selected component (if applicable):

python-django-horizon-2013.2-3.el6ost


How reproducible:

100%


Steps to Reproduce:

1. Log into horizon as an admin user

2. Ensure at least one instance has been spun up

3. Navigate to the admin/Resource Usage panel 

4. Select via dropdowns:

     Metric: cpu_util
     Group by: Project
     Value: max
     Period: Last day 

5. Hover over datapoints on the linechart, note that all values are integers

6. Confirm that the actual values have floating point precision:

  $ TENANT_ID=<some-tenant-who-owns-an-instance>
  $ ceilometer statistics -m cpu_util -q "project_id=$TENANT_ID"


Actual results:

All datapoints are renedered as ints.


Expected results:

All datapoints are renedered as floats.


Additional info:

N/A

Comment 2 Eoghan Glynn 2013-11-15 17:03:14 UTC
Fix landed on upstream master:

  https://github.com/openstack/horizon/commit/4b973c2f

backported to upstream stable/havana:

  https://github.com/openstack/horizon/commit/d97bba1d  

and thence proposed to internal rhos-4.0-rhel-6-patches:

  https://code.engineering.redhat.com/gerrit/15810

Comment 3 Eoghan Glynn 2013-11-18 14:15:27 UTC
Fix landed in internal repo.

Comment 7 errata-xmlrpc 2013-12-20 00:36:04 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHEA-2013-1859.html