pub struct OpenTelemetry<T> { /* private fields */ }Available on crate feature
opentelemetry only.Expand description
Implementations§
Source§impl<T> OpenTelemetry<T>
impl<T> OpenTelemetry<T>
Sourcepub fn new(tracer: T) -> OpenTelemetry<T>
pub fn new(tracer: T) -> OpenTelemetry<T>
Use tracer to create an OpenTelemetry extension.
Sourcepub fn with_trace_scalars(self, trace_scalars: bool) -> Self
pub fn with_trace_scalars(self, trace_scalars: bool) -> Self
Enable or disable tracing for scalar and enum field resolutions.
When false (the default), spans are not created for fields that return
scalar or enum types. This significantly reduces the number of spans
generated, preventing span explosion in queries with many scalar fields.
When true, spans are created for all field resolutions, including
scalars and enums.
§Example
ⓘ
use async_graphql::extensions::OpenTelemetry;
use async_graphql_extras::OpenTelemetry as ExtrasOpenTelemetry;
let tracer = todo!("create your OpenTelemetry tracer");
// Trace all fields including scalars
let schema = Schema::build(Query, EmptyMutation, EmptySubscription)
.extension(ExtrasOpenTelemetry::new(tracer).with_trace_scalars(true))
.finish();Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for OpenTelemetry<T>
impl<T> RefUnwindSafe for OpenTelemetry<T>where
T: RefUnwindSafe,
impl<T> Send for OpenTelemetry<T>
impl<T> Sync for OpenTelemetry<T>
impl<T> Unpin for OpenTelemetry<T>
impl<T> UnwindSafe for OpenTelemetry<T>where
T: RefUnwindSafe,
Blanket Implementations§
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