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