From 6dcb537d626ad12b89ce2b6c9508de7f07eea977 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=AF=E8=B1=AA?= Date: Wed, 12 Jul 2017 14:36:23 +0800 Subject: [PATCH] Assert label values be StringType --- prometheus_client/core.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/prometheus_client/core.py b/prometheus_client/core.py index d715af3e..4f5a3c71 100644 --- a/prometheus_client/core.py +++ b/prometheus_client/core.py @@ -198,6 +198,11 @@ def add_metric(self, labels, value): labels: A list of label values value: The value of the metric. ''' + try: + for label in labels: + assert isinstance(label,''.__class__) or isinstance(label,u''.__class__) + except AssertionError: + raise TypeError("label values must be 'str' or 'unicode' NOT %r"% type(label).__name__) self.samples.append((self.name, dict(zip(self._labelnames, labels)), value))