1 //! This module contains information need to view information about how the
2 //! runtime is performing.
3 //!
4 //! **Note**: This is an [unstable API][unstable]. The public API of types in
5 //! this module may break in 1.x releases. See [the documentation on unstable
6 //! features][unstable] for details.
7 //!
8 //! [unstable]: crate#unstable-features
9 #![allow(clippy::module_inception)]
10 
11 mod runtime;
12 pub use runtime::RuntimeMetrics;
13 
14 cfg_unstable_metrics! {
15     mod batch;
16     pub(crate) use batch::MetricsBatch;
17 
18     mod histogram;
19     pub(crate) use histogram::{Histogram, HistogramBatch, HistogramBuilder};
20     #[allow(unreachable_pub)] // rust-lang/rust#57411
21     pub use histogram::{HistogramScale, HistogramConfiguration, LogHistogram, LogHistogramBuilder, InvalidHistogramConfiguration};
22 
23 
24     mod scheduler;
25     pub(crate) use scheduler::SchedulerMetrics;
26 
27     mod worker;
28     pub(crate) use worker::WorkerMetrics;
29 
30     cfg_net! {
31         mod io;
32         pub(crate) use io::IoDriverMetrics;
33     }
34 }
35 
36 cfg_not_unstable_metrics! {
37     mod mock;
38 
39     pub(crate) use mock::{SchedulerMetrics, WorkerMetrics, MetricsBatch, HistogramBuilder};
40 }
41