pub enum DegradationReason {
None,
MissingCapBpf,
MissingCapPerfmon,
MissingBpfCapabilities,
EbpfFeatureDisabled,
KernelUnsupported,
BpfPermissionDenied,
KprobeAttachFailed(String),
BtfUnavailable,
EbpfLoadFailed(String),
BinaryOnNosuidMount,
}Expand description
Reasons why process detection may be degraded from optimal
Variants§
None
No degradation - optimal method available
MissingCapBpf
Missing CAP_BPF capability (Linux 5.8+)
MissingCapPerfmon
Missing CAP_PERFMON capability (Linux 5.8+)
MissingBpfCapabilities
Missing both CAP_BPF and CAP_PERFMON (and no CAP_SYS_ADMIN fallback)
EbpfFeatureDisabled
eBPF feature not compiled in
KernelUnsupported
Kernel doesn’t support required eBPF features (e.g. ENOSYS from bpf(2))
BpfPermissionDenied
BPF syscall denied despite caps - typically AppArmor, kernel lockdown, or unprivileged_bpf_disabled interactions
KprobeAttachFailed(String)
Failed to attach a kprobe (e.g. symbol missing from kernel). The String carries the symbol name where known.
Kernel BTF unavailable / CO-RE relocation failed (no /sys/kernel/btf/vmlinux)
EbpfLoadFailed(String)
Generic eBPF load failure carrying the truncated libbpf error text
BinaryOnNosuidMount
Binary lives on a filesystem mounted with nosuid, which makes the
kernel silently ignore file capabilities set via setcap. Common when
the binary is under /home, /tmp, or a removable mount.
Implementations§
Source§impl DegradationReason
impl DegradationReason
Sourcepub fn description(&self) -> Cow<'_, str>
pub fn description(&self) -> Cow<'_, str>
Get human-readable description of what’s needed
Get the name of the unavailable feature
Trait Implementations§
Source§impl Clone for DegradationReason
impl Clone for DegradationReason
Source§fn clone(&self) -> DegradationReason
fn clone(&self) -> DegradationReason
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 DegradationReason
impl Debug for DegradationReason
Source§impl Default for DegradationReason
impl Default for DegradationReason
Source§fn default() -> DegradationReason
fn default() -> DegradationReason
Source§impl PartialEq for DegradationReason
impl PartialEq for DegradationReason
Source§fn eq(&self, other: &DegradationReason) -> bool
fn eq(&self, other: &DegradationReason) -> bool
self and other values to be equal, and is used by ==.