Skip to content

dbarker/cmu-africa-hackathon

Repository files navigation

Hackathon Project: Observability in Robotics and IoT with OpenTelemetry

We’ll explore how to instrument code and visualize telemetry data and logs using OpenTelemetry and the Grafana open-source stack.

Project Ideas

ROS2 Telemetry

  • Add OpenTelemetry metrics to a basic ROS2 service tutorial.
  • Create a dashboard to show the telemetry in Grafana.

Sensor Monitoring

  • 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.

Bring Your Own!

  • Add metrics, traces, or logs to an existing C++ (or Python) project and create a dashboard.

Requirements

  • 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.

What to Expect

  • 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.

Quick Start

  • 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

Helpful References

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages