Before you start. You need traces arriving from at least one service —
see Send data with OpenTelemetry. Each service
must set
service.name, because that is how APM decides which project a span
belongs to.Where to start
The APM section opens on three views. Everything else is reached by choosing a project first.What a project is
A project is a named record that claims services by name:- A project claims the service whose
service.nameequals the project’s own name, with no further setup. A project calledcheckoutshows the spans of a service reporting ascheckout. - You can add more services to it under Manage → Settings → Services, for a
project named after a business capability that spans several services — for
example
checkoutcoveringcart,catalogueanduser.
A service belongs to one project. Adding a service that another project
already claims is refused with Already mapped, naming the project that
holds it. Remove it there first, then add it here.
Inside a project
Choosing a project opens its dashboard, with a side navigation grouped into five parts:
Every view uses the time range in the toolbar. Changing it reloads every panel
together, so no two panels on a page describe different windows.
The project dashboard
The dashboard answers “is anything wrong” first and “where” second:- Golden signals across the top — services, requests, span error rate and average response time — each compared with the window immediately before the current one.
- Requests over time and Errors over time.
- Response time, switchable between the average per service, the time spent in each layer, and p50/p95/p99 percentiles for the whole project.
- Status codes (HTTP responses only) and a Response time distribution.
- Slowest services, Error rate by service, Apdex and Slowest transactions.
How the numbers are counted
Requests are not spans. An earlier way of counting treated every span as a
request, which inflates throughput by each service’s fan-out. APM counts
server spans only, so its request figures are lower than the span count in
the trace explorer, and that is expected.
How APM relates to traces
APM and the trace explorer read the same spans.- Session Traces inside a project lists that project’s traces. A trace the project took part in arrives whole, across every service it crossed — the project decides which traces are listed, not which spans of a trace you see.
- Trace on the account-level strip lists every trace on the account.
- Opening a trace from an error, an HTTP failure or a slow database operation shows the same waterfall. See Exploring traces for reading it.
Views that are not served yet
Some views in the project navigation are built but wait on an API route that does not exist yet. External requests, JVM metrics, JVM threads and Go routines are among them. These views say so — “This needs …, which the API does not serve yet” — rather than drawing an empty chart that would look like an idle service.Troubleshooting
My project says it is not reporting yet
My project says it is not reporting yet
A project with no telemetry in the selected window shows <name> is
not reporting yet. Check that your service sets
service.name to exactly
the project’s name — for an OpenTelemetry SDK, OTEL_SERVICE_NAME — or add
the name your service reports under Manage → Settings → Services. Then
widen the time range: a service that was quiet in the window has nothing to
show in it. The page fills in once the first span arrives.The Projects list is empty
The Projects list is empty
Nothing reporting, and no projects registered means no service has sent
a span and no project exists yet. A row appears as soon as a service sends a
span or a project is created. See
Send data with OpenTelemetry.
A service shows as unregistered
A service shows as unregistered
It is sending spans, but no project claims its name. Create a project with
that name, or add the service to an existing project under
Manage → Settings → Services.
Project not found, or projectId is required
Project not found, or projectId is required
Project not found means the link names a project that does not exist on
this account — it may have been deleted, or belong to another organization.
projectId is required means the address holds something other than a
project id, such as a service name. Open the project from the Projects
list instead.
A route is missing from Transactions
A route is missing from Transactions
Transactions lists spans that carry both an HTTP method and
http.route. A
span without the route — common when a framework is not auto-instrumented — is still
counted in the dashboard’s requests and response time, but it has no route
to be listed under.Next
Exploring traces
Read the traces behind these numbers.
Services and the service map
How your services call each other.
Real user monitoring
What your users’ browsers experience.
Alerting
Get notified when a number moves.