Skip to content

Commit

Permalink
Merge branch 'main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
lquerel authored Sep 24, 2024
2 parents ff9b3e9 + b244673 commit a032fbc
Show file tree
Hide file tree
Showing 12 changed files with 128 additions and 69 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ jobs:
strategy:
matrix:
os: [windows-latest, ubuntu-latest]
rust: [1.65.0, 1.70.0]
rust: [1.65.0, 1.71.1]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
Expand Down
1 change: 1 addition & 0 deletions opentelemetry-otlp/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Changelog

## vNext
- Bump MSRV to 1.71.1 [2140](https://github.com/open-telemetry/opentelemetry-rust/pull/2140)

## v0.25.0

Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-otlp/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ categories = [
keywords = ["opentelemetry", "otlp", "logging", "tracing", "metrics"]
license = "Apache-2.0"
edition = "2021"
rust-version = "1.70"
rust-version = "1.71.1"
autotests = false

[[test]]
Expand Down
4 changes: 2 additions & 2 deletions opentelemetry-otlp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ can easily instrument your applications or systems, no matter their language,
infrastructure, or runtime environment. Crucially, the storage and visualization
of telemetry is intentionally left to other tools.

*Compiler support: [requires `rustc` 1.70+][msrv]*
*Compiler support: [requires `rustc` 1.71.1+][msrv]*

[Prometheus]: https://prometheus.io
[Jaeger]: https://www.jaegertracing.io
Expand All @@ -43,7 +43,7 @@ See [docs](https://docs.rs/opentelemetry-otlp).
## Supported Rust Versions

OpenTelemetry is built against the latest stable release. The minimum supported
version is 1.70. The current OpenTelemetry version is not guaranteed to build
version is 1.71.1. The current OpenTelemetry version is not guaranteed to build
on Rust versions earlier than the minimum supported version.

The current stable Rust compiler and the three most recent minor versions
Expand Down
1 change: 1 addition & 0 deletions opentelemetry-proto/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## vNext

- Fix JSON serialization of `metrics::Exemplar` and `trace::span::Link` [#2069](https://github.com/open-telemetry/opentelemetry-rust/pull/2069)
- Bump MSRV to 1.71.1 [2140](https://github.com/open-telemetry/opentelemetry-rust/pull/2140)

## v0.25.0
- Update `opentelemetry` dependency version to 0.25
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-proto/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ categories = [
keywords = ["opentelemetry", "otlp", "logging", "tracing", "metrics"]
license = "Apache-2.0"
edition = "2021"
rust-version = "1.70"
rust-version = "1.71.1"
autotests = false

[lib]
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-proto/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ This crate contains generated files from [opentelemetry-proto](https://github.co
repository and transformation between types from generated files and types defined in [opentelemetry](https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry).


*Compiler support: [requires `rustc` 1.70+]
*Compiler support: [requires `rustc` 1.71.1+]
54 changes: 27 additions & 27 deletions opentelemetry-proto/src/proto/tonic/opentelemetry.proto.logs.v1.rs
Original file line number Diff line number Diff line change
Expand Up @@ -227,31 +227,31 @@ impl SeverityNumber {
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
pub fn as_str_name(&self) -> &'static str {
match self {
SeverityNumber::Unspecified => "SEVERITY_NUMBER_UNSPECIFIED",
SeverityNumber::Trace => "SEVERITY_NUMBER_TRACE",
SeverityNumber::Trace2 => "SEVERITY_NUMBER_TRACE2",
SeverityNumber::Trace3 => "SEVERITY_NUMBER_TRACE3",
SeverityNumber::Trace4 => "SEVERITY_NUMBER_TRACE4",
SeverityNumber::Debug => "SEVERITY_NUMBER_DEBUG",
SeverityNumber::Debug2 => "SEVERITY_NUMBER_DEBUG2",
SeverityNumber::Debug3 => "SEVERITY_NUMBER_DEBUG3",
SeverityNumber::Debug4 => "SEVERITY_NUMBER_DEBUG4",
SeverityNumber::Info => "SEVERITY_NUMBER_INFO",
SeverityNumber::Info2 => "SEVERITY_NUMBER_INFO2",
SeverityNumber::Info3 => "SEVERITY_NUMBER_INFO3",
SeverityNumber::Info4 => "SEVERITY_NUMBER_INFO4",
SeverityNumber::Warn => "SEVERITY_NUMBER_WARN",
SeverityNumber::Warn2 => "SEVERITY_NUMBER_WARN2",
SeverityNumber::Warn3 => "SEVERITY_NUMBER_WARN3",
SeverityNumber::Warn4 => "SEVERITY_NUMBER_WARN4",
SeverityNumber::Error => "SEVERITY_NUMBER_ERROR",
SeverityNumber::Error2 => "SEVERITY_NUMBER_ERROR2",
SeverityNumber::Error3 => "SEVERITY_NUMBER_ERROR3",
SeverityNumber::Error4 => "SEVERITY_NUMBER_ERROR4",
SeverityNumber::Fatal => "SEVERITY_NUMBER_FATAL",
SeverityNumber::Fatal2 => "SEVERITY_NUMBER_FATAL2",
SeverityNumber::Fatal3 => "SEVERITY_NUMBER_FATAL3",
SeverityNumber::Fatal4 => "SEVERITY_NUMBER_FATAL4",
Self::Unspecified => "SEVERITY_NUMBER_UNSPECIFIED",
Self::Trace => "SEVERITY_NUMBER_TRACE",
Self::Trace2 => "SEVERITY_NUMBER_TRACE2",
Self::Trace3 => "SEVERITY_NUMBER_TRACE3",
Self::Trace4 => "SEVERITY_NUMBER_TRACE4",
Self::Debug => "SEVERITY_NUMBER_DEBUG",
Self::Debug2 => "SEVERITY_NUMBER_DEBUG2",
Self::Debug3 => "SEVERITY_NUMBER_DEBUG3",
Self::Debug4 => "SEVERITY_NUMBER_DEBUG4",
Self::Info => "SEVERITY_NUMBER_INFO",
Self::Info2 => "SEVERITY_NUMBER_INFO2",
Self::Info3 => "SEVERITY_NUMBER_INFO3",
Self::Info4 => "SEVERITY_NUMBER_INFO4",
Self::Warn => "SEVERITY_NUMBER_WARN",
Self::Warn2 => "SEVERITY_NUMBER_WARN2",
Self::Warn3 => "SEVERITY_NUMBER_WARN3",
Self::Warn4 => "SEVERITY_NUMBER_WARN4",
Self::Error => "SEVERITY_NUMBER_ERROR",
Self::Error2 => "SEVERITY_NUMBER_ERROR2",
Self::Error3 => "SEVERITY_NUMBER_ERROR3",
Self::Error4 => "SEVERITY_NUMBER_ERROR4",
Self::Fatal => "SEVERITY_NUMBER_FATAL",
Self::Fatal2 => "SEVERITY_NUMBER_FATAL2",
Self::Fatal3 => "SEVERITY_NUMBER_FATAL3",
Self::Fatal4 => "SEVERITY_NUMBER_FATAL4",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
Expand Down Expand Up @@ -313,8 +313,8 @@ impl LogRecordFlags {
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
pub fn as_str_name(&self) -> &'static str {
match self {
LogRecordFlags::DoNotUse => "LOG_RECORD_FLAGS_DO_NOT_USE",
LogRecordFlags::TraceFlagsMask => "LOG_RECORD_FLAGS_TRACE_FLAGS_MASK",
Self::DoNotUse => "LOG_RECORD_FLAGS_DO_NOT_USE",
Self::TraceFlagsMask => "LOG_RECORD_FLAGS_TRACE_FLAGS_MASK",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -808,9 +808,9 @@ impl AggregationTemporality {
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
pub fn as_str_name(&self) -> &'static str {
match self {
AggregationTemporality::Unspecified => "AGGREGATION_TEMPORALITY_UNSPECIFIED",
AggregationTemporality::Delta => "AGGREGATION_TEMPORALITY_DELTA",
AggregationTemporality::Cumulative => "AGGREGATION_TEMPORALITY_CUMULATIVE",
Self::Unspecified => "AGGREGATION_TEMPORALITY_UNSPECIFIED",
Self::Delta => "AGGREGATION_TEMPORALITY_DELTA",
Self::Cumulative => "AGGREGATION_TEMPORALITY_CUMULATIVE",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
Expand Down Expand Up @@ -851,10 +851,8 @@ impl DataPointFlags {
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
pub fn as_str_name(&self) -> &'static str {
match self {
DataPointFlags::DoNotUse => "DATA_POINT_FLAGS_DO_NOT_USE",
DataPointFlags::NoRecordedValueMask => {
"DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK"
}
Self::DoNotUse => "DATA_POINT_FLAGS_DO_NOT_USE",
Self::NoRecordedValueMask => "DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
Expand Down
26 changes: 13 additions & 13 deletions opentelemetry-proto/src/proto/tonic/opentelemetry.proto.trace.v1.rs
Original file line number Diff line number Diff line change
Expand Up @@ -378,12 +378,12 @@ pub mod span {
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
pub fn as_str_name(&self) -> &'static str {
match self {
SpanKind::Unspecified => "SPAN_KIND_UNSPECIFIED",
SpanKind::Internal => "SPAN_KIND_INTERNAL",
SpanKind::Server => "SPAN_KIND_SERVER",
SpanKind::Client => "SPAN_KIND_CLIENT",
SpanKind::Producer => "SPAN_KIND_PRODUCER",
SpanKind::Consumer => "SPAN_KIND_CONSUMER",
Self::Unspecified => "SPAN_KIND_UNSPECIFIED",
Self::Internal => "SPAN_KIND_INTERNAL",
Self::Server => "SPAN_KIND_SERVER",
Self::Client => "SPAN_KIND_CLIENT",
Self::Producer => "SPAN_KIND_PRODUCER",
Self::Consumer => "SPAN_KIND_CONSUMER",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
Expand Down Expand Up @@ -450,9 +450,9 @@ pub mod status {
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
pub fn as_str_name(&self) -> &'static str {
match self {
StatusCode::Unset => "STATUS_CODE_UNSET",
StatusCode::Ok => "STATUS_CODE_OK",
StatusCode::Error => "STATUS_CODE_ERROR",
Self::Unset => "STATUS_CODE_UNSET",
Self::Ok => "STATUS_CODE_OK",
Self::Error => "STATUS_CODE_ERROR",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
Expand Down Expand Up @@ -504,10 +504,10 @@ impl SpanFlags {
/// (if the ProtoBuf definition does not change) and safe for programmatic use.
pub fn as_str_name(&self) -> &'static str {
match self {
SpanFlags::DoNotUse => "SPAN_FLAGS_DO_NOT_USE",
SpanFlags::TraceFlagsMask => "SPAN_FLAGS_TRACE_FLAGS_MASK",
SpanFlags::ContextHasIsRemoteMask => "SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK",
SpanFlags::ContextIsRemoteMask => "SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK",
Self::DoNotUse => "SPAN_FLAGS_DO_NOT_USE",
Self::TraceFlagsMask => "SPAN_FLAGS_TRACE_FLAGS_MASK",
Self::ContextHasIsRemoteMask => "SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK",
Self::ContextIsRemoteMask => "SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
Expand Down
60 changes: 60 additions & 0 deletions opentelemetry-sdk/src/logs/log_processor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -812,6 +812,66 @@ mod tests {
assert_eq!(1, exporter.get_emitted_logs().unwrap().len())
}

#[tokio::test(flavor = "current_thread")]
#[ignore = "See issue https://github.com/open-telemetry/opentelemetry-rust/issues/1968"]
async fn test_batch_log_processor_shutdown_with_async_runtime_current_flavor_multi_thread() {
let exporter = InMemoryLogsExporterBuilder::default()
.keep_records_on_shutdown()
.build();
let processor = BatchLogProcessor::new(
Box::new(exporter.clone()),
BatchConfig::default(),
runtime::Tokio,
);

//
// deadloack happens in shutdown with tokio current_thread runtime
//
processor.shutdown().unwrap();
}

#[tokio::test(flavor = "current_thread")]
async fn test_batch_log_processor_shutdown_with_async_runtime_current_flavor_current_thread() {
let exporter = InMemoryLogsExporterBuilder::default()
.keep_records_on_shutdown()
.build();
let processor = BatchLogProcessor::new(
Box::new(exporter.clone()),
BatchConfig::default(),
runtime::TokioCurrentThread,
);

processor.shutdown().unwrap();
}

#[tokio::test(flavor = "multi_thread")]
async fn test_batch_log_processor_shutdown_with_async_runtime_multi_flavor_multi_thread() {
let exporter = InMemoryLogsExporterBuilder::default()
.keep_records_on_shutdown()
.build();
let processor = BatchLogProcessor::new(
Box::new(exporter.clone()),
BatchConfig::default(),
runtime::Tokio,
);

processor.shutdown().unwrap();
}

#[tokio::test(flavor = "multi_thread")]
async fn test_batch_log_processor_shutdown_with_async_runtime_multi_flavor_current_thread() {
let exporter = InMemoryLogsExporterBuilder::default()
.keep_records_on_shutdown()
.build();
let processor = BatchLogProcessor::new(
Box::new(exporter.clone()),
BatchConfig::default(),
runtime::TokioCurrentThread,
);

processor.shutdown().unwrap();
}

#[derive(Debug)]
struct FirstProcessor {
pub(crate) logs: Arc<Mutex<Vec<(LogRecord, InstrumentationLibrary)>>>,
Expand Down
31 changes: 15 additions & 16 deletions scripts/msrv_config.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
{
"1.65.0": [
"opentelemetry/Cargo.toml",
"opentelemetry-sdk/Cargo.toml",
"opentelemetry-stdout/Cargo.toml",
"opentelemetry-http/Cargo.toml",
"opentelemetry-jaeger-propagator/Cargo.toml",
"opentelemetry-zipkin/Cargo.toml",
"opentelemetry-appender-log/Cargo.toml",
"opentelemetry-appender-tracing/Cargo.toml"
],
"1.70.0": [
"opentelemetry-otlp/Cargo.toml",
"opentelemetry-proto/Cargo.toml"
]
}

"1.65.0": [
"opentelemetry/Cargo.toml",
"opentelemetry-sdk/Cargo.toml",
"opentelemetry-stdout/Cargo.toml",
"opentelemetry-http/Cargo.toml",
"opentelemetry-jaeger-propagator/Cargo.toml",
"opentelemetry-zipkin/Cargo.toml",
"opentelemetry-appender-log/Cargo.toml",
"opentelemetry-appender-tracing/Cargo.toml"
],
"1.71.1": [
"opentelemetry-otlp/Cargo.toml",
"opentelemetry-proto/Cargo.toml"
]
}

0 comments on commit a032fbc

Please sign in to comment.