update opentelemetry
This commit is contained in:
parent
f73e2738f2
commit
244f75c87a
|
@ -61,7 +61,7 @@ log = { version = "0.4.14", optional = true }
|
||||||
secrecy = { version = "0.7.0", optional = true }
|
secrecy = { version = "0.7.0", optional = true }
|
||||||
tracinglib = { version = "0.1.25", optional = true, package = "tracing" }
|
tracinglib = { version = "0.1.25", optional = true, package = "tracing" }
|
||||||
tracing-futures = { version = "0.2.5", optional = true, features = ["std-future", "futures-03"] }
|
tracing-futures = { version = "0.2.5", optional = true, features = ["std-future", "futures-03"] }
|
||||||
opentelemetry = { version = "0.16.0", optional = true, default-features = false, features = ["trace"] }
|
opentelemetry = { version = "0.17.0", optional = true, default-features = false, features = ["trace"] }
|
||||||
uuid = { version = "0.8.2", optional = true, features = ["v4", "serde"] }
|
uuid = { version = "0.8.2", optional = true, features = ["v4", "serde"] }
|
||||||
rust_decimal = { version = "1.14.3", optional = true }
|
rust_decimal = { version = "1.14.3", optional = true }
|
||||||
url = { version = "2.2.1", optional = true }
|
url = { version = "2.2.1", optional = true }
|
||||||
|
|
|
@ -31,7 +31,8 @@ impl<T> OpenTelemetry<T> {
|
||||||
/// Use `tracer` to create an OpenTelemetry extension.
|
/// Use `tracer` to create an OpenTelemetry extension.
|
||||||
pub fn new(tracer: T) -> OpenTelemetry<T>
|
pub fn new(tracer: T) -> OpenTelemetry<T>
|
||||||
where
|
where
|
||||||
T: Tracer + Send + Sync,
|
T: Tracer + Send + Sync + 'static,
|
||||||
|
<T as Tracer>::Span: Sync + Send,
|
||||||
{
|
{
|
||||||
Self {
|
Self {
|
||||||
tracer: Arc::new(tracer),
|
tracer: Arc::new(tracer),
|
||||||
|
@ -39,7 +40,11 @@ impl<T> OpenTelemetry<T> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T: Tracer + Send + Sync> ExtensionFactory for OpenTelemetry<T> {
|
impl<T> ExtensionFactory for OpenTelemetry<T>
|
||||||
|
where
|
||||||
|
T: Tracer + Send + Sync + 'static,
|
||||||
|
<T as Tracer>::Span: Sync + Send,
|
||||||
|
{
|
||||||
fn create(&self) -> Arc<dyn Extension> {
|
fn create(&self) -> Arc<dyn Extension> {
|
||||||
Arc::new(OpenTelemetryExtension {
|
Arc::new(OpenTelemetryExtension {
|
||||||
tracer: self.tracer.clone(),
|
tracer: self.tracer.clone(),
|
||||||
|
@ -52,7 +57,11 @@ struct OpenTelemetryExtension<T> {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[async_trait::async_trait]
|
#[async_trait::async_trait]
|
||||||
impl<T: Tracer + Send + Sync> Extension for OpenTelemetryExtension<T> {
|
impl<T> Extension for OpenTelemetryExtension<T>
|
||||||
|
where
|
||||||
|
T: Tracer + Send + Sync + 'static,
|
||||||
|
<T as Tracer>::Span: Sync + Send,
|
||||||
|
{
|
||||||
async fn request(&self, ctx: &ExtensionContext<'_>, next: NextRequest<'_>) -> Response {
|
async fn request(&self, ctx: &ExtensionContext<'_>, next: NextRequest<'_>) -> Response {
|
||||||
next.run(ctx)
|
next.run(ctx)
|
||||||
.with_context(OpenTelemetryContext::current_with_span(
|
.with_context(OpenTelemetryContext::current_with_span(
|
||||||
|
|
Loading…
Reference in New Issue
Block a user