From 9f85f7010d2e128e67dae54da470c71b4e7b1701 Mon Sep 17 00:00:00 2001 From: liu-sheng Date: Tue, 14 Jul 2015 15:40:09 +0800 Subject: [PATCH] Sort metric data before grouping and processing In gnocchi dispatcher, metric data will be grouped by resource_id and counter_name before processing. But the inputted data is an unordered list. It is better being sorted by resource_id and counter_name before processing. Change-Id: I8f493f720c479fd84b1a554ee5196115b992ecd1 --- ceilometer/dispatcher/gnocchi.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ceilometer/dispatcher/gnocchi.py b/ceilometer/dispatcher/gnocchi.py index ab34d062..3aacf020 100644 --- a/ceilometer/dispatcher/gnocchi.py +++ b/ceilometer/dispatcher/gnocchi.py @@ -212,6 +212,7 @@ class GnocchiDispatcher(dispatcher.Base): # contains a lot of different kind of samples # So perhaps the next step will be to pool the received data from # message bus. + data.sort(key=lambda s: (s['resource_id'], s['counter_name'])) resource_grouped_samples = itertools.groupby( data, key=operator.itemgetter('resource_id'))