Skip to main content

Overview

All trace data is sent asynchronously in the background. Your application code is never blocked waiting for Artanis.
# This returns immediately (~0.1ms overhead)
trace.output(response)

# Data is sent automatically in the background

How It Works

When you call trace.input(), trace.output(), or trace.state():
  1. Data is serialized immediately (< 0.1ms)
  2. Data is sent asynchronously in the background
  3. 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:
OperationLatency
trace.input(), trace.output(), etc.< 0.1ms (serialization only)
Network calls0ms (async, non-blocking)
P50 overhead< 0.05ms per trace operation
P99 overhead< 0.5ms per trace operation
No synchronous network calls means zero waiting for responses.

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
See the Error Handling guide for more details.

Next Steps