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

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

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