Find the service behind the incident
Logfire turns the traces you already send into a live service inventory, RED metrics, deploy context, and dependency health. Start with the signal, then open the requests behind it.
Five-minute fixes instead of an hour
We are finding and fixing issues in five minutes instead of an hour, which is obviously increasing uptime for our clients.
Your traces are the inventory
After its first named span arrives, a service immediately joins the operational view.
Set service_name in the Logfire SDK or service.name in any OpenTelemetry SDK. When a span arrives, the service joins the
inventory for that time window with its traffic, errors, latency, language, and version.
The view follows observed traffic directly. Quiet services remain discoverable by widening the time range; current health always reflects the telemetry that actually arrived.
Reliability targets live on the service's Reliability page, keeping current health and error-budget status in the same operational view.
import logfire
# A service exists because it sent a span.
logfire.configure(service_name='checkout',
service_version='2026.8.3')import * as logfire from '@pydantic/logfire-node'
// A service exists because it sent a span.
logfire.configure({
serviceName: 'checkout',
serviceVersion: '2026.8.3',
})// A service exists because it sent a span.
let logfire = logfire::configure()
.with_service_name("checkout")
.finish()?;# No Logfire SDK. Your OTel SDK reads these, and the
# service appears when it sends its first span.
export OTEL_SERVICE_NAME=checkout
export OTEL_RESOURCE_ATTRIBUTES=service.version=2026.8.3
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
otlp=https://logfire-us.pydantic.dev
export OTEL_EXPORTER_OTLP_ENDPOINT=$otlp
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=$LOGFIRE_TOKEN" See your service map take shape
Start free with 10 million spans, logs, and metrics each month. No credit card required.
Use the service view, then ask your own question
The service views provide convenient service-level aggregations over the underlying telemetry available in Live View and Explore. For additional breakdowns, write the question:
select
r.service_name as service,
count(*) as requests,
sum(case when r.is_exception then 1 else 0 end)
/ count(*)::double as error_rate,
approx_percentile_cont(r.duration, 0.95) as p95
from records r
left join records p
on r.parent_span_id = p.span_id
and r.trace_id = p.trace_id
and p.kind = 'span'
where r.kind = 'span'
and (p.span_id is null
or p.service_name != r.service_name)
and r.start_timestamp > now() - interval '1 hour'
group by service
order by error_rate desc; Group by deployment, customer tier, or region instead. The underlying telemetry supports the default operational path and the question only your system can ask.
Related: APM and distributed tracing for the requests underneath these numbers, SLOs for holding a service to a target, and infrastructure monitoring for what it runs on.
Common questions
Does Logfire have a service map?
Yes. Logfire shows services connected by real cross-service calls in the current window, based on propagated trace context. The topology focuses on the selected service. Databases and external APIs remain visible in their spans; topology nodes represent services.
How do services get discovered?
A service appears after Logfire receives a span with a service name. That name becomes its inventory entry for the selected time window, keeping the operational view aligned with observed traffic. Set service_name in the Logfire SDK or service.name in any OpenTelemetry SDK.
What are RED metrics?
Rate, errors and duration describe how much traffic a service handles, what share fails, and how long requests take. Logfire presents requests, throughput, error rate, p95, and p99 for every observed service in the inventory.
How is the dependency graph built?
An edge exists when a parent span in one service has a child span in another. The topology shows observed cross-service calls for the selected window.
Can I tie a regression to a deploy?
Yes. Set service_version in the Logfire SDK or service.version in OpenTelemetry and the service trend charts show deployment markers. That puts changes in traffic, errors, and latency next to the release that may explain them.
How does this differ from a software catalog?
The Services view is an operational inventory built from observed traffic: a service appears because it sent a span, together with the requests, errors, latency, dependencies and deploy markers that describe how it is behaving now. A software catalog begins with declared ownership and service metadata. Logfire complements that record with production evidence and discovers what is actually running without a separate registration step.
See the service behind the signal
Get started with 10 million free spans, logs, and metrics per month. No credit card required.