diff options
-rw-r--r-- | ceilometerclient/tests/v2/test_statistics.py | 6 | ||||
-rw-r--r-- | ceilometerclient/v2/statistics.py | 14 |
2 files changed, 13 insertions, 7 deletions
diff --git a/ceilometerclient/tests/v2/test_statistics.py b/ceilometerclient/tests/v2/test_statistics.py index 68a2672..dde4dd6 100644 --- a/ceilometerclient/tests/v2/test_statistics.py +++ b/ceilometerclient/tests/v2/test_statistics.py @@ -182,12 +182,12 @@ class StatisticsManagerTest(utils.BaseTestCase): def test_list_by_meter_name_with_aggregates(self): aggregates = [ { + 'func': 'count', + }, + { 'func': 'cardinality', 'param': 'resource_id', }, - { - 'func': 'count', - } ] stats = list(self.mgr.list(meter_name='instance', aggregates=aggregates)) diff --git a/ceilometerclient/v2/statistics.py b/ceilometerclient/v2/statistics.py index 689992c..d0b56c9 100644 --- a/ceilometerclient/v2/statistics.py +++ b/ceilometerclient/v2/statistics.py @@ -26,13 +26,19 @@ class StatisticsManager(base.Manager): def _build_aggregates(self, aggregates): url_aggregates = [] for aggregate in aggregates: - url_aggregates.append( - "aggregate.func=%(func)s" % aggregate - ) if 'param' in aggregate: - url_aggregates.append( + url_aggregates.insert( + 0, "aggregate.param=%(param)s" % aggregate ) + url_aggregates.insert( + 0, + "aggregate.func=%(func)s" % aggregate + ) + else: + url_aggregates.append( + "aggregate.func=%(func)s" % aggregate + ) return url_aggregates def list(self, meter_name, q=None, period=None, groupby=[], aggregates=[]): |