Skip to content

Demo of gRPC client/server connection with OpenTelemetry tracing and metrics collection

Notifications You must be signed in to change notification settings

andrew-fcx/otel-grpc-demo

Repository files navigation

otel-grpc-demo

Repo to explore the use of gRPC/protocol buffers and OpenTelemetry. The repo consists of a simple gRPC server (Node.js app) and client (Python app). These are both instrumented with OpenTelemetry to generate traces, metrics, and logs that are received by the OpenTelemetry collector which published them to Jaeger, Prometheus, and Loki, respectively. All of this, plus Grafana, runs in Docker via docker compose to demonstrate OpenTelemetry's capabilities from end-to-end.

Running the demo

To run this demo, in the root of the repo run

docker compose up

This start Jaeger, Prometheus, Loki, Grafana, the OpenTelemetry Collector, and the dummy gRPC server and clients.

To view the traces, metrics, and logs, you will need to add the data sources to Grafana. Grafana is available at localhost:3000. The endpoints for the Jaeger, Prometheus, and Loki when setting up the data sources are:

  • Jaeger: http://jaeger:16686
  • Prometheus: http://prometheus:9090
  • Loki: http://loki:3100

Resources

Next steps

  • Deeper dive into understanding of auto instrumentation. What is in scope?
  • Node.js auto instrumentation. How to instrument auto for all required libraries. e.g. SQL, HTTP, Redis, Kafka, etc.

About

Demo of gRPC client/server connection with OpenTelemetry tracing and metrics collection

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published