# 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 ```