From d8be7d493d7a91a55ee37a7931157d4557a508fb Mon Sep 17 00:00:00 2001
From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Date: Fri, 4 Jun 2021 09:25:33 +0100
Subject: [PATCH] Enable Prometheus metrics for the jaeger client library
 (#10112)

---
 changelog.d/10112.misc         | 1 +
 mypy.ini                       | 2 +-
 synapse/logging/opentracing.py | 3 +++
 3 files changed, 5 insertions(+), 1 deletion(-)
 create mode 100644 changelog.d/10112.misc

diff --git a/changelog.d/10112.misc b/changelog.d/10112.misc
new file mode 100644
index 0000000000..40af09760c
--- /dev/null
+++ b/changelog.d/10112.misc
@@ -0,0 +1 @@
+Enable Prometheus metrics for the jaeger client library.
diff --git a/mypy.ini b/mypy.ini
index 062872020e..8ba1b96311 100644
--- a/mypy.ini
+++ b/mypy.ini
@@ -130,7 +130,7 @@ ignore_missing_imports = True
 [mypy-canonicaljson]
 ignore_missing_imports = True
 
-[mypy-jaeger_client]
+[mypy-jaeger_client.*]
 ignore_missing_imports = True
 
 [mypy-jsonschema]
diff --git a/synapse/logging/opentracing.py b/synapse/logging/opentracing.py
index 68f0c00151..26c8ffe780 100644
--- a/synapse/logging/opentracing.py
+++ b/synapse/logging/opentracing.py
@@ -362,10 +362,13 @@ def init_tracer(hs: "HomeServer"):
 
     set_homeserver_whitelist(hs.config.opentracer_whitelist)
 
+    from jaeger_client.metrics.prometheus import PrometheusMetricsFactory
+
     config = JaegerConfig(
         config=hs.config.jaeger_config,
         service_name="{} {}".format(hs.config.server_name, hs.get_instance_name()),
         scope_manager=LogContextScopeManager(hs.config),
+        metrics_factory=PrometheusMetricsFactory(),
     )
 
     # If we have the rust jaeger reporter available let's use that.
-- 
GitLab