-
Notifications
You must be signed in to change notification settings - Fork 155
Tracer.close() is not fully synchronous #50
Comments
@yurishkuro do we need to append this |
If your services support graceful shutdown they yes, you might need to add this sleep after calling tracer.close(). But most long-running server applications are simply killed when they are upgraded or relocated, so in practice this rarely matters since close() won't be called anyway. You might lose some spans not flushed yet. |
Hello,
|
There is no different approach, I think, we just need to fix this specific issue. |
Ok no problem, thanks for the prompt response |
@yurishkuro is there a reason
... as well as @nziebart's here
... make me suspect I'm missing something |
@obataku I don't know the underlying cause, it doesn't seem to work. |
Is this still relevant given the merged PR? |
@obataku so if I understand your PR right, simply doing |
It was meant to be fully synchronous to guarantee that all spans are flushed, however it only blocks until the spans are handed off to the sender, which itself is async, so if
close()
is used from a command line tool or a hello-world app that exist immediately, the spans may not have time to flush to UDP port.The text was updated successfully, but these errors were encountered: