# Keep your telemetry stack. Add a detector.

Sixty accepts OTLP/HTTP traces and metrics from the collector you already run. Grafana, Prometheus, Elastic, Vercel, AWS, and your existing exporters stay in place; Sixty becomes another exporter destination.

## Collector configuration

```
exporters:
otlphttp/sixty:
endpoint: https://ingest.sixty.sh
headers:
Authorization: "Bearer ${env:SIXTY_OTEL_KEY}"
compression: gzip

service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [your_existing_exporter, otlphttp/sixty]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [your_existing_exporter, otlphttp/sixty]
```

## Authentication and service identity

Create a secret telemetry key with the ingest scope and send it as Authorization: Bearer …. The key selects the workspace; standard resource attributes select the service, environment, and release. service.name is required.

| Sixty field | OpenTelemetry resource attribute |
| --- | --- |
| Service | service.namespace/service.name, or service.name |
| Environment | deployment.environment.name, then deployment.environment |
| Release | sixty.release, deployment.revision, then service.version |

## What Sixty infers

Connected HTTP and database spans become operations, dependency edges, latency distributions, self time, error evidence, database calls, and row counts. Semantic HTTP/RPC histograms provide a fallback when traces are unavailable. Runtime CPU and memory utilization, event-loop lag, garbage collection pauses, and database-pool pressure become bounded context on release findings.

When native agents, OTEL traces, and OTEL metrics describe the same bucket, Sixty keeps the highest-fidelity source instead of adding them together. The order is native agent, OTEL traces, then OTEL metrics.

## Deliberate boundaries

Sixty is not a trace warehouse or a replacement dashboard. It reduces OTEL signals into bounded sketches and exemplars used for release comparison. Arbitrary custom metrics and logs are rejected through OTLP partial success; raw database statements are not retained because they may contain values.

## Try the complete path

The repository’s apps/otel-demo-app workload emits connected traces, duration histograms, runtime saturation, and database-pool pressure. The public demo account includes that service and the finding inferred from its six-release history.

[Open the demo account →](/demo?from=otel-docs)

---

Canonical HTML: https://sixty.sh/docs/opentelemetry
