Tracer

Trait Tracer 

Source
pub trait Tracer:
    Send
    + Sync
    + 'static {
Show 13 methods // Required method fn new_span_id(&self) -> SpanId; // Provided methods fn on_query_start(&self, _span_id: SpanId, _query: TracerQueryKey) { ... } fn on_cache_check( &self, _span_id: SpanId, _query: TracerQueryKey, _valid: bool, ) { ... } fn on_query_end( &self, _span_id: SpanId, _query: TracerQueryKey, _result: ExecutionResult, ) { ... } fn on_dependency_registered( &self, _span_id: SpanId, _parent: TracerQueryKey, _dependency: TracerQueryKey, ) { ... } fn on_asset_dependency_registered( &self, _span_id: SpanId, _parent: TracerQueryKey, _asset: TracerAssetKey, ) { ... } fn on_early_cutoff_check( &self, _span_id: SpanId, _query: TracerQueryKey, _output_changed: bool, ) { ... } fn on_asset_requested( &self, _asset: TracerAssetKey, _state: TracerAssetState, ) { ... } fn on_asset_resolved(&self, _asset: TracerAssetKey, _changed: bool) { ... } fn on_asset_invalidated(&self, _asset: TracerAssetKey) { ... } fn on_query_invalidated( &self, _query: TracerQueryKey, _reason: InvalidationReason, ) { ... } fn on_cycle_detected(&self, _path: Vec<TracerQueryKey>) { ... } fn on_missing_dependency( &self, _query: TracerQueryKey, _dependency_description: String, ) { ... }
}
Expand description

Tracer trait for observing query-flow execution.

Implementations can collect events for testing, forward to the tracing crate, or provide custom observability.

All methods have default empty implementations, so you only need to override the events you’re interested in. The NoopTracer uses all defaults for zero-cost when tracing is disabled.

§Thread Safety

Implementations must be Send + Sync as the tracer may be called from multiple threads concurrently.

Required Methods§

Source

fn new_span_id(&self) -> SpanId

Generate a new unique span ID.

This is the only required method. Called at the start of each query execution.

Provided Methods§

Source

fn on_query_start(&self, _span_id: SpanId, _query: TracerQueryKey)

Called when a query execution starts.

Source

fn on_cache_check(&self, _span_id: SpanId, _query: TracerQueryKey, _valid: bool)

Called when cache validity is checked.

Source

fn on_query_end( &self, _span_id: SpanId, _query: TracerQueryKey, _result: ExecutionResult, )

Called when a query execution ends.

Source

fn on_dependency_registered( &self, _span_id: SpanId, _parent: TracerQueryKey, _dependency: TracerQueryKey, )

Called when a query dependency is registered during execution.

Source

fn on_asset_dependency_registered( &self, _span_id: SpanId, _parent: TracerQueryKey, _asset: TracerAssetKey, )

Called when an asset dependency is registered during execution.

Source

fn on_early_cutoff_check( &self, _span_id: SpanId, _query: TracerQueryKey, _output_changed: bool, )

Called when early cutoff comparison is performed.

Source

fn on_asset_requested(&self, _asset: TracerAssetKey, _state: TracerAssetState)

Called when an asset is requested.

Source

fn on_asset_resolved(&self, _asset: TracerAssetKey, _changed: bool)

Called when an asset is resolved with a value.

Source

fn on_asset_invalidated(&self, _asset: TracerAssetKey)

Called when an asset is invalidated.

Source

fn on_query_invalidated( &self, _query: TracerQueryKey, _reason: InvalidationReason, )

Called when a query is invalidated.

Source

fn on_cycle_detected(&self, _path: Vec<TracerQueryKey>)

Called when a dependency cycle is detected.

Source

fn on_missing_dependency( &self, _query: TracerQueryKey, _dependency_description: String, )

Called when a missing dependency error occurs.

Implementors§