Skip to main content

QueryAttemptReport

Struct QueryAttemptReport 

Source
pub struct QueryAttemptReport {
Show 28 fields pub schema: String, pub attempt_id: AttemptId, pub query_id: Option<AttemptQueryId>, pub trace_context: Option<AttemptTraceContext>, pub disposition: AttemptDisposition, pub outcome: RuntimeTerminalOutcome, pub primary_failure: Option<AttemptFailureSummary>, pub retry_advice: AttemptRetryAdvice, pub device_ordinal: Option<usize>, pub admission: Option<AttemptAdmissionFact>, pub admission_wait: Option<AttemptAdmissionWaitFact>, pub composed_schedule: Option<AttemptComposedScheduleProjection>, pub timestamps: AttemptTimestamps, pub cleanup_disposition: AttemptCleanupDisposition, pub cleanup_failure_count: u64, pub cleanup_failure_count_complete: bool, pub first_cleanup_failure: Option<CleanupFailureSummary>, pub capacity_disposition: AttemptCapacityDisposition, pub final_domain_usage: Option<AttemptFinalDomainUsage>, pub health_transition: Option<AttemptHealthTransition>, pub native_fault_evidence: Option<AttemptNativeFaultEvidence>, pub resource_evidence: Option<AttemptResourceEvidence>, pub observation_lost_records: u64, pub observation_retained_records: u64, pub observation_retained_bytes: u64, pub observation_truncated: bool, pub observation_degraded: bool, pub unix_epoch_ns: Option<u64>,
}
Expand description

Immutable terminal attempt record published after cleanup and sealing.

The report preserves the execution outcome separately from cleanup, health and capacity disposition. Retry advice is derived from those committed facts; delivery failures do not change the report. Duration helpers return None for missing boundaries and saturate reversed intervals at zero.

Fields§

§schema: String

Schema identity accepted by report decoding.

§attempt_id: AttemptId

Runtime identity shared by the attempt and its observations.

§query_id: Option<AttemptQueryId>

Validated caller query correlation, or None when none was supplied.

§trace_context: Option<AttemptTraceContext>

Validated opaque caller trace correlation, or None when none was supplied.

§disposition: AttemptDisposition

Planning coverage of this attempt, independent of execution success.

§outcome: RuntimeTerminalOutcome

First terminal execution outcome committed by the attempt owner.

§primary_failure: Option<AttemptFailureSummary>

Bounded primary terminal-failure facts retained by the attempt lifecycle. Successful attempts have no primary summary.

§retry_advice: AttemptRetryAdvice

The sole evidence-gated recovery recommendation derived as this report is sealed. It is required and never inferred from an error status at read time.

§device_ordinal: Option<usize>

Selected CUDA device, or None when no device-backed admission occurred.

§admission: Option<AttemptAdmissionFact>

Immutable grant facts, or None when the attempt was unadmitted.

§admission_wait: Option<AttemptAdmissionWaitFact>

Final queue facts for an admitted request. None means the execution path did not retain a queue-backed admission handle; it is never reconstructed from snapshots after the report is sealed.

§composed_schedule: Option<AttemptComposedScheduleProjection>

Immutable engine-owned composed schedule, when this admitted attempt used the composed graph execution contract. Ordinary attempts leave it absent; it is never reconstructed from runtime observations.

§timestamps: AttemptTimestamps

Monotonic lifecycle boundary times for duration calculations.

§cleanup_disposition: AttemptCleanupDisposition

Cleanup completion classification committed before publication.

§cleanup_failure_count: u64

Exact when cleanup_failure_count_complete is true. The lifecycle never publishes a saturated arithmetic result as exact.

§cleanup_failure_count_complete: bool

Required so decoding never fabricates an exact cleanup-failure count.

§first_cleanup_failure: Option<CleanupFailureSummary>

First bounded cleanup failure. Further failures affect only the exact count; timeline retention is intentionally not authoritative.

§capacity_disposition: AttemptCapacityDisposition

Disposition of the immutable grant after terminal cleanup.

§final_domain_usage: Option<AttemptFinalDomainUsage>

Exact final domain usage after admitted cleanup, when sampling succeeded. None is an unavailable sample, never a zero sample.

§health_transition: Option<AttemptHealthTransition>

Health result of the admitted release commit. None means no trustworthy admitted terminal release-commit fact was recorded (for example, an unadmitted attempt).

§native_fault_evidence: Option<AttemptNativeFaultEvidence>

Bounded cuDF/cuGraph native status, isolation, and teardown facts from the same terminal release commit. None means the attempt did not own a device-backed domain. No native device status applies to such an attempt.

§resource_evidence: Option<AttemptResourceEvidence>

Bounded ledger, immutable-cap, domain-usage, and allocator evidence from the sole terminal release commit. None means the attempt did not own a device-backed admission domain.

§observation_lost_records: u64

Observation records lost because retention or recording failed.

§observation_retained_records: u64

Records retained in the sealed bounded observation.

§observation_retained_bytes: u64

Deterministic logical bytes retained in the sealed observation.

§observation_truncated: bool

Whether retention limits prevented complete observation capture.

§observation_degraded: bool

Whether recording degraded for reasons other than configured retention limits.

§unix_epoch_ns: Option<u64>

Optional wall-clock nanosecond anchor associated with the observation clock.

Implementations§

Source§

impl QueryAttemptReport

Source

pub fn sealed_projection(&self) -> SealedAttemptProjection

Returns the compact, fixed-shape projection used by post-seal public consumers. The complete report remains the canonical retained record; this helper is only a read-only projection and never reconstructs facts from an error or delivery result.

Source§

impl QueryAttemptReport

Source

pub fn total_ns(&self) -> Option<u64>

Returns submission-to-report-ready duration in nanoseconds. Returns None when report readiness was not recorded.

Source

pub fn planning_ns(&self) -> Option<u64>

Returns planning-start-to-planning-finish duration in nanoseconds. Returns None when either boundary is absent.

Source

pub fn queue_wait_ns(&self) -> Option<u64>

Returns admission-request-to-grant duration in nanoseconds. Returns None when either boundary is absent.

Source

pub fn post_planning_pre_admission_ns(&self) -> Option<u64>

Returns planning-finish-to-admission-request duration in nanoseconds. Returns None when either boundary is absent.

Source

pub fn admitted_to_physical_execution_ns(&self) -> Option<u64>

Returns grant-to-physical-execution-start duration in nanoseconds. Returns None when either boundary is absent.

Source

pub fn physical_to_gpu_dispatch_ns(&self) -> Option<u64>

Returns physical-execution-start-to-GPU-dispatch duration in nanoseconds. Returns None when either boundary is absent.

Source

pub fn admitted_to_gpu_dispatch_ns(&self) -> Option<u64>

Returns grant-to-first-GPU-dispatch duration in nanoseconds. Returns None when either boundary is absent.

Source

pub fn submitted_to_gpu_dispatch_ns(&self) -> Option<u64>

Returns submission-to-first-GPU-dispatch duration in nanoseconds. Returns None when GPU dispatch was not recorded.

Source

pub fn gpu_dispatch_to_terminal_ns(&self) -> Option<u64>

Returns first-GPU-dispatch-to-terminal-outcome duration in nanoseconds. Returns None when GPU dispatch was not recorded.

Source

pub fn physical_execution_ns(&self) -> Option<u64>

Returns physical-execution-start-to-terminal-outcome duration in nanoseconds. Returns None when physical execution did not start.

Source

pub fn cleanup_ns(&self) -> Option<u64>

Returns terminal-outcome-to-cleanup-complete duration in nanoseconds. Returns None when cleanup completion was not recorded.

Trait Implementations§

Source§

impl Clone for QueryAttemptReport

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for QueryAttemptReport

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for QueryAttemptReport

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for QueryAttemptReport

Source§

impl From<&QueryAttemptReport> for SealedAttemptProjection

Source§

fn from(report: &QueryAttemptReport) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for QueryAttemptReport

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for QueryAttemptReport

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for QueryAttemptReport

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more