56 lines
1.4 KiB
Markdown
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
|
|
```
|