Send the spans that explain things. Archive the rest.
SpanSlice decides inside your services which traces reach your observability vendor, and keeps everything else in storage you own.
- GET /checkoutsent: root
- auth.verifyarchived
- cart.loadarchived
- cache.getarchived
- db.query cartsarchived
- payments.chargesent: slow
- POST api.stripe.comsent: error
- db.insert ordersarchived
- queue.publisharchived
- Rules at the source
- Keep, drop or redact spans inside the SDK, before they're exported and billed.
- Changes without a deploy
- Edit a rule once and running services pick it up in seconds, per service and environment.
- Nothing thrown away
- Spans you don't send are archived to your own bucket, ready when an incident needs them.
- Built on OpenTelemetry
- Works with the instrumentation you already have and the vendor you already use.