浏览代码

fix(tracing): batch span exports to prevent blocking

This was a bad configuration (my fault) that meant each span was
exported synchronously, as it ended. That can cause weird behavior
such as stuttering/blocking.

There's really no reason to NOT use the batch processor, it's the
recommended way to configure it. In the future, it might make sense
to tune the intervals based on the fact that Compose is a CLI vs
a long-running server app, but we handle flushing out on exit
already, so it's not a huge deal.

Signed-off-by: Milas Bowman <[email protected]>
Milas Bowman 1 年之前
父节点
当前提交
d688d3bf22
共有 1 个文件被更改,包括 1 次插入3 次删除
  1. 1 3
      internal/tracing/tracing.go

+ 1 - 3
internal/tracing/tracing.go

@@ -115,11 +115,9 @@ func InitProvider(dockerCli command.Cli) (ShutdownFunc, error) {
 	}
 
 	muxExporter := MuxExporter{exporters: exporters}
-	sp := sdktrace.NewSimpleSpanProcessor(muxExporter)
 	tracerProvider := sdktrace.NewTracerProvider(
-		sdktrace.WithSampler(sdktrace.AlwaysSample()),
 		sdktrace.WithResource(res),
-		sdktrace.WithSpanProcessor(sp),
+		sdktrace.WithBatcher(muxExporter),
 	)
 	otel.SetTracerProvider(tracerProvider)