pub trait SqliteVfsMetrics: Send + Sync {
Show 32 methods
// Required methods
fn profiling_enabled(&self) -> bool;
fn max_profiled_get_pages_requests(&self) -> usize;
fn observe_operation_profile(&self, profile: &SqliteOperationMetric) -> bool;
fn observe_transaction_profile(
&self,
profile: &SqliteTransactionMetric,
) -> bool;
fn emit_operation_diagnostic_event(
&self,
actor_id: &str,
generation: Option<u64>,
profile: &SqliteOperationMetric,
);
fn emit_transaction_diagnostic_event(
&self,
actor_id: &str,
generation: Option<u64>,
profile: &SqliteTransactionMetric,
);
fn record_fingerprint_catalog(
&self,
operation_type: &'static str,
fingerprint: &str,
identity: &str,
format_version: u8,
);
fn record_resolve_pages(&self, requested_pages: u64);
fn record_resolve_cache_hits(&self, pages: u64);
fn record_resolve_cache_misses(&self, pages: u64);
fn record_get_pages_request(
&self,
pages: u64,
prefetch_pages: u64,
page_size: u64,
);
fn observe_get_pages_duration(&self, duration_ns: u64);
fn observe_open_phase(
&self,
phase: SqliteOpenPhase,
outcome: &'static str,
duration_ns: u64,
);
fn record_startup_preload_pages(&self, kind: &'static str, pages: u64);
fn record_commit(&self, dirty_pages: u64);
fn observe_commit_phases(
&self,
request_build_ns: u64,
serialize_ns: u64,
transport_ns: u64,
state_update_ns: u64,
total_ns: u64,
);
fn set_worker_queue_depth(&self, depth: u64);
fn set_worker_active(&self, active: bool);
fn set_worker_inflight(&self, active: bool);
fn set_vfs_cached_bytes(&self, bytes: u64);
fn set_coordinator_queue_depth(&self, depth: u64);
fn record_worker_queue_overload(&self);
fn observe_worker_command_duration(
&self,
operation: &'static str,
in_tx: bool,
stmt_kind: &'static str,
duration_ns: u64,
);
fn observe_transaction_round_trips(
&self,
get_pages_round_trips: u64,
commit_round_trips: u64,
);
fn record_worker_command_error(
&self,
operation: &'static str,
code: &'static str,
);
fn observe_worker_close_duration(&self, duration_ns: u64);
fn record_worker_close_timeout(&self);
fn record_worker_crash(&self);
fn record_worker_unclean_close(&self);
// Provided methods
fn operation_diagnostic_selected(
&self,
_profile: &SqliteOperationMetric,
) -> bool { ... }
fn transaction_diagnostic_selected(
&self,
_profile: &SqliteTransactionMetric,
) -> bool { ... }
fn record_prefetch_unused_pages(&self, _pages: u64) { ... }
}Required Methods§
fn profiling_enabled(&self) -> bool
fn max_profiled_get_pages_requests(&self) -> usize
Sourcefn observe_operation_profile(&self, profile: &SqliteOperationMetric) -> bool
fn observe_operation_profile(&self, profile: &SqliteOperationMetric) -> bool
Records an operation and returns whether its selected fingerprint was admitted.
Sourcefn observe_transaction_profile(&self, profile: &SqliteTransactionMetric) -> bool
fn observe_transaction_profile(&self, profile: &SqliteTransactionMetric) -> bool
Records a transaction and returns whether its selected fingerprint was admitted.
Sourcefn emit_operation_diagnostic_event(
&self,
actor_id: &str,
generation: Option<u64>,
profile: &SqliteOperationMetric,
)
fn emit_operation_diagnostic_event( &self, actor_id: &str, generation: Option<u64>, profile: &SqliteOperationMetric, )
Emits an event already selected by operation_diagnostic_selected.
fn emit_transaction_diagnostic_event( &self, actor_id: &str, generation: Option<u64>, profile: &SqliteTransactionMetric, )
fn record_fingerprint_catalog( &self, operation_type: &'static str, fingerprint: &str, identity: &str, format_version: u8, )
fn record_resolve_pages(&self, requested_pages: u64)
fn record_resolve_cache_hits(&self, pages: u64)
fn record_resolve_cache_misses(&self, pages: u64)
fn record_get_pages_request( &self, pages: u64, prefetch_pages: u64, page_size: u64, )
fn observe_get_pages_duration(&self, duration_ns: u64)
fn observe_open_phase( &self, phase: SqliteOpenPhase, outcome: &'static str, duration_ns: u64, )
fn record_startup_preload_pages(&self, kind: &'static str, pages: u64)
Sourcefn record_commit(&self, dirty_pages: u64)
fn record_commit(&self, dirty_pages: u64)
Records one successful commit and the dirty pages it wrote.
fn observe_commit_phases( &self, request_build_ns: u64, serialize_ns: u64, transport_ns: u64, state_update_ns: u64, total_ns: u64, )
fn set_worker_queue_depth(&self, depth: u64)
fn set_worker_active(&self, active: bool)
fn set_worker_inflight(&self, active: bool)
Sourcefn set_vfs_cached_bytes(&self, bytes: u64)
fn set_vfs_cached_bytes(&self, bytes: u64)
Reports the bytes this database’s VFS page caches hold, after each command, after an idle release and as zero when the worker stops.
fn set_coordinator_queue_depth(&self, depth: u64)
fn record_worker_queue_overload(&self)
fn observe_worker_command_duration( &self, operation: &'static str, in_tx: bool, stmt_kind: &'static str, duration_ns: u64, )
fn observe_transaction_round_trips( &self, get_pages_round_trips: u64, commit_round_trips: u64, )
fn record_worker_command_error( &self, operation: &'static str, code: &'static str, )
fn observe_worker_close_duration(&self, duration_ns: u64)
fn record_worker_close_timeout(&self)
fn record_worker_crash(&self)
fn record_worker_unclean_close(&self)
Provided Methods§
Sourcefn operation_diagnostic_selected(
&self,
_profile: &SqliteOperationMetric,
) -> bool
fn operation_diagnostic_selected( &self, _profile: &SqliteOperationMetric, ) -> bool
Selects a diagnostic before its caller computes SQL fingerprints.
fn transaction_diagnostic_selected( &self, _profile: &SqliteTransactionMetric, ) -> bool
Sourcefn record_prefetch_unused_pages(&self, _pages: u64)
fn record_prefetch_unused_pages(&self, _pages: u64)
Prefetched pages discarded before their first use, including close and lazy TTL expiry.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".