Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bevyengine
GitHub Repository: bevyengine/bevy
Path: blob/main/crates/bevy_diagnostic/src/lib.rs
6595 views
1
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
2
#![forbid(unsafe_code)]
3
#![doc(
4
html_logo_url = "https://bevy.org/assets/icon.png",
5
html_favicon_url = "https://bevy.org/assets/icon.png"
6
)]
7
#![no_std]
8
9
//! This crate provides a straightforward solution for integrating diagnostics in the [Bevy game engine](https://bevy.org/).
10
//! It allows users to easily add diagnostic functionality to their Bevy applications, enhancing
11
//! their ability to monitor and optimize their game's.
12
13
#[cfg(feature = "std")]
14
extern crate std;
15
16
extern crate alloc;
17
18
mod diagnostic;
19
mod entity_count_diagnostics_plugin;
20
mod frame_count_diagnostics_plugin;
21
mod frame_time_diagnostics_plugin;
22
mod log_diagnostics_plugin;
23
#[cfg(feature = "sysinfo_plugin")]
24
mod system_information_diagnostics_plugin;
25
26
pub use diagnostic::*;
27
28
pub use entity_count_diagnostics_plugin::EntityCountDiagnosticsPlugin;
29
pub use frame_count_diagnostics_plugin::{update_frame_count, FrameCount, FrameCountPlugin};
30
pub use frame_time_diagnostics_plugin::FrameTimeDiagnosticsPlugin;
31
pub use log_diagnostics_plugin::{LogDiagnosticsPlugin, LogDiagnosticsState};
32
#[cfg(feature = "sysinfo_plugin")]
33
pub use system_information_diagnostics_plugin::{SystemInfo, SystemInformationDiagnosticsPlugin};
34
35
use bevy_app::prelude::*;
36
37
/// Adds core diagnostics resources to an App.
38
#[derive(Default)]
39
pub struct DiagnosticsPlugin;
40
41
impl Plugin for DiagnosticsPlugin {
42
fn build(&self, app: &mut App) {
43
app.init_resource::<DiagnosticsStore>();
44
45
#[cfg(feature = "sysinfo_plugin")]
46
app.init_resource::<SystemInfo>();
47
}
48
}
49
50
/// Default max history length for new diagnostics.
51
pub const DEFAULT_MAX_HISTORY_LENGTH: usize = 120;
52
53