Skip to main content

GlideOpenTelemetry

Struct GlideOpenTelemetry 

Source
pub struct GlideOpenTelemetry {}

Implementations§

Source§

impl GlideOpenTelemetry

Our interface to OpenTelemetry

Source

pub unsafe fn is_span_pointer_valid(span_ptr: u64) -> bool

Validate if a span pointer is valid

§Arguments
  • span_ptr - The u64 span pointer to validate
§Returns
  • true - If the span pointer is valid (non-zero and within reasonable bounds)
  • false - If the span pointer is invalid (zero, out of bounds, or potentially corrupted)
§Safety

This function performs basic validation but cannot guarantee the pointer points to valid memory. It only checks for obvious invalid values like null pointers and unreasonable addresses.

Source

pub unsafe fn span_from_pointer( span_ptr: u64, ) -> Result<GlideSpan, GlideOTELError>

Convert a span pointer to a GlideSpan with validation

§Arguments
  • span_ptr - The u64 span pointer to convert
§Returns
  • Ok(GlideSpan) - If the pointer is valid and conversion succeeds
  • Err(TraceError) - If the pointer is invalid or conversion fails
§Safety

This function validates the pointer before attempting conversion, but still uses unsafe code

Source

pub fn initialise( config: GlideOpenTelemetryConfig, ) -> Result<(), GlideOTELError>

Initialise the open telemetry library with a file system exporter

This method should be called once for the given process If OpenTelemetry is already initialized, this method will return Ok(()) without reinitializing

Source

pub fn record_timeout_error() -> Result<(), GlideOTELError>

Record a timeout error

If OpenTelemetry is not initialized, this method will do nothing.

Source

pub fn record_retry_attempt() -> Result<(), GlideOTELError>

Record a retry attempt

If OpenTelemetry is not initialized, this method will do nothing.

Source

pub fn record_moved_error() -> Result<(), GlideOTELError>

Record a moved error

If OpenTelemetry is not initialized, this method will do nothing.

Source

pub fn record_subscription_out_of_sync() -> Result<(), GlideOTELError>

Record that subscriptions are out of sync

If OpenTelemetry is not initialized, this method will do nothing.

Source

pub fn update_subscription_last_sync_timestamp() -> Result<(), GlideOTELError>

Update the timestamp of when subscriptions were last in sync

Records the current system time as a Unix timestamp in milliseconds.

If OpenTelemetry is not initialized, this method will do nothing.

Source

pub fn get_flush_interval_ms(config: GlideOpenTelemetryConfig) -> Duration

Get the flush interval milliseconds

Source

pub fn new_span(name: &str) -> GlideSpan

Create new span

Source

pub fn shutdown()

Trigger a shutdown procedure flushing all remaining traces

Source

pub fn is_initialized() -> bool

Check if OpenTelemetry is initialized

Trait Implementations§

Source§

impl Clone for GlideOpenTelemetry

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

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

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self> ⓘ

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

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

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

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.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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, !>

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

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

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