MCPcopy Index your code
hub / github.com/bonsairobo/bevy_metrics_dashboard

github.com/bonsairobo/bevy_metrics_dashboard @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
128 symbols 201 edges 15 files 41 documented · 32% updated 8mo ago★ 383 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
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.8 0.16 0.32 0.36
0.7 0.16 0.31 0.34
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

Core symbols most depended-on inside this repo

name
called by 16
src/plots.rs
push
called by 14
src/ring.rs
add
called by 9
src/plots.rs
make_search_result
called by 6
src/registry.rs
window_size_slider
called by 4
src/plots.rs
set_max_len
called by 4
src/ring.rs
unit_str
called by 3
src/lib.rs
configure_ui
called by 3
src/plots.rs

Shape

Method 73
Class 28
Function 24
Enum 3

Languages

Rust100%

Modules by API surface

src/plots.rs33 symbols
src/registry.rs27 symbols
src/dashboard_window.rs14 symbols
src/namespace_tree.rs12 symbols
src/ring.rs8 symbols
src/registry_plugin.rs5 symbols
src/search_bar.rs4 symbols
src/render_metrics_plugin.rs4 symbols
src/core_metrics_plugin.rs4 symbols
examples/stress.rs4 symbols
examples/namespace_tree.rs4 symbols
examples/many_metrics.rs4 symbols

For agents

$ claude mcp add bevy_metrics_dashboard \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact