Hey @plucky drift ๐ I'm trying to add live progress support in Python, can you help me figure out what's missing? This is what I have:
class LiveSpanProcessor(sdktrace.SpanProcessor):
def __init__(self, exp: SpanExporter):
self._span_processor = BatchSpanProcessor(exp, schedule_delay_millis=100)
def on_start(self, span: sdktrace.Span, parent_context=None) -> None:
return super().on_end(span)
def live_traces_enabled() -> bool:
return os.getenv("OTEL_EXPORTER_OTLP_TRACES_LIVE") is not None
def _init_tracing(exporters: dict[str, type[SpanExporter]]):
provider = get_tracer_provider()
if isinstance(provider, sdktrace.TracerProvider):
for exporter_class in exporters.values():
proc_cls = (
LiveSpanProcessor if live_traces_enabled() else BatchSpanProcessor
)
provider.add_span_processor(proc_cls(exporter_class()))
That comes from here: https://github.com/dagger/dagger/blob/cb77cc8da722f69dded2d4e59a14212ef9a02243/sdk/python/src/dagger/telemetry.py#L107-L108
