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.
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.
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.
See the "examples" directory.
Steps for plotting your metrics:
- Define metrics using the [
metrics
] crate. - Add the
EguiPlugin
, [RegistryPlugin
], and [DashboardPlugin
] to your app. - Spawn an entity with the [
DashboardWindow
] component.
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.