Skip to main content

ExecutionEventSink

Trait ExecutionEventSink 

Source
pub trait ExecutionEventSink: Send + Sync {
Show 13 methods // Required methods fn is_enabled(&self, kind: ExecutionEventKind) -> bool; fn record( &self, permit: EventEmissionPermit, ) -> Result<(), ExecutionEventSinkError>; // Provided methods fn enablement(&self) -> ExecutionEventSinkEnablement { ... } fn device_timing_mode(&self) -> DeviceTimingMode { ... } fn capture_policy(&self) -> ExecutionEventCapturePolicy { ... } fn capture_policy_for_request( &self, _origin: ExecutorRequestOrigin, ) -> ExecutionEventCapturePolicy { ... } fn record_device_submission_attribution( &self, _attribution: &BoundDeviceSubmissionAttribution, ) -> Result<(), ExecutionEventSinkError> { ... } fn record_physical_device_submission_timing( &self, _completion: &OperationCompletionReceipt, ) -> Result<(), ExecutionEventSinkError> { ... } fn records_execution_resource_maintenance(&self) -> bool { ... } fn record_execution_resource_maintenance( &self, _maintenance: BoundExecutionResourceMaintenance, ) -> Result<(), ExecutionEventSinkError> { ... } fn records_prefix_restore_decisions(&self) -> bool { ... } fn record_prefix_restore_decision( &self, _observation: &PrefixRestoreObservation<'_>, ) -> Result<(), ExecutionEventSinkError> { ... } fn record_batch( &self, permit: EventBatchEmissionPermit, ) -> Result<(), ExecutionEventSinkError> { ... }
}

Required Methods§

Provided Methods§

Source

fn enablement(&self) -> ExecutionEventSinkEnablement

Resolves stable event enablement once when an emitter is constructed.

Dynamically filtered sinks keep the conservative PerKind default. Permanently disabled and all-event sinks select None or All so the event hot path does not perform a virtual enablement query.

Source

fn device_timing_mode(&self) -> DeviceTimingMode

Source

fn capture_policy(&self) -> ExecutionEventCapturePolicy

Source

fn capture_policy_for_request( &self, _origin: ExecutorRequestOrigin, ) -> ExecutionEventCapturePolicy

Source

fn record_device_submission_attribution( &self, _attribution: &BoundDeviceSubmissionAttribution, ) -> Result<(), ExecutionEventSinkError>

Source

fn record_physical_device_submission_timing( &self, _completion: &OperationCompletionReceipt, ) -> Result<(), ExecutionEventSinkError>

Source

fn records_execution_resource_maintenance(&self) -> bool

Resource maintenance is a plan/batch event and therefore does not run through a per-request execution cursor. Sinks opt in explicitly so a disabled profile path performs no event construction or serialization.

Source

fn record_execution_resource_maintenance( &self, _maintenance: BoundExecutionResourceMaintenance, ) -> Result<(), ExecutionEventSinkError>

Source

fn records_prefix_restore_decisions(&self) -> bool

Prefix lookup precedes a per-request execution cursor. Opt-in sinks receive resource-only decisions through their existing trace transport.

Source

fn record_prefix_restore_decision( &self, _observation: &PrefixRestoreObservation<'_>, ) -> Result<(), ExecutionEventSinkError>

Source

fn record_batch( &self, permit: EventBatchEmissionPermit, ) -> Result<(), ExecutionEventSinkError>

Records one cursor-ordered batch. Sinks with a buffered transport should override this boundary; the default preserves compatibility and order.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§