pub struct RevmcMetrics {Show 27 fields
pub lookup_hits: Gauge,
pub lookup_misses: Gauge,
pub events_queued: Gauge,
pub events_dropped: Gauge,
pub resident_entries: Gauge,
pub jit_code_bytes: Gauge,
pub jit_data_bytes: Gauge,
pub command_queue_len: Gauge,
pub pending_jobs: Gauge,
pub evictions: Gauge,
pub compilations_dispatched: Gauge,
pub compilations_succeeded: Gauge,
pub compilations_failed: Gauge,
pub jit_helper_spawns: Gauge,
pub jit_helper_spawn_failures: Gauge,
pub jit_helper_restarts: Gauge,
pub jit_helper_timeouts: Gauge,
pub jit_helper_disconnects: Gauge,
pub pauses_total: Counter,
pub resumes_total: Counter,
pub paused: Gauge,
pub jit_compilation_duration: Histogram,
pub jit_compilation_duration_last: Gauge,
pub jit_parse_duration: Histogram,
pub jit_translate_duration: Histogram,
pub jit_optimize_duration: Histogram,
pub jit_codegen_duration: Histogram,
}jit only.Expand description
Prometheus metrics for revmc JIT runtime stats.
Fields§
§lookup_hits: GaugeTotal lookups that returned a compiled function.
lookup_misses: GaugeTotal lookups that returned interpret (not ready).
events_queued: GaugeLookup-observed events currently queued.
events_dropped: GaugeLookup-observed events dropped (channel full).
resident_entries: GaugeNumber of entries in the resident compiled map.
jit_code_bytes: GaugeApproximate total bytes of compiled machine code in the resident map.
jit_data_bytes: GaugeApproximate total bytes of JIT-related data (relocations, metadata, etc.).
command_queue_len: GaugeNumber of pending control commands queued for the backend.
pending_jobs: GaugeNumber of compilation jobs dispatched but not completed yet.
evictions: GaugeTotal number of entries evicted (idle + budget).
compilations_dispatched: GaugeTotal number of compilations dispatched (JIT promotions + AOT requests).
compilations_succeeded: GaugeTotal number of successful compilations (JIT + AOT).
compilations_failed: GaugeTotal number of failed compilations (JIT + AOT).
jit_helper_spawns: GaugeTotal number of JIT helper processes spawned.
jit_helper_spawn_failures: GaugeTotal number of JIT helper process spawn failures.
jit_helper_restarts: GaugeTotal number of JIT helper process restarts.
jit_helper_timeouts: GaugeTotal number of JIT helper job timeouts.
jit_helper_disconnects: GaugeTotal number of JIT helper process disconnects.
pauses_total: CounterTotal number of transitions into paused JIT helper execution.
resumes_total: CounterTotal number of transitions out of paused JIT helper execution.
paused: GaugeWhether JIT helper execution is currently paused.
jit_compilation_duration: HistogramHistogram of total JIT compilation durations (seconds).
jit_compilation_duration_last: GaugeDuration of the last JIT compilation (seconds).
jit_parse_duration: HistogramHistogram of parse phase durations (seconds).
jit_translate_duration: HistogramHistogram of translate phase durations (seconds).
jit_optimize_duration: HistogramHistogram of optimize phase durations (seconds).
jit_codegen_duration: HistogramHistogram of codegen phase durations (seconds).
Implementations§
Source§impl RevmcMetrics
impl RevmcMetrics
Sourcepub fn new_with_labels(labels: impl IntoLabels) -> Self
pub fn new_with_labels(labels: impl IntoLabels) -> Self
Creates a new instance of the metrics with the provided labels.
Unlike Self::default, this does not cache the result, so it can be used
to re-register metrics or register with different labels.
Sourcepub fn describe()
pub fn describe()
Describe all exposed metrics.
Internally, this calls the describe_* macros from the metrics crate
according to the metric type.
This is done only once, to avoid multiple describe calls to the same
recorder. If this is not preferred, you can call Self::force_describe
directly.
See: https://docs.rs/metrics/latest/metrics/index.html#macros
Sourcepub fn force_describe()
pub fn force_describe()
Unconditionally describes all metrics.
See Self::describe.
Source§impl RevmcMetrics
impl RevmcMetrics
Sourcepub fn record(&self, stats: &RuntimeStatsSnapshot)
pub fn record(&self, stats: &RuntimeStatsSnapshot)
Records a RuntimeStatsSnapshot into the metrics.
Sourcepub fn record_compilation(&self, event: &CompilationEvent)
pub fn record_compilation(&self, event: &CompilationEvent)
Records a CompilationEvent into the histogram metrics.
Trait Implementations§
Source§impl Clone for RevmcMetrics
impl Clone for RevmcMetrics
Source§fn clone(&self) -> RevmcMetrics
fn clone(&self) -> RevmcMetrics
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RevmcMetrics
impl Debug for RevmcMetrics
Source§impl Default for RevmcMetrics
impl Default for RevmcMetrics
Source§fn default() -> Self
fn default() -> Self
Creates a new instance of the metrics.
This initializes all metrics and registers them with the global recorder.
Metrics are described only once; see Self::describe.
The result is cached in a static OnceLock, so subsequent calls will
return a clone of the same instance.
Auto Trait Implementations§
impl !RefUnwindSafe for RevmcMetrics
impl !UnwindSafe for RevmcMetrics
impl Freeze for RevmcMetrics
impl Send for RevmcMetrics
impl Sync for RevmcMetrics
impl Unpin for RevmcMetrics
impl UnsafeUnpin for RevmcMetrics
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> FmtForward for T
impl<T> FmtForward for T
§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.§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.§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.§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.§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.§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.§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.§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.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
§fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
TxEnv] from a transaction and a sender address.§impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
§fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
TxEnv] from a transaction, its sender, and encoded transaction bytes.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 moreimpl<T> MaybeDebug for Twhere
T: Debug,
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§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 more§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 more§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
§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
§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.§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.§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.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§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 more§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 more§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 more§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 more§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 more§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 more§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.§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.§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.§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.§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.§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.§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.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 432 bytes