Skip to main content
Logfire for services

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 observed services sorted by request volume, with RED metrics and SLO status ready for investigation.
Choose a step in the service investigation
From signal to cause

Follow the service from signal to evidence

Start with the service that moved, put the change next to its deploy, and follow the dependencies built from the same traces. The path stays connected from summary to evidence.

Service inventory with RED metrics and SLO status
Real product view
Services inventory showing five services, approximately 17,000 requests, a 1.2 percent error rate, and service rows with RED metrics and SLO status.
Service trends with the v2.4.1 deploy in context
Real product view
API service detail showing approximately 45,000 requests, a 0.7 percent error rate, latency charts, and a v2.4.1 deploy marker across request and latency trends.
Calls and operations
Real product view
API service detail showing calls, error rates, and latency.
Trace from checkout to the failed payment call
Real product view
Expanded checkout trace showing calls through inventory and payments services, with a failed Stripe request selected and its 504 response details open.
  • OpenTelemetry-native
  • RED metrics out of the box
  • Deployment markers in context
  • SQL over telemetry
Boosted.ai in production

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.
Zach Silver, Staff Software Engineer, BoostedAI Read the case study
Automatic inventory

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')
Try it on your stack

See your service map take shape

Start free with 10 million spans, logs, and metrics each month. No credit card required.

Open by default

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:

RED metrics per service, last hour
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.

FAQ

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.