Span Size Estimator
Accurately forecast your trace ingestion volume and cost. Configure span attributes, set your traffic rate, and see monthly storage and cost projections across different pricing tiers.
Span Attributes
~50 bytes each (key + value)
~20 bytes each
~15 bytes each
~3KB each (includes stack traces)
~40 bytes each (trace ID + span ID)
Traffic
Effective spans/sec:
Pricing Model
Vendor pricing varies by contract and volume. These are approximate public rates.
Span Size Breakdown
| Component | Count | Size | % of Total |
|---|---|---|---|
| Base overhead | 1 | ||
| String attributes | |||
| Numeric attributes | |||
| Boolean attributes | |||
| Events / exceptions | |||
| Span links | |||
| Total estimated span size | 100% |
Size Distribution
Understanding Span Sizes
Trace spans vary dramatically in size depending on their content. A minimal span with just timing data and a few standard attributes is around 200 bytes. Adding custom string attributes (service name, HTTP path, user ID) adds roughly 50 bytes per attribute. Numeric attributes like status codes and response sizes add about 20 bytes each.
The biggest size driver is exceptions. When a span records an exception event, it includes the exception type, message, and full stack trace. A single Java or .NET stack trace can easily be 2-5KB. If your service has a 1% error rate and you instrument every error, those error spans can account for 30-50% of your total ingestion volume despite being only 1% of spans.
To reduce span size: Remove redundant attributes that duplicate information available elsewhere (e.g., hostname when container ID is present). Use attribute value length limits in your SDK configuration. Consider sampling error spans rather than capturing every exception. Be selective about which custom attributes you add -- each one costs storage across every span that carries it.
Related Resources
Learn distributed tracing patterns and best practices for Go
Step-by-step APM implementation checklist covering SDK installation, instrumentation, alerting, and production rollout with OpenTelemetry best practices.
Next.js blurs the line between server and client -- React Server Components, ISR, and streaming SSR create invisible boundaries where traces break. TraceKit gives you full visibility across the RSC boundary, from server render to client hydration.
AI-powered enterprise observability at enterprise prices. See how TraceKit delivers core APM without the complexity.
The 8 best APM tools in 2026 ranked and compared. Detailed reviews of Datadog, New Relic, TraceKit, Grafana, Sentry, Dynatrace, Elastic, and Honeycomb.