-
Notifications
You must be signed in to change notification settings - Fork 624
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add possibility to split oversized udp batches #1500
Conversation
|
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 for the PR, it looks great. Just a couple of changes requested, please also add an entry to the changelog.
exporter/opentelemetry-exporter-jaeger/src/opentelemetry/exporter/jaeger/__init__.py
Outdated
Show resolved
Hide resolved
exporter/opentelemetry-exporter-jaeger/src/opentelemetry/exporter/jaeger/__init__.py
Outdated
Show resolved
Hide resolved
exporter/opentelemetry-exporter-jaeger/src/opentelemetry/exporter/jaeger/__init__.py
Outdated
Show resolved
Hide resolved
hey @janLo any chance you can take a look at the comments on this PR so we can get it merged? |
Yes, sorry, I'm just very busy at the moment. It's on my list and I plan to get it finished ASAP. |
No worries, thanks! |
@janLo |
I hope to get to it next week. |
7e0e58d
to
1e654bd
Compare
This adds OTEL_EXPORTER_JAEGER_AGENT_SPLIT_OVERSIZED_BATCHES to the Jaeger exporter as porposed in open-telemetry/opentelemetry-python#1500
267544e
to
99abed7
Compare
Sorry for the noise, I haven't had a working python env at hand today. I fixed the mentioned issues and rebased everything on main. I also added a changelog entry and made a PR in the mentioned documentation repo: open-telemetry/opentelemetry-specification#1475 |
exporter/opentelemetry-exporter-jaeger/src/opentelemetry/exporter/jaeger/__init__.py
Show resolved
Hide resolved
99abed7
to
3efc085
Compare
exporter/opentelemetry-exporter-jaeger/src/opentelemetry/exporter/jaeger/send/thrift.py
Outdated
Show resolved
Hide resolved
3efc085
to
b9bca15
Compare
If we use the BatchExportSpanProcessor combined with the JaegerSpanExporter and use instrumentations that add a lot of metadata to the spans like sqlalchemy, then we run occationally into the "Data exceeds the max UDP packet size" warning causing dropped spans and incomplete data. The option to reduce the general batch-size to a very small number (in my case >30) may cause a performance issue as the worker thread of the batch exporter gets very busy. Instead this change allows the user to ask the exporter to split oversized batches when they get detected and send the splits separately instead of dropping them. Depending on the usecase this is a better option than reducing the batch-size to a very small value because every now and then they contain a couple of large spans.
b9bca15
to
7529752
Compare
Can I somehow rerun teh failed check? I don't think it has anything to do with my changes. |
Description
If we use the BatchExportSpanProcessor combined with the
JaegerSpanExporter and use instrumentations that add a lot of metadata
to the spans like sqlalchemy, then we run occationally into the "Data
exceeds the max UDP packet size" warning causing dropped spans and
incomplete data.
The option to reduce the general batch-size to a very small number (in
my case >30) may cause a performance issue as the worker thread of the
batch exporter gets very busy. Instead this change allows the user to
ask the exporter to split oversized batches when they get detected and
send the splits separately instead of dropping them. Depending on the
usecase this is a better option than reducing the batch-size to a very
small value because every now and then they contain a couple of large
spans.
Type of change
How Has This Been Tested?
Does This PR Require a Contrib Repo Change?
Checklist: