-
Notifications
You must be signed in to change notification settings - Fork 839
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 flush interval for Jaeger exporter #340
Add flush interval for Jaeger exporter #340
Comments
+1 for flush interval option. Another option could be, when we done with append logic just trigger the flush call https://github.com/open-telemetry/opentelemetry-js/blob/master/packages/opentelemetry-exporter-jaeger/src/jaeger.ts#L84-L92. This should work nicely with both SpanProcessors ( Also, with this we can avoid multiple interval logic. This is the one in BatchSpanProcessor -> https://github.com/open-telemetry/opentelemetry-js/blob/master/packages/opentelemetry-basic-tracer/src/export/BatchSpanProcessor.ts#L47. |
* feat(jaeger-exporter): adds flushing on an interval closes #340 * respond to comments * yarn fix
* feat(jaeger-exporter): adds flushing on an interval closes open-telemetry/opentelemetry-js#340 * respond to comments * yarn fix
* feat(jaeger-exporter): adds flushing on an interval closes open-telemetry/opentelemetry-js#340 * respond to comments * yarn fix
During the SIG meeting today, @mayurkale22 mentioned a possible bug with the Jaeger exporter where Jaeger client only flushes when its span buffer reaches a size threshold, meaning that if you have a very low throughput system it might take a very long time for spans to get sent to Jaeger.
Looking at code, the exporter uses Jaeger's UDPSender, which is a fairly simple, low level piece of code that gets wrapped with more complex logic. In the jaeger client code base, there's another class that accepts a sender called a RemoteReporter which actually implements the interval flushing logic.
We can either add a flush interval to the Jaeger exporter or use RemoteReporter. I'm leaning towards adding a flush interval since it's a very small amount of code. Thoughts?
The text was updated successfully, but these errors were encountered: