Clean up opentracing configuration options (#5712)
Clean up config settings and dead code.
This is mostly about cleaning up the config format, to bring it into line with our conventions. In particular:
* There should be a blank line after `## Section ##' headings
* There should be a blank line between each config setting
* There should be a `#`-only line between a comment and the setting it describes
* We don't really do the `# #` style commenting-out of whole sections if we can help it
* rename `tracer_enabled` to `enabled`
While we're here, do more config parsing upfront, which makes it easier to use
later on.
Also removes redundant code from LogContextScopeManager.
Also changes the changelog fragment to a `feature` - it's exciting!
1 files changed, 31 insertions, 14 deletions
diff --git a/docs/sample_config.yaml b/docs/sample_config.yaml
index 663ff31622..5b804d16a4 100644
--- a/docs/sample_config.yaml
+++ b/docs/sample_config.yaml
@@ -1409,17 +1409,34 @@ password_config:
## Opentracing ##
-# These settings enable opentracing which implements distributed tracing
-# This allows you to observe the causal chain of events across servers
-# including requests, key lookups etc. across any server running
-# synapse or any other other services which supports opentracing.
-# (specifically those implemented with jaeger)
-
-#opentracing:
-# # Enable / disable tracer
-# tracer_enabled: false
-# # The list of homeservers we wish to expose our current traces to.
-# # The list is a list of regexes which are matched against the
-# # servername of the homeserver
-# homeserver_whitelist:
-# - ".*"
+
+# These settings enable opentracing, which implements distributed tracing.
+# This allows you to observe the causal chains of events across servers
+# including requests, key lookups etc., across any server running
+# synapse or any other other services which supports opentracing
+# (specifically those implemented with Jaeger).
+#
+opentracing:
+ # tracing is disabled by default. Uncomment the following line to enable it.
+ #
+ #enabled: true
+
+ # The list of homeservers we wish to send and receive span contexts and span baggage.
+ #
+ # Though it's mostly safe to send and receive span contexts to and from
+ # untrusted users since span contexts are usually opaque ids it can lead to
+ # two problems, namely:
+ # - If the span context is marked as sampled by the sending homeserver the receiver will
+ # sample it. Therefore two homeservers with wildly disparaging sampling policies
+ # could incur higher sampling counts than intended.
+ # - Span baggage can be arbitrary data. For safety this has been disabled in synapse
+ # but that doesn't prevent another server sending you baggage which will be logged
+ # to opentracing logs.
+ #
+ # This a list of regexes which are matched against the server_name of the
+ # homeserver.
+ #
+ # By defult, it is empty, so no servers are matched.
+ #
+ #homeserver_whitelist:
+ # - ".*"
|