Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: open-telemetry/opentelemetry-rust
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 5dec37fce65ffacb953de2c26b30999fea4ef823
Choose a base ref
..
head repository: open-telemetry/opentelemetry-rust
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 06c8f644a37ff447bf140a80691a168e2c04220e
Choose a head ref
Showing with 6,171 additions and 1,669 deletions.
  1. +1 −1 .github/ISSUE_TEMPLATE/config.yml
  2. +11 −0 .github/repository-settings.md
  3. +1 −1 Cargo.toml
  4. +12 −5 README.md
  5. +1 −1 RELEASING.md
  6. +0 −2 examples/metrics-basic/src/main.rs
  7. +2 −0 opentelemetry-appender-log/CHANGELOG.md
  8. +6 −1 opentelemetry-appender-log/Cargo.toml
  9. +9 −11 opentelemetry-appender-log/examples/{logs-basic-in-memory.rs → logs-basic.rs}
  10. +1,007 −18 opentelemetry-appender-log/src/lib.rs
  11. +1 −1 opentelemetry-appender-tracing/benches/logs.rs
  12. +9 −0 opentelemetry-otlp/CHANGELOG.md
  13. +4 −1 opentelemetry-otlp/Cargo.toml
  14. +1 −1 opentelemetry-otlp/examples/basic-otlp-http/Cargo.toml
  15. +4 −5 opentelemetry-otlp/examples/basic-otlp-http/src/main.rs
  16. +3 −6 opentelemetry-otlp/examples/basic-otlp/src/main.rs
  17. +4 −21 opentelemetry-otlp/src/exporter/http/logs.rs
  18. +1 −20 opentelemetry-otlp/src/exporter/http/metrics.rs
  19. +94 −5 opentelemetry-otlp/src/exporter/http/mod.rs
  20. +2 −23 opentelemetry-otlp/src/exporter/http/trace.rs
  21. +66 −21 opentelemetry-otlp/src/exporter/mod.rs
  22. +18 −5 opentelemetry-otlp/src/exporter/tonic/logs.rs
  23. +14 −10 opentelemetry-otlp/src/lib.rs
  24. +15 −23 opentelemetry-otlp/src/logs.rs
  25. +4 −4 opentelemetry-otlp/src/span.rs
  26. +18 −1 opentelemetry-proto/src/transform/common.rs
  27. +17 −9 opentelemetry-proto/src/transform/logs.rs
  28. +13 −0 opentelemetry-sdk/CHANGELOG.md
  29. +1 −0 opentelemetry-sdk/Cargo.toml
  30. +5 −6 opentelemetry-sdk/src/export/logs/mod.rs
  31. +125 −79 opentelemetry-sdk/src/logs/log_emitter.rs
  32. +168 −4 opentelemetry-sdk/src/logs/log_processor.rs
  33. +22 −5 opentelemetry-sdk/src/metrics/meter.rs
  34. +55 −10 opentelemetry-sdk/src/testing/logs/in_memory_exporter.rs
  35. +2 −0 opentelemetry-semantic-conventions/CHANGELOG.md
  36. +4 −4 opentelemetry-semantic-conventions/scripts/generate-consts-from-spec.sh
  37. +1 −1 opentelemetry-semantic-conventions/src/lib.rs
  38. +2,583 −451 opentelemetry-semantic-conventions/src/resource.rs
  39. +1,795 −731 opentelemetry-semantic-conventions/src/trace.rs
  40. +9 −1 opentelemetry-stdout/src/logs/exporter.rs
  41. +15 −5 opentelemetry-stdout/src/logs/transform.rs
  42. +11 −0 opentelemetry/CHANGELOG.md
  43. +1 −1 opentelemetry/Cargo.toml
  44. +0 −136 opentelemetry/src/global/logs.rs
  45. +2 −2 opentelemetry/src/global/metrics.rs
  46. +15 −14 opentelemetry/src/global/mod.rs
  47. +8 −4 opentelemetry/src/logs/logger.rs
  48. +5 −2 opentelemetry/src/logs/record.rs
  49. +2 −13 opentelemetry/src/metrics/meter.rs
  50. +3 −3 opentelemetry/src/metrics/noop.rs
  51. +1 −1 stress/src/logs.rs
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ contact_links:
about: Please ask questions here.
- name: Slack
url: https://cloud-native.slack.com/archives/C03GDP0H023
about: Or the `#otel-rust` channel in the CNCF Slack instance. (Not terribly responsive.)
about: Or the `#otel-rust` channel in the CNCF Slack instance.
- name: "⚠️ Report a security vulnerability"
url: "https://github.com/open-telemetry/opentelemetry-rust/security/advisories/new"
about: "Report a security vulnerability."
11 changes: 11 additions & 0 deletions .github/repository-settings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Log of local changes

Maintainers are expected to maintain this log. This is required as per
[OpenTelemetry Community
guidelines](https://github.com/open-telemetry/community/blob/main/docs/how-to-configure-new-repository.md#collaborators-and-teams).

## April 30th 2024

Modified branch protection for main branch to require the following CI checks:
docs
test (stable)
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -29,7 +29,7 @@ hyper = { version = "1.3", default-features = false }
hyper-util = "0.1"
http = { version = "1.1", default-features = false, features = ["std"] }
http-body-util = "0.1"
log = "0.4"
log = "0.4.21"
once_cell = "1.13"
ordered-float = "4.0"
pin-project-lite = "0.2"
17 changes: 12 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -25,11 +25,18 @@ observability tools.

## Project Status

| Signal | Status |
| ------- | ---------- |
| Logs | Alpha* |
| Metrics | Alpha |
| Traces | Beta |
| Signal/Component | Overall Status |
| -------------------- | ------------------ |
| Logs-API | Alpha* |
| Logs-SDK | Alpha |
| Logs-OTLP Exporter | Alpha |
| Logs-Appender-Tracing | Alpha |
| Metrics-API | Alpha |
| Metrics-SDK | Alpha |
| Metrics-OTLP Exporter | Alpha |
| Traces-API | Beta |
| Traces-SDK | Beta |
| Traces-OTLP Exporter | Beta |

*OpenTelemetry Rust is not introducing a new end user callable Logging API.
Instead, it provides [Logs Bridge
2 changes: 1 addition & 1 deletion RELEASING.md
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@ A draft PR can be created, but before releasing consider the following:

* Are there any pending pull requests which should be included in the next release?
* Are they blockers?
* Are there any unresolved issues which should be resolved before the next release?
* Are there any unresolved issues which should be resolved before the next release? Check the release [blockers milestone](https://github.com/open-telemetry/opentelemetry-rust/milestones) for every release
* Bring it up at a SIG meeting, this can usually get some of these questions answered sooner than later. It will also
help establish a person to perform the release. Ideally this can be someone different each time to ensure that the
process is documented.
2 changes: 0 additions & 2 deletions examples/metrics-basic/src/main.rs
Original file line number Diff line number Diff line change
@@ -108,8 +108,6 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
// Note that there is no ObservableHistogram instrument.

// Create a Gauge Instrument.
// Note that the Gauge instrument is experimental, and can be changed/removed in the future releases.
#[cfg(feature = "otel_unstable")]
{
let gauge = meter
.f64_gauge("my_gauge")
2 changes: 2 additions & 0 deletions opentelemetry-appender-log/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -2,6 +2,8 @@

## vNext

- Add log key-values as attributes [#1628](https://github.com/open-telemetry/opentelemetry-rust/pull/1628)

## v0.3.0

## v0.2.0
7 changes: 6 additions & 1 deletion opentelemetry-appender-log/Cargo.toml
Original file line number Diff line number Diff line change
@@ -12,12 +12,17 @@ edition = "2021"

[dependencies]
opentelemetry = { version = "0.22", path = "../opentelemetry", features = ["logs"]}
log = { workspace = true, features = ["kv_unstable", "std"]}
log = { workspace = true, features = ["kv", "std"]}
serde = { workspace = true, optional = true, features = ["std"] }

[features]
logs_level_enabled = ["opentelemetry/logs_level_enabled"]
with-serde = ["log/kv_serde", "serde"]
default = ["logs_level_enabled"]

[dev-dependencies]
opentelemetry_sdk = { path = "../opentelemetry-sdk", features = [ "testing", "logs_level_enabled" ] }
opentelemetry-stdout = { path = "../opentelemetry-stdout", features = ["logs"]}
log = { workspace = true, features = ["kv_serde"] }
tokio = { workspace = true }
serde = { workspace = true, features = ["std", "derive"] }
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//! run with `$ cargo run --example logs-basic-in-memory
//! run with `$ cargo run --example logs-basic`
/// This example shows how to use in_memory_exporter for logs. This uses opentelemetry-appender-log crate, which is a
/// [logging appender](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#log-appender--bridge) that bridges logs from the [log crate](https://docs.rs/log/latest/log/) to OpenTelemetry.
@@ -8,15 +8,15 @@ use log::{error, info, warn, Level};
use opentelemetry_appender_log::OpenTelemetryLogBridge;
use opentelemetry_sdk::logs::{BatchLogProcessor, LoggerProvider};
use opentelemetry_sdk::runtime;
use opentelemetry_sdk::testing::logs::InMemoryLogsExporter;
use opentelemetry_stdout::LogExporter;

#[tokio::main]
async fn main() {
//Create an InMemoryLogsExporter
let exporter: InMemoryLogsExporter = InMemoryLogsExporter::default();
//Create an exporter that writes to stdout
let exporter = LogExporter::default();
//Create a LoggerProvider and register the exporter
let logger_provider = LoggerProvider::builder()
.with_log_processor(BatchLogProcessor::builder(exporter.clone(), runtime::Tokio).build())
.with_log_processor(BatchLogProcessor::builder(exporter, runtime::Tokio).build())
.build();

// Setup Log Appender for the log crate.
@@ -25,14 +25,12 @@ async fn main() {
log::set_max_level(Level::Info.to_level_filter());

// Emit logs using macros from the log crate.
error!("hello from {}. My price is {}", "apple", 2.99);
let fruit = "apple";
let price = 2.99;

error!(fruit, price; "hello from {fruit}. My price is {price}");
warn!("warn!");
info!("test log!");

logger_provider.force_flush();

let emitted_logs = exporter.get_emitted_logs().unwrap();
for log in emitted_logs {
println!("{:?}", log);
}
}
Loading