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.
Permalink
Failed to load latest commit information.
.circleci
.gitignore
LICENSE
README.md
backend.php
composer.json
frontend.php Bumps into zipkin 1.0.1. Jan 26, 2018
functions.php [#9] Fixes the example and reenables the cronjob. May 23, 2018
screenshot.png

README.md

Zipkin PHP example

CircleCI

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

Requirements

  • 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.