Add 'user_id' label in prometheus publisher

Sometimes we need user_id in prometheus metrics so that we can filter
cpu or memory data by user_id.

Change-Id: I92f2120d707c4288e8a02016e50bb4ce4be32c89
This commit is contained in:
minruigao 2023-12-12 16:20:51 +08:00
parent 7d471b92d5
commit c51dcb56db
2 changed files with 12 additions and 10 deletions

View File

@ -71,8 +71,10 @@ class PrometheusPublisher(http.HttpPublisher):
# data += '%s{resource_id="%s"} %s %d\n' % (
# curated_sname, s.resource_id, s.volume, timestamp_ms)
data += '%s{resource_id="%s", project_id="%s"} %s\n' % (
curated_sname, s.resource_id, s.project_id, s.volume)
data += '%s{resource_id="%s", user_id="%s", project_id="%s"}' \
' %s\n' % (curated_sname, s.resource_id, s.user_id,
s.project_id, s.volume)
self._do_post(data)
@staticmethod

View File

@ -95,12 +95,12 @@ class TestPrometheusPublisher(base.BaseTestCase):
publisher.publish_samples(self.sample_data)
data = """# TYPE alpha counter
alpha{resource_id="%s", project_id="test"} 1
beta{resource_id="%s", project_id="test"} 3
alpha{resource_id="%s", user_id="test", project_id="test"} 1
beta{resource_id="%s", user_id="test", project_id="test"} 3
# TYPE gamma gauge
gamma{resource_id="%s", project_id="test"} 5
gamma{resource_id="%s", user_id="test", project_id="test"} 5
# TYPE delta_epsilon gauge
delta_epsilon{resource_id="%s", project_id="test"} 7
delta_epsilon{resource_id="%s", user_id="test", project_id="test"} 7
""" % (self.resource_id, self.resource_id, self.resource_id, self.resource_id)
expected = [
@ -127,12 +127,12 @@ delta_epsilon{resource_id="%s", project_id="test"} 7
publisher.publish_samples(self.sample_data)
data = """# TYPE alpha counter
alpha{resource_id="%s", project_id="test"} 1
beta{resource_id="%s", project_id="test"} 3
alpha{resource_id="%s", user_id="test", project_id="test"} 1
beta{resource_id="%s", user_id="test", project_id="test"} 3
# TYPE gamma gauge
gamma{resource_id="%s", project_id="test"} 5
gamma{resource_id="%s", user_id="test", project_id="test"} 5
# TYPE delta_epsilon gauge
delta_epsilon{resource_id="%s", project_id="test"} 7
delta_epsilon{resource_id="%s", user_id="test", project_id="test"} 7
""" % (self.resource_id, self.resource_id, self.resource_id, self.resource_id)
expected = [