Skip to content

Commit

Permalink
Prometheus exporter paint it black
Browse files Browse the repository at this point in the history
  • Loading branch information
kornerc committed Dec 14, 2023
1 parent e556234 commit 170647e
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,9 @@ def _create_info_metric(
) -> InfoMetricFamily:
"""Create an Info Metric Family with list of attributes"""
# sanitize the attribute names according to Prometheus rule
attributes = {self._sanitize(key): value for key, value in attributes.items()}
attributes = {
self._sanitize(key): value for key, value in attributes.items()
}
info = InfoMetricFamily(name, description, labels=attributes)
info.add_metric(labels=list(attributes.keys()), value=attributes)
return info
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,12 @@ def test_target_info_sanitize(self):
metric_reader = PrometheusMetricReader()
provider = MeterProvider(
metric_readers=[metric_reader],
resource=Resource({"system.os": "Unix", "system.name": "Prometheus Target Sanitize"}),
resource=Resource(
{
"system.os": "Unix",
"system.name": "Prometheus Target Sanitize",
}
),
)
meter = provider.get_meter("getting-started", "0.1.2")
counter = meter.create_counter("counter")
Expand All @@ -403,13 +408,16 @@ def test_target_info_sanitize(self):

self.assertEqual(type(prometheus_metric), InfoMetricFamily)
self.assertEqual(prometheus_metric.name, "target")
self.assertEqual(
prometheus_metric.documentation, "Target metadata"
)
self.assertEqual(prometheus_metric.documentation, "Target metadata")
self.assertTrue(len(prometheus_metric.samples) == 1)
self.assertEqual(prometheus_metric.samples[0].value, 1)
self.assertTrue(len(prometheus_metric.samples[0].labels) == 2)
self.assertTrue("system_os" in prometheus_metric.samples[0].labels)
self.assertEqual(prometheus_metric.samples[0].labels["system_os"], "Unix")
self.assertEqual(
prometheus_metric.samples[0].labels["system_os"], "Unix"
)
self.assertTrue("system_name" in prometheus_metric.samples[0].labels)
self.assertEqual(prometheus_metric.samples[0].labels["system_name"], "Prometheus Target Sanitize")
self.assertEqual(
prometheus_metric.samples[0].labels["system_name"],
"Prometheus Target Sanitize",
)

0 comments on commit 170647e

Please sign in to comment.