diff --git a/prometheus_client/core.py b/prometheus_client/core.py index adc012bb..b770f55b 100644 --- a/prometheus_client/core.py +++ b/prometheus_client/core.py @@ -534,9 +534,9 @@ def init(name, documentation, labelnames=(), namespace='', subsystem='', registr raise ValueError('Reserved label metric name: ' + l) if l in cls._reserved_labelnames: raise ValueError('Reserved label metric name: ' + l) - collector = _LabelWrapper(cls, name, labelnames, **kwargs) + collector = _LabelWrapper(cls, full_name, labelnames, **kwargs) else: - collector = cls(name, (), (), **kwargs) + collector = cls(full_name, (), (), **kwargs) if not _METRIC_NAME_RE.match(full_name): raise ValueError('Invalid metric name: ' + full_name) diff --git a/tests/test_multiprocess.py b/tests/test_multiprocess.py index f1dcee9d..c05e4576 100644 --- a/tests/test_multiprocess.py +++ b/tests/test_multiprocess.py @@ -110,6 +110,12 @@ def test_gauge_livesum(self): mark_process_dead(123, os.environ['prometheus_multiproc_dir']) self.assertEqual(2, self.registry.get_sample_value('g')) + def test_namespace_subsystem(self): + c1 = Counter('c', 'help', registry=None, namespace='ns', subsystem='ss') + c1.inc(1) + self.assertEqual(1, self.registry.get_sample_value('ns_ss_c')) + + class TestMmapedDict(unittest.TestCase): def setUp(self): fd, self.tempfile = tempfile.mkstemp()