-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
OTLP exporters are executed serially #1202
Comments
I think the confusion comes from the name of the config parameter. The
|
Sorry about the stupid question, but why are there multiple clients, if only one them can be active at any given time? Isn't gRPC already load balancing the connections anyway? |
That is definitely not a stupid question, was looking at the same issue right now, and I think gRPC can do a better job than what we do in terms of sending concurrent requests. I need to test that but I am confident that this is unnecessary. |
@jpkrohling I am going to close this since we removed the logic of workers and rely on gRPC load balancing #1212 |
Describe the bug
The OTLP exporter has a number of workers, implying that they would run in parallel consuming data from the pipeline. However, it appears that only one worker is active at any given time. Adding a few log statements to the code (branch: jpkrohling/opentelemetry-collector#jpkrohling/issue1202), and running the Jaeger trace generator to send spans, this is seen in the logs.
Note that the linked branch adds a timeout of 1 second in the context for
exportTrace
, and there's exactly 1s between the messageexporting trace
andreturning exporter to the pool
and nothing else is executed there, meaning that the failed execution ofexportTrace
has blocked the entire exporter and no other worker has performed any work.Steps to reproduce
make run
), or from the linked branch for extra log statementsgo run ./cmd/tracegen -workers 1 -duration 1s
)Configuration to use:
What did you expect to see?
Workers sending trace data in parallel
What did you see instead?
Workers being serially called
What version did you use?
Version: master as of now (
4eca960a4eb02104694324cf161ad9ec944c44c9
)What config did you use?
Config: see above
Environment
OS: Fedora 32 with the latest updates
Compiler(if manually compiled):
go1.14.3
Additional context
Related to #1192
The text was updated successfully, but these errors were encountered: