Skip to content

Commit

Permalink
update opentelemetry too
Browse files Browse the repository at this point in the history
  • Loading branch information
n01e0 committed Dec 12, 2024
1 parent 137bbdc commit 4960ea1
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 16 deletions.
5 changes: 3 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,14 @@ readme = "README.md"
keywords = ["middleware", "datadog", "axum", "hyper", "opentelemetry"]

[dependencies]
opentelemetry = { version = "0.18", features = ["rt-tokio"] }
opentelemetry-datadog = { version = "0.6", features = ["reqwest-client"] }
opentelemetry = "0.18"
opentelemetry-datadog = { version = "0.15", features = ["reqwest-client"] }
opentelemetry-semantic-conventions = "0.27"
tower = { version = "0.4", features = ["util"] }
futures = "0.3"
http = "0.2"
http-body = "0.4"
opentelemetry_sdk = { version="0.27.1", features=["rt-tokio"] }

[dev-dependencies]
tokio = { version = "1", features = ["full"] }
Expand Down
28 changes: 14 additions & 14 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ use futures::{Future, FutureExt};
use http::{header, Request, Response};
use http_body::Body;
use opentelemetry::trace::{FutureExt as OtelFutureExt, Status, TraceContextExt, Tracer};
use opentelemetry::{global, Context as OtelContext, Key};
use opentelemetry::{global, Context as OtelContext, KeyValue};
use opentelemetry_datadog::new_pipeline;
use opentelemetry_semantic_conventions::trace::{
use opentelemetry_semantic_conventions::attribute::{
HTTP_CLIENT_IP, HTTP_FLAVOR, HTTP_HOST, HTTP_METHOD, HTTP_SCHEME, HTTP_STATUS_CODE, HTTP_URL,
HTTP_USER_AGENT,
};
Expand All @@ -21,9 +21,9 @@ pub use opentelemetry_datadog::ApiVersion;
pub fn init(service_name: &str, endpoint: &str, version: ApiVersion) {
let _tracer = new_pipeline()
.with_service_name(service_name)
.with_version(version)
.with_api_version(version)
.with_agent_endpoint(endpoint)
.install_batch(opentelemetry::runtime::Tokio)
.install_batch(opentelemetry_sdk::runtime::Tokio)
.expect("failed to initialize tracing pipeline");
}

Expand Down Expand Up @@ -109,13 +109,13 @@ where
let span = tracer
.span_builder(path)
.with_attributes(vec![
HTTP_URL.string(url),
HTTP_METHOD.string(method),
HTTP_FLAVOR.string(version),
HTTP_USER_AGENT.string(user_agent),
HTTP_HOST.string(host),
HTTP_SCHEME.string(scheme),
HTTP_CLIENT_IP.string(client_ip),
KeyValue::new(HTTP_URL, url),
KeyValue::new(HTTP_METHOD, method),
KeyValue::new(HTTP_FLAVOR, version),
KeyValue::new(HTTP_USER_AGENT, user_agent),
KeyValue::new(HTTP_HOST, host),
KeyValue::new(HTTP_SCHEME, scheme),
KeyValue::new(HTTP_CLIENT_IP, client_ip),
])
.with_start_time(start_time)
.start(&tracer);
Expand All @@ -128,7 +128,7 @@ where
.map(move |res| match res {
Ok(ok_res) => {
let span = cx.span();
span.set_attribute(HTTP_STATUS_CODE.i64(ok_res.status().as_u16().into()));
span.set_attribute(KeyValue::new(HTTP_STATUS_CODE, ok_res.status().as_u16() as i64));
if ok_res.status().is_server_error() {
span.set_status(Status::error(
ok_res
Expand All @@ -143,8 +143,8 @@ where
}
Err(err_res) => {
let span = cx.span();
span.set_attribute(HTTP_STATUS_CODE.i64(500));
span.set_attribute(Key::new("error.msg").string(err_res.to_string()));
span.set_attribute(KeyValue::new(HTTP_STATUS_CODE, 500));
span.set_attribute(KeyValue::new("error.msg", err_res.to_string()));
span.set_status(Status::error(err_res.to_string()));
span.end();
Err(err_res)
Expand Down

0 comments on commit 4960ea1

Please sign in to comment.