mirror of
https://github.com/element-hq/synapse
synced 2024-09-17 20:05:10 +00:00
Export to Jaeger (things are showing up)
This commit is contained in:
parent
6406fd5d84
commit
242817213e
6 changed files with 250 additions and 48 deletions
180
poetry.lock
generated
180
poetry.lock
generated
|
@ -319,6 +319,34 @@ python-versions = ">=3.7"
|
|||
gitdb = ">=4.0.1,<5"
|
||||
typing-extensions = {version = ">=3.7.4.3", markers = "python_version < \"3.8\""}
|
||||
|
||||
[[package]]
|
||||
name = "googleapis-common-protos"
|
||||
version = "1.56.4"
|
||||
description = "Common protobufs used in Google APIs"
|
||||
category = "main"
|
||||
optional = true
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.dependencies]
|
||||
protobuf = ">=3.15.0,<5.0.0dev"
|
||||
|
||||
[package.extras]
|
||||
grpc = ["grpcio (>=1.0.0,<2.0.0dev)"]
|
||||
|
||||
[[package]]
|
||||
name = "grpcio"
|
||||
version = "1.47.0"
|
||||
description = "HTTP/2-based RPC framework"
|
||||
category = "main"
|
||||
optional = true
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.dependencies]
|
||||
six = ">=1.5.2"
|
||||
|
||||
[package.extras]
|
||||
protobuf = ["grpcio-tools (>=1.47.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "hiredis"
|
||||
version = "2.0.0"
|
||||
|
@ -615,6 +643,45 @@ python-versions = ">=3.6"
|
|||
[package.dependencies]
|
||||
Deprecated = ">=1.2.6"
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry-exporter-jaeger"
|
||||
version = "1.11.1"
|
||||
description = "Jaeger Exporters for OpenTelemetry"
|
||||
category = "main"
|
||||
optional = true
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.dependencies]
|
||||
opentelemetry-exporter-jaeger-proto-grpc = "1.11.1"
|
||||
opentelemetry-exporter-jaeger-thrift = "1.11.1"
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry-exporter-jaeger-proto-grpc"
|
||||
version = "1.11.1"
|
||||
description = "Jaeger Protobuf Exporter for OpenTelemetry"
|
||||
category = "main"
|
||||
optional = true
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.dependencies]
|
||||
googleapis-common-protos = ">=1.52,<2.0"
|
||||
grpcio = ">=1.0.0,<2.0.0"
|
||||
opentelemetry-api = ">=1.3,<2.0"
|
||||
opentelemetry-sdk = ">=1.11,<2.0"
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry-exporter-jaeger-thrift"
|
||||
version = "1.11.1"
|
||||
description = "Jaeger Thrift Exporter for OpenTelemetry"
|
||||
category = "main"
|
||||
optional = true
|
||||
python-versions = ">=3.6"
|
||||
|
||||
[package.dependencies]
|
||||
opentelemetry-api = ">=1.3,<2.0"
|
||||
opentelemetry-sdk = ">=1.11,<2.0"
|
||||
thrift = ">=0.10.0"
|
||||
|
||||
[[package]]
|
||||
name = "opentelemetry-sdk"
|
||||
version = "1.11.1"
|
||||
|
@ -716,6 +783,14 @@ python-versions = ">=3.6"
|
|||
[package.extras]
|
||||
twisted = ["twisted"]
|
||||
|
||||
[[package]]
|
||||
name = "protobuf"
|
||||
version = "4.21.4"
|
||||
description = ""
|
||||
category = "main"
|
||||
optional = true
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[[package]]
|
||||
name = "psycopg2"
|
||||
version = "2.9.3"
|
||||
|
@ -1132,6 +1207,22 @@ category = "main"
|
|||
optional = true
|
||||
python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "thrift"
|
||||
version = "0.16.0"
|
||||
description = "Python bindings for the Apache Thrift RPC system"
|
||||
category = "main"
|
||||
optional = true
|
||||
python-versions = "*"
|
||||
|
||||
[package.dependencies]
|
||||
six = ">=1.7.2"
|
||||
|
||||
[package.extras]
|
||||
all = ["tornado (>=4.0)", "twisted"]
|
||||
tornado = ["tornado (>=4.0)"]
|
||||
twisted = ["twisted"]
|
||||
|
||||
[[package]]
|
||||
name = "tomli"
|
||||
version = "1.2.3"
|
||||
|
@ -1507,12 +1598,12 @@ docs = ["sphinx", "repoze.sphinx.autointerface"]
|
|||
test = ["zope.i18nmessageid", "zope.testing", "zope.testrunner"]
|
||||
|
||||
[extras]
|
||||
all = ["matrix-synapse-ldap3", "psycopg2", "psycopg2cffi", "psycopg2cffi-compat", "pysaml2", "authlib", "lxml", "sentry-sdk", "opentelemetry-api", "opentelemetry-sdk", "txredisapi", "hiredis", "Pympler"]
|
||||
all = ["matrix-synapse-ldap3", "psycopg2", "psycopg2cffi", "psycopg2cffi-compat", "pysaml2", "authlib", "lxml", "sentry-sdk", "opentelemetry-api", "opentelemetry-sdk", "opentelemetry-exporter-jaeger", "txredisapi", "hiredis", "Pympler"]
|
||||
cache_memory = ["Pympler"]
|
||||
jwt = ["authlib"]
|
||||
matrix-synapse-ldap3 = ["matrix-synapse-ldap3"]
|
||||
oidc = ["authlib"]
|
||||
opentelemetry = ["opentelemetry-api", "opentelemetry-sdk"]
|
||||
opentelemetry = ["opentelemetry-api", "opentelemetry-sdk", "opentelemetry-exporter-jaeger"]
|
||||
postgres = ["psycopg2", "psycopg2cffi", "psycopg2cffi-compat"]
|
||||
redis = ["txredisapi", "hiredis"]
|
||||
saml2 = ["pysaml2"]
|
||||
|
@ -1524,7 +1615,7 @@ url_preview = ["lxml"]
|
|||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = "^3.7.1"
|
||||
content-hash = "c41657e7ab748ab5cf7cc149e78cde43e35588d2d1d47a94f161085c0c5d4ba5"
|
||||
content-hash = "06a9f9259d4aa587a48242adf571bbd1132eda149226c1d2819a8b7a05c7ce5c"
|
||||
|
||||
[metadata.files]
|
||||
attrs = [
|
||||
|
@ -1740,6 +1831,58 @@ gitpython = [
|
|||
{file = "GitPython-3.1.27-py3-none-any.whl", hash = "sha256:5b68b000463593e05ff2b261acff0ff0972df8ab1b70d3cdbd41b546c8b8fc3d"},
|
||||
{file = "GitPython-3.1.27.tar.gz", hash = "sha256:1c885ce809e8ba2d88a29befeb385fcea06338d3640712b59ca623c220bb5704"},
|
||||
]
|
||||
googleapis-common-protos = [
|
||||
{file = "googleapis-common-protos-1.56.4.tar.gz", hash = "sha256:c25873c47279387cfdcbdafa36149887901d36202cb645a0e4f29686bf6e4417"},
|
||||
{file = "googleapis_common_protos-1.56.4-py2.py3-none-any.whl", hash = "sha256:8eb2cbc91b69feaf23e32452a7ae60e791e09967d81d4fcc7fc388182d1bd394"},
|
||||
]
|
||||
grpcio = [
|
||||
{file = "grpcio-1.47.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:544da3458d1d249bb8aed5504adf3e194a931e212017934bf7bfa774dad37fb3"},
|
||||
{file = "grpcio-1.47.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:b88bec3f94a16411a1e0336eb69f335f58229e45d4082b12d8e554cedea97586"},
|
||||
{file = "grpcio-1.47.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:06c0739dff9e723bca28ec22301f3711d85c2e652d1c8ae938aa0f7ad632ef9a"},
|
||||
{file = "grpcio-1.47.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4508e8abd67ebcccd0fbde6e2b1917ba5d153f3f20c1de385abd8722545e05f"},
|
||||
{file = "grpcio-1.47.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9723784cf264697024778dcf4b7542c851fe14b14681d6268fb984a53f76df1"},
|
||||
{file = "grpcio-1.47.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1bb9afa85e797a646bfcd785309e869e80a375c959b11a17c9680abebacc0cb0"},
|
||||
{file = "grpcio-1.47.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4d9ad7122f60157454f74a850d1337ba135146cef6fb7956d78c7194d52db0fe"},
|
||||
{file = "grpcio-1.47.0-cp310-cp310-win32.whl", hash = "sha256:0425b5577be202d0a4024536bbccb1b052c47e0766096e6c3a5789ddfd5f400d"},
|
||||
{file = "grpcio-1.47.0-cp310-cp310-win_amd64.whl", hash = "sha256:d0d481ff55ea6cc49dab2c8276597bd4f1a84a8745fedb4bc23e12e9fb9d0e45"},
|
||||
{file = "grpcio-1.47.0-cp36-cp36m-linux_armv7l.whl", hash = "sha256:5f57b9b61c22537623a5577bf5f2f970dc4e50fac5391090114c6eb3ab5a129f"},
|
||||
{file = "grpcio-1.47.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:14d2bc74218986e5edf5527e870b0969d63601911994ebf0dce96288548cf0ef"},
|
||||
{file = "grpcio-1.47.0-cp36-cp36m-manylinux_2_17_aarch64.whl", hash = "sha256:c79996ae64dc4d8730782dff0d1daacc8ce7d4c2ba9cef83b6f469f73c0655ce"},
|
||||
{file = "grpcio-1.47.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a24b50810aae90c74bbd901c3f175b9645802d2fbf03eadaf418ddee4c26668"},
|
||||
{file = "grpcio-1.47.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55782a31ec539f15b34ee56f19131fe1430f38a4be022eb30c85e0b0dcf57f11"},
|
||||
{file = "grpcio-1.47.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:35dfd981b03a3ec842671d1694fe437ee9f7b9e6a02792157a2793b0eba4f478"},
|
||||
{file = "grpcio-1.47.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:664a270d3eac68183ad049665b0f4d0262ec387d5c08c0108dbcfe5b351a8b4d"},
|
||||
{file = "grpcio-1.47.0-cp36-cp36m-win32.whl", hash = "sha256:9298d6f2a81f132f72a7e79cbc90a511fffacc75045c2b10050bb87b86c8353d"},
|
||||
{file = "grpcio-1.47.0-cp36-cp36m-win_amd64.whl", hash = "sha256:815089435d0f113719eabf105832e4c4fa1726b39ae3fb2ca7861752b0f70570"},
|
||||
{file = "grpcio-1.47.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:7191ffc8bcf8a630c547287ab103e1fdf72b2e0c119e634d8a36055c1d988ad0"},
|
||||
{file = "grpcio-1.47.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:1ec63bbd09586e5cda1bdc832ae6975d2526d04433a764a1cc866caa399e50d4"},
|
||||
{file = "grpcio-1.47.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:08307dc5a6ac4da03146d6c00f62319e0665b01c6ffe805cfcaa955c17253f9c"},
|
||||
{file = "grpcio-1.47.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:668350ea02af018ca945bd629754d47126b366d981ab88e0369b53bc781ffb14"},
|
||||
{file = "grpcio-1.47.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64e097dd08bb408afeeaee9a56f75311c9ca5b27b8b0278279dc8eef85fa1051"},
|
||||
{file = "grpcio-1.47.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0d8a7f3eb6f290189f48223a5f4464c99619a9de34200ce80d5092fb268323d2"},
|
||||
{file = "grpcio-1.47.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f89de64d9eb3478b188859214752db50c91a749479011abd99e248550371375f"},
|
||||
{file = "grpcio-1.47.0-cp37-cp37m-win32.whl", hash = "sha256:67cd275a651532d28620eef677b97164a5438c5afcfd44b15e8992afa9eb598c"},
|
||||
{file = "grpcio-1.47.0-cp37-cp37m-win_amd64.whl", hash = "sha256:f515782b168a4ec6ea241add845ccfebe187fc7b09adf892b3ad9e2592c60af1"},
|
||||
{file = "grpcio-1.47.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:91cd292373e85a52c897fa5b4768c895e20a7dc3423449c64f0f96388dd1812e"},
|
||||
{file = "grpcio-1.47.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:a278d02272214ec33f046864a24b5f5aab7f60f855de38c525e5b4ef61ec5b48"},
|
||||
{file = "grpcio-1.47.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:bfdb8af4801d1c31a18d54b37f4e49bb268d1f485ecf47f70e78d56e04ff37a7"},
|
||||
{file = "grpcio-1.47.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e63e0619a5627edb7a5eb3e9568b9f97e604856ba228cc1d8a9f83ce3d0466e"},
|
||||
{file = "grpcio-1.47.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc34d182c4fd64b6ff8304a606b95e814e4f8ed4b245b6d6cc9607690e3ef201"},
|
||||
{file = "grpcio-1.47.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a6b2432ac2353c80a56d9015dfc5c4af60245c719628d4193ecd75ddf9cd248c"},
|
||||
{file = "grpcio-1.47.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fcd5d932842df503eb0bf60f9cc35e6fe732b51f499e78b45234e0be41b0018d"},
|
||||
{file = "grpcio-1.47.0-cp38-cp38-win32.whl", hash = "sha256:43857d06b2473b640467467f8f553319b5e819e54be14c86324dad83a0547818"},
|
||||
{file = "grpcio-1.47.0-cp38-cp38-win_amd64.whl", hash = "sha256:96cff5a2081db82fb710db6a19dd8f904bdebb927727aaf4d9c427984b79a4c1"},
|
||||
{file = "grpcio-1.47.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:68b5e47fcca8481f36ef444842801928e60e30a5b3852c9f4a95f2582d10dcb2"},
|
||||
{file = "grpcio-1.47.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0cd44d78f302ff67f11a8c49b786c7ccbed2cfef6f4fd7bb0c3dc9255415f8f7"},
|
||||
{file = "grpcio-1.47.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:4706c78b0c183dca815bbb4ef3e8dd2136ccc8d1699f62c585e75e211ad388f6"},
|
||||
{file = "grpcio-1.47.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:324e363bad4d89a8ec7124013371f268d43afd0ac0fdeec1b21c1a101eb7dafb"},
|
||||
{file = "grpcio-1.47.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b821403907e865e8377af3eee62f0cb233ea2369ba0fcdce9505ca5bfaf4eeb3"},
|
||||
{file = "grpcio-1.47.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2061dbe41e43b0a5e1fd423e8a7fb3a0cf11d69ce22d0fac21f1a8c704640b12"},
|
||||
{file = "grpcio-1.47.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8dbef03853a0dbe457417c5469cb0f9d5bf47401b49d50c7dad3c495663b699b"},
|
||||
{file = "grpcio-1.47.0-cp39-cp39-win32.whl", hash = "sha256:090dfa19f41efcbe760ae59b34da4304d4be9a59960c9682b7eab7e0b6748a79"},
|
||||
{file = "grpcio-1.47.0-cp39-cp39-win_amd64.whl", hash = "sha256:55cd8b13c5ef22003889f599b8f2930836c6f71cd7cf3fc0196633813dc4f928"},
|
||||
{file = "grpcio-1.47.0.tar.gz", hash = "sha256:5dbba95fab9b35957b4977b8904fc1fa56b302f9051eff4d7716ebb0c087f801"},
|
||||
]
|
||||
hiredis = [
|
||||
{file = "hiredis-2.0.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b4c8b0bc5841e578d5fb32a16e0c305359b987b850a06964bd5a62739d688048"},
|
||||
{file = "hiredis-2.0.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0adea425b764a08270820531ec2218d0508f8ae15a448568109ffcae050fee26"},
|
||||
|
@ -2097,6 +2240,18 @@ opentelemetry-api = [
|
|||
{file = "opentelemetry-api-1.11.1.tar.gz", hash = "sha256:80abf335432930fd7c0635a71f79fda09e9c760ced3430c080aba4155e659c46"},
|
||||
{file = "opentelemetry_api-1.11.1-py3-none-any.whl", hash = "sha256:4041e7dbe6380e51555a2e2c50a690a6f3bc3b1fee2954e75bc61348b8840c1a"},
|
||||
]
|
||||
opentelemetry-exporter-jaeger = [
|
||||
{file = "opentelemetry-exporter-jaeger-1.11.1.tar.gz", hash = "sha256:eaba2302839ba5579a10bc49eb585fdc59684e5edf53a1563e228d2a73c2dab7"},
|
||||
{file = "opentelemetry_exporter_jaeger-1.11.1-py3-none-any.whl", hash = "sha256:d8bffdf0c0a588000ad227feaa5dfbc15becdb428058903d6cc4719e5368048e"},
|
||||
]
|
||||
opentelemetry-exporter-jaeger-proto-grpc = [
|
||||
{file = "opentelemetry-exporter-jaeger-proto-grpc-1.11.1.tar.gz", hash = "sha256:e4ee0ede2cf5e45044ad97aa47d0114847143ffa707fffec32b368c76117832f"},
|
||||
{file = "opentelemetry_exporter_jaeger_proto_grpc-1.11.1-py3-none-any.whl", hash = "sha256:0851c4024285604fedeae01e840a6cb52f5ca15dbe2566eca1e61106b0c0ff99"},
|
||||
]
|
||||
opentelemetry-exporter-jaeger-thrift = [
|
||||
{file = "opentelemetry-exporter-jaeger-thrift-1.11.1.tar.gz", hash = "sha256:9171c23b6ecf3fb89d326008826e85c8192a4ffa0d172a7a5931f2825b405d20"},
|
||||
{file = "opentelemetry_exporter_jaeger_thrift-1.11.1-py3-none-any.whl", hash = "sha256:431bc3e9020cd42bd785979f9394ab492967af5b6adad24763291dcb95cea2a2"},
|
||||
]
|
||||
opentelemetry-sdk = [
|
||||
{file = "opentelemetry-sdk-1.11.1.tar.gz", hash = "sha256:43e0e9ffc22aa3aa61bcbe4c95704fee608d7b0f961d7ff01bc88caf5e8cb9a8"},
|
||||
{file = "opentelemetry_sdk-1.11.1-py3-none-any.whl", hash = "sha256:435545512280d988f8555ba0a42383ec2cd95623a3062f278c19eb084b265d30"},
|
||||
|
@ -2170,6 +2325,22 @@ prometheus-client = [
|
|||
{file = "prometheus_client-0.14.1-py3-none-any.whl", hash = "sha256:522fded625282822a89e2773452f42df14b5a8e84a86433e3f8a189c1d54dc01"},
|
||||
{file = "prometheus_client-0.14.1.tar.gz", hash = "sha256:5459c427624961076277fdc6dc50540e2bacb98eebde99886e59ec55ed92093a"},
|
||||
]
|
||||
protobuf = [
|
||||
{file = "protobuf-4.21.4-cp310-abi3-win32.whl", hash = "sha256:e113f3d1629cebc911b107ce704f1a17d7e1589efef5c498e202bd47df223955"},
|
||||
{file = "protobuf-4.21.4-cp310-abi3-win_amd64.whl", hash = "sha256:cb50d93ef748671b7e2537658869e00aaa8175d717d8e73a23fcd58842883229"},
|
||||
{file = "protobuf-4.21.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:142ef5d73d6cd1bd8ab539d7d73c3722f31d33e64914e01bb91439cfcef11a9f"},
|
||||
{file = "protobuf-4.21.4-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:47b7cf3e542fd50a3a7c24d0da13451bc362a32c0a9b905714942ea8cf35fa11"},
|
||||
{file = "protobuf-4.21.4-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:adeccfbffbf4c9d1e77da86dc995d76c837d01387e412066cc803ad037000892"},
|
||||
{file = "protobuf-4.21.4-cp37-cp37m-win32.whl", hash = "sha256:5e47947fbfefd5a1bdc7c28eea1d197ea6dba5812789c2429667831a55ef71b7"},
|
||||
{file = "protobuf-4.21.4-cp37-cp37m-win_amd64.whl", hash = "sha256:d9b0398ff68017015ec2a37fb0ab390363a654362b15ca2e4543d3c82587768f"},
|
||||
{file = "protobuf-4.21.4-cp38-cp38-win32.whl", hash = "sha256:2ea8c841cc6422aea07d0f4f71f0e5e6e130de9a4b6c31a53b9d2a41a75f2d54"},
|
||||
{file = "protobuf-4.21.4-cp38-cp38-win_amd64.whl", hash = "sha256:a8119c029c60cf29b7eea5a9f56648482388e874611243f41cd10aff0a0e5461"},
|
||||
{file = "protobuf-4.21.4-cp39-cp39-win32.whl", hash = "sha256:0275902f8292039d4a022319d3f86e8b231ac4c51d7be4cb797890fb78c16b85"},
|
||||
{file = "protobuf-4.21.4-cp39-cp39-win_amd64.whl", hash = "sha256:5b95c5f515334dd3a811762e3c588b469bf39d4ee7b7f47ac1e0c41dc73809f7"},
|
||||
{file = "protobuf-4.21.4-py2.py3-none-any.whl", hash = "sha256:fd62b6eda64e199b5da651d6be42af2aa8e30805961af1fc5f70292affca78e3"},
|
||||
{file = "protobuf-4.21.4-py3-none-any.whl", hash = "sha256:7e51f6244e53e936abadf624ab3a0f06dc106b27473997374fbb34e6b2eb1e60"},
|
||||
{file = "protobuf-4.21.4.tar.gz", hash = "sha256:5783dc0d6edae631145337fabb18503b4f77274f94cdd22a4b26b9fe5029e718"},
|
||||
]
|
||||
psycopg2 = [
|
||||
{file = "psycopg2-2.9.3-cp310-cp310-win32.whl", hash = "sha256:083707a696e5e1c330af2508d8fab36f9700b26621ccbcb538abe22e15485362"},
|
||||
{file = "psycopg2-2.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:d3ca6421b942f60c008f81a3541e8faf6865a28d5a9b48544b0ee4f40cac7fca"},
|
||||
|
@ -2455,6 +2626,9 @@ sortedcontainers = [
|
|||
systemd-python = [
|
||||
{file = "systemd-python-234.tar.gz", hash = "sha256:fd0e44bf70eadae45aadc292cb0a7eb5b0b6372cd1b391228047d33895db83e7"},
|
||||
]
|
||||
thrift = [
|
||||
{file = "thrift-0.16.0.tar.gz", hash = "sha256:2b5b6488fcded21f9d312aa23c9ff6a0195d0f6ae26ddbd5ad9e3e25dfc14408"},
|
||||
]
|
||||
tomli = [
|
||||
{file = "tomli-1.2.3-py3-none-any.whl", hash = "sha256:e3069e4be3ead9668e21cb9b074cd948f7b3113fd9c8bba083f48247aab8b11c"},
|
||||
{file = "tomli-1.2.3.tar.gz", hash = "sha256:05b6166bff487dc068d322585c7ea4ef78deed501cc124060e0f238e89a9231f"},
|
||||
|
|
|
@ -182,6 +182,7 @@ parameterized = { version = ">=0.7.4", optional = true }
|
|||
idna = { version = ">=2.5", optional = true }
|
||||
opentelemetry-api = {version = "^1.11.1", optional = true}
|
||||
opentelemetry-sdk = {version = "^1.11.1", optional = true}
|
||||
opentelemetry-exporter-jaeger = {version = "^1.11.1", optional = true}
|
||||
|
||||
[tool.poetry.extras]
|
||||
# NB: Packages that should be part of `pip install matrix-synapse[all]` need to be specified
|
||||
|
@ -196,7 +197,7 @@ oidc = ["authlib"]
|
|||
systemd = ["systemd-python"]
|
||||
url_preview = ["lxml"]
|
||||
sentry = ["sentry-sdk"]
|
||||
opentelemetry = ["opentelemetry-api", "opentelemetry-sdk"]
|
||||
opentelemetry = ["opentelemetry-api", "opentelemetry-sdk", "opentelemetry-exporter-jaeger"]
|
||||
jwt = ["authlib"]
|
||||
# hiredis is not a *strict* dependency, but it makes things much faster.
|
||||
# (if it is not installed, we fall back to slow code.)
|
||||
|
@ -230,7 +231,7 @@ all = [
|
|||
# sentry
|
||||
"sentry-sdk",
|
||||
# opentelemetry
|
||||
"opentelemetry-api", "opentelemetry-sdk",
|
||||
"opentelemetry-api", "opentelemetry-sdk", "opentelemetry-exporter-jaeger",
|
||||
# redis
|
||||
"txredisapi", "hiredis",
|
||||
# cache_memory
|
||||
|
|
|
@ -31,9 +31,9 @@ class TracerConfig(Config):
|
|||
self.opentelemetry_enabled = opentelemetry_config.get("enabled", False)
|
||||
|
||||
# TODO: no more
|
||||
self.jaeger_config = opentelemetry_config.get(
|
||||
"jaeger_config",
|
||||
{"sampler": {"type": "const", "param": 1}, "logging": False},
|
||||
self.jaeger_exporter_config = opentelemetry_config.get(
|
||||
"jaeger_exporter_config",
|
||||
{},
|
||||
)
|
||||
|
||||
self.force_tracing_for_users: Set[str] = set()
|
||||
|
|
|
@ -87,7 +87,7 @@ class SynapseRequest(Request):
|
|||
|
||||
# An opentracing span for this request. Will be closed when the request is
|
||||
# completely processed.
|
||||
self._opentracing_span: Optional["opentelemetry.trace.span.Span"] = None
|
||||
self._tracing_span: Optional["opentelemetry.trace.span.Span"] = None
|
||||
|
||||
# we can't yet create the logcontext, as we don't know the method.
|
||||
self.logcontext: Optional[LoggingContext] = None
|
||||
|
@ -164,12 +164,12 @@ class SynapseRequest(Request):
|
|||
# If there's no authenticated entity, it was the requester.
|
||||
self.logcontext.request.authenticated_entity = authenticated_entity or requester
|
||||
|
||||
def set_opentracing_span(self, span: "opentelemetry.trace.span.Span") -> None:
|
||||
def set_tracing_span(self, span: "opentelemetry.trace.span.Span") -> None:
|
||||
"""attach an opentracing span to this request
|
||||
|
||||
Doing so will cause the span to be closed when we finish processing the request
|
||||
"""
|
||||
self._opentracing_span = span
|
||||
self._tracing_span = span
|
||||
|
||||
def get_request_id(self) -> str:
|
||||
return "%s-%i" % (self.get_method(), self.request_seq)
|
||||
|
@ -309,8 +309,10 @@ class SynapseRequest(Request):
|
|||
self._processing_finished_time = time.time()
|
||||
self._is_processing = False
|
||||
|
||||
if self._opentracing_span:
|
||||
self._opentracing_span.log_kv({"event": "finished processing"})
|
||||
if self._tracing_span:
|
||||
self._tracing_span.add_event(
|
||||
"finished processing", attributes={"event": "finished processing"}
|
||||
)
|
||||
|
||||
# if we've already sent the response, log it now; otherwise, we wait for the
|
||||
# response to be sent.
|
||||
|
@ -325,8 +327,10 @@ class SynapseRequest(Request):
|
|||
"""
|
||||
self.finish_time = time.time()
|
||||
Request.finish(self)
|
||||
if self._opentracing_span:
|
||||
self._opentracing_span.log_kv({"event": "response sent"})
|
||||
if self._tracing_span:
|
||||
self._tracing_span.add_event(
|
||||
"response sent", attributes={"event": "response sent"}
|
||||
)
|
||||
if not self._is_processing:
|
||||
assert self.logcontext is not None
|
||||
with PreserveLoggingContext(self.logcontext):
|
||||
|
@ -361,9 +365,13 @@ class SynapseRequest(Request):
|
|||
with PreserveLoggingContext(self.logcontext):
|
||||
logger.info("Connection from client lost before response was sent")
|
||||
|
||||
if self._opentracing_span:
|
||||
self._opentracing_span.log_kv(
|
||||
{"event": "client connection lost", "reason": str(reason.value)}
|
||||
if self._tracing_span:
|
||||
self._tracing_span.add_event(
|
||||
"client connection lost",
|
||||
attributes={
|
||||
"event": "client connection lost",
|
||||
"reason": str(reason.value),
|
||||
},
|
||||
)
|
||||
|
||||
if self._is_processing:
|
||||
|
@ -472,8 +480,8 @@ class SynapseRequest(Request):
|
|||
)
|
||||
|
||||
# complete the opentracing span, if any.
|
||||
if self._opentracing_span:
|
||||
self._opentracing_span.finish()
|
||||
if self._tracing_span:
|
||||
self._tracing_span.end()
|
||||
|
||||
try:
|
||||
self.request_metrics.stop(self.finish_time, self.code, self.sentLength)
|
||||
|
|
|
@ -210,7 +210,7 @@ class _DummyLookup(object):
|
|||
self.value = value
|
||||
|
||||
def __getattribute__(self, name):
|
||||
return self.value
|
||||
return object.__getattribute__(self, "value")
|
||||
|
||||
|
||||
# These dependencies are optional so they can fail to import
|
||||
|
@ -220,7 +220,9 @@ try:
|
|||
import opentelemetry.trace
|
||||
import opentelemetry.sdk.trace
|
||||
import opentelemetry.sdk.trace.export
|
||||
import opentelemetry.sdk.resources
|
||||
import opentelemetry.semconv.trace
|
||||
import opentelemetry.exporter.jaeger.thrift
|
||||
|
||||
SpanKind = opentelemetry.trace.SpanKind
|
||||
SpanAttributes = opentelemetry.semconv.trace.SpanAttributes
|
||||
|
@ -232,6 +234,7 @@ except ImportError:
|
|||
SpanAttributes = _DummyLookup("fake-attribute")
|
||||
StatusCode = _DummyLookup(0)
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
@ -373,9 +376,26 @@ def init_tracer(hs: "HomeServer") -> None:
|
|||
|
||||
# TODO: opentelemetry_whitelist
|
||||
|
||||
provider = opentelemetry.sdk.trace.TracerProvider()
|
||||
processor = opentelemetry.sdk.trace.export.BatchSpanProcessor(opentelemetry.sdk.trace.export.ConsoleSpanExporter())
|
||||
provider.add_span_processor(processor)
|
||||
resource = opentelemetry.sdk.resources.Resource(
|
||||
attributes={
|
||||
opentelemetry.sdk.resources.SERVICE_NAME: f"{hs.config.server.server_name} {hs.get_instance_name()}"
|
||||
}
|
||||
)
|
||||
|
||||
provider = opentelemetry.sdk.trace.TracerProvider(resource=resource)
|
||||
|
||||
# consoleProcessor = opentelemetry.sdk.trace.export.BatchSpanProcessor(
|
||||
# opentelemetry.sdk.trace.export.ConsoleSpanExporter()
|
||||
# )
|
||||
# provider.add_span_processor(consoleProcessor)
|
||||
|
||||
jaeger_exporter = opentelemetry.exporter.jaeger.thrift.JaegerExporter(
|
||||
**hs.config.tracing.jaeger_exporter_config
|
||||
)
|
||||
jaeger_processor = opentelemetry.sdk.trace.export.BatchSpanProcessor(
|
||||
jaeger_exporter
|
||||
)
|
||||
provider.add_span_processor(jaeger_processor)
|
||||
|
||||
# Sets the global default tracer provider
|
||||
opentelemetry.trace.set_tracer_provider(provider)
|
||||
|
@ -419,7 +439,7 @@ def start_active_span(
|
|||
name: str,
|
||||
*,
|
||||
context: Optional["opentelemetry.context.context.Context"] = None,
|
||||
kind: Optional["opentelemetry.trace.SpanKind"] = None,
|
||||
kind: Optional["opentelemetry.trace.SpanKind"] = SpanKind.INTERNAL,
|
||||
attributes: "opentelemetry.util.types.Attributes" = None,
|
||||
links: Optional[Sequence["opentelemetry.trace.Link"]] = None,
|
||||
start_time: Optional[int] = None,
|
||||
|
@ -759,7 +779,8 @@ def trace_servlet(
|
|||
SynapseTags.REQUEST_ID: request.get_request_id(),
|
||||
SpanAttributes.HTTP_METHOD: request.get_method(),
|
||||
SpanAttributes.HTTP_URL: request.get_redacted_uri(),
|
||||
SpanAttributes.PEER_HOST_IPV6: request.getClientAddress().host,
|
||||
# TODO: Is this the correct attribute to use for this?
|
||||
SpanAttributes.NET_PEER_IP: request.getClientAddress().host,
|
||||
}
|
||||
|
||||
request_name = request.request_metrics.name
|
||||
|
@ -768,27 +789,27 @@ def trace_servlet(
|
|||
# we configure the scope not to finish the span immediately on exit, and instead
|
||||
# pass the span into the SynapseRequest, which will finish it once we've finished
|
||||
# sending the response to the client.
|
||||
span = start_active_span(
|
||||
with start_active_span(
|
||||
request_name,
|
||||
kind=opentelemetry.trace.SpanKind.SERVER,
|
||||
child_of=context,
|
||||
kind=SpanKind.SERVER,
|
||||
context=context,
|
||||
end_on_exit=False,
|
||||
)
|
||||
request.set_opentracing_span(span)
|
||||
) as span:
|
||||
request.set_tracing_span(span)
|
||||
|
||||
inject_response_headers(request.responseHeaders)
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
# We set the operation name again in case its changed (which happens
|
||||
# with JsonResource).
|
||||
span.update_name(request.request_metrics.name)
|
||||
inject_response_headers(request.responseHeaders)
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
# We set the operation name again in case its changed (which happens
|
||||
# with JsonResource).
|
||||
span.update_name(request.request_metrics.name)
|
||||
|
||||
# set the tags *after* the servlet completes, in case it decided to
|
||||
# prioritise the span (tags will get dropped on unprioritised spans)
|
||||
request_attrs[
|
||||
SynapseTags.REQUEST_TAG
|
||||
] = request.request_metrics.start_context.tag
|
||||
# set the tags *after* the servlet completes, in case it decided to
|
||||
# prioritise the span (tags will get dropped on unprioritised spans)
|
||||
request_attrs[
|
||||
SynapseTags.REQUEST_TAG
|
||||
] = request.request_metrics.start_context.tag
|
||||
|
||||
for k, v in request_attrs.items():
|
||||
span.set_attribute(k, v)
|
||||
for k, v in request_attrs.items():
|
||||
span.set_attribute(k, v)
|
||||
|
|
|
@ -928,9 +928,7 @@ class DatabasePool:
|
|||
with LoggingContext(
|
||||
str(curr_context), parent_context=parent_context
|
||||
) as context:
|
||||
with tracing.start_active_span(
|
||||
operation_name="db.connection",
|
||||
):
|
||||
with tracing.start_active_span("db.connection"):
|
||||
sched_duration_sec = monotonic_time() - start_time
|
||||
sql_scheduling_timer.observe(sched_duration_sec)
|
||||
context.add_database_scheduled(sched_duration_sec)
|
||||
|
|
Loading…
Reference in a new issue