Struct ObservabilityContext
pub struct ObservabilityContext {
active_spans: RwLock<RawRwLock, HashMap<SpanId, Span>>,
completed_spans: RwLock<RawRwLock, Vec<Span>>,
max_completed: usize,
prometheus: Arc<PrometheusExporter>,
}Expand description
Global observability context for managing spans and metrics.
Fields§
§active_spans: RwLock<RawRwLock, HashMap<SpanId, Span>>§completed_spans: RwLock<RawRwLock, Vec<Span>>§max_completed: usize§prometheus: Arc<PrometheusExporter>Implementations§
§impl ObservabilityContext
impl ObservabilityContext
pub fn new() -> Arc<ObservabilityContext>
pub fn new() -> Arc<ObservabilityContext>
Create a new observability context.
pub fn start_span(&self, name: impl Into<String>, kind: SpanKind) -> Span
pub fn start_span(&self, name: impl Into<String>, kind: SpanKind) -> Span
Start a new span.
pub fn start_child_span(
&self,
parent: &Span,
name: impl Into<String>,
kind: SpanKind,
) -> Span
pub fn start_child_span( &self, parent: &Span, name: impl Into<String>, kind: SpanKind, ) -> Span
Start a child span.
pub fn prometheus(&self) -> &Arc<PrometheusExporter>
pub fn prometheus(&self) -> &Arc<PrometheusExporter>
Get Prometheus exporter.
pub fn export_spans(&self) -> Vec<Span>
pub fn export_spans(&self) -> Vec<Span>
Export completed spans (for sending to trace backends).
pub fn active_span_count(&self) -> usize
pub fn active_span_count(&self) -> usize
Get active span count.
Trait Implementations§
§impl Default for ObservabilityContext
impl Default for ObservabilityContext
§fn default() -> ObservabilityContext
fn default() -> ObservabilityContext
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for ObservabilityContext
impl !RefUnwindSafe for ObservabilityContext
impl Send for ObservabilityContext
impl Sync for ObservabilityContext
impl Unpin for ObservabilityContext
impl !UnwindSafe for ObservabilityContext
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.