pub struct VarlinkUsage {
pub version: Option<CollectorTransport>,
pub system_state: Option<CollectorTransport>,
pub units: Option<CollectorTransport>,
pub networkd: Option<CollectorTransport>,
pub machines: Option<CollectorTransport>,
pub boot_blame: Option<CollectorTransport>,
pub verify: Option<CollectorTransport>,
}Expand description
Per-collector transport record for the last collection run.
Every field is Some when its collector ran and None when it did not
(disabled in config). Absent-when-disabled is what makes the adoption
ratio work: count() over the gauges is the enabled set.
NOTE for future collectors: the host MachineStats is constructed once
outside the daemon loop, not fresh each iteration — so a collector with
an early-return path that skips its gauge assignment would silently
inherit the previous run’s value instead of dropping the gauge. Always
assign on every path, including cache hits and config-disabled fallbacks.
Fields§
§version: Option<CollectorTransport>Always collected; follows [system-state] varlink via the shared
Manager.Describe call. Normally agrees with system_state (one
call serves both), but persists when [system-state] is disabled —
making it the cheapest varlink canary on such hosts.
system_state: Option<CollectorTransport>§units: Option<CollectorTransport>Varlink means the bulk enumeration came from the metrics stream.
Inside containers this still includes D-Bus calls underneath: the
timer backfill (collect_all_timers_dbus) and the oneshot type
override, which have no varlink equivalent there (see #211). The host
varlink path needs neither, so a container 1 involves strictly more
D-Bus traffic than a host 1 — compare host and container gauges
separately rather than aggregating them into one adoption ratio.
networkd: Option<CollectorTransport>§machines: Option<CollectorTransport>Host-side machine enumeration, still D-Bus-only until machined grows
a varlink List API (see #37). Per-container transports land on each
machine’s own MachineStats instead.
boot_blame: Option<CollectorTransport>§verify: Option<CollectorTransport>Trait Implementations§
Source§impl Clone for VarlinkUsage
impl Clone for VarlinkUsage
Source§fn clone(&self) -> VarlinkUsage
fn clone(&self) -> VarlinkUsage
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 VarlinkUsage
impl Debug for VarlinkUsage
Source§impl Default for VarlinkUsage
impl Default for VarlinkUsage
Source§fn default() -> VarlinkUsage
fn default() -> VarlinkUsage
Source§impl<'de> Deserialize<'de> for VarlinkUsage
impl<'de> Deserialize<'de> for VarlinkUsage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for VarlinkUsage
impl PartialEq for VarlinkUsage
Source§fn eq(&self, other: &VarlinkUsage) -> bool
fn eq(&self, other: &VarlinkUsage) -> bool
self and other values to be equal, and is used by ==.