Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Apr 4, 2025

This PR contains the following updates:

Package Type Update Change
axum-tracing-opentelemetry (source) workspace.dependencies minor 0.26.0 -> 0.32.0
init-tracing-opentelemetry (source) workspace.dependencies minor 0.27.0 -> 0.32.0
opentelemetry (source) workspace.dependencies minor 0.28.0 -> 0.31.0
opentelemetry-otlp (source) workspace.dependencies minor 0.28.0 -> 0.31.0
opentelemetry_sdk (source) workspace.dependencies minor 0.28 -> 0.31
tracing-opentelemetry workspace.dependencies minor 0.29 -> 0.32

Release Notes

davidB/tracing-opentelemetry-instrumentation-sdk (axum-tracing-opentelemetry)

v0.32.1

Compare Source

v0.32.0

Compare Source

v0.30.1

Compare Source

v0.30.0

Compare Source

v0.29.0

Compare Source

Removed
  • remove deprecated sample from README

v0.28.1

Compare Source

Removed
  • remove deprecated sample from README

v0.28.0

Compare Source

Removed
  • (deps) remove minor constraint when major > 1
open-telemetry/opentelemetry-rust (opentelemetry)

v0.31.0

Compare Source

Released 2025-Sep-25

  • Breaking Change return type of opentelemetry::global::set_tracer_provider to Unit to align with metrics counterpart
  • Add get_all method to opentelemetry::propagation::Extractor to return all values of the given propagation key and provide a default implementation.

v0.30.0

Compare Source

Released 2025-May-23

#​2821 Context
based suppression capabilities added: Added the ability to prevent recursive
telemetry generation through new context-based suppression mechanisms. This
feature helps prevent feedback loops and excessive telemetry when OpenTelemetry
components perform their own operations.

New methods added to Context:

  • is_telemetry_suppressed() - Checks if telemetry is suppressed in this
    context
  • with_telemetry_suppressed() - Creates a new context with telemetry
    suppression enabled
  • is_current_telemetry_suppressed() - Efficiently checks if the current thread's context
    has telemetry suppressed
  • enter_telemetry_suppressed_scope() - Convenience method to enter a scope where telemetry is
    suppressed

These methods allow SDK components, exporters, and processors to temporarily
disable telemetry generation during their internal operations, ensuring more
predictable and efficient observability pipelines.

  • re-export tracing for internal-logs feature to remove the need of adding tracing as a dependency

v0.29.1

Compare Source

Release 2025-Apr-01

  • Bug Fix: Re-export WithContext at opentelemetry::trace::context::WithContext #​2879 to restore backwards compatibility
    • The new path for WithContext and FutureExt are in opentelemetry::context as they are independent of the trace signal. Users should prefer this path.

v0.29.0

Compare Source

Released 2025-Mar-21

  • Breaking Moved ExportError trait from opentelemetry::trace::ExportError to opentelemetry_sdk::export::ExportError
  • Breaking Moved TraceError enum from opentelemetry::trace::TraceError to opentelemetry_sdk::trace::TraceError
  • Breaking Moved TraceResult type alias from opentelemetry::trace::TraceResult to opentelemetry_sdk::trace::TraceResult
  • Bug Fix: InstrumentationScope implementation for PartialEq and Hash fixed to include Attributes also.
  • Breaking changes for baggage users: #​2717
    • Changed value type of Baggage from Value to StringValue
    • Updated Baggage constants to reflect latest standard (MAX_KEY_VALUE_PAIRS - 180 -> 64, MAX_BYTES_FOR_ONE_PAIR - removed) and increased insert performance see #2284.
    • Align Baggage.remove() signature with .get() to take the key as a reference
    • Baggage can't be retrieved from the Context directly anymore and needs to be accessed via context.baggage()
    • with_baggage() and current_with_baggage() override any existing Baggage in the Context
    • Baggage keys can't be empty and only allow ASCII visual chars, except "(),/:;<=>?@&#8203;[\]{} (see RFC7230, Section 3.2.6)
    • KeyValueMetadata does not publicly expose its fields. This should be transparent change to the users.
  • Changed Context to use a stack to properly handle out of order dropping of ContextGuard. This imposes a limit of 65535 nested contexts on a single thread. See #2378 and #1887.
  • Added additional name: Option<&str> parameter to the event_enabled method
    on the Logger trait. This allows implementations (SDK, processor, exporters)
    to leverage this additional information to determine if an event is enabled.
open-telemetry/opentelemetry-rust (opentelemetry-otlp)

v0.31.0

Compare Source

Released 2025-Sep-25

  • Update opentelemetry-proto and opentelemetry-http dependency version to 0.31.0
  • Add HTTP compression support with gzip-http and zstd-http feature flags
  • Add retry with exponential backoff and throttling support for HTTP and gRPC exporters

v0.30.0

Compare Source

Released 2025-May-23

  • Update opentelemetry dependency version to 0.30
  • Update opentelemetry_sdk dependency version to 0.30
  • Update opentelemetry-http dependency version to 0.30
  • Update opentelemetry-proto dependency version to 0.30
  • Update tonic dependency version to 0.13
  • Re-export tonic types under tonic_types
    2898
  • Publicly re-exported MetricExporterBuilder, SpanExporterBuilder, and
    LogExporterBuilder types, enabling users to directly reference and use these
    builder types for metrics, traces, and logs exporters.
    2966

v0.29.0

Compare Source

Released 2025-Mar-21

  • Update opentelemetry dependency version to 0.29

  • Update opentelemetry_sdk dependency version to 0.29

  • Update opentelemetry-http dependency version to 0.29

  • Update opentelemetry-proto dependency version to 0.29

  • The OTEL_EXPORTER_OTLP_TIMEOUT, OTEL_EXPORTER_OTLP_TRACES_TIMEOUT, OTEL_EXPORTER_OTLP_METRICS_TIMEOUT and OTEL_EXPORTER_OTLP_LOGS_TIMEOUT are changed from seconds to milliseconds.

  • Fixed .with_headers() in HttpExporterBuilder to correctly support multiple key/value pairs. #​2699

  • Fixed
    #​2770
    partially to properly handle shutdown() when using http. (tonic still
    does not do proper shutdown)

  • Breaking
    ExporterBuilder's build() method now Result with ExporterBuildError being the
    Error variant. Previously it returned signal specific errors like LogError
    from the opentelemetry_sdk, which are no longer part of the sdk. No changes
    required if you were using unwrap/expect. If you were matching on the returning
    Error enum, replace with the enum ExporterBuildError. Unlike the previous
    Error which contained many variants unrelated to building an exporter, the
    new one returns specific variants applicable to building an exporter. Some
    variants might be applicable only on select features.
    Also, now unused Error enum is removed.

  • Breaking ExportConfig's timeout field is now optional(Option<Duration>)

  • Breaking Export configuration done via code is final. ENV variables cannot be used to override the code config.
    Do not use code based config, if there is desire to control the settings via ENV variables.
    List of ENV variables and corresponding setting being affected by this change.

    • OTEL_EXPORTER_OTLP_ENDPOINT -> ExportConfig.endpoint
    • OTEL_EXPORTER_OTLP_TIMEOUT -> ExportConfig.timeout
open-telemetry/opentelemetry-rust (opentelemetry_sdk)

v0.31.0

Compare Source

Released 2025-Sep-25

  • Updated opentelemetry and opentelemetry-http dependencies to version 0.31.0.

  • Feature: Add span flags support for isRemote property in OTLP exporter (#​3153)

  • Updated span and link transformations to properly set flags field (0x100 for local, 0x300 for remote)

  • TODO: Placeholder for Span processor related things

    • Fix SpanProcessor::on_start is no longer called on non recording spans
  • Fix: Restore true parallel exports in the async-native BatchSpanProcessor by honoring OTEL_BSP_MAX_CONCURRENT_EXPORTS (#​2959). A regression in #​2685 inadvertently awaited the export() future directly in opentelemetry-sdk/src/trace/span_processor_with_async_runtime.rs instead of spawning it on the runtime, forcing all exports to run sequentially.

  • Feature: Added Clone implementation to SdkLogger for API consistency with SdkTracer (#​3058).

  • Fix: batch size accounting in BatchSpanProcessor when queue is full (#​3089).

  • Fix: Resolved dependency issue where the "logs" feature incorrectly
    required the "trace" feature flag
    (#​3096).
    The logs functionality now operates independently, while automatic correlation
    between logs and traces continues to work when the "trace" feature is
    explicitly enabled.

v0.30.0

Compare Source

Released 2025-May-23

  • Updated opentelemetry and opentelemetry-http dependencies to version 0.30.0.

  • It is now possible to add links to a Span via the SpanRef that you get from
    a Context. 2959

  • Feature: Added context based telemetry suppression. #​2868

    • SdkLogger, SdkTracer modified to respect telemetry suppression based on
      Context. In other words, if the current context has telemetry suppression
      enabled, then logs/spans will be ignored.
    • The flag is typically set by OTel
      components to prevent telemetry from itself being fed back into OTel.
    • BatchLogProcessor, BatchSpanProcessor, and PeriodicReader modified to set
      the suppression flag in their dedicated thread, so that telemetry generated from
      those threads will not be fed back into OTel.
    • Similarly, SimpleLogProcessor
      also modified to suppress telemetry before invoking exporters.
  • Feature: Implemented and enabled cardinality capping for Metrics by
    default. #​2901

    • The default cardinality limit is 2000 and can be customized using Views.
    • This feature was previously removed in version 0.28 due to the lack of
      configurability but has now been reintroduced with the ability to configure
      the limit.
    • Fixed the overflow attribute to correctly use the boolean value true
      instead of the string "true".
      #​2878
  • The shutdown_with_timeout method is added to SpanProcessor, SpanExporter trait and TracerProvider.

  • The shutdown_with_timeout method is added to LogExporter trait.

  • The shutdown_with_timeout method is added to LogProvider and LogProcessor trait.

  • Breaking MetricError, MetricResult no longer public (except when
    spec_unstable_metrics_views feature flag is enabled). OTelSdkResult should
    be used instead, wherever applicable. #​2906

  • Breaking change, affecting custom MetricReader authors:

    • The
      shutdown_with_timeout method is added to MetricReader trait.
    • collect
      method on MetricReader modified to return OTelSdkResult.
      #​2905
    • MetricReader
      trait, ManualReader struct, Pipeline struct, InstrumentKind enum moved
      behind feature flag "experimental_metrics_custom_reader".
      #​2928
  • Views improvements:

    • Core view functionality is now available by default—users can change the
      name, unit, description, and cardinality limit of a metric via views without
      enabling the spec_unstable_metrics_views feature flag. Advanced view
      features, such as custom aggregation or attribute filtering, still require
      the spec_unstable_metrics_views feature.
    • Removed new_view() method and View trait. Views can now be added by passing
      a function with signature Fn(&Instrument) -> Option<Stream> to the with_view
      method on MeterProviderBuilder.
  • Introduced a builder pattern for Stream creation to use with views:

    • Added StreamBuilder struct with methods to configure stream properties
    • Added Stream::builder() method that returns a new StreamBuilder
    • StreamBuilder::build() returns Result<Stream, Box<dyn Error>> enabling
      proper validation.

Example of using views to rename a metric:

let view_rename = |i: &Instrument| {
    if i.name() == "my_histogram" {
        Some(
            Stream::builder()
                .with_name("my_histogram_renamed")
                .build()
                .unwrap(),
        )
    } else {
        None
    }
};

let provider = SdkMeterProvider::builder()
    // add exporters, set resource etc.
    .with_view(view_rename)
    .build();
  • Breaking Aggregation enum moved behind feature flag
    "spec_unstable_metrics_views". This was only required when using advanced view
    capabilities.
    #​2928
  • Breaking change, affecting custom PushMetricExporter authors:
    • The export method on PushMetricExporter now accepts &ResourceMetrics
      instead of &mut ResourceMetrics.
    • ResourceMetrics no longer exposes scope_metrics field, but instead
      offers scope_metrics() method that returns an iterator over the same.
    • ScopeMetrics no longer exposes metrics field, but instead offers
      metrics() method that returns an iterator over the same.
    • Sum, Gauge, Histogram & ExponentialHistogram no longer exposes
      data_points field, but instead offers data_points() method that returns
      an iterator over the same.
    • SumDataPoint, GaugeDataPoint, HistogramDataPoint &
      ExponentialHistogramDataPoint no longer exposes attributes, exemplars
      field, but instead offers attributes(), and exemplars() method that
      returns an iterator over the same.
    • Exemplar no longer exposes filtered_attributes field, but instead
      offers filtered_attributes() method that returns an iterator over
      the same.
    • HistogramDataPoint no longer exposes bounds and bucket_counts, but
      instead offers bounds() and bucket_counts() methods that returns an
      iterator over the same.
    • Metric no longer exposes name, description, unit, data fields, but
      instead offers name(), description(), unit(), and data() accessor methods.
    • ResourceMetrics no longer exposes resource field, but instead offers
      a resource() accessor method.
    • ScopeMetrics no longer exposes scope field, but instead offers
      a scope() accessor method.

v0.29.0

Compare Source

Released 2025-Mar-21

  • Update opentelemetry dependency to 0.29.
  • Update opentelemetry-http dependency to 0.29.
  • Breaking: The Runtime trait has been simplified and refined. See the #​2641
    for the changes.
  • Removed async-std support for Runtime, as async-std crate is deprecated.
  • Calls to MeterProviderBuilder::with_resource, TracerProviderBuilder::with_resource,
    LoggerProviderBuilder::with_resource are now additive (#​2677).
  • Moved ExportError trait from opentelemetry::trace::ExportError to opentelemetry_sdk::export::ExportError
  • Moved TraceError enum from opentelemetry::trace::TraceError to opentelemetry_sdk::trace::TraceError
  • Moved TraceResult type alias from opentelemetry::trace::TraceResult to opentelemetry_sdk::trace::TraceResult
  • Breaking: Make force_flush() in PushMetricExporter synchronous
  • Breaking: Updated the SpanExporter trait method signature:
  fn export(&mut self, batch: Vec<SpanData>) -> BoxFuture<'static, OTelSdkResult>;

to

  fn export(
    &mut self,
    batch: Vec<SpanData>,
) -> impl std::future::Future<Output = OTelSdkResult> + Send;

This affects anyone who writes custom exporters, as custom implementations of SpanExporter
should now define export as an async fn:

  impl trace::SpanExporter for CustomExporter {
    async fn export(&mut self, batch: Vec<trace::SpanData>) -> OTelSdkResult {
        // Implementation here
    }
}
  • Breaking The SpanExporter::export() method no longer requires a mutable reference to self.
    Before:

      async fn export(&mut self, batch: Vec<SpanData>) -> OTelSdkResult

    After:

      async fn export(&self, batch: Vec<SpanData>) -> OTelSdkResult

    Custom exporters will need to internally synchronize any mutable state, if applicable.

  • Breaking The shutdown_with_timeout method is added to MetricExporter trait. This is breaking change for custom MetricExporter authors.

  • Bug Fix: BatchLogProcessor now correctly calls shutdown on the exporter
    when its shutdown is invoked.

  • Reduced some info level logs to debug

  • Breaking for custom LogProcessor/Exporter authors: Changed name
    parameter from &str to Option<&str> in event_enabled method on the
    LogProcessor and LogExporter traits. SdkLogger no longer passes its
    scope name but instead passes the incoming name when invoking
    event_enabled on processors.

  • Breaking for custom LogExporter authors: shutdown() method in
    LogExporter trait no longer requires a mutable ref to self. If the exporter
    needs to mutate state, it should rely on interior mutability.
    2764

  • Breaking (Affects custom Exporter/Processor authors only) Removed
    opentelemetry_sdk::logs::error::{LogError, LogResult}. These were not
    intended to be public. If you are authoring custom processor/exporters, use
    opentelemetry_sdk::error::OTelSdkError and
    opentelemetry_sdk::error::OTelSdkResult.
    2790

  • Breaking for custom LogProcessor authors: Changed set_resource
    to require mutable ref.
    fn set_resource(&mut self, _resource: &Resource) {}

  • Breaking: InMemoryExporter's return type change.

    • TraceResult<Vec<SpanData>> to Result<Vec<SpanData>, InMemoryExporterError>
    • MetricResult<Vec<ResourceMetrics>> to Result<Vec<ResourceMetrics>, InMemoryExporterError>
    • LogResult<Vec<LogDataWithResource>> to Result<Vec<LogDataWithResource>, InMemoryExporterError>
tokio-rs/tracing-opentelemetry (tracing-opentelemetry)

v0.32.0

Compare Source

Added
  • Add configuration for including target in spans (#​222)
Changed
  • OpenTelemetry context activation (#​202)
    • Trace ID and span ID can be obtained from OtelData via dedicated functions. Note that these
      will be available only if the context has already been built. (#​233)
  • Correctly track entered and exited state for timings (#​212)
  • Slightly improve error message on version mismatch (#​211)
  • Remove Lazy for thread_local static (#​215)
  • Update description of special fields and semantic conventions
Breaking Changes
  • The attributes code.filepath, code.lineno, and code.namespace have been renamed to
    code.file.path, and code.line.number, and code.module.name, to align with the opentelemetry
    semantic conventions for code. (#​225)
  • Upgrade from opentelemetry to 0.31.0. Refer to the upstream
    changelog
    for more information. (#​230)
  • Hold onto MetricsProvider in MetricsLayer (#​224)
  • The attribute otel.status_message was changed to otel.status_description to align with the
    opentelemetry semantic conventions for code. (#​209)
  • Remove the metrics_gauge_unstable feature.

v0.31.0

Compare Source

Breaking Changes
  • Upgrade from opentelemetry 0.29.0 to 0.30.0. Refer to the upstream
    changelog
    for more information.
Added
  • Add OpenTelemetrySpanExt::add_event and OpenTelemetrySpanExt::add_event_with_timestamp
    functions to allow adding OpenTelemetry events directly to a tracing::Span, enabling the use of dynamic attribute keys
    and custom event timestamps.

v0.30.0

Compare Source

Breaking Changes
  • Upgrade from opentelemetry 0.28.0 to 0.29.0. Refer to the upstream
    changelog
    for more information.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added dependencies Pull requests that update a dependency file renovate rust labels Apr 4, 2025
@renovate renovate bot force-pushed the renovate/opentelemetry-packages branch from b13bc96 to e02e4fe Compare April 28, 2025 20:25
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Apr 28, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Join our Discord community for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@renovate renovate bot force-pushed the renovate/opentelemetry-packages branch 2 times, most recently from d2a14d9 to 664de7e Compare May 6, 2025 21:32
@renovate renovate bot force-pushed the renovate/opentelemetry-packages branch 2 times, most recently from d6ef99e to d5d7f27 Compare May 23, 2025 20:05
@renovate renovate bot force-pushed the renovate/opentelemetry-packages branch 2 times, most recently from 00d7d11 to a5e5c58 Compare June 4, 2025 01:03
@renovate renovate bot force-pushed the renovate/opentelemetry-packages branch 2 times, most recently from 973180b to 9978b57 Compare July 10, 2025 07:07
@renovate renovate bot force-pushed the renovate/opentelemetry-packages branch from 9978b57 to f7d7afd Compare July 18, 2025 10:51
@renovate renovate bot force-pushed the renovate/opentelemetry-packages branch 2 times, most recently from 3d4346b to dfead51 Compare August 10, 2025 14:47
@renovate renovate bot force-pushed the renovate/opentelemetry-packages branch from dfead51 to 520ff2b Compare August 25, 2025 17:36
@renovate renovate bot force-pushed the renovate/opentelemetry-packages branch 5 times, most recently from 318022a to e207c5a Compare October 1, 2025 20:49
@renovate renovate bot force-pushed the renovate/opentelemetry-packages branch 2 times, most recently from 4d41997 to 3c518fc Compare October 14, 2025 22:00
@renovate renovate bot force-pushed the renovate/opentelemetry-packages branch from 3c518fc to 0fadcc1 Compare October 24, 2025 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file renovate rust

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants