zipkin-php-example
zipkin-php-example copied to clipboard
See how much time php services spend on an http request
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.

Requirements
Running the example
This example has two services: frontend and backend. They both report trace data to zipkin.
To setup the demo, do
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
- This starts a trace in the frontend (http://localhost:8081/)
- Continues the trace and calls the backend (http://localhost:9000)
- Next, you can view traces that went through the backend via http://localhost:9411/?serviceName=frontend.
Running example with a custom zipkin location:
If you need to pass the zipkin endpoint, just pass the reporter
url as HTTP_REPORTER_URL
env variable.
# In terminal 1:
HTTP_REPORTER_URL=http://myzipkin:9411/api/v2/span composer run-frontend
# In terminal 2
HTTP_REPORTER_URL=http://myzipkin:9411/api/v2/span composer run-backend