pub struct MetricsCollector {Show 26 fields
pub requests_total: IntCounter,
pub requests_duration_seconds: Histogram,
pub requests_in_flight: IntGauge,
pub memories_by_tier: IntGauge,
pub memory_migrations_total: IntCounter,
pub memory_creation_total: IntCounter,
pub memory_deletion_total: IntCounter,
pub db_connections_active: IntGauge,
pub db_connections_max: IntGauge,
pub db_query_duration_seconds: Histogram,
pub db_query_errors_total: IntCounter,
pub search_requests_total: IntCounter,
pub search_duration_seconds: Histogram,
pub search_results_count: Histogram,
pub search_cache_hits_total: IntCounter,
pub search_cache_misses_total: IntCounter,
pub memory_usage_bytes: Gauge,
pub cpu_usage_percent: Gauge,
pub uptime_seconds: IntCounter,
pub error_rate_percent: Gauge,
pub migration_duration_seconds: Histogram,
pub migration_failures_total: IntCounter,
pub migration_queue_size: IntGauge,
pub response_time_p95: Gauge,
pub response_time_p99: Gauge,
pub memory_pressure_ratio: Gauge,
/* private fields */
}
Expand description
Prometheus metrics collector for the memory system
Fields§
§requests_total: IntCounter
§requests_duration_seconds: Histogram
§requests_in_flight: IntGauge
§memories_by_tier: IntGauge
§memory_migrations_total: IntCounter
§memory_creation_total: IntCounter
§memory_deletion_total: IntCounter
§db_connections_active: IntGauge
§db_connections_max: IntGauge
§db_query_duration_seconds: Histogram
§db_query_errors_total: IntCounter
§search_requests_total: IntCounter
§search_duration_seconds: Histogram
§search_results_count: Histogram
§search_cache_hits_total: IntCounter
§search_cache_misses_total: IntCounter
§memory_usage_bytes: Gauge
§cpu_usage_percent: Gauge
§uptime_seconds: IntCounter
§error_rate_percent: Gauge
§migration_duration_seconds: Histogram
§migration_failures_total: IntCounter
§migration_queue_size: IntGauge
§response_time_p95: Gauge
§response_time_p99: Gauge
§memory_pressure_ratio: Gauge
Implementations§
Source§impl MetricsCollector
impl MetricsCollector
pub fn new() -> Result<Self>
pub fn registry(&self) -> Arc<Registry>
Sourcepub fn record_request(&self, start_time: Instant)
pub fn record_request(&self, start_time: Instant)
Record a request with timing
Sourcepub fn record_db_query(&self, start_time: Instant, success: bool)
pub fn record_db_query(&self, start_time: Instant, success: bool)
Record a database query with timing
Sourcepub fn record_search(
&self,
start_time: Instant,
results_count: usize,
cache_hit: bool,
)
pub fn record_search( &self, start_time: Instant, results_count: usize, cache_hit: bool, )
Record a search operation
Sourcepub fn record_migration(
&self,
start_time: Instant,
success: bool,
_memory_id: Uuid,
from_tier: &str,
to_tier: &str,
)
pub fn record_migration( &self, start_time: Instant, success: bool, _memory_id: Uuid, from_tier: &str, to_tier: &str, )
Record a memory migration
Sourcepub fn update_system_metrics(&self, memory_bytes: u64, cpu_percent: f64)
pub fn update_system_metrics(&self, memory_bytes: u64, cpu_percent: f64)
Update system resource metrics
Sourcepub fn update_connection_pool_metrics(&self, active: u32, max: u32)
pub fn update_connection_pool_metrics(&self, active: u32, max: u32)
Update database connection pool metrics
Sourcepub fn update_tier_metrics(&self, working: u64, warm: u64, cold: u64)
pub fn update_tier_metrics(&self, working: u64, warm: u64, cold: u64)
Update memory tier distribution
Sourcepub fn update_derived_metrics(&self)
pub fn update_derived_metrics(&self)
Calculate and update derived metrics
Sourcepub fn gather_metrics(&self) -> String
pub fn gather_metrics(&self) -> String
Get metrics in Prometheus format
Auto Trait Implementations§
impl Freeze for MetricsCollector
impl !RefUnwindSafe for MetricsCollector
impl Send for MetricsCollector
impl Sync for MetricsCollector
impl Unpin for MetricsCollector
impl !UnwindSafe for MetricsCollector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more