-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Draft: Try to use use rust-jaeger-python-client
#13399
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe poetry lock --no-update
but that still seems to change many many things
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 result
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The closer I look at it, maybe it's just re-ordering some stuff which is fine 🤷
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I saw this (re-ordering) earlier today on another branch. I don't have a good explanation either :(
@@ -182,6 +182,7 @@ hiredis = { version = "*", optional = true } | |||
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-> #13400
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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-client
Dev notes
Installing
rust-python-jaeger-reporter
I 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-reporter
which is a faster more efficient Jaeger reporter that Erik wrote. Synapse will use this reporter if it's installed, seesynapse/logging/opentracing.py#L256
rust_python_jaeger_reporter
Since 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.toml
or 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
apt
will give us1.48.0
which is too old for the Rustrenamed_spin_loop
usage 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 library
to 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_span
call 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-python
you can useopentracing.jaeger_config.local_agent.reporting_host
in Synapse to configure this.Pull Request Checklist
EventStore
toEventWorkerStore
.".code blocks
.(run the linters)