withRequestTracing
fun ExecutorService.withRequestTracing(storage: ZipkinTracesStorage = ZipkinTracesStorage.THREAD_LOCAL, defaultTimeout: Duration = Duration.ofMinutes(1)): ExecutorService(source)
Decorate the ExecutorService with propagation of Zipkin trace headers.
The untimed ExecutorService.invokeAll and ExecutorService.invokeAny are bounded by defaultTimeout so a slow or dead task cannot pin pool threads indefinitely. Callers that pass an explicit timeout keep full control of it.