We’ll explore how to instrument code and visualize telemetry data and logs using OpenTelemetry and the Grafana open-source stack.
- Add OpenTelemetry metrics to a basic ROS2 service tutorial.
- Create a dashboard to show the telemetry in Grafana.
- Read a sensor (temperature/humidity, ...) from your laptop and instrument it as a metric or log event with OpenTelemetry.
- Create a Grafana dashboard to view the data.
- Add metrics, traces, or logs to an existing C++ (or Python) project and create a dashboard.
- Bring a laptop capable of running a Linux-based Docker container and VSCode with the devcontainer extension.
- Pre-install Docker and ensure docker-compose is working.
- A docker-compose file that sets up Grafana, Loki, Mimir, Tempo, and the OpenTelemetry Collector will be provided so you can quickly instrument and visualize your data.
- Hands-on experience with opentelemetry metrics, logs, and traces.
- Collaborative coding to learn how observability helps diagnose and optimize robotics/IoT systems.
- Quick demos where teams share their dashboards and share what you've developed.
-
Clone this repository
git clone https://github.com/dbarker/cmu-africa-hackathon.git
cd cmu-africa-hackathon
-
Open VSCode
code .
-
Open the DevContainer
Cntr+shift+P
Dev Containers: Reopen in Container
-
Wait for the container to build (requires internet access)
-
Open a termainal and build the example
colcon build
-
Run the example
source install/setup.bash
ros2 run opentelemetry_ros2_example_cpp simple_process_cpp
-
View the logs, metrics, and traces in Grafana