mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2024-10-01 11:49:51 -04:00
Make Jaeger fully configurable (#5694)
* Allow Jaeger to be configured * Update sample config
This commit is contained in:
parent
4806651744
commit
3641784e8c
1
changelog.d/5694.misc
Normal file
1
changelog.d/5694.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Make Jaeger fully configurable.
|
@ -1430,3 +1430,19 @@ opentracing:
|
|||||||
#
|
#
|
||||||
#homeserver_whitelist:
|
#homeserver_whitelist:
|
||||||
# - ".*"
|
# - ".*"
|
||||||
|
|
||||||
|
# Jaeger can be configured to sample traces at different rates.
|
||||||
|
# All configuration options provided by Jaeger can be set here.
|
||||||
|
# Jaeger's configuration mostly related to trace sampling which
|
||||||
|
# is documented here:
|
||||||
|
# https://www.jaegertracing.io/docs/1.13/sampling/.
|
||||||
|
#
|
||||||
|
#jaeger_config:
|
||||||
|
# sampler:
|
||||||
|
# type: const
|
||||||
|
# param: 1
|
||||||
|
|
||||||
|
# Logging whether spans were started and reported
|
||||||
|
#
|
||||||
|
# logging:
|
||||||
|
# false
|
||||||
|
@ -23,6 +23,12 @@ class TracerConfig(Config):
|
|||||||
opentracing_config = {}
|
opentracing_config = {}
|
||||||
|
|
||||||
self.opentracer_enabled = opentracing_config.get("enabled", False)
|
self.opentracer_enabled = opentracing_config.get("enabled", False)
|
||||||
|
|
||||||
|
self.jaeger_config = opentracing_config.get(
|
||||||
|
"jaeger_config",
|
||||||
|
{"sampler": {"type": "const", "param": 1}, "logging": False},
|
||||||
|
)
|
||||||
|
|
||||||
if not self.opentracer_enabled:
|
if not self.opentracer_enabled:
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -56,4 +62,20 @@ class TracerConfig(Config):
|
|||||||
#
|
#
|
||||||
#homeserver_whitelist:
|
#homeserver_whitelist:
|
||||||
# - ".*"
|
# - ".*"
|
||||||
|
|
||||||
|
# Jaeger can be configured to sample traces at different rates.
|
||||||
|
# All configuration options provided by Jaeger can be set here.
|
||||||
|
# Jaeger's configuration mostly related to trace sampling which
|
||||||
|
# is documented here:
|
||||||
|
# https://www.jaegertracing.io/docs/1.13/sampling/.
|
||||||
|
#
|
||||||
|
#jaeger_config:
|
||||||
|
# sampler:
|
||||||
|
# type: const
|
||||||
|
# param: 1
|
||||||
|
|
||||||
|
# Logging whether spans were started and reported
|
||||||
|
#
|
||||||
|
# logging:
|
||||||
|
# false
|
||||||
"""
|
"""
|
||||||
|
@ -228,13 +228,16 @@ def init_tracer(config):
|
|||||||
# Include the worker name
|
# Include the worker name
|
||||||
name = config.worker_name if config.worker_name else "master"
|
name = config.worker_name if config.worker_name else "master"
|
||||||
|
|
||||||
|
# Pull out the jaeger config if it was given. Otherwise set it to something sensible.
|
||||||
|
# See https://github.com/jaegertracing/jaeger-client-python/blob/master/jaeger_client/config.py
|
||||||
|
|
||||||
set_homeserver_whitelist(config.opentracer_whitelist)
|
set_homeserver_whitelist(config.opentracer_whitelist)
|
||||||
jaeger_config = JaegerConfig(
|
|
||||||
config={"sampler": {"type": "const", "param": 1}, "logging": True},
|
JaegerConfig(
|
||||||
|
config=config.jaeger_config,
|
||||||
service_name="{} {}".format(config.server_name, name),
|
service_name="{} {}".format(config.server_name, name),
|
||||||
scope_manager=LogContextScopeManager(config),
|
scope_manager=LogContextScopeManager(config),
|
||||||
)
|
).initialize_tracer()
|
||||||
jaeger_config.initialize_tracer()
|
|
||||||
|
|
||||||
# Set up tags to be opentracing's tags
|
# Set up tags to be opentracing's tags
|
||||||
global tags
|
global tags
|
||||||
|
Loading…
Reference in New Issue
Block a user