Automatic instrumentation at compile time. Every API call, database query, and pub/sub message traced without writing instrumentation code.
Encore instruments your code at compile time. Every request is traced automatically, including cross-service calls, database queries, and pub/sub messages.

No OpenTelemetry SDKs, no manual span creation, no context propagation code. Encore's compiler instruments your application automatically at build time.
API requests, database queries, pub/sub messages, HTTP clients, and cron jobs. Every operation traced with request/response data and timing.
Same tracing experience in local development and cloud environments. Debug with production-quality tools from day one.
Write normal application code. Encore handles context propagation, span creation, and trace correlation across service boundaries automatically.
Each trace includes request/response bodies, SQL queries with bound parameters, pub/sub message payloads, and timing for every operation in the request chain.
import { api } from "encore.dev/api";
import { SQLDatabase } from "encore.dev/storage/sqldb";
const db = new SQLDatabase("users", {
migrations: "./migrations"
});
export const getUser = api(
{ method: "GET", path: "/users/:id" },
async ({ id }: { id: string }) => {
// Automatically traced
const user = await db.queryRow`
SELECT * FROM users WHERE id = ${id}
`;
return user;
}
);Encore traces the full lifecycle of every request, giving you complete visibility into how your system behaves in development and production.
HTTP requests across all services with full request/response bodies and headers
SQL queries with execution time, row counts, and the actual query with parameters
Message publish and subscribe operations with payload data and delivery status
Internal API calls between your services, automatically correlated in the trace
Outbound requests to third-party APIs with timing and response data
Scheduled task executions with duration and any errors that occurred

When you run encore run, you get a local development dashboard with full distributed tracing atlocalhost:9400.
Click on any request to see the complete trace, including database queries, service-to-service calls, and any errors with full stack traces.
Encore's built-in tracing works immediately without configuration. Soon you'll be able to export traces via OpenTelemetry to Datadog, Grafana, Honeycomb, or any compatible backend.
Use Encore's dashboard for quick debugging, your existing tools for advanced correlation and alerting, or both.