An example to show deferpanic's dapper/zipkin style tracing in a SOA/micro-service environment.
There are a variety of tools out there that show you the HTTP latency but very few allow you to drill down from the network call into the app layer so you can see stats such as memory && GC at that point in time from that service.
The ability to drilldown from a request just like you would do in chrome is vital.
Many users implement SOA - service oriented architecture or 'micro-services' in their companies. We believe this is a sea change and want to show you that you can't just install old-school devops agents on your boxes anymore - it's vital to be watching your APP traffic flow.
Servers aren't greek gods controlled by the BOFH anymore - they are free range cattle. If a single SRE can control 10k servers where does that leave the developer?
We're here to help.
After going through this example you'll be able to see your distributed requests like the following:
Clicking Through to Zeus's View from Olympus:
curl https://api.deferpanic.com/v1.10/users/create \
-X POST \
-d "email=test@test.com" \
-d "password=password"
find . -name "*.go" -type f -print0 | xargs -0 sed -i '' 's/v00L0K6CdKjE4QwX5DL1iiODxovAHUfo/mytoken/g'
make
make run
In this example we have a total of 5 micro-services running, named naturally after the greek gods.
zeus
- listens on port 3000
- talks to athena
- talks to hercules
- latency is ~ 1630ms
athena
- listens on port 3001
- talks to aphrodite
- talks to dionysus
- latency is ~ 1120ms
aphrodite
- listens on port 3003
- talks to athena
- latency is ~ 610ms
dionysus
- listens on port 3004
- talks to athena
- latency is ~ 510ms
hercules
- listens on port 3002
- talks to hercules
- latency is ~ 510ms