Expand description
§varlink_system module
systemd version and overall system state via the io.systemd.Manager
varlink API on PID 1’s socket. Available from systemd v258+.
Describe returns both values in a single call, so each collector asks for
the one it needs rather than streaming the whole io.systemd.Metrics list
(which also carries Version/SystemState, but costs ~40x the wall time
because it enumerates every unit).
PID 1 serves varlink requests one at a time, so a call issued while the
units collector is streaming io.systemd.Metrics.List waits for that whole
stream to finish. Both collectors therefore share one Describe per cycle
(see shared_describe) instead of occupying PID 1 twice.
Re-exports§
pub use crate::varlink::manager::MANAGER_SOCKET_PATH;
Functions§
- get_
system_ state - get_
version - shared_
describe - Prepare the shared
Describefor one collection cycle. - update_
system_ stats - Async wrapper that can update the system state when passed a locked struct.
- update_
version - Async wrapper that can update the systemd version when passed a locked struct.
Type Aliases§
- Shared
Describe - One
Manager.Describecall, awaited by every collector that needs it.