Merge branch 'main' into dependabot/cargo/predicates-2.0.2
commit
4c91c56cb2
|
@ -3,6 +3,7 @@ use std::str::FromStr;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use http::HeaderMap;
|
use http::HeaderMap;
|
||||||
|
use observability_deps::tracing::info;
|
||||||
use rand::Rng;
|
use rand::Rng;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use snafu::Snafu;
|
use snafu::Snafu;
|
||||||
|
@ -176,7 +177,11 @@ fn decode_b3(
|
||||||
// Debug implies an accept decision
|
// Debug implies an accept decision
|
||||||
true => true,
|
true => true,
|
||||||
false => decoded_header(headers, B3_SAMPLED_HEADER)?
|
false => decoded_header(headers, B3_SAMPLED_HEADER)?
|
||||||
.map(|value| value == "1" || value == "true")
|
.map(|value| {
|
||||||
|
// TEMPORARY (#2297)
|
||||||
|
info!(sampled=%value, "traced request");
|
||||||
|
value == "1" || value == "true"
|
||||||
|
})
|
||||||
.unwrap_or(false),
|
.unwrap_or(false),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -184,6 +189,16 @@ fn decode_b3(
|
||||||
return Ok(None);
|
return Ok(None);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let ctx = SpanContext {
|
||||||
|
trace_id: required_header(headers, B3_TRACE_ID_HEADER)?,
|
||||||
|
parent_span_id: parsed_header(headers, B3_PARENT_SPAN_ID_HEADER)?,
|
||||||
|
span_id: required_header(headers, B3_SPAN_ID_HEADER)?,
|
||||||
|
collector: Some(Arc::clone(collector)),
|
||||||
|
};
|
||||||
|
|
||||||
|
// TEMPORARY (#2297)
|
||||||
|
info!(?ctx, "tracing request");
|
||||||
|
|
||||||
Ok(Some(SpanContext {
|
Ok(Some(SpanContext {
|
||||||
trace_id: required_header(headers, B3_TRACE_ID_HEADER)?,
|
trace_id: required_header(headers, B3_TRACE_ID_HEADER)?,
|
||||||
parent_span_id: parsed_header(headers, B3_PARENT_SPAN_ID_HEADER)?,
|
parent_span_id: parsed_header(headers, B3_PARENT_SPAN_ID_HEADER)?,
|
||||||
|
|
|
@ -16,7 +16,7 @@ use crate::{ctx::SpanContext, span::EnteredSpan, TraceCollector};
|
||||||
use futures::ready;
|
use futures::ready;
|
||||||
use http::{Request, Response};
|
use http::{Request, Response};
|
||||||
use http_body::SizeHint;
|
use http_body::SizeHint;
|
||||||
use observability_deps::tracing::{error, info};
|
use observability_deps::tracing::error;
|
||||||
use pin_project::pin_project;
|
use pin_project::pin_project;
|
||||||
use std::future::Future;
|
use std::future::Future;
|
||||||
use std::pin::Pin;
|
use std::pin::Pin;
|
||||||
|
@ -69,9 +69,6 @@ where
|
||||||
}
|
}
|
||||||
|
|
||||||
fn call(&mut self, mut request: Request<ReqBody>) -> Self::Future {
|
fn call(&mut self, mut request: Request<ReqBody>) -> Self::Future {
|
||||||
use itertools::Itertools;
|
|
||||||
// TEMPORARY
|
|
||||||
info!(headers=%request.headers().keys().join(","), "gRPC request with headers");
|
|
||||||
let span = match SpanContext::from_headers(&self.collector, request.headers()) {
|
let span = match SpanContext::from_headers(&self.collector, request.headers()) {
|
||||||
Ok(Some(ctx)) => {
|
Ok(Some(ctx)) => {
|
||||||
let span = ctx.child("IOx");
|
let span = ctx.child("IOx");
|
||||||
|
|
Loading…
Reference in New Issue