opentelemetry 0.22

This commit is contained in:
asonix 2025-03-25 15:40:02 -05:00
parent 22e03df3ff
commit 90a9599479
6 changed files with 43 additions and 16 deletions

View file

@ -1,7 +1,7 @@
[package]
name = "tracing-awc"
description = "Tracing instrumentation for the awc http client"
version = "0.1.9"
version = "0.1.10"
authors = ["asonix <asonix@asonix.dog"]
edition = "2018"
license = "AGPL-3.0"
@ -10,11 +10,11 @@ readme = "README.md"
[[example]]
name = "client"
required-features = ["opentelemetry_0_21"]
required-features = ["opentelemetry_0_22"]
[[example]]
name = "server"
required-features = ["opentelemetry_0_21"]
required-features = ["opentelemetry_0_22"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
@ -56,6 +56,10 @@ opentelemetry_0_21 = [
"opentelemetry_0_21_pkg",
"tracing-opentelemetry_0_22_pkg",
]
opentelemetry_0_22 = [
"opentelemetry_0_22_pkg",
"tracing-opentelemetry_0_23_pkg",
]
[dependencies]
actix-http = { version = "3.0.2", default-features = false }
@ -72,6 +76,7 @@ opentelemetry_0_18_pkg = { package = "opentelemetry", version = "0.18", optional
opentelemetry_0_19_pkg = { package = "opentelemetry", version = "0.19", optional = true }
opentelemetry_0_20_pkg = { package = "opentelemetry", version = "0.20", optional = true }
opentelemetry_0_21_pkg = { package = "opentelemetry", version = "0.21", optional = true }
opentelemetry_0_22_pkg = { package = "opentelemetry", version = "0.22", optional = true }
pin-project-lite = "0.2.7"
tracing = "0.1"
tracing-opentelemetry_0_12_pkg = { package = "tracing-opentelemetry", version = "0.12", optional = true }
@ -83,14 +88,15 @@ tracing-opentelemetry_0_18_pkg = { package = "tracing-opentelemetry", version =
tracing-opentelemetry_0_19_pkg = { package = "tracing-opentelemetry", version = "0.19", optional = true }
tracing-opentelemetry_0_21_pkg = { package = "tracing-opentelemetry", version = "0.21", optional = true }
tracing-opentelemetry_0_22_pkg = { package = "tracing-opentelemetry", version = "0.22", optional = true }
tracing-opentelemetry_0_23_pkg = { package = "tracing-opentelemetry", version = "0.23", optional = true }
[dev-dependencies]
actix-rt = "2.6"
actix-web = { version = "4.0.0", default-features = false }
opentelemetry-otlp = "0.14"
opentelemetry_0_21_pkg = { package = "opentelemetry", version = "0.21" }
opentelemetry_sdk = { version = "0.21", features = ["rt-tokio"] }
tracing-actix-web = { version = "0.7.8", features = ["opentelemetry_0_21"] }
opentelemetry-otlp = "0.15"
opentelemetry_0_22_pkg = { package = "opentelemetry", version = "0.22" }
opentelemetry_sdk = { version = "0.22", features = ["rt-tokio"] }
tracing-actix-web = { version = "0.7.16", features = ["opentelemetry_0_22"] }
tracing-subscriber = { version = "0.3", features = [
"ansi",
"env-filter",

View file

@ -5,8 +5,8 @@ use tracing::instrument::Instrument;
use tracing_awc::{root_span, Tracing};
use tracing_subscriber::{fmt::format::FmtSpan, layer::SubscriberExt, EnvFilter, Registry};
use opentelemetry_0_21_pkg as opentelemetry;
use tracing_opentelemetry_0_22_pkg as tracing_opentelemetry;
use opentelemetry_0_22_pkg as opentelemetry;
use tracing_opentelemetry_0_23_pkg as tracing_opentelemetry;
use opentelemetry::KeyValue;
use opentelemetry_sdk::{propagation::TraceContextPropagator, Resource};

View file

@ -7,8 +7,8 @@ use std::error::Error;
use tracing_actix_web::TracingLogger;
use tracing_subscriber::{fmt::format::FmtSpan, layer::SubscriberExt, EnvFilter, Registry};
use opentelemetry_0_21_pkg as opentelemetry;
use tracing_opentelemetry_0_22_pkg as tracing_opentelemetry;
use opentelemetry_0_22_pkg as opentelemetry;
use tracing_opentelemetry_0_23_pkg as tracing_opentelemetry;
use opentelemetry::KeyValue;
use opentelemetry_sdk::{propagation::TraceContextPropagator, Resource};

8
flake.lock generated
View file

@ -20,16 +20,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1699099776,
"narHash": "sha256-X09iKJ27mGsGambGfkKzqvw5esP1L/Rf8H3u3fCqIiU=",
"lastModified": 1742751704,
"narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "85f1ba3e51676fa8cc604a3d863d729026a6b8eb",
"rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}

View file

@ -2,7 +2,7 @@
description = "background-jobs";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
flake-utils.url = "github:numtide/flake-utils";
};

View file

@ -28,6 +28,8 @@ use opentelemetry_0_19_pkg as opentelemetry;
use opentelemetry_0_20_pkg as opentelemetry;
#[cfg(feature = "opentelemetry_0_21")]
use opentelemetry_0_21_pkg as opentelemetry;
#[cfg(feature = "opentelemetry_0_22")]
use opentelemetry_0_22_pkg as opentelemetry;
#[cfg(feature = "opentelemetry_0_13")]
use tracing_opentelemetry_0_12_pkg as tracing_opentelemetry;
@ -47,6 +49,8 @@ use tracing_opentelemetry_0_19_pkg as tracing_opentelemetry;
use tracing_opentelemetry_0_21_pkg as tracing_opentelemetry;
#[cfg(feature = "opentelemetry_0_21")]
use tracing_opentelemetry_0_22_pkg as tracing_opentelemetry;
#[cfg(feature = "opentelemetry_0_22")]
use tracing_opentelemetry_0_23_pkg as tracing_opentelemetry;
#[cfg(any(
feature = "opentelemetry_0_13",
@ -58,6 +62,7 @@ use tracing_opentelemetry_0_22_pkg as tracing_opentelemetry;
feature = "opentelemetry_0_19",
feature = "opentelemetry_0_20",
feature = "opentelemetry_0_21",
feature = "opentelemetry_0_22",
))]
pub fn root_span() -> Span {
let span = tracing::info_span!("Root span", trace_id = tracing::field::Empty,);
@ -70,6 +75,7 @@ pub fn root_span() -> Span {
feature = "opentelemetry_0_19",
feature = "opentelemetry_0_20",
feature = "opentelemetry_0_21",
feature = "opentelemetry_0_22",
)))]
let trace_id = span.context().span().span_context().trace_id().to_hex();
@ -79,6 +85,7 @@ pub fn root_span() -> Span {
feature = "opentelemetry_0_19",
feature = "opentelemetry_0_20",
feature = "opentelemetry_0_21",
feature = "opentelemetry_0_22",
))]
let trace_id = {
let id = span.context().span().span_context().trace_id();
@ -304,6 +311,18 @@ where
}
#[derive(Debug)]
#[cfg(any(
feature = "opentelemetry_0_13",
feature = "opentelemetry_0_14",
feature = "opentelemetry_0_15",
feature = "opentelemetry_0_16",
feature = "opentelemetry_0_17",
feature = "opentelemetry_0_18",
feature = "opentelemetry_0_19",
feature = "opentelemetry_0_20",
feature = "opentelemetry_0_21",
feature = "opentelemetry_0_22",
))]
struct RequestHeaderCarrier<'a> {
#[allow(dead_code)]
headers: &'a mut HeaderMap,
@ -319,6 +338,7 @@ struct RequestHeaderCarrier<'a> {
feature = "opentelemetry_0_19",
feature = "opentelemetry_0_20",
feature = "opentelemetry_0_21",
feature = "opentelemetry_0_22",
))]
impl<'a> opentelemetry::propagation::Injector for RequestHeaderCarrier<'a> {
fn set(&mut self, key: &str, value: String) {
@ -356,6 +376,7 @@ fn record_otel(_headers: &mut HeaderMap, _span: &Span) {
feature = "opentelemetry_0_19",
feature = "opentelemetry_0_20",
feature = "opentelemetry_0_21",
feature = "opentelemetry_0_22",
))]
{
let span = _span;