summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools/python/python-ceilometer
diff options
context:
space:
mode:
authorVu Tran <vu.tran@windriver.com>2014-05-14 16:09:41 -0400
committerBruce Ashfield <bruce.ashfield@windriver.com>2014-05-21 14:35:25 -0400
commit2384dc5b4a3912cb6b4563c2c435a5287ad9f75c (patch)
tree1ab2d8e5e73ba51ac1d5b77f374be875535c719d /meta-openstack/recipes-devtools/python/python-ceilometer
parentdc29257c22c86ce730420f82a5190b84cfdd0004 (diff)
downloadmeta-cloud-services-2384dc5b4a3912cb6b4563c2c435a5287ad9f75c.tar.gz
ceilometer: need to filter meter-id when doing sql querying
Currently statistic values for all the meters are the same, for example, 2 commands: $ ceilometer statistics -m cpu_util $ ceilometer statistics -m cpu return the same statistic values, and this is incorrect. It needs to query Ceilometer database for samples for the correct meter-id to calculate statistic. Signed-off-by: Vu Tran <vu.tran@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-devtools/python/python-ceilometer')
-rw-r--r--meta-openstack/recipes-devtools/python/python-ceilometer/0001-sqlalchemy-fix-grouping-for-postgresql-databases.patch17
1 files changed, 9 insertions, 8 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-ceilometer/0001-sqlalchemy-fix-grouping-for-postgresql-databases.patch b/meta-openstack/recipes-devtools/python/python-ceilometer/0001-sqlalchemy-fix-grouping-for-postgresql-databases.patch
index b2417d7..4472ad0 100644
--- a/meta-openstack/recipes-devtools/python/python-ceilometer/0001-sqlalchemy-fix-grouping-for-postgresql-databases.patch
+++ b/meta-openstack/recipes-devtools/python/python-ceilometer/0001-sqlalchemy-fix-grouping-for-postgresql-databases.patch
@@ -18,20 +18,21 @@ diff --git a/ceilometer/storage/impl_sqlalchemy.py b/ceilometer/storage/impl_sql
18index 0e5df7008c5e..697f51136c37 100644 18index 0e5df7008c5e..697f51136c37 100644
19--- a/ceilometer/storage/impl_sqlalchemy.py 19--- a/ceilometer/storage/impl_sqlalchemy.py
20+++ b/ceilometer/storage/impl_sqlalchemy.py 20+++ b/ceilometer/storage/impl_sqlalchemy.py
21@@ -674,8 +674,14 @@ class Connection(base.Connection): 21@@ -674,8 +674,15 @@ class Connection(base.Connection):
22 group_attributes = [getattr(models.Sample, g) for g in groupby] 22 group_attributes = [getattr(models.Sample, g) for g in groupby]
23 select.extend(group_attributes) 23 select.extend(group_attributes)
24 24
25- query = session.query(*select).filter( 25- query = session.query(*select).filter(
26- models.Meter.id == models.Sample.meter_id) 26- models.Meter.id == models.Sample.meter_id)
27+ # Group by Meter.unit for postgresql queries 27+ # Group by Meter.unit for postgresql queries
28+ # In mysql this doesn't change anything because one meter has one unit 28+ # In mysql this doesn't change anything because one meter has one unit
29+ 29+
30+ # mysql: 30+ # mysql:
31+ # query = session.query(*select).filter( 31+ # query = session.query(*select).filter(
32+ # models.Meter.id == models.Sample.meter_id) 32+ # models.Meter.id == models.Sample.meter_id)
33+ # postgres: 33+ # postgres:
34+ query = session.query(*select).group_by(models.Meter.unit) 34+ query = session.query(*select).filter(
35+ models.Meter.id == models.Sample.meter_id).group_by(models.Meter.unit)
35 36
36 if groupby: 37 if groupby:
37 query = query.group_by(*group_attributes) 38 query = query.group_by(*group_attributes)