Skip to main content

InstrumentStore

Struct InstrumentStore 

Source
pub struct InstrumentStore { /* private fields */ }
Expand description

Local instrument storage with initialization tracking.

Provides add/find/get_all operations for instrument caching. Not thread-safe by itself; wrap in Arc<RwLock<InstrumentStore>> when sharing across async tasks or WebSocket handlers.

Storage preserves insertion order because adapters publish instruments to the data engine straight from this store, and that emission sequence must hold across runs. The map keeps the ahash hasher so ordered iteration costs nothing on lookup.

Implementations§

Source§

impl InstrumentStore

Source

pub fn new() -> Self

Creates a new empty instrument store.

Source

pub fn add(&mut self, instrument: InstrumentAny)

Adds an instrument to the store, replacing any existing entry with the same ID.

Source

pub fn add_bulk(&mut self, instruments: Vec<InstrumentAny>)

Adds multiple instruments to the store.

Source

pub fn find(&self, instrument_id: &InstrumentId) -> Option<&InstrumentAny>

Returns the instrument for the given ID, if found.

Source

pub fn contains(&self, instrument_id: &InstrumentId) -> bool

Returns whether the store contains the given instrument ID.

Source

pub fn get_all(&self) -> &IndexMap<InstrumentId, InstrumentAny, RandomState>

Returns all instruments as a map keyed by instrument ID.

Source

pub fn list_all(&self) -> Vec<&InstrumentAny>

Returns all instruments as a vector.

Source

pub fn count(&self) -> usize

Returns the number of instruments in the store.

Source

pub fn is_empty(&self) -> bool

Returns whether the store is empty.

Source

pub fn is_initialized(&self) -> bool

Returns whether the store has been marked as initialized.

Source

pub fn set_initialized(&mut self)

Marks the store as initialized.

Source

pub fn clear(&mut self)

Clears all instruments and resets initialization state.

Trait Implementations§

Source§

impl Debug for InstrumentStore

Source§

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

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

impl Default for InstrumentStore

Source§

fn default() -> InstrumentStore

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

§

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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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.

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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, <T as TryFrom<U>>::Error>

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

impl<T> Ungil for T
where T: Send,

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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