Skip to main content

dbx_core/monitoring/
mod.rs

1//! DBX Monitoring & Observability Module
2//!
3//! Provides Prometheus-compatible metrics collection and export for DBX.
4//!
5//! ## Metrics Categories
6//! - **Operation Counters**: INSERT, GET, DELETE, SQL query counts
7//! - **Tier Hit Rates**: Delta Store, Columnar Cache, WOS hit/miss rates
8//! - **Sharding Stats**: Scatter reads/writes
9//! - **Partition Stats**: Partition pruning hits
10//! - **WAL Stats**: Append and compaction counts
11//! - **Latency Histograms**: Query and insert latency distribution
12//!
13//! ## Usage via `Database`
14//!
15//! ```rust
16//! use dbx_core::Database;
17//!
18//! # fn main() -> dbx_core::DbxResult<()> {
19//! let db = Database::open_in_memory()?;
20//!
21//! // Execute some operations...
22//! db.insert("users", b"k1", b"v1")?;
23//! db.get("users", b"k1")?;
24//!
25//! // Export as Prometheus text
26//! let metrics_text = db.export_metrics();
27//! assert!(metrics_text.contains("dbx_inserts_total"));
28//!
29//! // Get structured snapshot
30//! let snap = db.metrics_snapshot();
31//! assert_eq!(snap.inserts_total, 1);
32//!
33//! // Reset all metrics
34//! db.reset_metrics();
35//! # Ok(())
36//! # }
37//! ```
38
39pub mod exporter;
40pub mod histogram;
41pub mod metrics;
42
43pub use exporter::export_prometheus;
44pub use metrics::{DbxMetrics, MetricsSnapshot};