Skip to content
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

Make flush.timeout configurable #199

Open
jpotisch opened this issue Apr 2, 2018 · 1 comment
Open

Make flush.timeout configurable #199

jpotisch opened this issue Apr 2, 2018 · 1 comment

Comments

@jpotisch
Copy link

jpotisch commented Apr 2, 2018

I'm adding zipkin support to an asp.net application that performs very long-running web service calls, e.g. 30 seconds to 10 minutes, to third-party services. As a result my traces will run for over a minute a pretty sizable percentage of the time and Zipkin4net thus ends up logging a flush.timeout tag. This is annoying, but this also seems to cause unknownservice and unknownrpc to override the service and rpc names I send and which show up correctly when flush.timeout is not hit.

It would be great if, for example, TraceManager exposed a FlushTimeout property, or it could be provided as an additional optional argument to the ZipkinTracer constructor instead of it being hardcoded to TimeSpan.FromMinutes(1) deep inside MutableSpanMap.

I'm aware that this timeout exists to defend against memory leaks but in my case, and I imagine many others, one minute is nowhere near enough time and I believe I've defended well enough against memory leaks elsewhere.

@fedj
Copy link
Collaborator

fedj commented Apr 10, 2018

Hi @jpotisch,

I understand your case and it should be configurable.
Having it in TraceManager would make it hard to propagate once ZipkinTracer has been instanciated.
On the other hand, flush.timeout is not supposed to change at runtime. I would suggest to put it there.

Would you be able to come up with a PR ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants