Add possibility to split oversized udp batches#1500
Add possibility to split oversized udp batches#1500lzchen merged 3 commits intoopen-telemetry:mainfrom
Conversation
|
|
codeboten
left a comment
There was a problem hiding this comment.
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: