1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Project: hyperi-rustlib
// File: src/metrics/dfe_groups/mod.rs
// Purpose: DFE-specific metric groups
// Language: Rust
//
// License: FSL-1.1-ALv2
// Copyright: (c) 2026 HYPERI PTY LIMITED
//! Composable DFE metric groups.
//!
//! Opt-in metric structs for DFE pipeline applications. Each group registers
//! standardised metrics using the [`MetricsManager`](super::MetricsManager)
//! namespace prefix (e.g. `dfe_loader_buffer_bytes`).
//!
//! Feature-gated behind `metrics-dfe`. Non-DFE apps are unaffected.
//!
//! ## Usage
//!
//! ```rust,no_run
//! use hyperi_rustlib::metrics::MetricsManager;
//! use hyperi_rustlib::metrics::dfe_groups::*;
//!
//! let mgr = MetricsManager::new("dfe_loader");
//! let app = AppMetrics::new(&mgr, env!("CARGO_PKG_VERSION"), "abc123");
//! let buffer = BufferMetrics::new(&mgr);
//! let consumer = ConsumerMetrics::new(&mgr);
//! let sink = SinkMetrics::new(&mgr);
//! let cb = CircuitBreakerMetrics::new(&mgr);
//! let bp = BackpressureMetrics::new(&mgr);
//!
//! app.record_received(100);
//! buffer.record_flush(0.042, "size");
//! consumer.set_lag("events", 3, 1500);
//! sink.record_duration("clickhouse", 0.015);
//! cb.record_transition("db.events", "open");
//! bp.record_event();
//! ```
pub use AppMetrics;
pub use BackpressureMetrics;
pub use BufferMetrics;
pub use CircuitBreakerMetrics;
pub use ConsumerMetrics;
pub use EnrichmentMetrics;
pub use SchemaCacheMetrics;
pub use SinkMetrics;