See how much time php services spend on an http request
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
frontend.php Bumps into zipkin 1.0.1. Jan 26, 2018
functions.php [#9] Fixes the example and reenables the cronjob. May 23, 2018

Zipkin PHP example


This is an example app where two php services collaborate on an http request. Notably, timing of these requests are recorded into Zipkin, a distributed tracing system.

This allows you to see the how long the whole operation took, as well how much time was spent in each service.

This example uses the jcchavezs/zipkin library.

zipkin screen shot


  • Composer
  • Docker (optional, if you have a zipkin endpoint this is not needed)

Running the example

This example has two services: frontend and backend. They both report trace data to zipkin.

To setup the demo, do

// As of zipkin php is still in 1.0.0-betaX
rm composer.lock && composer install

Once the dependencies are installed, run the services:

# Run zipkin (optional):
composer run-zipkin

# In terminal 1:
composer run-frontend

# In terminal 2
composer run-backend

And then, request the frontend:

curl http://localhost:8081
  1. This starts a trace in the frontend (http://localhost:8081/)
  2. Continues the trace and calls the backend (http://localhost:9000)
  3. Next, you can view traces that went through the backend via http://localhost:9411/?serviceName=frontend.