opentelemetry-dotnet-instru.../examples/demo/README.md

56 lines
1.4 KiB
Markdown

# Demo
## Description
This is a demonstrative example that uses Docker Compose.
It consists of following services:
1. [`client`](Client) - console application that makes a HTTP GET request
instrumented with OpenTelemetry .NET Automatic Instrumentation.
2. [`service`](Service) - simple HTTP server using SQL Server.
The application additionally has manual instrumentation (traces, metrics, logs)
on top of the automatic instrumentation.
3. `sqlserver` - [Microsoft SQL Server](https://hub.docker.com/_/microsoft-mssql-server)
used by `service`
4. `otel-collector` - [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/)
which collects the telemetry send by `client` and `service`
5. `jaeger` - [Jaeger](https://www.jaegertracing.io/) as traces backend
6. `prometheus` - [Prometheus](https://prometheus.io/) as metrics backend
7. `loki` - [Grafana Loki](https://grafana.com/oss/loki/) as logs backend
8. `grafana` - [Grafana](https://grafana.com/oss/grafana/) as telemetry UI
## Usage
Windows (Git Bash):
```sh
docker-compose up -d --build
```
macOS and Linux:
```sh
make
```
You can [explore](https://grafana.com/docs/grafana/v9.3/explore/)
the telemetry in [Grafana UI](http://localhost:3000/).
You can also find the exported telemetry in the `log` directory.
## Cleanup
Windows (Git Bash):
```sh
docker-compose down --remove-orphans
rm -rf log
```
macOS and Linux:
```sh
make clean
```