Overview
All trace data is sent asynchronously in the background. Your application code is never blocked waiting for Artanis.How It Works
When you calltrace.input(), trace.output(), or trace.state():
- Data is serialized immediately (< 0.1ms)
- Data is sent asynchronously in the background
- Your code continues without waiting
Network calls happen in the background and never block your application.
Performance Impact
The SDK adds minimal latency to your application:| Operation | Latency |
|---|---|
trace.input(), trace.output(), etc. | < 0.1ms (serialization only) |
| Network calls | 0ms (async, non-blocking) |
| P50 overhead | < 0.05ms per trace operation |
| P99 overhead | < 0.5ms per trace operation |
Reliability
If network fails, traces are dropped silently:- No exceptions thrown - your application never crashes due to tracing
- No retries - prevents memory leaks in long-running applications
- No blocking - network issues never slow down your code