Application Performance Monitoring: Using Zipkin PHP to Monitor an Application

August 27, 2021 | 3 minute read
Daniela Hansell
Director, Observability and Management
Text Size 100%:

Hello again, Oracle Cloud observability and management followers! 

In a prior blog, we shared an example of Python code instrumentation that allowed you to analyze trace data in Oracle Cloud Infrastructure Application Performance Monitoring. 

You have seen how Application Performance Monitoring (APM), an Oracle Cloud Infrastructure (OCI) native service, enables DevOps engineers and application administrators to monitor the end users experience by tracing multiple components and application logic distributed across various clients, third-party services, and backend tiers,  in the Cloud or on-premises.


So how does Distributed Tracing work?


OCI APM collects and processes transaction instance data from pre-defined data sources, open-source tracers, or directly using APIs.

Distributed Tracing is a method used to profile and monitor applications. OpenTracing is an open-source project that provides vendor-neutral APIs and instrumentation for distributed tracing.

Support for OpenTracing in APM enables application developers to instrument their application code themselves and analyze the trace data in APM. 

With OpenTracing support, monitoring with APM is unlimited! 


What other applications can I monitor?


In this follow-up blog we will demonstrate how to use Zipkin PHP, the official PHP Tracer implementation for Zipkin supported by the OpenZipkin community.


We will use a sample PHP application with two PHP services that collaborate on an HTTP request. When the application runs, the requests timing is recorded into PHP Zipkin tracer. The recorded data allows you to analyze performance by monitoring operation timing spent in each service. This is the data uploaded to APM for visualization and further analysis.


The configuration steps can simply be summarized as follows:

  1. Create an APM Domain using the OCI APM console. Be sure to make a note of the upload endpoint and data keys.

Domain Details


  1. Customize the tracer code to point to APM:


Description automatically generated


  1. Analyze your data in the APM Trace Explorer:

Trace Explorer

So, let’s get started!  Follow along to see how you can instrument your application using this easy step by step tutorial.

APM provides deep visibility into the applications data, offers insight into the real experience of end users, and identifies performance issues quickly.  APM integrates with Zipkin to deliver solutions that improve service levels and enhance user experience.

To learn a lot more about Application Performance Monitoring visit:


Daniela Hansell

Director, Observability and Management

Daniela has a background in Oracle Observability and Management solutions product management, training, and curriculum development.  She currently manages the observability and management user assistance development team, focusing on optimizing the end user experience with our products and various types of technical content.

Previous Post

Managing Exadata Cloud Targets Using Enterprise Manager

Timothy Mooney | 8 min read

Next Post

Webcast: Secure Multitenant Databases and Hosts Using Automated Hardening and Security Frameworks

Timothy Mooney | 1 min read