jaeger: introduce process tags' option for tracer
Closes-bug: 2006611 Signed-off-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@industrialdiscipline.com> Change-Id: I938b52d7785d421015b888c9d70a5b0bf032772f
This commit is contained in:
parent
b7468756bc
commit
91d7c35f1c
|
@ -49,7 +49,8 @@ class Jaeger(base.Driver):
|
|||
"local_agent": {
|
||||
"reporting_host": parsed_url.hostname,
|
||||
"reporting_port": parsed_url.port,
|
||||
}
|
||||
},
|
||||
"tags": conf.profiler_jaeger.process_tags
|
||||
}
|
||||
|
||||
# Initialize tracer for each profiler
|
||||
|
|
|
@ -180,8 +180,16 @@ _service_name_prefix = cfg.StrOpt(
|
|||
Set service name prefix to Jaeger service name.
|
||||
""")
|
||||
|
||||
_process_tags = cfg.DictOpt(
|
||||
"process_tags",
|
||||
default={},
|
||||
help="""
|
||||
Set process tracer tags.
|
||||
""")
|
||||
|
||||
_JAEGER_OPTS = [
|
||||
_service_name_prefix
|
||||
_service_name_prefix,
|
||||
_process_tags
|
||||
]
|
||||
|
||||
cfg.CONF.register_opts(_JAEGER_OPTS, group=_jaegerprofiler_opt_group)
|
||||
|
|
|
@ -30,6 +30,8 @@ class JaegerTestCase(test.TestCase):
|
|||
super(JaegerTestCase, self).setUp()
|
||||
|
||||
opts.set_defaults(cfg.CONF)
|
||||
cfg.CONF.set_default(
|
||||
"process_tags", "k1:v1,k2:v2", "profiler_jaeger")
|
||||
|
||||
self.payload_start = {
|
||||
"name": "api-start",
|
||||
|
@ -60,7 +62,8 @@ class JaegerTestCase(test.TestCase):
|
|||
# see: jaeger_client/config.py#L374
|
||||
Config._initialized = False
|
||||
self.driver = jaeger.Jaeger("jaeger://127.0.0.1:6831",
|
||||
project="nova", service="api")
|
||||
project="nova", service="api",
|
||||
conf=cfg.CONF)
|
||||
|
||||
@mock.patch("osprofiler._utils.shorten_id")
|
||||
def test_notify_start(self, mock_shorten_id):
|
||||
|
@ -97,3 +100,11 @@ class JaegerTestCase(test.TestCase):
|
|||
"service_name_prefix", "prx1", "profiler_jaeger")
|
||||
self.assertEqual("prx1-pr1-svc1", self.driver._get_service_name(
|
||||
cfg.CONF, "pr1", "svc1"))
|
||||
|
||||
def test_process_tags(self):
|
||||
tags = self.driver.tracer.tags
|
||||
# Let's remove variable tags generated by Jaeger client
|
||||
del tags['hostname']
|
||||
del tags['jaeger.version']
|
||||
del tags['ip']
|
||||
self.assertEqual({'k1': 'v1', 'k2': 'v2'}, tags)
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
features:
|
||||
- |
|
||||
Add ability to set tracer process tags to Jaeger via a
|
||||
configuration option introduced, `profiler_jaeger/process_tags`.
|
Loading…
Reference in New Issue