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.
Running the example
This example has two services: frontend and backend. They both report trace data to zipkin.
To setup the demo, do
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:
- 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
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