https://github.com/openzipkin/zipkin-php-example
See how much time php services spend on an http request
https://github.com/openzipkin/zipkin-php-example
distributed-tracing openzipkin zipkin
Last synced: 5 months ago
JSON representation
See how much time php services spend on an http request
- Host: GitHub
- URL: https://github.com/openzipkin/zipkin-php-example
- Owner: openzipkin
- License: apache-2.0
- Created: 2017-09-20T15:12:19.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-02-04T17:54:58.000Z (over 3 years ago)
- Last Synced: 2025-04-08T17:07:51.763Z (6 months ago)
- Topics: distributed-tracing, openzipkin, zipkin
- Language: PHP
- Size: 90.8 KB
- Stars: 59
- Watchers: 15
- Forks: 25
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Zipkin PHP example
[](https://circleci.com/gh/openzipkin/zipkin-php-example/tree/master)
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
- [Composer](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx)
- [Docker](https://docs.docker.com/engine/installation/) (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
```bash
composer install
```Once the dependencies are installed, run the services:
```bash
# 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.## 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.```bash
# 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```