practical-opentelemetry
practical-opentelemetry copied to clipboard
Make OpenTelemetry works on .NET Core with features such as tracing, logs and metrics on multiple protocols like HTTP/gRPC/UDP/TCP...
Opentelemetry Experiment with .NET Core 3.x
This is a demo to show how to use OpenTelemetry for tracing on multiple services with multi-protocols on .NET Core 3.x
Demo scenario
- Web API (REST) - http://localhost:5000
- WeatherService (gRPC) - http://localhost:5002
- ProductService (REST) - http://localhost:5001
- MeteoriteService (gRPC) - http://localhost:5003

Step 1:
$ docker-compose up
Step 2:
Then run 3 projects above with Visual Studio or Visual Code
Step 3: Run Web API with url as below
http://localhost:
Jaeger UI
REST -> gRPC -> REST

Zipkin UI
REST -> gRPC -> REST

Trace from SampleWeb to MeteoriteService and to Remote URL at https://data.nasa.gov/resource/y77d-th95.json

Trace with error on the consumer side

Prometheus - Grafana
Healthcheck with Prometheus

Monotoring .NET resource with Grafana

Loki - Grafana
Type {app="sample-web", level="information"} \d{1,9}ms on Log labels

Seq UI
