Skip to content

Commit a703702

Browse files
authored
Merge branch 'main' into feat/log-kvs
2 parents 7de7f09 + 590c7ab commit a703702

File tree

76 files changed

+959
-424
lines changed

Some content is hidden

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

76 files changed

+959
-424
lines changed

.github/workflows/ci.yml

+9-20
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@ jobs:
2424
- uses: actions/checkout@v4
2525
with:
2626
submodules: true
27-
- uses: actions-rs/toolchain@v1
27+
- uses: dtolnay/rust-toolchain@master
2828
with:
2929
toolchain: ${{ matrix.rust }}
3030
components: rustfmt
31-
profile: minimal
31+
- name: "Set rustup profile"
32+
run: rustup set profile minimal
3233
- uses: arduino/setup-protoc@v3
3334
- name: Test
3435
run: ./scripts/test.sh
@@ -38,11 +39,9 @@ jobs:
3839
- uses: actions/checkout@v4
3940
with:
4041
submodules: true
41-
- uses: actions-rs/toolchain@v1
42+
- uses: dtolnay/rust-toolchain@stable
4243
with:
43-
toolchain: stable
4444
components: rustfmt
45-
profile: minimal
4645
- uses: arduino/setup-protoc@v3
4746
- uses: actions-rs/cargo@v1
4847
with:
@@ -57,11 +56,10 @@ jobs:
5756
runs-on: ubuntu-latest
5857
steps:
5958
- uses: actions/checkout@v4
60-
- uses: actions-rs/toolchain@v1
59+
- uses: dtolnay/rust-toolchain@nightly
6160
with:
6261
toolchain: nightly-2024-02-07
6362
components: rustfmt
64-
override: true
6563
- name: external-type-check
6664
run: |
6765
cargo install cargo-check-external-types
@@ -76,11 +74,9 @@ jobs:
7674
- uses: actions/checkout@v4
7775
with:
7876
submodules: true
79-
- uses: actions-rs/toolchain@v1
77+
- uses: dtolnay/rust-toolchain@stable
8078
with:
81-
toolchain: stable
8279
components: rustfmt
83-
profile: minimal
8480
- uses: arduino/setup-protoc@v3
8581
- name: Build
8682
run: |
@@ -92,11 +88,7 @@ jobs:
9288
- uses: actions/checkout@v4
9389
with:
9490
submodules: true
95-
- uses: actions-rs/toolchain@v1
96-
with:
97-
profile: minimal
98-
toolchain: 1.65.0
99-
override: true
91+
- uses: dtolnay/rust-toolchain@1.65.0
10092
- name: Patch dependencies versions # some dependencies bump MSRV without major version bump
10193
run: ./scripts/patch_dependencies.sh
10294
- name: Run tests
@@ -117,11 +109,9 @@ jobs:
117109
runs-on: ubuntu-latest
118110
steps:
119111
- uses: actions/checkout@v4
120-
- uses: actions-rs/toolchain@v1
112+
- uses: dtolnay/rust-toolchain@nightly
121113
with:
122-
toolchain: nightly
123114
components: rustfmt
124-
override: true
125115
- uses: arduino/setup-protoc@v3
126116
- name: doc
127117
run: cargo doc --no-deps --all-features
@@ -136,11 +126,10 @@ jobs:
136126
- uses: actions/checkout@v4
137127
with:
138128
submodules: true
139-
- uses: actions-rs/toolchain@v1
129+
- uses: dtolnay/rust-toolchain@stable
140130
with:
141131
toolchain: stable
142132
components: rustfmt,llvm-tools-preview
143-
override: true
144133
- uses: arduino/setup-protoc@v3
145134
- name: cargo install cargo-llvm-cov
146135
uses: taiki-e/install-action@cargo-llvm-cov

.github/workflows/integration_tests.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@ jobs:
2020
- uses: actions/checkout@v4
2121
with:
2222
submodules: true
23-
- uses: actions-rs/toolchain@v1
23+
- uses: dtolnay/rust-toolchain@stable
2424
with:
25-
toolchain: stable
2625
components: rustfmt
27-
profile: minimal
2826
- uses: arduino/setup-protoc@v3
2927
- name: Run integration tests using docker compose
3028
run: ./scripts/integration_tests.sh

Cargo.toml

+6-23
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,14 @@
11
[workspace]
22
members = [
33
"opentelemetry",
4-
"opentelemetry-http",
5-
"opentelemetry-jaeger",
6-
"opentelemetry-jaeger/examples/actix-udp",
7-
"opentelemetry-jaeger/examples/remote-sampler",
8-
"opentelemetry-jaeger-propagator",
9-
"opentelemetry-appender-log",
10-
"opentelemetry-appender-tracing",
11-
"opentelemetry-otlp",
12-
"opentelemetry-prometheus",
13-
"opentelemetry-proto",
14-
"opentelemetry-sdk",
15-
"opentelemetry-semantic-conventions",
16-
"opentelemetry-stdout",
17-
"opentelemetry-zipkin",
18-
"opentelemetry-otlp/examples/basic-otlp",
19-
"opentelemetry-otlp/examples/basic-otlp-http",
20-
"opentelemetry-otlp/tests/integration_test",
21-
"examples/metrics-basic",
22-
"examples/metrics-advanced",
23-
"examples/logs-basic",
24-
"examples/tracing-grpc",
25-
"examples/tracing-http-propagator",
26-
"examples/tracing-jaeger",
4+
"opentelemetry-*",
5+
"opentelemetry-*/examples/*",
6+
"opentelemetry-otlp/tests/*",
7+
"examples/*",
278
"stress",
289
]
10+
# Any deleted crates with remaining README
11+
exclude = []
2912
resolver = "2"
3013

3114
[profile.bench]

RELEASING.md

+18-9
Original file line numberDiff line numberDiff line change
@@ -24,24 +24,33 @@ A draft PR can be created, but before releasing consider the following:
2424
## Steps to Release
2525

2626
1. Create a release PR
27-
- For each crate
28-
- Bump appropriate version
29-
- Update change logs to reflect release version.
30-
- Update API/SDK version as necessary
31-
- Attach `integration test` label to the PR to run integration tests
32-
- If there's a large enough set of changes, consider writing a migration guide.
27+
28+
* For each crate
29+
* Bump appropriate version
30+
* Update change logs to reflect release version.
31+
* Update API/SDK version as necessary
32+
* Attach `integration test` label to the PR to run integration tests
33+
* If there's a large enough set of changes, consider writing a migration guide.
34+
3335
2. Merge the PR
34-
- Get reviews from other Maintainers
35-
- Ensure that there haven't been any interfering PRs
36+
37+
* Get reviews from other Maintainers
38+
* Ensure that there haven't been any interfering PRs
39+
3640
3. Tag the release commit based on the [tagging convention](#tagging-convention). It should usually be a bump on minor version before 1.0
3741
4. Create Github Release
3842
5. [Publish](#publishing-crates) to crates.io using the version as of the release commit
3943
6. Post to [#otel-rust](https://cloud-native.slack.com/archives/C03GDP0H023) on CNCF Slack.
4044

41-
4245
## Tagging Convention
4346

4447
For each crate: it should be `<crate-name>-<version>` `<version>` being the simple `X.Y.Z`.
48+
For example:
49+
50+
```sh
51+
git tag -a opentelemetry-http-0.11.1 -m "opentelemetry-http 0.11.1 release"
52+
git push origin opentelemetry-http-0.11.1
53+
```
4554

4655
## Publishing Crates
4756

examples/logs-basic/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@ opentelemetry = { path = "../../opentelemetry", features = ["logs"] }
1010
opentelemetry_sdk = { path = "../../opentelemetry-sdk", features = ["logs"] }
1111
opentelemetry-stdout = { path = "../../opentelemetry-stdout", features = ["logs"]}
1212
opentelemetry-appender-log = { path = "../../opentelemetry-appender-log", default-features = false}
13+
opentelemetry-semantic-conventions = { path = "../../opentelemetry-semantic-conventions" }
1314
log = { workspace = true }
1415
serde_json = { workspace = true }

examples/logs-basic/src/main.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use opentelemetry::KeyValue;
33
use opentelemetry_appender_log::OpenTelemetryLogBridge;
44
use opentelemetry_sdk::logs::{Config, LoggerProvider};
55
use opentelemetry_sdk::Resource;
6+
use opentelemetry_semantic_conventions::resource::SERVICE_NAME;
67

78
fn main() {
89
// Setup LoggerProvider with a stdout exporter
@@ -14,7 +15,7 @@ fn main() {
1415
let logger_provider = LoggerProvider::builder()
1516
.with_config(
1617
Config::default().with_resource(Resource::new(vec![KeyValue::new(
17-
"service.name",
18+
SERVICE_NAME,
1819
"logs-basic-example",
1920
)])),
2021
)

examples/metrics-advanced/src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use opentelemetry::global;
22
use opentelemetry::metrics::Unit;
33
use opentelemetry::Key;
4-
use opentelemetry::{metrics::MeterProvider as _, KeyValue};
4+
use opentelemetry::KeyValue;
55
use opentelemetry_sdk::metrics::{
66
Aggregation, Instrument, PeriodicReader, SdkMeterProvider, Stream,
77
};

examples/metrics-basic/src/main.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use opentelemetry::global;
22
use opentelemetry::metrics::Unit;
3-
use opentelemetry::{metrics::MeterProvider as _, KeyValue};
3+
use opentelemetry::KeyValue;
44
use opentelemetry_sdk::metrics::{PeriodicReader, SdkMeterProvider};
55
use opentelemetry_sdk::{runtime, Resource};
66
use std::error::Error;

examples/tracing-jaeger/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ publish = false
99
opentelemetry = { path = "../../opentelemetry" }
1010
opentelemetry_sdk = { path = "../../opentelemetry-sdk", features = ["rt-tokio"] }
1111
opentelemetry-otlp = { path = "../../opentelemetry-otlp", features = ["tonic"] }
12+
opentelemetry-semantic-conventions = { path = "../../opentelemetry-semantic-conventions" }
1213
tokio = { workspace = true, features = ["full"] }

examples/tracing-jaeger/src/main.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ use opentelemetry::{
66
};
77
use opentelemetry_otlp::WithExportConfig;
88
use opentelemetry_sdk::{runtime, trace as sdktrace, Resource};
9+
use opentelemetry_semantic_conventions::resource::SERVICE_NAME;
10+
911
use std::error::Error;
1012

1113
fn init_tracer() -> Result<opentelemetry_sdk::trace::Tracer, TraceError> {
@@ -18,7 +20,7 @@ fn init_tracer() -> Result<opentelemetry_sdk::trace::Tracer, TraceError> {
1820
)
1921
.with_trace_config(
2022
sdktrace::config().with_resource(Resource::new(vec![KeyValue::new(
21-
"service.name",
23+
SERVICE_NAME,
2224
"tracing-jaeger",
2325
)])),
2426
)

opentelemetry-appender-tracing/CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
## vNext
44

5+
- Removed unwanted dependency on opentelemetry-sdk.
6+
57
## v0.3.0
68

79
### Added

opentelemetry-appender-tracing/Cargo.toml

+8-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ rust-version = "1.65"
1414
log = { workspace = true, optional = true }
1515
once_cell = { workspace = true }
1616
opentelemetry = { version = "0.22", path = "../opentelemetry", features = ["logs"] }
17-
opentelemetry_sdk = { version = "0.22", path = "../opentelemetry-sdk", features = ["logs"] }
1817
tracing = { workspace = true, features = ["std"]}
1918
tracing-core = { workspace = true }
2019
tracing-log = { version = "0.2", optional = true }
@@ -25,8 +24,16 @@ log = { workspace = true }
2524
opentelemetry-stdout = { path = "../opentelemetry-stdout", features = ["logs"] }
2625
opentelemetry_sdk = { path = "../opentelemetry-sdk", features = ["logs", "testing"] }
2726
tracing-log = "0.2"
27+
async-trait = "0.1"
28+
criterion = "0.5.1"
2829

2930
[features]
3031
experimental_metadata_attributes = ["dep:tracing-log"]
3132
logs_level_enabled = ["opentelemetry/logs_level_enabled", "opentelemetry_sdk/logs_level_enabled"]
3233
default = ["logs_level_enabled"]
34+
35+
36+
[[bench]]
37+
name = "logs"
38+
harness = false
39+
required-features = ["logs_level_enabled"]

0 commit comments

Comments
 (0)