Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dgzlopes/foobar-demo
Distributed tracing demo.
https://github.com/dgzlopes/foobar-demo
demo distributed-tracing k6 opentelemetry tempo tracing
Last synced: about 2 months ago
JSON representation
Distributed tracing demo.
- Host: GitHub
- URL: https://github.com/dgzlopes/foobar-demo
- Owner: dgzlopes
- License: apache-2.0
- Created: 2021-03-02T09:41:24.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-11-03T13:39:15.000Z (about 1 year ago)
- Last Synced: 2023-11-03T14:37:24.582Z (about 1 year ago)
- Topics: demo, distributed-tracing, k6, opentelemetry, tempo, tracing
- Language: Python
- Homepage:
- Size: 145 KB
- Stars: 22
- Watchers: 5
- Forks: 10
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## foobar
This is a distributed tracing demo! Foobar consists of two **extremely** complex services: foo and bar.
On this demo:
- You can generate load with k6.
- Services foo and bar:
- Are written in Python.
- Are instrumented with OpenTelemetry.
- Export the spans to an OpenTelemetry Collector using the OTLP exporter.
- The OpenTelemetry Collector exports the tracing data to Grafana Tempo.
- Grafana Tempo can be queried from Grafana.Here's a small diagram:
## QuickStart
Requirements: Docker and Docker Compose.
1. Build and run services with docker-compose:
```
docker-compose up --build -d
```2. See running services with:
```
docker-compose ps
```3. Generate some load with k6:
```
docker run -i --network=foobar-demo_default grafana/k6 run --quiet - Explore -> Tempo and paste the `trace_id`.
7. Stop the whole setup with:
```
docker-compose stop
```