Skip to content

Commit 2e6849b

Browse files
committed
make service name visible in tempo tracing
1 parent d0485ea commit 2e6849b

File tree

3 files changed

+21
-10
lines changed

3 files changed

+21
-10
lines changed

Diff for: rustfmt.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
overflow_delimited_expr = true
22
newline_style = "Unix"
3-
merge_imports = true
3+
imports_granularity = "Crate"
44
reorder_impl_items = true
55
fn_single_line = false
66
blank_lines_upper_bound = 2

Diff for: src/main.rs

+13-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
pub use controller::*;
33
use prometheus::{Encoder, TextEncoder};
44
use tracing::{debug, error, info, trace, warn};
5-
use tracing_subscriber::{EnvFilter, Registry, prelude::*};
5+
use tracing_subscriber::{prelude::*, EnvFilter, Registry};
66

77
use actix_web::{
88
get, middleware,
@@ -32,19 +32,27 @@ async fn index(c: Data<Manager>, _req: HttpRequest) -> impl Responder {
3232

3333
#[actix_rt::main]
3434
async fn main() -> Result<()> {
35-
let otlp_endpoint = std::env::var("OPENTELEMETRY_ENDPOINT_URL")
36-
.expect("Need a otel tracing collector configured");
35+
let otlp_endpoint =
36+
std::env::var("OPENTELEMETRY_ENDPOINT_URL").expect("Need a otel tracing collector configured");
3737

3838
let (tracer, _uninstall) = opentelemetry_otlp::new_pipeline()
3939
.with_endpoint(&otlp_endpoint)
40-
.install().unwrap();
40+
.with_trace_config(opentelemetry::sdk::trace::config().with_resource(
41+
opentelemetry::sdk::Resource::new(vec![opentelemetry::KeyValue::new(
42+
"service.name",
43+
"foo-controller",
44+
)]),
45+
))
46+
.install()
47+
.unwrap();
4148

4249
// Finish layers
4350
let telemetry = tracing_opentelemetry::layer().with_tracer(tracer);
4451
let logger = tracing_subscriber::fmt::layer().json();
4552

4653
let filter_layer = EnvFilter::try_from_default_env()
47-
.or_else(|_| EnvFilter::try_new("info")).unwrap();
54+
.or_else(|_| EnvFilter::try_new("info"))
55+
.unwrap();
4856

4957
// Register all subscribers
5058
let collector = Registry::default()

Diff for: src/manager.rs

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::{Error, Result, telemetry};
1+
use crate::{telemetry, Error, Result};
22
use chrono::prelude::*;
33
use futures::{future::BoxFuture, FutureExt, StreamExt};
44
use kube::{
@@ -13,7 +13,7 @@ use serde::{Deserialize, Serialize};
1313
use serde_json::json;
1414
use std::sync::Arc;
1515
use tokio::{sync::RwLock, time::Duration};
16-
use tracing::{debug, error, info, instrument, trace, warn, event, Level, field, Span};
16+
use tracing::{debug, error, event, field, info, instrument, trace, warn, Level, Span};
1717

1818
/// Our Foo custom resource spec
1919
#[derive(CustomResource, Deserialize, Serialize, Clone, Debug, JsonSchema)]
@@ -41,7 +41,7 @@ struct Data {
4141
metrics: Metrics,
4242
}
4343

44-
#[instrument(skip(ctx), fields(traceID, service.name = "foo-controller"))]
44+
#[instrument(skip(ctx), fields(traceID))]
4545
async fn reconcile(foo: Foo, ctx: Context<Data>) -> Result<ReconcilerAction, Error> {
4646
Span::current().record("traceID", &field::display(&telemetry::get_trace_id()));
4747

@@ -60,7 +60,10 @@ async fn reconcile(foo: Foo, ctx: Context<Data>) -> Result<ReconcilerAction, Err
6060
}
6161
}));
6262
let ps = PatchParams::apply("cntrlr").force();
63-
let _o = foos.patch_status(&name, &ps, &new_status).await.map_err(Error::KubeError)?;
63+
let _o = foos
64+
.patch_status(&name, &ps, &new_status)
65+
.await
66+
.map_err(Error::KubeError)?;
6467

6568
ctx.get_ref().metrics.handled_events.inc();
6669
info!("Reconciled Foo \"{}\" in {}", name, ns);

0 commit comments

Comments
 (0)