pub struct ProviderCrash {
pub lines: Vec<String>,
pub signal: Option<i32>,
}Expand description
A typed summary of a provider subprocess crash, assembled from the
captured stderr/stdout crash-signal lines (and, best-effort, the
process exit signal). Returned by Plugin::crash_summary iff any
crash-signal line was seen. The operator’s anomaly classifier matches
the typed EngineError::ProviderCrashed this enriches, never a
substring.
Fields§
§lines: Vec<String>The crash-signal lines captured from the provider’s stderr/stdout,
in arrival order (e.g. panic: runtime error: ...,
goroutine 1 [running]:).
signal: Option<i32>The unix signal the subprocess died from, if observed via
try_wait() before Drop reaped it (11 = SIGSEGV). Best-effort
confirmation; None when unobserved or non-unix.
Implementations§
Source§impl ProviderCrash
impl ProviderCrash
Sourcepub fn crash_site(&self) -> Option<String>
pub fn crash_site(&self) -> Option<String>
The first captured backtrace frame that names a Go source location
(…/file.go:NNN) — the actual crash SITE. This is the single most
useful line for root-causing a provider panic: it names the file +
line that nil-deref’d (e.g. a data source’s Read whose API client
was never built). None when only the header was captured (no
backtrace, or frames arrived past the ring window). The leading
+0x… PC offset is trimmed — the file:line is the meaning.
Trait Implementations§
Source§impl Clone for ProviderCrash
impl Clone for ProviderCrash
Source§fn clone(&self) -> ProviderCrash
fn clone(&self) -> ProviderCrash
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 ProviderCrash
impl Debug for ProviderCrash
Source§impl Default for ProviderCrash
impl Default for ProviderCrash
Source§fn default() -> ProviderCrash
fn default() -> ProviderCrash
Auto Trait Implementations§
impl Freeze for ProviderCrash
impl RefUnwindSafe for ProviderCrash
impl Send for ProviderCrash
impl Sync for ProviderCrash
impl Unpin for ProviderCrash
impl UnsafeUnpin for ProviderCrash
impl UnwindSafe for ProviderCrash
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request