xref: /aosp_15_r20/external/crosvm/metrics/src/lib.rs (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
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