Trace export
Send a live copy of your project's traces to your own observability backend over OTLP.
Stream newly captured traces to an OTLP endpoint you control. Trace export is a paid entitlement configured per project. It preserves W3C trace IDs so you can correlate Swirls runs with your other services.
Supported backends
| Backend | Notes |
|---|---|
| Neatlogs | Official Swirls partner. TLS OTLP/gRPC at ingest.neatlogs.com:443; authentication uses x-api-key metadata. |
| Datadog | OTLP intake, region-selected endpoint. |
| Honeycomb | OTLP, dataset selectable. |
| Grafana Tempo / Cloud | OTLP, basic-auth or token. |
| New Relic | OTLP endpoint. |
| Generic OTLP | Any OTLP-compatible backend. You supply the endpoint, protocol, and headers. |
Export speaks OTLP over HTTP (the default) or gRPC. Endpoints must be reachable over TLS; plaintext endpoints are rejected.
Neatlogs uses TLS OTLP/gRPC at ingest.neatlogs.com:443 with the project key in x-api-key metadata.
What gets exported
Export receives the execution and agent spans captured for your project. The export path branches before Swirls' internal collector redaction, so the content can differ from the in-product trace store. The project capture policy still applies before either path.
Setting it up
In Swirls Cloud, open the project and go to Settings → Trace export.
Pick your backend, then enter the endpoint and credentials. Vendor presets fill in the supported transport and header shape. Fixed vendor endpoints, including Neatlogs, are locked to the vendor's published intake.
Choose a content policy and sampling ratio (see below), then create the destination or save your changes. New destinations are saved with Export off so configuration alone cannot send data away from Swirls.
On the destination card, send a test span. It goes straight to your endpoint over the selected OTLP transport and checks reachability and credentials without enabling live export. When the test succeeds, turn Export on and confirm the data-egress prompt. Only then does the destination enter reconciliation and activate within a few minutes.
Content policy
The destination's default full policy forwards captured content, including prompt and completion text when the project capture policy allows it. full cannot restore values suppressed at capture time.
A redacted export policy removes content attributes while retaining identity, timing, token counts, names, and status. Enabling a destination requires an explicit data-egress confirmation.
Sampling
A per-project sampling ratio lets you export a fraction of traces. Sampling is trace-ID consistent: spans from the same trace receive the same sampling decision. Delivery failures can still leave gaps.
Credentials
Credentials are encrypted at rest and write-only: the settings page shows which credential headers are configured, never their values. Rotate a key by re-supplying it and saving. The new value takes effect on the next configuration sync. Check destination health after rotation.
Health
The settings page reports export health per destination: a status of active, pending, error, or disabled, whether Export on or Export off is selected, the last export time, and the last error. Use the state and switch together: Pending + Export off means the destination is configured but intentionally excluded from reconciliation. Turn export on and confirm the data-egress prompt before expecting it in the gateway. Use the test-span action to confirm endpoint reachability and credentials independently of live export.
History
Export begins with new spans after activation. Historical backfill is not implemented. The gateway uses a persistent bounded queue and retries failed delivery for up to ten minutes; outages beyond the retry window or queue capacity can lose spans.
Reliability
Export has a separate queue and retry path from the in-product trace store. A destination outage does not block workflow execution, but it can cause exported spans to be dropped. Export is not a lossless archive.