Telemetry waste report
A read-only scan of our demo SigNoz instance — every finding priced from the scan artifact, the headline fix proven safe before it is applied.
Total identified savings
Kept in full — never sampled
- Error traces
- 110,430 / 110,430
- Traces ≥ 750 ms
- 145 / 145
A policy that would lose one of either exits non-zero before anything is generated.
Only then the reduction: 94.9% of “boring” traces dropped
Keep 100% of errors, keep every trace ≥ 750 ms, sample the remaining successful/fast traces at 5%. Of 58,136 boring traces, only 2,947 are kept.
The honest counterweight: dropping 95% of boring traces is not the same as dropping 95% of the bill. Because errors and slow traces are retained in full, total span volume falls by only 6.9% (8,953,804 → 8,332,657 spans). And this window is an error-storm day — 65.5% of its traces carry an error; on a healthy week (~0.04% errors) the same policy drops ~95% of span volume. Safety first, savings second — the profiler never conflates the two.
Sampling safety proof
telelens simulate — replayed on the real scanReplay of 168,711 traces / 8,953,804 spans. The policy is judged SAFE because it retains 100% of error traces and 100% of slow traces — the two classes you actually page on.
Try the policy yourself
every position is a recorded replay, not an interpolationThe profiler refuses to drop errors — non-negotiable. A policy that would lose one error trace exits non-zero.
Only the three thresholds this window's replay actually covers.
The honest counterweight: dropping 94.9% of boring traces cuts span volume by only 6.9% — 65% of this window's traces carry an error, and the policy keeps every one of them.
Recomputed from the recorded replay of 168,711 real traces / 8,953,804 spans (assets/live-findings.json, scan of 2026-07-18). The 21 policy positions offered here were each replayed through the same simulator that produced the verdict above; the shipped default (750 ms / 5%) reproduces that record exactly.
All findings
26 total, priced against the scan window| # | Sev | Category | Finding | GB/mo | $/mo |
|---|---|---|---|---|---|
| F-001 | High | traces | 7801417 near-identical success spans are prime tail-sampling candidates | 9.7 | $2.90 |
| F-003 | High | metrics | 86 more metrics are written but read by no dashboard or alert | 0.3 | $0.08 |
| F-004 | High | metrics | Metric "signoz_latency.bucket" is written but read by no dashboard or alert | 0.3 | $0.08 |
| F-006 | High | metrics | Metric "http.server.duration.bucket" is written but read by no dashboard or alert | 0.0 | $0.01 |
| F-007 | High | metrics | Metric "http.server.response.size.bucket" is written but read by no dashboard or alert | 0.0 | $0.01 |
| F-008 | High | metrics | Metric "checkout.cart.value.bucket" is written but read by no dashboard or alert | 0.0 | $0.01 |
| F-009 | High | metrics | Metric "otel.sdk.metric_reader.collection.duration.bucket" is written but read by no dashboard or alert | 0.0 | $0.01 |
| F-024 | High | metrics | Unbounded ID "session.id" is a metric label on browser.sessions.count | — | — |
| F-002 | Medium | logs | INFO firehose: checkout is 35% of your log volume | 1.9 | $0.58 |
| F-010 | Medium | traces | Span attribute "url.full" has 57315 distinct values | 0.0 | $0.01 |
| F-011 | Medium | traces | Span attribute "db.statement" has 54630 distinct values | 0.0 | $0.00 |
| F-012 | Medium | traces | Span attribute "shipping.tracking.id" has 53051 distinct values | 0.0 | $0.00 |
| F-013 | Medium | traces | Span attribute "payment.transaction.id" has 53243 distinct values | 0.0 | $0.00 |
| F-014 | Medium | traces | Span attribute "app.shipping.tracking.id" has 53045 distinct values | 0.0 | $0.00 |
| F-015 | Medium | traces | Span attribute "app.payment.transaction.id" has 53062 distinct values | 0.0 | $0.00 |
| F-016 | Medium | traces | Span attribute "app.order.id" has 65591 distinct values | 0.0 | $0.00 |
| F-017 | Medium | traces | Span attribute "http.url" has 10068 distinct values | 0.0 | $0.00 |
| F-018 | Medium | traces | Span attribute "order.id" has 68176 distinct values | 0.0 | $0.00 |
| F-019 | Medium | traces | Span attribute "app.email.message_id" has 54780 distinct values | 0.0 | $0.00 |
| F-020 | Medium | traces | Span attribute "app.email.recipient" has 10011 distinct values | 0.0 | $0.00 |
| F-021 | Medium | traces | Span attribute "app.user.id" has 43377 distinct values | 0.0 | $0.00 |
| F-005 | Low | traces | Browser RUM telemetry bill: "browser-frontend" ships 120358 session spans across 1 sessions | 0.2 | $0.05 |
| F-022 | Low | traces | Browser RUM telemetry bill: "meridian-web" ships 223 session spans across 38 sessions | 0.0 | $0.00 |
| F-023 | Low | traces | AI-agent telemetry bill: "argus" ships 35 gen_ai spans (204665 tokens tracked) | 0.0 | $0.00 |
| F-025 | Low | quality | Cardinality discipline held: 2 unbounded ID attribute(s) stay off metric labels | — | — |
| F-026 | Low | quality | demo-app mixes severity casing ("Info") | — | — |
| Total identified savings · 26 findings | 12.5 | $3.75 | |||
Estimates are uncompressed-ingest figures extrapolated from the scan window; findings shown as “—” are directional (cardinality / quality risks that are not reliably priceable). TELELENS profilers are read-only — nothing is applied without a human running foundryctl cast.