bevy_metrics_dashboard

Crates.iobevy_metrics_dashboard
lib.rsbevy_metrics_dashboard
version0.6.1
created_at2025-01-14 05:49:54.465277+00
updated_at2025-05-14 01:28:22.637727+00
descriptionMetrics dashboard for Bevy apps
homepagehttps://github.com/bonsairobo/bevy_metrics_dashboard
repositoryhttps://github.com/bonsairobo/bevy_metrics_dashboard
max_upload_size
id1515510
size312,973
Duncan (bonsairobo)

documentation

https://docs.rs/bevy_metrics_dashboard

README

A metrics dashboard for Bevy.

This library enables Bevy apps to search and plot any metrics defined by the metrics crate within the app itself.

screen

Should I use this?

This library is not a replacement for tools that export metrics into a monitoring service with a time series database, nor does it reject that methodology. This library is a supplemental tool that allows users to cheaply plot high-resolution metrics in real time within the app that defines them. As such, this tool shines when you are debugging an issue that is reproducible and requires real-time feedback or ad-hoc instrumentation.

How does it work?

The metrics crate lets developers define metrics in their code using simple macros. Each process has a global registry (AKA "recorder") of all of the metrics that have been used or described in code.

The provided Bevy plugin defines and installs a registry, and the dashboard widget lets users search the registry and plot metrics.

Getting Started

See the "examples" directory.

Steps for plotting your metrics:

  1. Define metrics using the [metrics] crate.
  2. Add the bevy_egui::EguiPlugin, [RegistryPlugin], and DashboardPlugin to your app. You may need to enable the bevy_egui feature.
  3. Spawn an entity with the [DashboardWindow] component.

Low-Level API

You can build your own metrics dashboard widgets by reusing building blocks like the search bar and plot widgets. Read the source code of [DashboardWindow] to see how it works.

Version Support

bevy_metrics_dashboard bevy egui bevy_egui
0.6 0.15 0.31 0.33
0.5 0.15 0.31 + 0.30 0.32
0.4 0.15 0.30 0.32
0.3 0.14 0.31 + 0.29 0.30
Commit count: 67

cargo fmt