Skip to content

Commit 53fef08

Browse files
committed
minor doc updates for latest otel
Signed-off-by: clux <sszynrae@gmail.com>
1 parent b3134e4 commit 53fef08

2 files changed

Lines changed: 16 additions & 17 deletions

File tree

docs/controllers/observability.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ We will use the [tracing] library for logging because it allows us reusing the s
1616

1717
```sh
1818
cargo add tracing
19-
cargo add tracing-subscriber --features=json,env-filter
19+
cargo add tracing-subscriber --features=env-filter
2020
```
2121

2222
We will configure this in `main` by creating a `json` log layer with an [EnvFilter] picking up on the common `RUST_LOG` environment variable:
2323

2424
```rust
25-
let logger = tracing_subscriber::fmt::layer().json();
25+
let logger = tracing_subscriber::fmt::layer().compact();
2626
let env_filter = EnvFilter::try_from_default_env()
2727
.or_else(|_| EnvFilter::try_new("info"))
2828
.unwrap();
@@ -31,7 +31,7 @@ let env_filter = EnvFilter::try_from_default_env()
3131
This can be set as the global collector using:
3232

3333
```rust
34-
Registry::default().with(logger).with(env_filter).init();
34+
Registry::default().with(env_filter).with(logger).init();
3535
```
3636

3737
We will change how the `collector` is built if using **tracing**, but for now, this is sufficient for adding logging.
@@ -43,7 +43,7 @@ Following on from logging section, we add extra dependencies to let us push trac
4343
```sh
4444
cargo add opentelemetry --features=trace
4545
cargo add opentelemetry_sdk --features=rt-tokio
46-
cargo add opentelemetry-otlp
46+
cargo add opentelemetry-otlp --no-default-features --features=trace,grpc-tonic
4747
```
4848

4949
!!! warning "Telemetry Dependencies"
@@ -66,24 +66,23 @@ Change our registry setup to use 3 layers:
6666
However, tracing requires us to have a configurable location of **where to send spans**, the provders needs to be globally registered, and you likely want to set some resource attributes, so creating the actual `tracer` requires a bit more work:
6767

6868
```rust
69-
fn init_tracer() -> opentelemetry_sdk::trace::Tracer {
70-
use opentelemetry::trace::TracerProvider;
71-
use opentelemetry_otlp::{SpanExporter, WithExportConfig};
72-
use opentelemetry_sdk::{runtime, trace::Config};
69+
use opentelemetry::trace::TracerProvider;
70+
use opentelemetry_sdk::trace::{SdkTracer, SdkTracerProvider};
7371

72+
fn init_tracer() -> SdkTracer {
73+
use opentelemetry_otlp::{SpanExporter, WithExportConfig};
7474
let endpoint = std::env::var("OPENTELEMETRY_ENDPOINT_URL").expect("Needs an otel collector");
7575
let exporter = SpanExporter::builder()
7676
.with_tonic()
7777
.with_endpoint(endpoint)
7878
.build()
7979
.unwrap();
8080

81-
let provider = sdktrace::TracerProvider::builder()
82-
.with_batch_exporter(exporter, runtime::Tokio)
81+
let provider = SdkTracerProvider::builder()
8382
.with_resource(resource())
83+
.with_batch_exporter(exporter)
8484
.build();
8585

86-
opentelemetry::global::set_tracer_provider(provider.clone());
8786
provider.tracer("tracing-otel-subscriber")
8887
}
8988
```
@@ -96,10 +95,10 @@ For some starting resource attributes;
9695
use opentelemetry_sdk::Resource;
9796
fn resource() -> Resource {
9897
use opentelemetry::KeyValue;
99-
Resource::new([
100-
KeyValue::new("service.name", env!("CARGO_PKG_NAME")),
101-
KeyValue::new("service.version", env!("CARGO_PKG_VERSION")),
102-
])
98+
Resource::builder()
99+
.with_service_name(env!("CARGO_PKG_NAME"))
100+
.with_attribute(KeyValue::new("service.version", env!("CARGO_PKG_VERSION")))
101+
.build()
103102
}
104103
```
105104

docs/stability.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ New variants **should** have a new name, and the old variant **should** remain w
4747

4848
!!! note "Deprecation Duration"
4949

50-
Deprecated functionality **must** stick around for at least **3 releases**.
50+
Deprecated functionality **must** stick around for at least **3 feature releases**.
5151

5252
For instance, we deprecated [`runtime::utils::try_flatten_applied`](https://github.com/kube-rs/kube/blob/d0bf02f9c0783a3087b83633f2fa899d8539e91d/kube-runtime/src/utils/mod.rs#L29-L40) in `0.72.0`:
5353

@@ -76,7 +76,7 @@ When adding new, experimental functionality, we export them through optional fea
7676
These features are **opt-in** using [cargo features](https://doc.rust-lang.org/cargo/reference/features.html), and can be enabled from your `Cargo.toml`:
7777

7878
```toml
79-
kube = { version = "0.80.0", features = ["runtime", "unstable-runtime"] }
79+
kube = { version = "1", features = ["runtime", "unstable-runtime"] }
8080
```
8181

8282
Functionality released under unstable features **can change between any version** and are **not subject** to **any** of the usual **guarantees**.

0 commit comments

Comments
 (0)