Skip to content

Commit f5160dd

Browse files
yeongjukangYeongju Kang
and
Yeongju Kang
authored
Bump the otel group with 4 updates and change builder functions (#124)
Signed-off-by: Yeongju Kang <[email protected]> Signed-off-by: Yeongju Kang <[email protected]> added some new lines following linter Co-authored-by: Yeongju Kang <[email protected]>
1 parent d98ebe8 commit f5160dd

File tree

6 files changed

+53
-27
lines changed

6 files changed

+53
-27
lines changed

Cargo.lock

+13-12
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
@@ -37,10 +37,10 @@ serde_yaml = "0.9.25"
3737
chrono = { version = "0.4.39", features = ["serde"] }
3838
tracing = "0.1.41"
3939
tracing-subscriber = { version = "0.3.19", features = ["json", "env-filter"] }
40-
tracing-opentelemetry = "0.27.0"
41-
opentelemetry = { version = "0.26.0", features = ["trace"] }
42-
opentelemetry-otlp = { version = "0.26.0", optional = true }
43-
opentelemetry_sdk = { version = "0.26.0", features = ["rt-tokio"] }
40+
tracing-opentelemetry = "0.28.0"
41+
opentelemetry = { version = "0.27.1", features = ["trace"] }
42+
opentelemetry-otlp = { version = "0.27.0", optional = true }
43+
opentelemetry_sdk = { version = "0.27.1", features = ["rt-tokio"] }
4444
thiserror = "2.0.9"
4545
anyhow = "1.0.95"
4646
prometheus-client = "0.22.2"

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ cargo run
5757
or, with optional telemetry:
5858

5959
```sh
60-
OPENTELEMETRY_ENDPOINT_URL=https://0.0.0.0:55680 RUST_LOG=info,kube=trace,controller=debug cargo run --features=telemetry
60+
OPENTELEMETRY_ENDPOINT_URL=https://0.0.0.0:4317 RUST_LOG=info,kube=trace,controller=debug cargo run --features=telemetry
6161
```
6262

6363
### In-cluster

docker-compose.yaml

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
version: "3"
2+
services:
3+
zipkin:
4+
image: openzipkin/zipkin:latest
5+
environment:
6+
- JAVA_OPTS=-Xms512m -Xmx512m -XX:+ExitOnOutOfMemoryError
7+
restart: always
8+
ports:
9+
- "9411:9411"
10+
11+
otel-collector:
12+
image: otel/opentelemetry-collector:latest
13+
restart: always
14+
command: >
15+
--set=receivers.otlp.protocols.grpc.endpoint=0.0.0.0:4317
16+
--set=exporters.zipkin.endpoint=http://zipkin:9411/api/v2/spans
17+
--set=service.pipelines.traces.receivers=[otlp]
18+
--set=service.pipelines.traces.exporters=[zipkin]
19+
ports:
20+
- "4317:4317"
21+
depends_on:
22+
- zipkin

justfile

+3-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ generate:
1212

1313
# run with opentelemetry
1414
run-telemetry:
15-
OPENTELEMETRY_ENDPOINT_URL=http://127.0.0.1:55680 RUST_LOG=info,kube=debug,controller=debug cargo run --features=telemetry
15+
docker-compose up -d
16+
OPENTELEMETRY_ENDPOINT_URL=http://127.0.0.1:4317 RUST_LOG=info,kube=debug,controller=debug cargo run --features=telemetry
1617

1718
# run without opentelemetry
1819
run:
@@ -30,7 +31,7 @@ test-integration: install-crd
3031
cargo test -- --ignored
3132
# run telemetry tests
3233
test-telemetry:
33-
OPENTELEMETRY_ENDPOINT_URL=http://127.0.0.1:55680 cargo test --lib --all-features -- get_trace_id_returns_valid_traces --ignored
34+
OPENTELEMETRY_ENDPOINT_URL=http://127.0.0.1:4317 cargo test --lib --all-features -- get_trace_id_returns_valid_traces --ignored
3435

3536
# compile for musl (for docker image)
3637
compile features="":

src/telemetry.rs

+10-8
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,18 @@ fn resource() -> Resource {
2525

2626
#[cfg(feature = "telemetry")]
2727
fn init_tracer() -> sdktrace::Tracer {
28-
use opentelemetry_otlp::WithExportConfig;
28+
use opentelemetry_otlp::{SpanExporter, WithExportConfig};
2929
let endpoint = std::env::var("OPENTELEMETRY_ENDPOINT_URL").expect("Needs an otel collector");
30-
let exporter = opentelemetry_otlp::new_exporter().tonic().with_endpoint(endpoint);
30+
let exporter = SpanExporter::builder()
31+
.with_tonic()
32+
.with_endpoint(endpoint)
33+
.build()
34+
.unwrap();
3135

32-
let provider = opentelemetry_otlp::new_pipeline()
33-
.tracing()
34-
.with_exporter(exporter)
35-
.with_trace_config(Config::default().with_resource(resource()))
36-
.install_batch(runtime::Tokio)
37-
.expect("valid tracer");
36+
let provider = sdktrace::TracerProvider::builder()
37+
.with_batch_exporter(exporter, runtime::Tokio)
38+
.with_resource(resource())
39+
.build();
3840

3941
opentelemetry::global::set_tracer_provider(provider.clone());
4042
provider.tracer("tracing-otel-subscriber")

0 commit comments

Comments
 (0)