Skip to content

Commit 0814496

Browse files
authored
Merge branch 'main' into utpilla/Update-Metrics-API-docs
2 parents 60f7d5c + fbcba3b commit 0814496

File tree

173 files changed

+6339
-3058
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

173 files changed

+6339
-3058
lines changed

.cspell.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@
4949
"nocapture",
5050
"Ochtman",
5151
"opentelemetry",
52+
"OTELCOL",
5253
"OTLP",
54+
"periodicreader",
5355
"protoc",
5456
"quantile",
5557
"Redelmeier",
@@ -59,6 +61,7 @@
5961
"shoppingcart",
6062
"struct",
6163
"Tescher",
64+
"testresults",
6265
"tracerprovider",
6366
"updown",
6467
"Zhongyang",

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- rust: stable
2626
os: macos-latest
2727
- rust: stable
28-
os: actuated-arm64-4cpu-16gb
28+
os: otel-linux-arm64
2929
runs-on: ${{ matrix.os }}
3030
continue-on-error: ${{ matrix.rust == 'beta' }}
3131
steps:
@@ -88,7 +88,7 @@ jobs:
8888
strategy:
8989
matrix:
9090
os: [windows-latest, ubuntu-latest]
91-
rust: [1.70.0, 1.71.1]
91+
rust: [1.75.0]
9292
runs-on: ${{ matrix.os }}
9393
continue-on-error: true
9494
steps:
@@ -148,7 +148,7 @@ jobs:
148148
if: hashFiles('Cargo.lock') == ''
149149
run: cargo generate-lockfile
150150
- name: cargo llvm-cov
151-
run: cargo llvm-cov --locked --all-features --workspace --lcov --output-path lcov.info
151+
run: cargo llvm-cov --locked --all-features --workspace --lcov --lib --output-path lcov.info
152152
- name: Upload to codecov.io
153153
uses: codecov/codecov-action@v4
154154
env:

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@
55
Cargo.lock
66
/.idea/
77

8-
.cosine
8+
.cosine
9+
10+
opentelemetry-otlp/tests/integration_test/result.json

Cargo.toml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,15 @@ reqwest = { version = "0.12", default-features = false }
3939
serde = { version = "1.0", default-features = false }
4040
serde_json = "1.0"
4141
temp-env = "0.3.6"
42-
thiserror = { version = "1", default-features = false }
42+
thiserror = { version = "2", default-features = false }
4343
tonic = { version = "0.12.3", default-features = false }
4444
tonic-build = "0.12"
4545
tokio = { version = "1", default-features = false }
4646
tokio-stream = "0.1"
47-
tracing = { version = "0.1", default-features = false }
48-
tracing-core = { version = "0.1", default-features = false }
47+
# Using `tracing 0.1.40` because 0.1.39 (which is yanked) introduces the ability to set event names in macros,
48+
# required for OpenTelemetry's internal logging macros.
49+
tracing = { version = ">=0.1.40", default-features = false }
50+
# `tracing-core >=0.1.33` is required for compatibility with `tracing >=0.1.40`.
51+
tracing-core = { version = ">=0.1.33", default-features = false }
4952
tracing-subscriber = { version = "0.3", default-features = false }
50-
url = { version = "2.5.2", default-features = false } #https://github.com/servo/rust-url/issues/992
53+
url = { version = "2.5", default-features = false }

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ fn main() {
8383
});
8484

8585
// Shutdown trace pipeline
86-
global::shutdown_tracer_provider();
86+
provider.shutdown().expect("TracerProvider should shutdown successfully")
8787
}
8888
```
8989

@@ -162,7 +162,7 @@ Registry](https://opentelemetry.io/ecosystem/registry/?language=rust).
162162
## Supported Rust Versions
163163

164164
OpenTelemetry is built against the latest stable release. The minimum supported
165-
version is 1.70. The current OpenTelemetry version is not guaranteed to build
165+
version is 1.75. The current OpenTelemetry version is not guaranteed to build
166166
on Rust versions earlier than the minimum supported version.
167167

168168
The current stable Rust compiler and the three most recent minor versions

deny.toml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,5 @@ license-files = [
2929
]
3030

3131
[advisories]
32-
ignore = [
33-
# unsoundness in indirect dependencies without a safe upgrade below
34-
"RUSTSEC-2021-0145",
35-
"RUSTSEC-2019-0036"
36-
]
3732
unmaintained = "allow"
3833
yanked = "allow"

examples/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This directory contains some examples that should help you get start crates from
77
This example uses following crates from this repo:
88

99
- opentelemetry(log)
10-
- opentelemetry-appender-log
10+
- opentelemetry-appender-tracing
1111
- opentelemetry-stdout
1212

1313
Check this example if you want to understand *how to instrument logs using opentelemetry*.

examples/logs-basic/Cargo.toml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@ license = "Apache-2.0"
66
publish = false
77

88
[dependencies]
9-
opentelemetry = { path = "../../opentelemetry", features = ["logs"] }
109
opentelemetry_sdk = { path = "../../opentelemetry-sdk", features = ["logs"] }
1110
opentelemetry-stdout = { path = "../../opentelemetry-stdout", features = ["logs"]}
12-
opentelemetry-appender-log = { path = "../../opentelemetry-appender-log", default-features = false}
13-
opentelemetry-semantic-conventions = { path = "../../opentelemetry-semantic-conventions" }
14-
log = { workspace = true }
15-
serde_json = { workspace = true }
11+
opentelemetry-appender-tracing = { path = "../../opentelemetry-appender-tracing", default-features = false}
12+
tracing = { workspace = true, features = ["std"]}
13+
tracing-subscriber = { workspace = true, features = ["registry", "std"] }

examples/logs-basic/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
# OpenTelemetry Log Appender for log - Example
1+
# OpenTelemetry Log Appender for tracing - Example
22

3-
This example shows how to use the opentelemetry-appender-log crate, which is a
3+
This example shows how to use the opentelemetry-appender-tracing crate, which is a
44
[logging
55
appender](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#log-appender--bridge)
6-
that bridges logs from the [log crate](https://docs.rs/log/latest/log/) to
6+
that bridges logs from the [tracing crate](https://tracing.rs/tracing/#events) to
77
OpenTelemetry. The example setups a LoggerProvider with stdout exporter, so logs
88
are emitted to stdout.
99

1010
## Usage
1111

12-
Run the following, and Logs emitted using [log](https://docs.rs/log/latest/log/)
12+
Run the following, and Logs emitted using [tracing](https://docs.rs/tracing/latest/tracing/)
1313
will be written out to stdout.
1414

1515
```shell

examples/logs-basic/src/main.rs

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,22 @@
1-
use log::{error, Level};
2-
use opentelemetry::KeyValue;
3-
use opentelemetry_appender_log::OpenTelemetryLogBridge;
1+
use opentelemetry_appender_tracing::layer;
42
use opentelemetry_sdk::logs::LoggerProvider;
53
use opentelemetry_sdk::Resource;
6-
use opentelemetry_semantic_conventions::resource::SERVICE_NAME;
4+
use tracing::error;
5+
use tracing_subscriber::prelude::*;
76

87
fn main() {
9-
// Setup LoggerProvider with a stdout exporter
108
let exporter = opentelemetry_stdout::LogExporter::default();
11-
let logger_provider = LoggerProvider::builder()
12-
.with_resource(Resource::new([KeyValue::new(
13-
SERVICE_NAME,
14-
"logs-basic-example",
15-
)]))
9+
let provider: LoggerProvider = LoggerProvider::builder()
10+
.with_resource(
11+
Resource::builder()
12+
.with_service_name("log-appender-tracing-example")
13+
.build(),
14+
)
1615
.with_simple_exporter(exporter)
1716
.build();
17+
let layer = layer::OpenTelemetryTracingBridge::new(&provider);
18+
tracing_subscriber::registry().with(layer).init();
1819

19-
// Setup Log Appender for the log crate.
20-
let otel_log_appender = OpenTelemetryLogBridge::new(&logger_provider);
21-
log::set_boxed_logger(Box::new(otel_log_appender)).unwrap();
22-
log::set_max_level(Level::Error.to_level_filter());
23-
24-
// Emit logs using macros from the log crate.
25-
// These logs gets piped through OpenTelemetry bridge and gets exported to stdout.
26-
error!(target: "my-target", "hello from {}. My price is {}", "apple", 2.99);
20+
error!(name: "my-event-name", target: "my-system", event_id = 20, user_name = "otel", user_email = "[email protected]", message = "This is an example message");
21+
let _ = provider.shutdown();
2722
}

0 commit comments

Comments
 (0)