Java Observability from the team behind Pydantic: attach the Java agent, trace an existing service with one JVM flag, and query everything in plain SQL. Standard OpenTelemetry, no lock-in.
Trusted by teams building production software and AI
What you get
One request, one trace
A Logfire trace of one Java request. An ad lookup resolves a feature flag over gRPC, logs the targeting it applied, looks up ads by category and resolves a second flag.
The OpenTelemetry Java agent instruments supported libraries at class-load time. Your servlet container, JDBC driver, HTTP client, and messaging library start producing spans because of a JVM flag, not because you edited them. For an existing Java service that nobody wants to refactor, this is the cheapest observability you can buy.
Broad framework coverage you do not maintain
The OpenTelemetry Java agent instruments Spring Boot, Tomcat, Jetty, Netty, JDBC, Hibernate, Kafka, gRPC, Apache HttpClient, Cassandra, and much of the rest of its instrumentation catalogue. That coverage is maintained by the OpenTelemetry project rather than by a single vendor, so it keeps pace with the ecosystem rather than with one company's roadmap.
Standard OTLP, so genuinely no lock-in
Logfire is configured entirely through OTEL_ environment variables: an endpoint, a header, a protocol. Your application never references Logfire. Repoint those variables at another OpenTelemetry backend, or at your own collector, and nothing in the app changes.
Java signals in one project
Send Java agent traces and any OTLP metrics or logs to the same Logfire project. The service and resource attributes stay queryable across signals, so a production investigation does not stop at the edge of a trace.
SQL instead of a query language you have to learn
Use PostgreSQL-compatible SQL to compare Java services by route, dependency, status, or any attribute the instrumentation records. A useful investigation can be saved as a dashboard or alert without translating it into another query language.
Query
Query your Java telemetry with SQL
If you can ask it, SQL can find out
Query your traces, metrics and logs with real SQL
No proprietary query language to learn
AI models are great at writing SQL
From a one-off investigation to an alert, dashboard, or SLO
select
attributes->>'http.route'as route,
count(*) as requests,
avg(duration) as avg_seconds
from records
where duration >1groupby route
orderby avg_seconds desc;
Proof
In production
“
You can tell that Pydantic Logfire was built by people who use it.
You want traces from an existing Java service without changing its code
You want the standard OpenTelemetry agent rather than a proprietary vendor agent
You want to query traces, metrics, and logs with PostgreSQL-compatible SQL
You want a hosted backend without running Jaeger, Prometheus, and storage yourself
You want the option to repoint at another backend without touching the application
Choose a vendor APM if
You want a vendor-maintained Java SDK with vendor-specific APIs
You are already deeply integrated with a specific APM vendor's ecosystem
You need a vendor-only integration or compliance capability Logfire does not offer
FAQ
Common questions
Is there a Logfire SDK for Java?
No, and you do not need one. Java uses the standard OpenTelemetry auto-instrumentation agent, and Logfire is the OTLP backend it reports to. That means there is nothing proprietary to adopt and nothing to remove later. First-party Logfire SDKs exist for Python, TypeScript, and Rust.
Do I have to change my application code?
No. The OpenTelemetry Java agent attaches at JVM start with the -javaagent flag and instruments supported libraries as they are loaded, so your servlet container, JDBC driver, HTTP client, and messaging library produce spans without any source changes. You can add manual spans later for your own business operations.
Why is nothing arriving in Logfire?
The most common cause is protocol. Logfire expects OTEL_EXPORTER_OTLP_PROTOCOL set to http/protobuf, while some OpenTelemetry setups default to gRPC. After that, check the endpoint matches your project's data region and that the Authorization header carries a valid write token.
Does this work with Spring Boot?
Yes. Spring Boot is covered by the OpenTelemetry Java agent's instrumentation catalogue, so the same -javaagent flag applies with no extra configuration. The agent also covers JDBC, Kafka, and gRPC among many others.
Am I locked in to Logfire?
No. Configuration is entirely standard OTEL_ environment variables, so your application has no knowledge of Logfire at all. Repoint the endpoint at a different OpenTelemetry-compatible backend at any time, or self-host, without touching your application or its instrumentation.
Start seeing your Java service
Get started with 10 million free spans, logs, and metrics per month. No credit card required.