ifa6 / zipkin-php-example

See how much time php services spend on an http request

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

See how much time php services spend on an http request

License:Apache License 2.0


Languages

Language:PHP 100.0%