Platform access does not change your application configuration. Your service must send compatible metrics. Slow successful trace retention is a separate, opt-in SDK setting. Autter does not automatically merge, deploy, or roll back endpoint fixes.
Prepare your service
Use@autter/runtime-node or @autter/runtime-next version 1.3.0 or later. Prefer patch 1.3.1. Self-hosted installations require ingester 1.3.1 or later. Ingester 1.3.0 does not correctly accept numeric delta histograms.
Update your existing SDK initialization. Do not start a second SDK or register duplicate providers.
registerAutter in your existing server instrumentation file. See Installation.
- Set
releaseto the commit SHA that is actually deployed. Configure your build to provideGIT_SHA. - Use the actual environment name. Keep service and environment names stable between releases.
- Retain normal sampled traces as well as slow traces. The comparison needs both.
- Add database or dependency instrumentation through the existing
instrumentationsoption where needed. HTTP instrumentation alone does not measure all database calls or connection waits.
Slow trace retention
The example opts into retention for server requests that take at least 2,000 ms. The default is off. Set a threshold that fits your service and check the change in export volume. Retention uses bounded memory and time limits. It retains finished spans from the local process, not an entire distributed trace. High load and long requests can produce incomplete traces. It does not change the existing error-retention setting. The platform cannot recover discarded traces or reconstruct old histogram buckets from count and sum totals. Collect new data after an upgrade. See SDK options.Use another OpenTelemetry SDK
Send explicit-bucket histograms with delta temporality. In OTLP, delta is1 or AGGREGATION_TEMPORALITY_DELTA. Cumulative value 2 is not accepted for endpoint detection.
- Use
http.server.request.durationin seconds, orhttp.server.durationin milliseconds. - Include
http.request.methodorhttp.method, and a route template inhttp.route. Do not use a path that contains a user’s identifier. - Include
service.name,service.version,service.instance.id, anddeployment.environment.nameordeployment.environmentas resource attributes. Use a unique instance ID for each service process. - Export at most two minutes apart. Include start and end timestamps, count, sum, explicit bounds, and bucket counts.
- Choose histogram bounds that cover the request durations you need to detect. Overflow buckets can prevent a useful p95 estimate.
retainTracesAboveMs is a Node/Next.js option; other stacks need their own supported retention configuration.
How detection works
Autter estimates p95 from request histograms, not from sampled or selectively retained traces. It compares the same repository, service, environment, HTTP method, and route. The current detector requires:- A 60-minute baseline, followed by two separate five-minute windows.
- At least 100 requests in each window.
- Both recent p95 estimates at least twice the baseline and at least 500 ms higher.
- Comparable histogram layouts and consistent release data. Both recent windows must use the same release.
Compare traces
Open the runtime incident and find Endpoint regression. Review the baseline and recent request counts and p95 estimates. Compare the normal and slow request traces and their child spans. A missing trace means no matching trace was retained for that window. Enable coverage for future requests; the platform cannot recreate a discarded trace. Unmeasured time does not identify a database or dependency as the cause.Give user feedback
Here, user feedback means your team’s verdict on the incident diagnosis. It is not a survey sent to your application’s users.- Correct diagnosis: the explanation matches your findings and further fix work can continue.
- Incorrect diagnosis: the explanation is wrong. Stop new fix work for this incident.
- Expected behavior: the slower behavior is intentional or acceptable. Stop new fix work for this incident.

