bevy_metrics_dashboard/
lib.rs1#![warn(missing_docs)]
2#![doc = include_str!("../README.md")]
3
4mod core_metrics_plugin;
5#[cfg(feature = "bevy_egui")]
6mod dashboard_plugin;
7mod dashboard_window;
8mod dropdown_list;
9mod namespace_tree;
10pub mod plots;
11pub mod registry;
12mod registry_plugin;
13mod ring;
14mod search_bar;
15
16#[cfg(feature = "render_metrics")]
17mod render_metrics_plugin;
18
19pub use core_metrics_plugin::CoreMetricsPlugin;
20#[cfg(feature = "bevy_egui")]
21pub use dashboard_plugin::DashboardPlugin;
22pub use dashboard_window::{CachedPlotConfigs, DashboardConfig, DashboardWindow, RequestPlot};
23pub use namespace_tree::NamespaceTreeWindow;
24pub use registry_plugin::{ClearBucketsSystem, RegistryPlugin};
25pub use search_bar::SearchBar;
26
27#[cfg(feature = "render_metrics")]
28pub use render_metrics_plugin::RenderMetricsPlugin;
29
30pub use egui;
31pub use egui_plot;
32
33pub use metrics;
34pub use metrics_util;
35
36use metrics::Unit;
48use metrics_util::MetricKind;
49
50fn metric_kind_str(kind: MetricKind) -> &'static str {
51 match kind {
52 MetricKind::Counter => "counter",
53 MetricKind::Gauge => "gauge",
54 MetricKind::Histogram => "histogram",
55 }
56}
57
58fn unit_str(unit: Unit) -> &'static str {
59 match unit {
60 Unit::Count => "count",
61 Unit::Percent => "%",
62 Unit::Seconds => "s",
63 Unit::Milliseconds => "ms",
64 Unit::Microseconds => "μs",
65 Unit::Nanoseconds => "ns",
66 Unit::Tebibytes => "TiB",
67 Unit::Gibibytes => "GiB",
68 Unit::Mebibytes => "MiB",
69 Unit::Kibibytes => "KiB",
70 Unit::Bytes => "B",
71 Unit::TerabitsPerSecond => "Tb/s",
72 Unit::GigabitsPerSecond => "Gb/s",
73 Unit::MegabitsPerSecond => "Mb/s",
74 Unit::KilobitsPerSecond => "Kb/s",
75 Unit::BitsPerSecond => "b/s",
76 Unit::CountPerSecond => "hz",
77 }
78}