pub struct TelemetryHub { /* private fields */ }Expand description
The engine-wide telemetry hub.
Implementations§
Source§impl TelemetryHub
impl TelemetryHub
Sourcepub fn global() -> &'static Arc<TelemetryHub> ⓘ
pub fn global() -> &'static Arc<TelemetryHub> ⓘ
The process-wide hub.
Cluster executors do not build their operators — the plan arrives over
the wire and the codec rebuilds it — so there is no session object to
hand a hub to. The codec attaches this one to every Gpu*Exec it
decodes, which is what makes a worker’s /metrics describe the work
the worker actually did. Embedded sessions own their own hub and never
touch this one.
Sourcepub fn register_operator(
&self,
name: impl Into<String>,
backend: BackendKind,
) -> Arc<OperatorStats> ⓘ
pub fn register_operator( &self, name: impl Into<String>, backend: BackendKind, ) -> Arc<OperatorStats> ⓘ
Registers an operator and returns its live counters. Ids increase
monotonically for the life of the hub; the oldest registrations are
evicted once MAX_OPERATORS are held.
Sourcepub fn clear_operators(&self)
pub fn clear_operators(&self)
Forgets every registered operator (e.g. before running a new query whose dashboard should not show the previous one’s counters).
Sourcepub fn record_skip(&self, node: impl Into<String>, reason: impl Into<String>)
pub fn record_skip(&self, node: impl Into<String>, reason: impl Into<String>)
Records why the placement rule left a node on the CPU.
Sourcepub fn skips(&self) -> Vec<PlacementSkip>
pub fn skips(&self) -> Vec<PlacementSkip>
The placement notes recorded since the last Self::clear_skips.
Sourcepub fn clear_skips(&self)
pub fn clear_skips(&self)
Forgets the placement notes (called before planning a fresh query, so the notes belong to the plan being looked at).
Sourcepub fn set_plan(&self, nodes: Vec<PlanNodeSummary>)
pub fn set_plan(&self, nodes: Vec<PlanNodeSummary>)
Replaces the displayed plan.
Sourcepub fn set_capacity(&self, capacity: TierCapacity)
pub fn set_capacity(&self, capacity: TierCapacity)
Records what the backend says the tiers hold, and whether anything on the query path fills them.
Sourcepub fn capacity(&self) -> TierCapacity
pub fn capacity(&self) -> TierCapacity
What was last recorded by Self::set_capacity.
Sourcepub const fn tiers(&self) -> &TierGauges
pub const fn tiers(&self) -> &TierGauges
Memory tier gauges.
Sourcepub const fn spill(&self) -> &SpillCounters
pub const fn spill(&self) -> &SpillCounters
Spill counters.
Sourcepub fn snapshot(&self) -> TelemetrySnapshot
pub fn snapshot(&self) -> TelemetrySnapshot
A consistent point-in-time copy of everything the dashboard renders.
Trait Implementations§
Source§impl Debug for TelemetryHub
impl Debug for TelemetryHub
Auto Trait Implementations§
impl !Freeze for TelemetryHub
impl RefUnwindSafe for TelemetryHub
impl Send for TelemetryHub
impl Sync for TelemetryHub
impl Unpin for TelemetryHub
impl UnsafeUnpin for TelemetryHub
impl UnwindSafe for TelemetryHub
Blanket Implementations§
impl<T> Allocation for T
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> 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 more