This directory contains several examples on how to use the OpenTelemetry extension for different application types. You will find details on how to use the examples in the corresponding readme files:
- A simple JDK8-based application
- A simple JDK21-based application
- A Quarkus-based REST service
- A Spring-based REST service
For all application types, we are publishing the metric and span data to OpenTelemetry compatible backends (OpenTelemetry Collector, Prometheus, Grafana and optionally Jaeger) as shown in the following architectural overview:
These backends can be started using the following command:
docker compose -f ./docker/docker-compose.yml up -d
This will start an OpenTelemetry Collector to which the metric and trace data is being sent. Furthermore, it starts Prometheus instance to store the metric data and a Grafana instance to visualize the metrics stored in Prometheus. Within the Grafana instance, you will find different pre-configured dashboards that you use to display the data of the different application types. You can open the Grafana dashboads using the following URL:
http://localhost:3000/grafana/dashboards
You can optionally also start a Jaeger instance by commenting out the corresponding section in the docker compose file to visualize the span attributes.