Draft: Try to use use rust-jaeger-python-client#13399
Conversation
| jupyter = ["ipywidgets (>=7.5.1,<8.0.0)"] | ||
|
|
||
| [[package]] | ||
| name = "rust-python-jaeger-reporter" |
There was a problem hiding this comment.
How do I add only rust-python-jaeger-reporter without changing the rest of the poetry.lock file?
poetry add git+https://github.com/erikjohnston/rust-jaeger-python-client.git
There was a problem hiding this comment.
Maybe poetry lock --no-update but that still seems to change many many things
There was a problem hiding this comment.
poetry lock --no-update is what you want. You might need to update to poetry 1.1.14 and clear caches to workaround this.
There was a problem hiding this comment.
Thanks @DMRobertson, it seemed to change less stuff this time after clearing the cache but still looks dubious, b732dab
$ poetry --version
Poetry version 1.1.14
$ poetry cache list
pypi
$ poetry cache clear --all pypi
Delete 605 entries? (yes/no) [no] yes
$ poetry lock --no-update
Resolving dependencies... (125.3s)
Writing lock file
# Commited the resultThere was a problem hiding this comment.
The closer I look at it, maybe it's just re-ordering some stuff which is fine 🤷
There was a problem hiding this comment.
I saw this (re-ordering) earlier today on another branch. I don't have a good explanation either :(
| Pympler = { version = "*", optional = true } | ||
| parameterized = { version = ">=0.7.4", optional = true } | ||
| idna = { version = ">=2.5", optional = true } | ||
| rust-python-jaeger-reporter = {git = "https://github.com/erikjohnston/rust-jaeger-python-client.git"} |
There was a problem hiding this comment.
rust-python-jaeger-reporter "is not configurable and is hardcoded to report to the local agent on localhost and the default port.". (need to configure to go from Docker container to the host host.docker.internal. With the normal jaeger-client-python you can use opentracing.jaeger_config.local_agent.reporting_host in Synapse to configure this.
(╯°□°)╯︵ ┻━┻ time to use OpenTelemetry stuff #11850
There was a problem hiding this comment.
Updated rust-python-jaeger-reporter to make the host and port configurable via erikjohnston/rust-jaeger-python-client#8
Try to use use
rust-jaeger-python-clientDev notes
Installing
rust-python-jaeger-reporterI wired up the Complement tests to send OpenTelemetry traces to Jaeger but I'm not seeing all of the traces so I wanted to try
rust-python-jaeger-reporterwhich is a faster more efficient Jaeger reporter that Erik wrote. Synapse will use this reporter if it's installed, seesynapse/logging/opentracing.py#L256rust_python_jaeger_reporterSince that package only has wheels for
many_linux, it isn't available for macOS and it tries to build manually but it doesn't have ansdist/pyproject.tomlor whatever is necessary for that (discussed in #synapse-dev). But there was recently a PR to add it erikjohnston/rust-jaeger-python-client#5, but there hasn't been a release with it yet so we have to install it from repo,But the Docker images don't have a new enough version of Rust to build it manually:
We need the latest version of Rust since getting it from
aptwill give us1.48.0which is too old for the Rustrenamed_spin_loopusage that the library uses.So we can install the latest version of Rust this way:
Then you can check the server logs for
Using rust_python_jaeger_reporter libraryto know if it's successfully using it.I got it installed and Synapse is using it but it logs an error about no active span even though you can see the
opentracing.start_active_spancall just above the spot it's complaining aboutProbably because
rust-python-jaeger-reporter"is not configurable and is hardcoded to report to the local agent on localhost and the default port.". (need to configure to go from Docker container to the hosthost.docker.internal. With the normaljaeger-client-pythonyou can useopentracing.jaeger_config.local_agent.reporting_hostin Synapse to configure this.Pull Request Checklist
EventStoretoEventWorkerStore.".code blocks.(run the linters)