The guarantees
- Every public method is internally guarded; SDK errors go to a rate-limited warning (or your
onWarn), and your return value or exception passes through untouched. - A missing or invalid API key disables sending, not your agent.
- No timer or socket ever holds the process open - everything is
unref’d. - Invalid configuration warns and disables; it never throws.
- The SDK sends nothing but your traces - zero phone-home.
Delivery model
A trace is buffered in memory while it runs and POSTed once, when its root settles - on success or on throw. One trace, one request, off the critical path. This matches the ingest contract (whole trace per request - see Bring your own OTel for why that matters).The bounds
Documented because the numbers are the trust signal - this is exactly how much memory, time, and retry traffic the SDK will ever cost you:
Everything dropped is accounted for: