Skip to content

Commit b00d961

Browse files
committed
chore(deps): updates OpenTelemetry dependencies
Updates policy-server to use the latest version of OpenTelemetry libraries. Signed-off-by: José Guilherme Vanz <jguilhermevanz@suse.com>
1 parent 6c9af94 commit b00d961

6 files changed

+47
-38
lines changed

Cargo.lock

+13-11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ k8s-openapi = { version = "0.23.0", default-features = false, features = [
2222
lazy_static = "1.4.0"
2323
mime = "0.3"
2424
num_cpus = "1.16.0"
25-
opentelemetry-otlp = { version = "0.26.0", features = ["metrics", "tonic"] }
26-
opentelemetry = { version = "0.26.0", default-features = false, features = [
25+
opentelemetry-otlp = { version = "0.27.0", features = ["metrics", "tonic"] }
26+
opentelemetry = { version = "0.27.0", default-features = false, features = [
2727
"metrics",
2828
"trace",
2929
] }
30-
opentelemetry_sdk = { version = "0.26.0", features = ["rt-tokio"] }
30+
opentelemetry_sdk = { version = "0.27.0", features = ["rt-tokio"] }
3131
pprof = { version = "0.14", features = ["prost-codec"] }
3232
policy-evaluator = { git = "https://github.com/kubewarden/policy-evaluator", tag = "v0.19.3" }
3333
rustls = { version = "0.23", default-features = false, features = [
@@ -46,7 +46,7 @@ sha2 = "0.10"
4646
thiserror = "2.0"
4747
tokio = { version = "^1.41.0", features = ["full"] }
4848
tracing = "0.1"
49-
tracing-opentelemetry = "0.27.0"
49+
tracing-opentelemetry = "0.28.0"
5050
tracing-subscriber = { version = "0.3", features = ["ansi", "fmt", "json"] }
5151
semver = { version = "1.0.22", features = ["serde"] }
5252
mockall_double = "0.3"

src/metrics.rs

+12-11
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,18 @@ pub use policy_evaluations_latency::record_policy_latency;
1111
const METER_NAME: &str = "kubewarden";
1212

1313
pub fn setup_metrics() -> Result<()> {
14-
let meter_provider = opentelemetry_otlp::new_pipeline()
15-
.metrics(runtime::Tokio)
16-
.with_exporter(
17-
opentelemetry_otlp::new_exporter()
18-
.tonic()
19-
.with_export_config(ExportConfig::default()),
20-
)
21-
.build()?;
22-
23-
global::set_meter_provider(meter_provider.clone());
24-
14+
let meter_reader = opentelemetry_sdk::metrics::PeriodicReader::builder(
15+
opentelemetry_otlp::MetricExporter::builder()
16+
.with_tonic()
17+
.with_export_config(ExportConfig::default())
18+
.build()?,
19+
runtime::Tokio,
20+
)
21+
.build();
22+
let meter_provider = opentelemetry_sdk::metrics::SdkMeterProvider::builder()
23+
.with_reader(meter_reader)
24+
.build();
25+
global::set_meter_provider(meter_provider);
2526
Ok(())
2627
}
2728

src/metrics/policy_evaluations_latency.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ lazy_static! {
99
static ref POLICY_EVALUATION_LATENCY: Histogram<u64> =
1010
opentelemetry::global::meter(super::METER_NAME)
1111
.u64_histogram("kubewarden_policy_evaluation_latency_milliseconds")
12-
.init();
12+
.build();
1313
}
1414

1515
pub fn record_policy_latency(latency: Duration, policy_evaluation: impl PolicyEvaluationMetric) {

src/metrics/policy_evaluations_total.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ lazy_static! {
77
static ref POLICY_EVALUATIONS_TOTAL: Counter<u64> =
88
opentelemetry::global::meter(super::METER_NAME)
99
.u64_counter("kubewarden_policy_evaluations_total")
10-
.init();
10+
.build();
1111
}
1212

1313
pub fn add_policy_evaluation(policy_evaluation: impl PolicyEvaluationMetric) {

src/tracing.rs

+16-10
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,22 @@ pub fn setup_tracing(log_level: &str, log_fmt: &str, log_no_color: bool) -> Resu
3939
// OpenTelemetry collector using the OTLP format.
4040
// The collector must run on localhost (eg: use a sidecar inside of k8s)
4141
// using GRPC
42-
let tracer_provider = opentelemetry_otlp::new_pipeline()
43-
.tracing()
44-
.with_exporter(opentelemetry_otlp::new_exporter().tonic())
45-
.with_trace_config(opentelemetry_sdk::trace::Config::default().with_resource(
46-
opentelemetry_sdk::Resource::new(vec![opentelemetry::KeyValue::new(
47-
"service.name",
48-
config::SERVICE_NAME,
49-
)]),
50-
))
51-
.install_batch(opentelemetry_sdk::runtime::Tokio)?;
42+
let otlp_exporter = opentelemetry_otlp::SpanExporter::builder()
43+
.with_tonic()
44+
.build()?;
45+
46+
let tracer_config = opentelemetry_sdk::trace::Config::default().with_resource(
47+
opentelemetry_sdk::Resource::new(vec![opentelemetry::KeyValue::new(
48+
"service.name",
49+
config::SERVICE_NAME,
50+
)]),
51+
);
52+
53+
let tracer_provider = opentelemetry_sdk::trace::TracerProvider::builder()
54+
.with_config(tracer_config)
55+
.with_batch_exporter(otlp_exporter, opentelemetry_sdk::runtime::Tokio)
56+
.build();
57+
5258
let tracer = tracer_provider.tracer(config::SERVICE_NAME);
5359

5460
// Create a tracing layer with the configured tracer

0 commit comments

Comments
 (0)