diff --git a/greenwave/monitor.py b/greenwave/monitor.py index 3696b6ad..51ba6ca1 100644 --- a/greenwave/monitor.py +++ b/greenwave/monitor.py @@ -44,7 +44,9 @@ def inc(self): client.incr(str(self)) def labels(self, **labeldict): - return Counter(self.name, labeldict=labeldict) + new_labeldict = dict(self.labeldict) + new_labeldict.update(labeldict) + return Counter(self.name, labeldict=new_labeldict) def count_exceptions(self): """Returns function decorator to increase counter on exception.""" diff --git a/greenwave/tests/test_monitor.py b/greenwave/tests/test_monitor.py index f48461b6..c65adc6f 100644 --- a/greenwave/tests/test_monitor.py +++ b/greenwave/tests/test_monitor.py @@ -13,6 +13,9 @@ def test_counter_to_str_with_labels(): counter = Counter('total_decisions').labels(handler='test') assert str(counter) == 'total_decisions[handler=test]' + counter2 = counter.labels(decision_context='context') + assert str(counter2) == 'total_decisions[handler=test,decision_context=context]' + def test_counter_no_host_set(monkeypatch): with patch('greenwave.monitor.StatsClient') as client: