Home  /  Journal  /  OCI Monitoring and Observability: The Complete Guide  /  Application Performance Monitoring on OCI
OCI Monitoring

Application Performance Monitoring on OCI

Infrastructure monitoring tells you the servers are healthy. It does not tell you why a particular page takes four seconds to load. Application Performance Monitoring fills that gap, following requests through the application to show exactly where time goes and where errors arise.

Published May 26, 2025 · By the OCI Specialists team · 9 min read · Independent OCI advisory
A developer studying performance graphs on a monitor

There is a frustrating moment familiar to anyone who runs applications. Every server is healthy, every metric is green, the database looks fine, and yet users are complaining that the application is slow. Infrastructure monitoring has nothing to say, because from its point of view nothing is wrong. The problem lives inside the application, in the path a request takes through the code and the services it calls, and that path is invisible to anything watching from the outside. Application Performance Monitoring, usually shortened to APM, exists precisely for this. It instruments the application itself so that you can see where a request actually spends its time and where it fails, turning a baffling slowness into a specific, fixable cause.

What APM sees that infrastructure monitoring cannot

Infrastructure monitoring watches the containers the application runs in, the servers, the databases, the networks. APM watches the work the application does. The difference is the difference between knowing the kitchen is staffed and equipped and knowing why a particular order took an hour to arrive. A request to an application typically passes through several stages, calling internal functions, querying databases, and invoking other services, and the total time the user experiences is the sum of all those stages. Infrastructure monitoring sees none of this breakdown. APM sees all of it, recording how long each stage took, so that when a request is slow you can see that, say, most of the time went into one particular database query rather than guessing. This visibility into the inside of a request is what no amount of infrastructure monitoring can provide.

Infrastructure monitoring knows the kitchen is staffed. APM knows why a particular order took an hour to arrive.

Traces and spans

The core concepts in APM are traces and spans. A trace is the complete record of one request as it moves through the application, from the moment it arrives to the moment a response goes back. A span is one segment of that journey, a single operation such as a function call or a database query, with its own start, end, and duration. A trace is made up of many spans, nested to show which operations happened inside which others. Reading a trace, you can see the whole request laid out as a timeline, with each span's duration visible, so the slow part jumps out. If one span dominates the total time, that is where to look. This is a far more direct route to a cause than staring at infrastructure metrics and inferring, and it is the heart of how APM accelerates diagnosis.

ConceptWhat it representsWhat it tells you
TraceOne full request through the applicationThe total experience and its breakdown
SpanOne operation within the requestHow long that step took, and if it failed
Service mapHow services call each otherThe shape of the system and its dependencies

APM also assembles spans across services into a service map, a picture of how the parts of a distributed application call one another. This is valuable on its own, because in many systems no single person fully knows the dependency graph, and seeing it laid out reveals couplings and bottlenecks that were not obvious. The deeper mechanics of following a request across service boundaries are covered in the discussion of tracing distributed apps on OCI.

Synthetic and real user monitoring

APM looks at application performance from two complementary angles. Real user monitoring measures what actual users experience, capturing the real timings of real requests, which tells you the truth about how the application performs in practice for the people using it. Synthetic monitoring takes the other angle, running scripted requests on a schedule from defined locations, which tells you whether key journeys work and how fast they are even when no real user happens to be exercising them right now. The two answer different questions. Real user monitoring answers how is the application performing for the people using it, including the variety of devices and locations they come from. Synthetic monitoring answers is the application working at all, right now, for this critical path, and it catches problems during quiet periods before any real user hits them. A mature APM setup uses both.

Instrumenting an application

APM needs the application to be instrumented, which means adding the means for it to emit traces. This can be done automatically for many common frameworks, where an agent observes the application and produces spans without code changes, or manually, where developers add instrumentation to mark the specific operations they care about. Automatic instrumentation gets you a long way quickly and is the right starting point, because it captures the common stages, the web requests and database calls, with little effort. Manual instrumentation adds precision where it matters, letting developers mark business specific operations that no automatic agent would know to track. The usual path is to start with automatic instrumentation for broad coverage and add manual spans around the operations that turn out to need closer attention.

A framework for adopting APM

Bringing APM to an application pays off fastest when approached in order. The steps below describe a sensible path.

  1. Instrument the entry points. Start with automatic instrumentation on the main request paths so traces begin flowing with little effort.
  2. Find the slow spans. Use the traces to see where time actually goes, and confirm the real bottlenecks rather than the assumed ones.
  3. Add depth where it matters. Add manual spans around the business critical operations that the automatic instrumentation does not capture.
  4. Add synthetic checks. Script the critical user journeys so they are watched continuously, catching breaks during quiet times.
  5. Tie it to objectives. Connect the timings to service level objectives so performance is measured against a defined target.

This order delivers value early, since the first step alone usually reveals surprises, and builds toward a complete picture of both how the application performs for real users and whether its critical paths are healthy at all times.

Seeing inside the application

The reason APM matters is that modern applications are too complex to understand from the outside. The path a request takes, the services it touches, the queries it runs, and the time each consumes are invisible to infrastructure monitoring, and yet they are exactly what determines the experience a user gets. APM makes that interior visible, turning slow application into a specific slow operation you can fix. It is the layer of observability that sits closest to the user experience, and it complements the infrastructure view and the logs that hold the detail. For containerised applications, it pairs with monitoring OKE workloads, and it forms part of the wider practice in the complete monitoring and observability guide. When you want real visibility into why your applications perform the way they do, our OCI monitoring and observability practice sets up APM the way described here.

Moving Oracle workloads to OCI, or already running on OCI and not sure the architecture or the spend is right? Most teams bring in a specialist before they commit to a region, a shape, or a Universal Credits number. OCISpecialists.com plans the landing zone, runs the migration, and manages the estate after go live, on a fixed project fee, a managed monthly retainer, or a cost optimization fee paid only on verified savings. For the Oracle licensing and BYOL side of any OCI move, Redress Compliance is the leading independent Oracle licensing and negotiation firm, with 500+ engagements across Oracle's full product line.