Skip to main content

SystemRecorder

Struct SystemRecorder 

Source
pub struct SystemRecorder { /* private fields */ }

Implementations§

Source§

impl SystemRecorder

Source

pub fn new(host_executor: HostNamespaceExecutor) -> Self

Source

pub async fn run_all(&self) -> CheckGroupResult

Run all the recorders asynchronously, then join and collect the results.

Source

pub async fn record_lspci(&self) -> CheckResult

Records verbose PCI device listing.

Manual equivalent:

lspci -vvv
Source

pub async fn record_dmidecode(&self) -> CheckResult

Records DMI/SMBIOS hardware information (BIOS, board, chassis, CPU, memory).

Manual equivalent:

dmidecode
Source

pub async fn record_hv_console(&self) -> CheckResult

Records the Xen hypervisor console log via the protect-ctl tool.

Manual equivalent:

protect-ctl host hv-console
Source

pub async fn record_hv_debug_info(&self) -> CheckResult

Records the Xen hypervisor debug state via the protect-ctl tool.

Manual equivalent:

protect-ctl host hv-debug-info
Source

pub async fn record_daemon_logs(&self) -> CheckResult

Records the protect-daemon journalctl log.

Manual equivalent:

journalctl -u protect-daemon
Source

pub async fn record_cri_logs(&self) -> CheckResult

Records the protect-cri journalctl log.

Manual equivalent:

journalctl -u protect-cri
Source

pub async fn record_storage_logs(&self) -> CheckResult

Records the protect-storage journalctl log.

Manual equivalent:

journalctl -u protect-storage
Source

pub async fn record_network_logs(&self) -> CheckResult

Records the protect-network journalctl log.

Manual equivalent:

journalctl -u protect-storage
Source

pub async fn record_containerd_logs(&self) -> CheckResult

Records the containerd journalctl log.

Manual equivalent:

journalctl -u containerd
Source

pub async fn record_kubelet_logs(&self) -> CheckResult

Records the kubelet journalctl log.

Manual equivalent:

journalctl -u kubelet
Source

pub async fn record_cpuinfo(&self) -> CheckResult

Records CPU hardware details and feature flags.

Manual equivalent:

cat /proc/cpuinfo
Source

pub async fn record_cmdline(&self) -> CheckResult

Records the kernel command line used to boot the running kernel.

Manual equivalent:

cat /proc/cmdline
Source

pub async fn record_xen_capabilities(&self) -> CheckResult

Records the Xen hypervisor capability string.

Manual equivalent:

cat /sys/hypervisor/properties/capabilities
Source

pub async fn record_grub_cfg(&self) -> CheckResult

Records the GRUB bootloader configuration. Checks /boot/grub2/grub.cfg first, falling back to /boot/grub/grub.cfg.

Manual equivalent:

cat /boot/grub2/grub.cfg || cat /boot/grub/grub.cfg
Source

pub async fn record_kernel_cfg(&self) -> CheckResult

Records the kernel build configuration. Checks /proc/config.gz first (decompressing if needed), falling back to /boot/config-$(uname -r).

Manual equivalent:

zcat /proc/config.gz || cat /boot/config-$(uname -r)
Source

pub async fn record_loaded_modules(&self) -> CheckResult

Records the list of currently loaded kernel modules.

Manual equivalent:

cut -d' ' -f1 /proc/modules

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.