8000 Raise exception when logging to non-observable Enum (#501) (#520) · rwky/client_python@72317c1 · GitHub
[go: up one dir, main page]

Skip to content

Commit 72317c1

Browse files
author
jxpp
authored
Raise exception when logging to non-observable Enum (prometheus#501) (prometheus#520)
Signed-off-by: jxpp <jxpp@chigui.re>
1 parent 56a8a53 commit 72317c1

File tree

2 files changed

+2
-0
lines changed

2 files changed

+2
-0
lines changed

prometheus_client/metrics.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@ def _metric_init(self):
656656

657657
def state(self, state):
658658
"""Set enum metric state."""
659+
self._raise_if_not_observable()
659660
with self._lock:
660661
self._value = self._states.index(state)
661662

tests/test_core.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,7 @@ def test_labels(self):
428428
self.assertEqual(0, self.registry.get_sample_value('el', {'l': 'a', 'el': 'a'}))
429429
self.assertEqual(0, self.registry.get_sample_value('el', {'l': 'a', 'el': 'b'}))
430430
self.assertEqual(1, self.registry.get_sample_value('el', {'l': 'a', 'el': 'c'}))
431+
self.assertRaises(ValueError, self.labels.state, 'a')
431432

432433
def test_overlapping_labels(self):
433434
with pytest.raises(ValueError):

0 commit comments

Comments
 (0)
0