From b2557cbf42d39fbd8a497a2f859cb45f84539da9 Mon Sep 17 00:00:00 2001
From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Date: Mon, 7 Jun 2021 17:57:49 +0100
Subject: [PATCH] opentracing: use a consistent name for background processes
 (#10135)

... otherwise we tend to get a namespace clash between the bg process and the
functions that it calls.
---
 changelog.d/10135.misc                        | 1 +
 synapse/logging/opentracing.py                | 1 +
 synapse/metrics/background_process_metrics.py | 5 +++--
 3 files changed, 5 insertions(+), 2 deletions(-)
 create mode 100644 changelog.d/10135.misc

diff --git a/changelog.d/10135.misc b/changelog.d/10135.misc
new file mode 100644
index 0000000000..17819cbbcc
--- /dev/null
+++ b/changelog.d/10135.misc
@@ -0,0 +1 @@
+OpenTracing: use a consistent name for background processes.
diff --git a/synapse/logging/opentracing.py b/synapse/logging/opentracing.py
index 26c8ffe780..dd9377340e 100644
--- a/synapse/logging/opentracing.py
+++ b/synapse/logging/opentracing.py
@@ -337,6 +337,7 @@ def ensure_active_span(message, ret=None):
 @contextlib.contextmanager
 def noop_context_manager(*args, **kwargs):
     """Does exactly what it says on the tin"""
+    # TODO: replace with contextlib.nullcontext once we drop support for Python 3.6
     yield
 
 
diff --git a/synapse/metrics/background_process_metrics.py b/synapse/metrics/background_process_metrics.py
index 0d6d643d35..de96ca0821 100644
--- a/synapse/metrics/background_process_metrics.py
+++ b/synapse/metrics/background_process_metrics.py
@@ -204,11 +204,12 @@ def run_as_background_process(desc: str, func, *args, bg_start_span=True, **kwar
 
         with BackgroundProcessLoggingContext(desc, count) as context:
             try:
-                ctx = noop_context_manager()
                 if bg_start_span:
                     ctx = start_active_span(
-                        desc, tags={SynapseTags.REQUEST_ID: str(context)}
+                        f"bgproc.{desc}", tags={SynapseTags.REQUEST_ID: str(context)}
                     )
+                else:
+                    ctx = noop_context_manager()
                 with ctx:
                     return await maybe_awaitable(func(*args, **kwargs))
             except Exception:
-- 
GitLab