This is a sample set of apps that demonstrates how tracing information carries over from a client app to a service app and then gets aggregated into Zipkin UI
First create the images for all apps using
./gradlew jibDockerBuild
and then
docker-compose up
The application helper UI to send sample requests via the Client-App to the service app will be available at http://<dockerip>:8080
Zipkin UI will be at http://<dockerip>:9411 Graphana at http://<dockerip>:3000 and Prometheus at http://<dockerip>:3000
Assuming that httpie is installed
http POST 'http://localhost:8080/passthrough/messages' id="1" payload="one" delay="1000"
OR with CURL
curl -X "POST" "http://localhost:8080/passthrough/messages" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d $'{
"id": "1",
"payload": "one",
"delay": "1000"
}'
Trace information should get logged into the console and end up in Zipkin UI available at http://localhost:9411
A gatling based load can be sent to the app using:
./gradlew -p applications/load-scripts -DTARGET_URL=http://localhost:8080 -DSIM_USERS=50 gatlingRun