use BatchSpanProcessor for async export
BasicSpanProcessor exports synchronously on every span.end(), causing
major latency overhead (~100-200ms per span for OTLP HTTP requests).
BatchSpanProcessor queues spans and exports them in batches every 1s
via a background thread, eliminating export latency from the request path.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>