Case study

Simracing Telemetry Dashboard

Grafana-based simracing telemetry visualization

A stream-oriented simracing telemetry pipeline that packages UDP intake, a Go processing layer, a Grafana data source plugin, a React plugin UI, and a dashboard surface in a Docker Compose runtime.

  • Observability pipeline
  • Completed
  • Grafana
  • Go
  • React
  • Docker
  • Telemetry

At a glance

What matters first

What it is
Simracing telemetry pipeline around UDP intake, a Grafana data source plugin, and a local dashboard runtime.
My role
Built the Go processing path, Grafana plugin package, React configuration UI, provisioning, and Docker Compose runtime.
Core stack
Go, React, Grafana plugin, Docker Compose, UDP simracing telemetry.
Best evidence
Pipeline visual showing stream intake, plugin integration, dashboard placement, and runtime packaging.

Pipeline

The release bundle exposes a UDP simracing telemetry input on port 33740 inside a local Grafana runtime. The pipeline is simple to scan: stream intake, Go processing, Grafana data source plugin, React configuration UI, dashboard surface, and Docker Compose packaging.

Grafana Integration

The Go processing layer sits behind the Grafana data source plugin and turns incoming telemetry into values Grafana can request. The React plugin UI gives the data source a configuration surface inside Grafana.

The visual below keeps the focus on the runtime path: UDP input enters the package, the backend handles telemetry-facing work, and Grafana renders through the plugin.

Pipeline evidence

Telemetry observability path

Telemetry pipeline diagram A pipeline from UDP telemetry input through Go processing, a Grafana data source plugin, a React plugin UI, dashboard panels, and Docker Compose packaging. Docker Compose local runtime UDP stream port 33740 input only Go layer processing backend path data source plugin React UI settings dashboard panel runtime binds Grafana 3000, UDP 33740, plugin files, provisioning, and storage Mobile telemetry pipeline diagram A stacked pipeline from UDP telemetry input to Go processing, Grafana plugin, React plugin UI, dashboard panel placement, and Docker Compose runtime package. Docker Compose runtime UDP telemetry stream port 33740 input Go processing layer backend data path Grafana data source plugin package React plugin UI configuration surface dashboard panel placement

The panel block shows where dashboard rendering sits in the local runtime package.

Packaging

Docker Compose mounts the plugin and provisioning files, exposes Grafana on port 3000, maps the UDP telemetry port, and enables the local unsigned plugin.

Runtime boundary

Runtime partPublic evidenceNote
UDP inputPort 33740 is exposed by the local package.Local UDP listener.
GrafanaPort 3000, plugin mount, provisioning, and unsigned plugin setting are in the Docker Compose bundle.Local runtime package.
Plugin UIReact configuration surface sits inside the Grafana data source plugin.Plugin configuration surface.

What I Learned

The useful part of the project is the package shape. A telemetry dashboard becomes easier to reason about when stream intake, plugin code, provisioning, and local runtime setup are treated as one observability pipeline.