1*bb4ee6a4SAndroid Build Coastguard Worker // Copyright 2022 The ChromiumOS Authors 2*bb4ee6a4SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*bb4ee6a4SAndroid Build Coastguard Worker // found in the LICENSE file. 4*bb4ee6a4SAndroid Build Coastguard Worker 5*bb4ee6a4SAndroid Build Coastguard Worker //! This crate serves to provide metrics bindings to be used throughout the codebase. 6*bb4ee6a4SAndroid Build Coastguard Worker //! For binaries that wish to use metrics, the intention is that an independent metrics 7*bb4ee6a4SAndroid Build Coastguard Worker //! process will run (main loop in the controller mod), and receive requests via a tube from 8*bb4ee6a4SAndroid Build Coastguard Worker //! another process. 9*bb4ee6a4SAndroid Build Coastguard Worker //! 10*bb4ee6a4SAndroid Build Coastguard Worker //! At head, metrics requests are ignored. However, a branching codebase can choose to implement 11*bb4ee6a4SAndroid Build Coastguard Worker //! their own handler which processes and uploads metrics requests as it sees fit, by setting the 12*bb4ee6a4SAndroid Build Coastguard Worker //! appropriate RequestHandler. 13*bb4ee6a4SAndroid Build Coastguard Worker 14*bb4ee6a4SAndroid Build Coastguard Worker mod controller; 15*bb4ee6a4SAndroid Build Coastguard Worker mod local_stats; 16*bb4ee6a4SAndroid Build Coastguard Worker pub mod sys; 17*bb4ee6a4SAndroid Build Coastguard Worker 18*bb4ee6a4SAndroid Build Coastguard Worker pub use controller::MetricsController; 19*bb4ee6a4SAndroid Build Coastguard Worker pub use metrics_events::MetricEventType; 20*bb4ee6a4SAndroid Build Coastguard Worker pub use metrics_product::*; 21*bb4ee6a4SAndroid Build Coastguard Worker 22*bb4ee6a4SAndroid Build Coastguard Worker pub type RequestHandler = MetricsRequestHandler; 23*bb4ee6a4SAndroid Build Coastguard Worker 24*bb4ee6a4SAndroid Build Coastguard Worker pub use local_stats::collect_scoped_byte_latency_stat; 25*bb4ee6a4SAndroid Build Coastguard Worker pub use local_stats::timed_scope; 26*bb4ee6a4SAndroid Build Coastguard Worker pub use local_stats::BytesLatencyStats; 27*bb4ee6a4SAndroid Build Coastguard Worker pub use local_stats::CallOnDrop; 28*bb4ee6a4SAndroid Build Coastguard Worker pub use local_stats::DetailedHistogram; 29*bb4ee6a4SAndroid Build Coastguard Worker pub use local_stats::GetStatsForOp; 30*bb4ee6a4SAndroid Build Coastguard Worker pub use local_stats::Histogram; 31*bb4ee6a4SAndroid Build Coastguard Worker pub use local_stats::Limits; 32*bb4ee6a4SAndroid Build Coastguard Worker pub use local_stats::NumberType; 33*bb4ee6a4SAndroid Build Coastguard Worker pub use local_stats::SimpleStat; 34*bb4ee6a4SAndroid Build Coastguard Worker pub use local_stats::SummaryStats; 35