Unlocking Observability: How OCI APM Embraces OpenTelemetry

Ashish GuptaAshish Gupta
4 min read

Episode 2: How OCI APM Leverages OpenTelemetry for Distributed Tracing

Modern applications are more complex than ever, often spanning multiple cloud providers and services. To truly understand their behavior, you need a way to trace a request as it hops from one service to another. This is where distributed tracing comes in, and OpenTelemetry (OTel) is the open-source standard that makes it possible. In this post, we'll explore how Oracle Cloud Infrastructure (OCI) Application Performance Monitoring (APM), a powerful native cloud service, embraces OpenTelemetry to provide comprehensive observability.

What is OpenTelemetry?

OpenTelemetry (often shortened to OTel) is a vendor-neutral, open-source observability framework. Its core purpose is to provide a single set of APIs, SDKs, and tools to instrument your applications, enabling you to generate, collect, and export telemetry data (traces, metrics, and logs) without being tied to a specific monitoring solution. Before OTel, developers had to use different, vendor-specific APIs for each observability backend, creating a tangled mess of code. By adopting OTel, you can instrument your application once and then switch between different observability backends—such as OCI APM—with minimal effort, freeing you from vendor lock-in and simplifying your codebase.

source:Otel docs

OCI APM's Hybrid Approach

OCI APM offers a sophisticated, native solution for monitoring your applications. It comes with its agents for deep, proprietary diagnostics, giving you insights into everything from Java thread profiling to JavaScript error analysis. This is its core strength: providing rich, out-of-the-box visibility for applications running on OCI.

However, OCI recognizes that applications don't live in a silo. They need to interact with services on-premises or on other clouds. This is where the integration with OpenTelemetry is a game-changer. OCI APM is designed to ingest telemetry data—including spans, metrics, and logs—that is generated by OTel-compatible tracers from any programming language. This capability is powered by the OpenTelemetry Protocol (OTLP), which is the standard for exporting telemetry data.

The Power of Vendor Neutrality

By supporting OpenTelemetry, OCI APM provides a significant advantage: vendor-neutral observability. This means you don't have to be locked into OCI's proprietary agents. You can instrument your applications with standard OpenTelemetry SDKs, and that same telemetry data can be sent to OCI APM for analysis. This is particularly valuable for organizations with a multi-cloud or hybrid strategy.

  • Flexibility: You can use OpenTelemetry to instrument microservices running on a variety of platforms, and OCI APM can collect and visualize the distributed traces from all of them.

  • Deep Diagnostics: For applications where you need more detailed analysis, you can still use OCI's enhanced agents to get deep-level diagnostics while maintaining OpenTelemetry for the rest of your architecture.

  • Simplified Tooling: You don't need to learn a new, different API for every cloud provider. OpenTelemetry becomes the "lingua franca" of your observability stack.

Getting Started: The Configuration

Configuring OpenTelemetry to work with OCI APM is a straightforward process. The core idea is to point your OpenTelemetry tracers to the correct OCI APM endpoint.

  1. Retrieve the OCI APM Collector URL and Data Key: In the OCI Console, you'll find a unique URL and a public or private data key for your APM domain. These credentials are what authorize your telemetry data to be sent to OCI.

  2. Configure Your OTel Tracer: In your application's OpenTelemetry configuration (typically in code or a configuration file), set the exporter to send data to the OCI APM Collector URL. You will also need to include your data key. For example, in a Java application, this might involve setting environment variables or properties. OCI APM accepts data in the standard OTLP format.

  3. Run Your Application: Once configured, your application will start generating and exporting traces. OCI APM will automatically ingest and process this data, creating end-to-end distributed traces that you can visualize in the Trace Explorer.

For those who want to use a hybrid approach, you can also configure the OCI APM Java agent to work with OpenTelemetry APIs for manual instrumentation, giving you granular control over your tracing.

Key Takeaways

OCI APM's embrace of OpenTelemetry is a clear signal of its commitment to a flexible, open future for observability. By offering both its powerful native agents and seamless OTel ingestion, OCI gives users the best of both worlds: the deep insights of a purpose-built solution combined with the vendor freedom of a global standard. This hybrid model empowers you to build a cohesive observability strategy that works for your entire application ecosystem, no matter where your services are running.

References


For more detailed implementation guides and technical documentation, visit the resources above or consult with Oracle Cloud experts to design the optimal OTEL strategy for your organization.

0
Subscribe to my newsletter

Read articles from Ashish Gupta directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ashish Gupta
Ashish Gupta