pub struct StatsManager { /* private fields */ }Expand description
Statistics Manager
Unified management of query metrics, query profiling and error statistics.
Implementations§
Source§impl StatsManager
impl StatsManager
Sourcepub fn record_aggregated_query(&self, profile: &QueryProfile, is_slow: bool)
pub fn record_aggregated_query(&self, profile: &QueryProfile, is_slow: bool)
Record aggregated query statistics
Sourcepub fn get_top_n_slow_query_patterns(
&self,
limit: usize,
) -> Vec<AggregatedQueryStats>
pub fn get_top_n_slow_query_patterns( &self, limit: usize, ) -> Vec<AggregatedQueryStats>
Get top N slow query patterns by average duration
pub fn pattern_snapshot(&self, limit: usize) -> Vec<QueryPatternSnapshot>
Sourcepub fn get_top_n_patterns_by_total_duration(
&self,
limit: usize,
) -> Vec<AggregatedQueryStats>
pub fn get_top_n_patterns_by_total_duration( &self, limit: usize, ) -> Vec<AggregatedQueryStats>
Get top N slow query patterns by total duration
Sourcepub fn get_top_n_patterns_by_execution_count(
&self,
limit: usize,
) -> Vec<AggregatedQueryStats>
pub fn get_top_n_patterns_by_execution_count( &self, limit: usize, ) -> Vec<AggregatedQueryStats>
Get top N slow query patterns by execution count
Sourcepub fn get_pattern_stats(
&self,
normalized_query: &str,
) -> Option<AggregatedQueryStats>
pub fn get_pattern_stats( &self, normalized_query: &str, ) -> Option<AggregatedQueryStats>
Get statistics for a specific query pattern
Sourcepub fn get_all_aggregated_stats(&self) -> Vec<AggregatedQueryStats>
pub fn get_all_aggregated_stats(&self) -> Vec<AggregatedQueryStats>
Get all aggregated statistics
Sourcepub fn get_total_aggregated_queries(&self) -> u64
pub fn get_total_aggregated_queries(&self) -> u64
Get total number of queries processed
Sourcepub fn get_total_aggregated_slow_queries(&self) -> u64
pub fn get_total_aggregated_slow_queries(&self) -> u64
Get total number of slow queries
Sourcepub fn get_current_qps(&self) -> u64
pub fn get_current_qps(&self) -> u64
Get current queries per second
Sourcepub fn get_pattern_count(&self) -> usize
pub fn get_pattern_count(&self) -> usize
Get number of query patterns
Sourcepub fn clear_aggregated_stats(&self)
pub fn clear_aggregated_stats(&self)
Clear all aggregated statistics
Sourcepub fn cleanup_aggregated_stats(&self)
pub fn cleanup_aggregated_stats(&self)
Cleanup expired aggregated statistics
Source§impl StatsManager
impl StatsManager
Sourcepub fn record_checkpoint_success(
&self,
duration: Duration,
bytes_flushed: u64,
wal_files_truncated: u64,
)
pub fn record_checkpoint_success( &self, duration: Duration, bytes_flushed: u64, wal_files_truncated: u64, )
Record a successful checkpoint operation.
Sourcepub fn record_checkpoint_failure(&self)
pub fn record_checkpoint_failure(&self)
Record a failed checkpoint operation.
Sourcepub fn record_checkpoint_trigger(
&self,
reason: CheckpointTriggerReason,
age: Duration,
)
pub fn record_checkpoint_trigger( &self, reason: CheckpointTriggerReason, age: Duration, )
Record a checkpoint trigger event.
Sourcepub fn record_checkpoint_deduplicated(&self)
pub fn record_checkpoint_deduplicated(&self)
Record a deduplicated checkpoint request.
Sourcepub fn record_checkpoint_blocked(&self)
pub fn record_checkpoint_blocked(&self)
Record a checkpoint request that found another checkpoint in progress.
pub fn checkpoint_snapshot(&self) -> CheckpointSnapshot
Sourcepub fn get_checkpoint_metrics(&self) -> HashMap<MetricType, u64>
pub fn get_checkpoint_metrics(&self) -> HashMap<MetricType, u64>
Get all checkpoint-related metrics.
pub fn record_dirty_pages(&self, dirty: u64, total: u64)
pub fn record_checkpoint_strategy_by_name(&self, strategy: &str)
pub fn record_incremental_checkpoint(&self, duration: Duration, bytes: u64)
pub fn get_dirty_page_metrics(&self) -> HashMap<MetricType, u64>
Source§impl StatsManager
impl StatsManager
Sourcepub fn space_key(space_id: u64) -> String
pub fn space_key(space_id: u64) -> String
Single key rule: space_{id} for numeric spaces, space_name:{name}
for named collections, target:{name} for sync targets,
rebuild:{target}:{phase} for rebuild phases, and
space_{id}.{index} for per-space indexes. Distinct prefixes keep
same-named entities in different subsystems from polluting each other
while identical spaces share one key.
pub fn space_key_for_name(name: &str) -> String
pub fn target_key(target: &str) -> String
pub fn rebuild_key(target: &str, phase: &str) -> String
pub fn index_key(space_id: u64, index_name: &str) -> String
pub fn unknown_index_key(index_name: &str) -> String
pub fn new() -> StatsManager
pub fn with_config( monitoring_enabled: bool, profile_cache_size: usize, slow_query_threshold_us: u64, ) -> StatsManager
Sourcepub fn with_slow_query_logger(
monitoring_enabled: bool,
profile_cache_size: usize,
slow_query_threshold_us: u64,
slow_query_config: SlowQueryConfig,
) -> Result<StatsManager, Error>
pub fn with_slow_query_logger( monitoring_enabled: bool, profile_cache_size: usize, slow_query_threshold_us: u64, slow_query_config: SlowQueryConfig, ) -> Result<StatsManager, Error>
Create StatsManager with slow query logger
pub fn slow_query_threshold_us(&self) -> u64
pub fn timeseries_capacity(&self) -> usize
pub fn set_timeseries_capacity(&self, capacity: usize)
pub fn set_histogram_max_samples(&self, max_samples: usize)
pub fn record_resource_sample( &self, memory_used_bytes: u64, memory_total_bytes: u64, cpu_usage_percent: f64, )
pub fn query_timeseries(&self, window_secs: u64) -> Vec<TimeseriesBucket>
pub fn resource_timeseries(&self, window_secs: u64) -> Vec<ResourceSample>
Source§impl StatsManager
impl StatsManager
pub fn add_value(&self, metric_type: MetricType)
pub fn add_value_with_amount(&self, metric_type: MetricType, amount: u64)
pub fn dec_value(&self, metric_type: MetricType)
pub fn set_value(&self, metric_type: MetricType, value: u64)
pub fn add_space_metric(&self, space_name: &str, metric_type: MetricType)
pub fn add_space_metric_with_amount( &self, space_name: &str, metric_type: MetricType, amount: u64, )
pub fn set_space_metric_with_amount( &self, space_name: &str, metric_type: MetricType, amount: u64, )
pub fn add_index_metric(&self, index_name: &str, metric_type: MetricType)
pub fn add_index_metric_with_amount( &self, index_name: &str, metric_type: MetricType, amount: u64, )
pub fn dec_space_metric(&self, space_name: &str, metric_type: MetricType)
pub fn get_value(&self, metric_type: MetricType) -> Option<u64>
pub fn get_space_value( &self, space_name: &str, metric_type: MetricType, ) -> Option<u64>
pub fn get_index_value( &self, index_name: &str, metric_type: MetricType, ) -> Option<u64>
pub fn get_all_index_metrics( &self, index_name: &str, ) -> Option<HashMap<MetricType, u64>>
pub fn get_all_metrics(&self) -> HashMap<MetricType, u64>
pub fn get_all_space_metrics( &self, space_name: &str, ) -> Option<HashMap<MetricType, u64>>
Sourcepub fn all_space_metrics(&self) -> HashMap<String, HashMap<MetricType, u64>>
pub fn all_space_metrics(&self) -> HashMap<String, HashMap<MetricType, u64>>
Every space-scoped metric set, keyed by space key.
pub fn reset_metric(&self, metric_type: MetricType)
pub fn reset_all_metrics(&self)
pub fn reset_space_metrics(&self, space_name: &str)
Source§impl StatsManager
impl StatsManager
pub fn record_error(&self, error_type: ErrorType, phase: QueryPhase)
pub fn get_error_count(&self, error_type: ErrorType) -> u64
pub fn get_error_count_by_phase(&self, phase: QueryPhase) -> u64
pub fn get_all_error_counts(&self) -> HashMap<ErrorType, u64>
pub fn get_all_error_counts_by_phase(&self) -> HashMap<QueryPhase, u64>
pub fn reset_error_counts(&self)
pub fn record_failed_query(&self, profile: QueryProfile, error_info: ErrorInfo)
pub fn get_error_summary(&self) -> ErrorSummary
pub fn get_recent_errors(&self, limit: usize) -> Vec<RecentError>
pub fn error_snapshot(&self) -> ErrorSnapshot
pub fn recent_errors_snapshot(&self, limit: usize) -> Vec<RecentErrorView>
Source§impl StatsManager
impl StatsManager
pub fn record_migration_start(&self)
pub fn record_migration_success(&self, rows: u64, duration_ms: u64)
pub fn record_migration_failure(&self, duration_ms: u64)
pub fn get_migration_metrics(&self) -> HashMap<MetricType, u64>
Source§impl StatsManager
impl StatsManager
pub fn record_query_profile(&self, profile: QueryProfile)
pub fn get_recent_queries(&self, limit: usize) -> Vec<QueryProfile>
pub fn get_slow_queries(&self, limit: usize) -> Vec<QueryProfile>
pub fn get_all_slow_queries(&self, limit: usize) -> SlowQueryStats
pub fn get_query_profile(&self, trace_id: &str) -> Option<QueryProfile>
pub fn get_session_queries( &self, session_id: i64, limit: usize, ) -> Vec<QueryProfile>
pub fn get_executor_stats_summary(&self) -> HashMap<String, (u64, u64, usize)>
pub fn executor_summary_snapshot(&self) -> Vec<ExecutorSummary>
pub fn profiles_in_window( &self, from_secs: Option<u64>, to_secs: Option<u64>, limit: usize, ) -> Vec<QueryProfile>
pub fn clear_query_cache(&self)
pub fn query_cache_size(&self) -> usize
Source§impl StatsManager
impl StatsManager
pub fn record_query_metrics(&self, metrics: &QueryMetrics)
Sourcepub fn get_latency_percentiles(&self) -> (u64, u64, u64, u64)
pub fn get_latency_percentiles(&self) -> (u64, u64, u64, u64)
Get latency percentiles (avg, p50, p95, p99) in microseconds
pub fn query_latency_snapshot(&self) -> QueryLatencySnapshot
Sourcepub fn get_search_latency_percentiles(&self) -> (u64, u64, u64, u64)
pub fn get_search_latency_percentiles(&self) -> (u64, u64, u64, u64)
Get search latency percentiles (avg, p50, p95, p99) in microseconds
Sourcepub fn get_latency_report(&self) -> String
pub fn get_latency_report(&self) -> String
Get latency histogram report
Sourcepub fn clear_latency_histogram(&self)
pub fn clear_latency_histogram(&self)
Clear latency histogram
pub fn get_last_query_metrics(&self) -> Option<QueryMetrics>
Sourcepub fn get_query_metrics_history(&self) -> Vec<QueryMetrics>
pub fn get_query_metrics_history(&self) -> Vec<QueryMetrics>
Recent per-instance query metrics (up to 1000), newest last.
pub fn get_query_metrics(&self) -> Option<QueryMetrics>
Source§impl StatsManager
impl StatsManager
Sourcepub fn record_search(
&self,
space_id: u64,
index_name: &str,
latency_ms: u64,
success: bool,
)
pub fn record_search( &self, space_id: u64, index_name: &str, latency_ms: u64, success: bool, )
Record a search query operation.
Index metrics are keyed per-space (space_{id}.{index}) so same-named
indexes in different spaces no longer pollute each other.
Sourcepub fn record_index_operation(
&self,
space_id: u64,
index_name: &str,
latency_ms: u64,
success: bool,
)
pub fn record_index_operation( &self, space_id: u64, index_name: &str, latency_ms: u64, success: bool, )
Record an index operation
Sourcepub fn record_index_operation_unknown_space(
&self,
index_name: &str,
latency_ms: u64,
success: bool,
)
pub fn record_index_operation_unknown_space( &self, index_name: &str, latency_ms: u64, success: bool, )
Record an index operation without a known space.
Used by storage paths that lack space context; records global and
unknown.{index} buckets only, never polluting real space_{id} keys.
Sourcepub fn record_delete_operation(
&self,
space_id: u64,
index_name: &str,
latency_ms: u64,
success: bool,
)
pub fn record_delete_operation( &self, space_id: u64, index_name: &str, latency_ms: u64, success: bool, )
Record a delete operation
Sourcepub fn record_search_result_count(&self, space_id: u64, count: u64)
pub fn record_search_result_count(&self, space_id: u64, count: u64)
Record search result count
Sourcepub fn record_cache_hit_global(&self, hit: bool)
pub fn record_cache_hit_global(&self, hit: bool)
Record cache hit or miss (global only).
pub fn record_vector_disabled_skips(&self, count: u64)
Sourcepub fn record_vector_embedding(
&self,
prompt_tokens: u64,
total_tokens: u64,
latency_ms: u64,
success: bool,
)
pub fn record_vector_embedding( &self, prompt_tokens: u64, total_tokens: u64, latency_ms: u64, success: bool, )
Record one embedding call (global bucket only).
The embedding path has no space context, so only global counters are updated; per-space keys are never synthesized here. Failed calls carry zero token usage.
Sourcepub fn record_vector_rerank(&self, latency_ms: u64, success: bool)
pub fn record_vector_rerank(&self, latency_ms: u64, success: bool)
Record one issued rerank call (global bucket only).
Skipped reranks (no service, no query text, thin coverage) are not recorded; only actual provider calls land here.
pub fn search_index_breakdown(&self) -> Vec<SearchIndexBreakdown>
Source§impl StatsManager
impl StatsManager
pub fn record_storage_read(&self, latency_us: u64)
Sourcepub fn record_storage_write(&self, latency_us: u64)
pub fn record_storage_write(&self, latency_us: u64)
Record a storage write with latency so means are computable.
Sourcepub fn record_storage_error(&self)
pub fn record_storage_error(&self)
Record a storage error.
Sourcepub fn record_bloom_query(&self, hit: bool)
pub fn record_bloom_query(&self, hit: bool)
Record a bloom pre-check query and whether it was positive.
Hit rate derives from BloomHits / BloomQueries; permille is exported
for dashboards via BloomHitRatePermille. The triple update holds
bloom_lock so queries/hits/permille stay atomic under concurrency.
Sourcepub fn record_bloom_snapshot(&self, queries: u64, hits: u64)
pub fn record_bloom_snapshot(&self, queries: u64, hits: u64)
Snapshot-export bloom counters from a shard runtime.
Holds bloom_lock for the same atomicity as record_bloom_query.
Callers must pass deltas since the last export, not cumulative
totals, to avoid double counting.
pub fn set_index_memory_usage(&self, bytes: u64)
pub fn storage_snapshot(&self) -> StorageSnapshot
Sourcepub fn record_tombstone_stats(
&self,
count: u64,
memory_bytes: u64,
oldest_ts_min: Option<u32>,
newest_ts_max: Option<u32>,
active_snapshots: u64,
)
pub fn record_tombstone_stats( &self, count: u64, memory_bytes: u64, oldest_ts_min: Option<u32>, newest_ts_max: Option<u32>, active_snapshots: u64, )
Record tombstone statistics for MVCC observability
Sourcepub fn record_fragmentation_stats(&self, ratio: f32, wasted_bytes: u64)
pub fn record_fragmentation_stats(&self, ratio: f32, wasted_bytes: u64)
Record storage fragmentation on the single wasted-share caliber.
Sourcepub fn record_ttl_purge(&self, cycles: u64, removed_rows: u64)
pub fn record_ttl_purge(&self, cycles: u64, removed_rows: u64)
Record one background TTL-purge sweep: how many sweep cycles ran and how many expired rows each cycle physically deleted.
Source§impl StatsManager
impl StatsManager
pub fn record_sync_operation(&self, latency_ms: u64, success: bool)
pub fn record_sync_error(&self)
pub fn set_sync_queue_depth(&self, depth: u64)
pub fn record_outbox_state(&self, state: OutboxState)
pub fn record_target_frontier_lag(&self, target: &str, lag: u64)
pub fn record_generation_build(&self)
pub fn record_generation_publish(&self)
pub fn record_generation_rebuild_failure(&self)
pub fn record_inconsistent_index_count(&self, count: u64)
pub fn record_rebuild_phase_latency( &self, target: &str, phase: &str, latency_ms: u64, )
pub fn record_split(&self, success: bool)
pub fn record_reclaimed_index_files(&self, count: u64)
pub fn set_manifest_state(&self, active_readers: u64, retired_generations: u64)
pub fn record_fence_failure(&self)
pub fn record_transport_latency(&self, latency_ms: u64)
pub fn record_materializer_latency(&self, latency_ms: u64)
pub fn set_snapshot_lag(&self, lag: u64)
Source§impl StatsManager
impl StatsManager
Sourcepub fn record_txn_begin(&self)
pub fn record_txn_begin(&self)
Record transaction begin
Sourcepub fn record_txn_commit(&self)
pub fn record_txn_commit(&self)
Record transaction commit
Sourcepub fn record_txn_rollback(&self)
pub fn record_txn_rollback(&self)
Record transaction rollback
Sourcepub fn record_txn_conflict(&self)
pub fn record_txn_conflict(&self)
Record transaction conflict
Sourcepub fn record_txn_timeout(&self)
pub fn record_txn_timeout(&self)
Record transaction timeout.
Sourcepub fn record_txn_disconnect(&self)
pub fn record_txn_disconnect(&self)
Record transaction disconnect.
Sourcepub fn record_txn_recovery_abort(&self)
pub fn record_txn_recovery_abort(&self)
Record transaction recovery abort.
Sourcepub fn record_txn_cleanup_failure(&self)
pub fn record_txn_cleanup_failure(&self)
Record transaction cleanup failure.
pub fn transaction_snapshot(&self) -> TransactionSnapshot
Sourcepub fn set_txn_resource_metrics(&self, metrics: TxnResourceMetrics)
pub fn set_txn_resource_metrics(&self, metrics: TxnResourceMetrics)
Transaction resource metrics
Trait Implementations§
Source§impl Debug for StatsManager
impl Debug for StatsManager
Source§impl Default for StatsManager
impl Default for StatsManager
Source§fn default() -> StatsManager
fn default() -> StatsManager
Auto Trait Implementations§
impl !Freeze for StatsManager
impl !RefUnwindSafe for StatsManager
impl !UnwindSafe for StatsManager
impl Send for StatsManager
impl Sync for StatsManager
impl Unpin for StatsManager
impl UnsafeUnpin for StatsManager
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.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> ⓘ
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> ⓘ
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 moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.