UDP receiver on high scale #23237
Unanswered
haimrubinstein
asked this question in
Q&A
Replies: 2 comments 6 replies
-
@djaglowski @sumo-drosiek |
Beta Was this translation helpful? Give feedback.
0 replies
-
@haim6678, thanks for raising this. It seems reasonable to me that there should be a way to disable the scanner when it's not needed, perhaps always when encoding is nop. I'd certainly welcome a PR if you're willing to draft the change. |
Beta Was this translation helpful? Give feedback.
6 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
I'm new to otel so if I'm missing anything please let me know.
I have a scenario where I must use the UDP receiver on a large scale.
I've created a custom pipeline on my computer UDP -> batch processor -> file exporter.
I have nop encoding and no multiline.
I did some testing and found that per core I get 6-7K EPS, which is far from what I need.
Then I created a simple Python UDP client and I achieved 30-40K EPS.
I figured there is some code on the UDP receiver that is consuming CPU and therefore the performance is low.
After some code digging I found this code:
in my case, since I'm with nop encoding this is the split function the code creates
I have no need for a split, but this scanner gets created anyway.
when I removed the scanner and used the 'SplitNone' logic I got a significant! improvement to 30K EPS from the same pipeline.
Am I missing something? is there a reason to create the scanner even if there is no need for it?
before creating the scanner we can have something like this
Beta Was this translation helpful? Give feedback.
All reactions