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: StringSchema identity accepted by report decoding.
attempt_id: AttemptIdRuntime 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: AttemptDispositionPlanning coverage of this attempt, independent of execution success.
outcome: RuntimeTerminalOutcomeFirst 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: AttemptRetryAdviceThe 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: AttemptTimestampsMonotonic lifecycle boundary times for duration calculations.
cleanup_disposition: AttemptCleanupDispositionCleanup completion classification committed before publication.
cleanup_failure_count: u64Exact when cleanup_failure_count_complete is true. The lifecycle
never publishes a saturated arithmetic result as exact.
cleanup_failure_count_complete: boolRequired 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: AttemptCapacityDispositionDisposition 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: u64Observation records lost because retention or recording failed.
observation_retained_records: u64Records retained in the sealed bounded observation.
observation_retained_bytes: u64Deterministic logical bytes retained in the sealed observation.
observation_truncated: boolWhether retention limits prevented complete observation capture.
observation_degraded: boolWhether 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
impl QueryAttemptReport
Sourcepub fn sealed_projection(&self) -> SealedAttemptProjection
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
impl QueryAttemptReport
Sourcepub fn total_ns(&self) -> Option<u64>
pub fn total_ns(&self) -> Option<u64>
Returns submission-to-report-ready duration in nanoseconds.
Returns None when report readiness was not recorded.
Sourcepub fn planning_ns(&self) -> Option<u64>
pub fn planning_ns(&self) -> Option<u64>
Returns planning-start-to-planning-finish duration in nanoseconds.
Returns None when either boundary is absent.
Sourcepub fn queue_wait_ns(&self) -> Option<u64>
pub fn queue_wait_ns(&self) -> Option<u64>
Returns admission-request-to-grant duration in nanoseconds.
Returns None when either boundary is absent.
Sourcepub fn post_planning_pre_admission_ns(&self) -> Option<u64>
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.
Sourcepub fn admitted_to_physical_execution_ns(&self) -> Option<u64>
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.
Sourcepub fn physical_to_gpu_dispatch_ns(&self) -> Option<u64>
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.
Sourcepub fn admitted_to_gpu_dispatch_ns(&self) -> Option<u64>
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.
Sourcepub fn submitted_to_gpu_dispatch_ns(&self) -> Option<u64>
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.
Sourcepub fn gpu_dispatch_to_terminal_ns(&self) -> Option<u64>
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.
Sourcepub fn physical_execution_ns(&self) -> Option<u64>
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.
Sourcepub fn cleanup_ns(&self) -> Option<u64>
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
impl Clone for QueryAttemptReport
Source§impl Debug for QueryAttemptReport
impl Debug for QueryAttemptReport
Source§impl<'de> Deserialize<'de> for QueryAttemptReport
impl<'de> Deserialize<'de> for QueryAttemptReport
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for QueryAttemptReport
Source§impl From<&QueryAttemptReport> for SealedAttemptProjection
impl From<&QueryAttemptReport> for SealedAttemptProjection
Source§fn from(report: &QueryAttemptReport) -> Self
fn from(report: &QueryAttemptReport) -> Self
Source§impl PartialEq for QueryAttemptReport
impl PartialEq for QueryAttemptReport
Source§impl Serialize for QueryAttemptReport
impl Serialize for QueryAttemptReport
impl StructuralPartialEq for QueryAttemptReport
Auto Trait Implementations§
impl Freeze for QueryAttemptReport
impl RefUnwindSafe for QueryAttemptReport
impl Send for QueryAttemptReport
impl Sync for QueryAttemptReport
impl Unpin for QueryAttemptReport
impl UnsafeUnpin for QueryAttemptReport
impl UnwindSafe for QueryAttemptReport
Blanket Implementations§
impl<T> Allocation for T
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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