fix(opentelemetry): wait for trace delivery in forceFlush - #10131
fix(opentelemetry): wait for trace delivery in forceFlush#10131BridgeAR wants to merge 1 commit into
Conversation
This fixes OpenTelemetry TracerProvider.forceFlush() resolving before Datadog trace delivery completes. The provider now waits for the exporter's completion-aware flush boundary and every configured span processor, including delayed HTTP responses and overlapping flush generations. Exporter failures remain observable through the OpenTelemetry promise contract, while legacy background flushes keep swallowing errors; OTLP and serverless delivery paths use the same boundary without retaining completed failures.
Overall package sizeSelf size: 8.74 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | import-in-the-middle | 3.4.0 | 127.33 kB | 447.04 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | dc-polyfill | 0.1.11 | 25.74 kB | 25.74 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe |
|
✅ All CI checks and tests passed. 🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: 87d24e7 | Docs | View more details | Give us feedback! |
BenchmarksBenchmark execution time: 2026-09-03 11:45:41 Comparing candidate commit 87d24e7 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 2314 metrics, 14 unstable metrics.
|
This fixes OpenTelemetry
TracerProvider.forceFlush()resolving before Datadog trace delivery completes. The provider now waits for the exporter's completion-aware flush boundary and every configured span processor, including delayed HTTP responses and overlapping flush generations.Exporter failures remain observable through the OpenTelemetry promise contract, while legacy background flushes keep swallowing errors; OTLP and serverless delivery paths use the same boundary without retaining completed failures.