Skip to content

Commit b6bbf11

Browse files
authored
Merge branch 'main' into value-map-interface-change
2 parents c52c479 + ed27611 commit b6bbf11

File tree

34 files changed

+277
-72
lines changed

34 files changed

+277
-72
lines changed

.github/ISSUE_TEMPLATE/BUG-REPORT.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ body:
2020
- type: textarea
2121
id: api-version
2222
attributes:
23-
label: API Version
23+
label: OpenTelemetry API Version (i.e version of `opentelemetry` crate)
2424
description: What version of the `opentelemetry` crate are you using?
2525
placeholder: 0.x, 1.x, etc.
2626
validations:
2727
required: true
2828
- type: textarea
2929
id: sdk-version
3030
attributes:
31-
label: SDK Version
31+
label: label: OpenTelemetry SDK Version (i.e version of `opentelemetry_sdk` crate)
3232
description: What version of the `opentelemetry_sdk` crate are you using?
3333
placeholder: 0.x, 1.x, etc.
3434
validations:
@@ -39,6 +39,7 @@ body:
3939
label: What Exporter(s) are you seeing the problem on?
4040
multiple: true
4141
options:
42+
- stdout
4243
- OTLP
4344
- Zipkin
4445
- Prometheus

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ observability tools.
3131
| Logs-SDK | Beta |
3232
| Logs-OTLP Exporter | Beta |
3333
| Logs-Appender-Tracing | Beta |
34-
| Metrics-API | Alpha |
34+
| Metrics-API | Beta |
3535
| Metrics-SDK | Alpha |
3636
| Metrics-OTLP Exporter | Alpha |
3737
| Traces-API | Beta |

examples/self-diagnostics/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ publish = false
77

88
[dependencies]
99
opentelemetry = { path = "../../opentelemetry" }
10-
opentelemetry_sdk = { path = "../../opentelemetry-sdk", features = ["rt-tokio"]}
10+
opentelemetry_sdk = { path = "../../opentelemetry-sdk", features = ["rt-tokio", "experimental-internal-logs"]}
1111
opentelemetry-stdout = { path = "../../opentelemetry-stdout"}
1212
opentelemetry-appender-tracing = { path = "../../opentelemetry-appender-tracing"}
1313
tokio = { workspace = true, features = ["full"] }
1414
tracing = { workspace = true, features = ["std"]}
1515
tracing-core = { workspace = true }
1616
tracing-subscriber = { version = "0.3.18", features = ["env-filter","registry", "std"]}
17-
opentelemetry-otlp = { path = "../../opentelemetry-otlp", features = ["http-proto", "reqwest-client", "logs"] }
17+
opentelemetry-otlp = { path = "../../opentelemetry-otlp", features = ["http-proto", "reqwest-client", "logs", "experimental-internal-logs"] }
1818
once_cell ={ version = "1.19.0"}
1919
ctrlc = "3.4"

examples/self-diagnostics/src/main.rs

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ use opentelemetry::global::{self, set_error_handler, Error as OtelError};
22
use opentelemetry::KeyValue;
33
use opentelemetry_appender_tracing::layer;
44
use opentelemetry_otlp::WithExportConfig;
5+
use tracing_subscriber::filter::{EnvFilter, LevelFilter};
6+
use tracing_subscriber::fmt;
57
use tracing_subscriber::prelude::*;
6-
use tracing_subscriber::EnvFilter;
78

89
use std::error::Error;
910
use tracing::error;
@@ -59,6 +60,7 @@ fn init_logger_provider() -> opentelemetry_sdk::logs::LoggerProvider {
5960
)
6061
.install_batch(opentelemetry_sdk::runtime::Tokio)
6162
.unwrap();
63+
let cloned_provider = provider.clone();
6264

6365
// Add a tracing filter to filter events from crates used by opentelemetry-otlp.
6466
// The filter levels are set as follows:
@@ -72,11 +74,34 @@ fn init_logger_provider() -> opentelemetry_sdk::logs::LoggerProvider {
7274
.add_directive("hyper=error".parse().unwrap())
7375
.add_directive("tonic=error".parse().unwrap())
7476
.add_directive("reqwest=error".parse().unwrap());
75-
let cloned_provider = provider.clone();
76-
let layer = layer::OpenTelemetryTracingBridge::new(&cloned_provider);
77+
78+
// Configuring the formatting layer specifically for OpenTelemetry internal logs.
79+
// These logs starts with "opentelemetry" prefix in target. This allows specific logs
80+
// from the OpenTelemetry-related components to be filtered and handled separately
81+
// from the application logs
82+
83+
let opentelemetry_filter = tracing_subscriber::filter::filter_fn(|metadata| {
84+
metadata.target().starts_with("opentelemetry")
85+
});
86+
87+
let fmt_opentelemetry_layer = fmt::layer()
88+
.with_filter(LevelFilter::DEBUG)
89+
.with_filter(opentelemetry_filter);
90+
91+
// Configures the appender tracing layer, filtering out OpenTelemetry internal logs
92+
// to prevent infinite logging loops.
93+
94+
let non_opentelemetry_filter = tracing_subscriber::filter::filter_fn(|metadata| {
95+
!metadata.target().starts_with("opentelemetry")
96+
});
97+
98+
let otel_layer = layer::OpenTelemetryTracingBridge::new(&cloned_provider)
99+
.with_filter(non_opentelemetry_filter.clone());
100+
77101
tracing_subscriber::registry()
78-
.with(filter)
79-
.with(layer)
102+
.with(fmt_opentelemetry_layer)
103+
.with(fmt::layer().with_filter(filter))
104+
.with(otel_layer)
80105
.init();
81106
provider
82107
}

opentelemetry-appender-log/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## vNext
44

5+
## v0.26.0
6+
Released 2024-Sep-30
7+
- Update `opentelemetry` dependency version to 0.26
8+
59
## v0.25.0
610

711
- Update `opentelemetry` dependency version to 0.25

opentelemetry-appender-log/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "opentelemetry-appender-log"
3-
version = "0.25.0"
3+
version = "0.26.0"
44
description = "An OpenTelemetry appender for the log crate"
55
homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-appender-log"
66
repository = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-appender-log"
@@ -11,7 +11,7 @@ rust-version = "1.65"
1111
edition = "2021"
1212

1313
[dependencies]
14-
opentelemetry = { version = "0.25", path = "../opentelemetry", features = ["logs"]}
14+
opentelemetry = { version = "0.26", path = "../opentelemetry", features = ["logs"]}
1515
log = { workspace = true, features = ["kv", "std"]}
1616
serde = { workspace = true, optional = true, features = ["std"] }
1717

opentelemetry-appender-tracing/CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22

33
## vNext
44

5-
- [2101](https://github.com/open-telemetry/opentelemetry-rust/pull/2101) The `log` events emitted via the `tracing` pipeline using the `log-tracing` crate no longer include the target metadata as attributes. Exporters or backends that rely on this attribute should now access the target directly from the `LogRecord::target` field.
5+
## v0.26.0
6+
Released 2024-Sep-30
67

8+
- Update `opentelemetry` dependency version to 0.26
9+
- [2101](https://github.com/open-telemetry/opentelemetry-rust/pull/2101) The `log` events emitted via the `tracing` pipeline using the `log-tracing` crate no longer include the target metadata as attributes. Exporters or backends that rely on this attribute should now access the target directly from the `LogRecord::target` field.
710

811
## v0.25.0
912

opentelemetry-appender-tracing/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "opentelemetry-appender-tracing"
3-
version = "0.25.0"
3+
version = "0.26.0"
44
edition = "2021"
55
description = "An OpenTelemetry log appender for the tracing crate"
66
homepage = "https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-appender-tracing"
@@ -12,7 +12,7 @@ rust-version = "1.65"
1212

1313
[dependencies]
1414
log = { workspace = true, optional = true }
15-
opentelemetry = { version = "0.25", path = "../opentelemetry", features = ["logs"] }
15+
opentelemetry = { version = "0.26", path = "../opentelemetry", features = ["logs"] }
1616
tracing = { workspace = true, features = ["std"]}
1717
tracing-core = { workspace = true }
1818
tracing-log = { version = "0.2", optional = true }

opentelemetry-http/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
## vNext
44

5+
## v0.26.0
6+
Released 2024-Sep-30
7+
8+
- Update `opentelemetry` dependency version to 0.26
9+
510
## v0.25.0
611

712
- Update `opentelemetry` dependency version to 0.25

opentelemetry-http/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "opentelemetry-http"
3-
version = "0.25.0"
3+
version = "0.26.0"
44
description = "Helper implementations for sending HTTP requests. Uses include propagating and extracting context over http, exporting telemetry, requesting sampling strategies."
55
homepage = "https://github.com/open-telemetry/opentelemetry-rust"
66
repository = "https://github.com/open-telemetry/opentelemetry-rust"
@@ -21,6 +21,6 @@ http = { workspace = true }
2121
http-body-util = { workspace = true, optional = true }
2222
hyper = { workspace = true, optional = true }
2323
hyper-util = { workspace = true, features = ["client-legacy", "http2"], optional = true }
24-
opentelemetry = { version = "0.25", path = "../opentelemetry", features = ["trace"] }
24+
opentelemetry = { version = "0.26", path = "../opentelemetry", features = ["trace"] }
2525
reqwest = { workspace = true, features = ["blocking"], optional = true }
2626
tokio = { workspace = true, features = ["time"], optional = true }

0 commit comments

Comments
 (0)