Trait Storage

Source
pub trait Storage {
Show 21 methods // Required methods fn get_resource(&self, at: Timestamp) -> Result<Arc<Resource>, StorageError>; fn get_span(&self, at: Timestamp) -> Result<Arc<Span>, StorageError>; fn get_span_event( &self, at: Timestamp, ) -> Result<Arc<SpanEvent>, StorageError>; fn get_event(&self, at: Timestamp) -> Result<Arc<Event>, StorageError>; fn get_all_resources( &self, ) -> Result<StorageIter<'_, Resource>, StorageError>; fn get_all_spans(&self) -> Result<StorageIter<'_, Span>, StorageError>; fn get_all_span_events( &self, ) -> Result<StorageIter<'_, SpanEvent>, StorageError>; fn get_all_events(&self) -> Result<StorageIter<'_, Event>, StorageError>; fn insert_resource( &mut self, resource: Resource, ) -> Result<(), StorageError>; fn insert_span(&mut self, span: Span) -> Result<(), StorageError>; fn insert_span_event( &mut self, span_event: SpanEvent, ) -> Result<(), StorageError>; fn insert_event(&mut self, event: Event) -> Result<(), StorageError>; fn update_span_closed( &mut self, at: Timestamp, closed: Timestamp, busy: Option<u64>, ) -> Result<(), StorageError>; fn update_span_attributes( &mut self, at: Timestamp, attributes: BTreeMap<String, Value>, ) -> Result<(), StorageError>; fn update_span_link( &mut self, at: Timestamp, link: FullSpanId, attributes: BTreeMap<String, Value>, ) -> Result<(), StorageError>; fn update_span_parents( &mut self, parent_key: SpanKey, spans: &[SpanKey], ) -> Result<(), StorageError>; fn update_event_parents( &mut self, parent_key: SpanKey, events: &[EventKey], ) -> Result<(), StorageError>; fn drop_resources( &mut self, resources: &[Timestamp], ) -> Result<(), StorageError>; fn drop_spans(&mut self, spans: &[Timestamp]) -> Result<(), StorageError>; fn drop_span_events( &mut self, span_events: &[Timestamp], ) -> Result<(), StorageError>; fn drop_events(&mut self, events: &[Timestamp]) -> Result<(), StorageError>;
}
Expand description

This serves as the backing storage of resources, spans, events, and span events.

An implementation must provide fast lookups for each respective entity based on its “timestamp” (timestamp for events and span events, created_at for resources and spans).

Required Methods§

Source

fn get_resource(&self, at: Timestamp) -> Result<Arc<Resource>, StorageError>

Source

fn get_span(&self, at: Timestamp) -> Result<Arc<Span>, StorageError>

Source

fn get_span_event(&self, at: Timestamp) -> Result<Arc<SpanEvent>, StorageError>

Source

fn get_event(&self, at: Timestamp) -> Result<Arc<Event>, StorageError>

Source

fn get_all_resources(&self) -> Result<StorageIter<'_, Resource>, StorageError>

Source

fn get_all_spans(&self) -> Result<StorageIter<'_, Span>, StorageError>

Source

fn get_all_span_events( &self, ) -> Result<StorageIter<'_, SpanEvent>, StorageError>

Source

fn get_all_events(&self) -> Result<StorageIter<'_, Event>, StorageError>

Source

fn insert_resource(&mut self, resource: Resource) -> Result<(), StorageError>

Source

fn insert_span(&mut self, span: Span) -> Result<(), StorageError>

Source

fn insert_span_event( &mut self, span_event: SpanEvent, ) -> Result<(), StorageError>

Source

fn insert_event(&mut self, event: Event) -> Result<(), StorageError>

Source

fn update_span_closed( &mut self, at: Timestamp, closed: Timestamp, busy: Option<u64>, ) -> Result<(), StorageError>

Source

fn update_span_attributes( &mut self, at: Timestamp, attributes: BTreeMap<String, Value>, ) -> Result<(), StorageError>

Source

fn update_span_parents( &mut self, parent_key: SpanKey, spans: &[SpanKey], ) -> Result<(), StorageError>

Source

fn update_event_parents( &mut self, parent_key: SpanKey, events: &[EventKey], ) -> Result<(), StorageError>

Source

fn drop_resources( &mut self, resources: &[Timestamp], ) -> Result<(), StorageError>

Source

fn drop_spans(&mut self, spans: &[Timestamp]) -> Result<(), StorageError>

Source

fn drop_span_events( &mut self, span_events: &[Timestamp], ) -> Result<(), StorageError>

Source

fn drop_events(&mut self, events: &[Timestamp]) -> Result<(), StorageError>

Implementors§