summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ceilometerclient/tests/v2/test_statistics.py6
-rw-r--r--ceilometerclient/v2/statistics.py14
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=[]):