-
Notifications
You must be signed in to change notification settings - Fork 256
fix(deps): update opentelemetry-rust monorepo to 0.29.0 #3335
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/opentelemetry-rust-monorepo
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
99abcb7
to
126ba6f
Compare
126ba6f
to
1e29e0c
Compare
1e29e0c
to
1e85b0b
Compare
7b0514d
to
f5dd3ff
Compare
Action required: PR inactive for 5 days. |
f5dd3ff
to
5d18a77
Compare
026a424
to
0d87ae3
Compare
e14d82e
to
ea9068d
Compare
Action required: PR inactive for 5 days. |
ea9068d
to
b63c478
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.23.0
->0.29.0
0.4.0
->0.29.0
0.12.0
->0.29.0
0.16.0
->0.29.0
0.16.0
->0.29.0
0.15.0
->0.29.0
0.4.0
->0.29.0
0.23.0
->0.29.0
Release Notes
open-telemetry/opentelemetry-rust (opentelemetry)
v0.29.0
Compare Source
Released 2025-Mar-21
ExportError
trait fromopentelemetry::trace::ExportError
toopentelemetry_sdk::export::ExportError
TraceError
enum fromopentelemetry::trace::TraceError
toopentelemetry_sdk::trace::TraceError
TraceResult
type alias fromopentelemetry::trace::TraceResult
toopentelemetry_sdk::trace::TraceResult
InstrumentationScope
implementation forPartialEq
andHash
fixed to include Attributes also.Baggage
fromValue
toStringValue
Baggage
constants to reflect latest standard (MAX_KEY_VALUE_PAIRS
- 180 -> 64,MAX_BYTES_FOR_ONE_PAIR
- removed) and increased insert performance see #2284.Baggage.remove()
signature with.get()
to take the key as a referenceBaggage
can't be retrieved from theContext
directly anymore and needs to be accessed viacontext.baggage()
with_baggage()
andcurrent_with_baggage()
override any existingBaggage
in theContext
Baggage
keys can't be empty and only allow ASCII visual chars, except"(),/:;<=>?@​[\]{}
(see RFC7230, Section 3.2.6)KeyValueMetadata
does not publicly expose its fields. This should be transparent change to the users.Context
to use a stack to properly handle out of order dropping ofContextGuard
. This imposes a limit of65535
nested contexts on a single thread. See #2378 and #1887.name: Option<&str>
parameter to theevent_enabled
methodon the
Logger
trait. This allows implementations (SDK, processor, exporters)to leverage this additional information to determine if an event is enabled.
v0.28.0
Compare Source
Released 2025-Feb-10
opentelemetry::global::shutdown_tracer_provider()
Removed from this crate, should now usetracer_provider.shutdown()
see #2369 for a migration example.opentelemetry::PropagationError
struct.v0.27.1
Compare Source
Released 2024-Nov-27
v0.27.0
Compare Source
Released 2024-Nov-11
LogRecord::set_trace_context
; an optional method conditional on thetrace
feature for setting trace context on a log record.as_any
fromAsyncInstrument
trait and the implementing instruments:ObservableCounter
,ObservableGauge
, andObservableUpDownCounter
#2187SyncInstrument
trait to replace the individual synchronous instrument traits (SyncCounter
,SyncGauge
,SyncHistogram
,SyncUpDownCounter
) which are meant for SDK implementation. #2207observe
method on asynchronous instruments can only be called inside a callback. This was done by removing the implementation ofAsyncInstrument
trait for each of the asynchronous instruments. #2210PartialOrd
andOrd
implementations forKeyValue
. #2215KeyValue
related structs and enums asnon_exhaustive
. #2228AnyValue
enum asnon_exhaustive
. #2230init
method used to create instruments has been renamed tobuild
. Also,try_init()
method is removed from instrument builders. The return types ofInstrumentProvider
trait methods modified to return the instrument struct, instead ofResult
. #2227Before:
Now:
Breaking change: #2220
InstrumentationLibrary::new
InstrumentationLibrary
toInstrumentationScope
InstrumentationLibraryBuilder
toInstrumentationScopeBuilder
LoggerProvider::versioned_logger
andTracerProvider::versioned_tracer
LoggerProvider::logger_builder
,TracerProvider::tracer_builder
andMeterProvider::versioned_meter
LoggerProvider::logger_with_scope
,TracerProvider::logger_with_scope
,MeterProvider::meter_with_scope
global::meter_with_version
withglobal::meter_with_scope
global::tracer_with_scope
Breaking change: replaced
InstrumentationScope
public attributes by getters #2275Breaking change: #2260
global::set_error_handler
andglobal::handle_error
.global::handle_error
usage inside the opentelemetry crates has been replaced withglobal::otel_info
,otel_warn
,otel_debug
andotel_error
macros based on the severity of the internal logs.global::handle_error
was to log the error usingeprintln!
. With otel macros, the internal logs get emitted viatracing
macros of matching severity. Users now need to configure atracing
layer/subscriber to capture these logs.tracing::fmt
layer.Breaking change for exporter/processor authors: #2266
ExportError
trait fromopentelemetry::ExportError
toopentelemetry_sdk::export::ExportError
opentelemetry::trace::ExportError
for trace API. This would be eventually be consolidated with ExportError in the SDK.LogError
enum fromopentelemetry::logs::LogError
toopentelemetry_sdk::logs::LogError
LogResult
type alias fromopentelemetry::logs::LogResult
toopentelemetry_sdk::logs::LogResult
MetricError
enum fromopentelemetry::metrics::MetricError
toopentelemetry_sdk::metrics::MetricError
MetricResult
type alias fromopentelemetry::metrics::MetricResult
toopentelemetry_sdk::metrics::MetricResult
These changes shouldn't directly affect the users of OpenTelemetry crate, as these constructs are used in SDK and Exporters. If you are an author of an sdk component/plug-in, like an exporter etc. please use these types from sdk. Refer CHANGELOG.md for more details, under same version section.
Breaking 2291 Rename
logs_level_enabled flag
tospec_unstable_logs_enabled
. Please enable this updated flag if the feature is needed. This flag will be removed once the feature is stabilized in the specifications.v0.26.0
Compare Source
Released 2024-Sep-30
BREAKING Public API changes:
Removed:
Key.bool()
,Key.i64()
,Key.f64()
,Key.string()
,Key.array()
#2090. These APIs were redundant as they didn't offer any additional functionality. The existingKeyValue::new()
API covers all the scenarios offered by these APIs.Removed:
ObjectSafeMeterProvider
andGlobalMeterProvider
#2112. These APIs were unnecessary and were mainly meant for internal use.Modified:
MeterProvider.meter()
andMeterProvider.versioned_meter()
argument types have been updated to&'static str
instead ofimpl Into<Cow<'static, str>>>
#2112. These APIs were modified to enforce the Metername
,version
, andschema_url
to be&'static str
.Renamed:
NoopMeterCore
toNoopMeter
Added
with_boundaries
API to allow users to provide custom bounds for Histogram instruments. #2135v0.25.0
Compare Source
Before:
After:
So the custom log appenders should box these types while adding them in message body, or
attribute values. Similarly, the custom exporters should dereference these complex type values
before serializing.
Breaking :
#2015 Removed
the ability to register callbacks for Observable instruments on Meter directly.
If you were using
meter.register_callback
to provide the callback, providethem using
with_callback
method, while creating the Observable instrumentitself.
1715
shows the exact changes needed to make this migration. If you are starting new,
refer to the
examples
to learn how to provide Observable callbacks.
v0.24.0
Compare Source
Add "metrics", "logs" to default features. With this, default feature list is
"trace", "metrics" and "logs".
When "metrics" feature is enabled,
KeyValue
implementsPartialEq
,Eq
,PartialOrder
,Order
,Hash
. This is meant to be used for metricsaggregation purposes only.
Removed
Unit
struct for specifying Instrument units. Unit is treated as anopaque string. Migration: Replace
.with_unit(Unit::new("myunit"))
with.with_unit("myunit")
.1869 Introduced the
LogRecord::set_target()
method in the log bridge API.This method allows appenders to set the target/component emitting the logs.
open-telemetry/opentelemetry-rust (opentelemetry-appender-tracing)
v0.29.0
Released 2025-Mar-21
Fixes 1682.
"spec_unstable_logs_enabled" feature now do not suppress logs for other layers.
The special treatment of the "message" field has been extended when recording
string values. With this change, when a log is emitted with a field named
"message" (and string value), its value is directly assigned to the LogRecord’s
body rather than being stored as an attribute named "message". This offers a
slight performance improvement over previous.
For example, the below will now produce LogRecord with the message value
populated as LogRecord's body:
Previously, Body was only populated when the below style was used.
This style, while slightly slower, should still be used when the value is not a
simple string, but require format arguments as in the below example.
Fixes 2658
InstrumentationScope(Logger) used by the appender now uses an empty ("") named
Logger. Previously, a Logger with name and version of the crate was used.
Receivers (processors, exporters) are expected to use
LogRecord.target()
asscope name. This is already done in OTLP Exporters, so this change should be
transparent to most users.
Passes event name to the
event_enabled
method on theLogger
. This allowsimplementations (SDK, processor, exporters) to leverage this additional
information to determine if an event is enabled.
u64
,i128
,u128
andusize
values are stored asopentelemetry::logs::AnyValue::Int
when conversion is feasible. Otherwise stored as
opentelemetry::logs::AnyValue::String
. This avoids unnecessary stringallocation when values can be represented in their original types.
Byte arrays are stored as
opentelemetry::logs::AnyValue::Bytes
insteadof string.
Error
fields are reported using attribute named "exception.message". Forexample, the below will now report an attribute named "exception.message",
instead of previously reporting the user provided attribute "error".
error!(....error = &OTelSdkError::AlreadyShutdown as &dyn std::error::Error...)
perf - small perf improvement by avoiding string allocation of
target
Update
opentelemetry
dependency version to 0.29.v0.28.1
Compare Source
Released 2025-Feb-12
v0.28.0
Compare Source
Released 2025-Feb-10
opentelemetry
dependency version to 0.28.v0.27.0
Compare Source
Released 2024-Nov-11
Update
opentelemetry
dependency version to 0.27Bump MSRV to 1.70 #2179
Breaking 2291 Rename
logs_level_enabled flag
tospec_unstable_logs_enabled
. Please enable this updated flag if the feature is needed. This flag will be removed once the feature is stabilized in the specifications.v0.26.0
Compare Source
Released 2024-Sep-30
opentelemetry
dependency version to 0.26log
events emitted via thetracing
pipeline using thelog-tracing
crate no longer include the target metadata as attributes. Exporters or backends that rely on this attribute should now access the target directly from theLogRecord::target
field.v0.25.0
Compare Source
opentelemetry
dependency version to 0.25opentelemetry
crateon major,minor versions.
&'static str
forSeverityText
.v0.5.0
Compare Source
1869 Utilize the
LogRecord::set_target()
method to pass the tracing target to the SDK.Exporters might use the target to override the instrumentation scope, which previously contained "opentelemetry-appender-tracing".
Breaking 1928 Insert tracing event name into LogRecord::event_name instead of attributes.
Update
opentelemetry
dependency version to 0.24open-telemetry/opentelemetry-rust (opentelemetry-http)
v0.29.0
Compare Source
Released 2025-Mar-21
opentelemetry
dependency version to 0.29.v0.28.0
Compare Source
Released 2025-Feb-10
opentelemetry
dependency version to 0.28.tracing
crate.HttpClient::send_bytes
withbytes::Bytes
request payload and deprecate oldHttpClient::send
function.v0.27.0
Compare Source
Released 2024-Nov-08
Update
opentelemetry
dependency version to 0.27Bump MSRV to 1.70 #2179
v0.26.0
Compare Source
Released 2024-Sep-30
opentelemetry
dependency version to 0.26v0.25.0
Compare Source
opentelemetry
dependency version to 0.25opentelemetry
crateon major,minor versions.
v0.13.0
Compare Source
isahc
HTTP client #1924http
v1 #1674opentelemetry
dependency version to 0.24open-telemetry/opentelemetry-rust (opentelemetry-otlp)
v0.29.0
Compare Source
Released 2025-Mar-21
Update
opentelemetry
dependency version to 0.29Update
opentelemetry_sdk
dependency version to 0.29Update
opentelemetry-http
dependency version to 0.29Update
opentelemetry-proto
dependency version to 0.29The
OTEL_EXPORTER_OTLP_TIMEOUT
,OTEL_EXPORTER_OTLP_TRACES_TIMEOUT
,OTEL_EXPORTER_OTLP_METRICS_TIMEOUT
andOTEL_EXPORTER_OTLP_LOGS_TIMEOUT
are changed from seconds to miliseconds.Fixed
.with_headers()
inHttpExporterBuilder
to correctly support multiple key/value pairs. #2699Fixed
#2770
partially to properly handle
shutdown()
when usinghttp
. (tonic
stilldoes not do proper shutdown)
Breaking
ExporterBuilder's build() method now Result with
ExporterBuildError
being theError variant. Previously it returned signal specific errors like
LogError
from the
opentelemetry_sdk
, which are no longer part of the sdk. No changesrequired if you were using unwrap/expect. If you were matching on the returning
Error enum, replace with the enum
ExporterBuildError
. Unlike the previousError
which contained many variants unrelated to building an exporter, thenew 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
'stimeout
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
v0.28.0
Compare Source
Released 2025-Feb-10
opentelemetry
dependency version to 0.28.opentelemetry_sdk
dependency version to 0.28.opentelemetry-http
dependency version to 0.28.opentelemetry-proto
dependency version to 0.28.LogRecord's
event_name()
is now automatically populated on the newly added"event_name" field in LogRecord proto definition.
"reqwest-blocking-client" features as default, to align with the
specification.
2516
opentelemetry_otlp::metrics::MetricsClient
and
MetricExporter::new(..)
method. UseMetricExporter::builder()...build()
to obtainMetricExporter
.export timeout interval configured in below order
OTEL_EXPORTER_OTLP_TRACES_TIMEOUT
,OTEL_EXPORTER_OTLP_LOGS_TIMEOUT
orOTEL_EXPORTER_OTLP_TIMEOUT
.OTEL_EXPORTER_OTLP_TIMEOUT
env variable.with_http().with_timeout()
API method ofLogExporterBuilder
andSpanExporterBuilder
andMetricsExporterBuilder
.v0.27.0
Compare Source
Released 2024-Nov-11
Update
opentelemetry
dependency version to 0.27Update
opentelemetry_sdk
dependency version to 0.27Update
opentelemetry-http
dependency version to 0.27Update
opentelemetry-proto
dependency version to 0.27BREAKING:
(#2217) Replaced: The
MetricsExporterBuilder
interface is modified fromwith_temporality_selector
towith_temporality
example can be seen below:Previous Signature:
Updated Signature:
(#2221) Replaced:
opentelemetry_otlp::new_pipeline().{trace,logging,metrics}()
interface is now replaced with{TracerProvider,SdkMeterProvider,LoggerProvider}::builder()
.opentelemetry_otlp::new_exporter()
interface is now replaced with{SpanExporter,MetricsExporter,LogExporter}::builder()
.Pull request #2221 has a detailed migration guide in the description. See example below,
and basic-otlp for more details:
Previous Signature:
Updated Signature:
Renamed
MetricsExporter
->MetricExporter
MetricsExporterBuilder
->MetricExporterBuilder
#2263
Support
hyper
client for opentelemetry-otlp. This can be enabled using flaghyper-client
.Refer example: https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp/examples/basic-otlp-http
v0.26.0
Compare Source
Released 2024-Sep-30
opentelemetry
dependency version to 0.26opentelemetry_sdk
dependency version to 0.26opentelemetry-http
dependency version to 0.26opentelemetry-proto
dependency version to 0.26v0.25.0
Compare Source
opentelemetry
dependency version to 0.25opentelemetry_sdk
dependency version to 0.25opentelemetry-http
dependency version to 0.25opentelemetry-proto
dependency version to 0.25opentelemetry
crateon major,minor versions.
The logrecord event-name is added as an attribute only if the feature flag
populate-logs-event-name
is enabled. The name of the attribute is changed from"name" to "event.name".
1994,
2050
v0.17.0
Compare Source
"trace", "metrics" and "logs".
OtlpMetricPipeline.build()
no longer invoke theglobal::set_meter_provider
. User who setup the pipeline must do itthemselves using
global::set_meter_provider(meter_provider.clone());
.with_resource
onOtlpLogPipeline
, replacing thewith_config
method.Instead of using
.with_config(Config::default().with_resource(RESOURCE::default()))
users mustnow use
.with_resource(RESOURCE::default())
to configure Resource when usingOtlpLogPipeline
.OtlpTracePipeline::install_simple()
andOtlpTracePipeline::install_batch()
would now returnTracerProvider
instead ofTracer
.These methods would also no longer set the global tracer provider. It would now be the responsibility of users to set it by calling
global::set_tracer_provider(tracer_provider.clone());
. Refer to the basic-otlp and basic-otlp-http examples on how to initialize OTLP Trace Exporter.previous release.
target
fromLogRecord
, if target is populated.LogRecord
andSpan
by their resource and instrumentation scope before exporting, for better efficiency #1873.http
v1 andtonic
v0.12 #1674opentelemetry
dependency version to 0.24opentelemetry_sdk
dependency version to 0.24opentelemetry-http
dependency version to 0.13opentelemetry-proto
dependency version to 0.7open-telemetry/opentelemetry-rust (opentelemetry-prometheus)
v0.29.0
Compare Source
opentelemetry
dependency version to 0.29opentelemetry_sdk
dependency version to 0.29opentelemetry-semantic-conventions
dependency version to 0.29v0.28.0
Compare Source
opentelemetry
dependency version to 0.28opentelemetry_sdk
dependency version to 0.28opentelemetry-semantic-conventions
dependency version to 0.28v0.27.0
Compare Source
opentelemetry
dependency version to 0.27opentelemetry_sdk
dependency version to 0.27opentelemetry-semantic-conventions
dependency version to 0.27v0.17.0
Compare Source
Changed
opentelemetry
dependency version to 0.24opentelemetry_sdk
dependency version to 0.24opentelemetry-semantic-conventions
dependency version to 0.16open-telemetry/opentelemetry-rust (opentelemetry-semantic-conventions)
v0.29.0
Compare Source
Released 2025-Mar-21
v0.28.0
Compare Source
Released 2025-Feb-10
v0.27.0
Compare Source
Released 2024-Nov-11
v0.26.0
Compare Source
Released 2024-Sep-30
Changed
the semantic conventions.
semconv_experimental
to enable experimental semantic conventions.This feature is disabled by default.
v0.25.0
Compare Source
Changed
opentelemetry
crateon major,minor versions.
#2000
v0.16.0
Compare Source
Changed
opentelemetry_semantic_conventions::trace
andopentelemetry_semantic_conventions::resource
intoopentelemetry_semantic_conventions::attribute
(which now contains all semantic attributes).trace
andresource
now only contain references to attributes which fall under their respective category.Added
opentelemetry_semantic_conventions::metric
to store metric semantic conventions.open-telemetry/opentelemetry-rust (opentelemetry-stdout)
v0.29.0
Compare Source
Released 2025-Mar-21
opentelemetry
dependency version to 0.29.opentelemetry_sdk
dependency version to 0.29.v0.28.0
Compare Source
Released 2025-Feb-10
opentelemetry
dependency version to 0.28.opentelemetry_sdk
dependency version to 0.28.StartTime
andEndTime
is printed on aggregation (Sum, Gauge, Histogram, ExpoHistogram) with 2 tabs, previously it was on aggregation data point, with 3 tabs, see #2377 and #2411.ordered-float
.LogRecord's
event_name()
is now automatically displayed.v0.27.0
Compare Source
Released 2024-Nov-11
Update
opentelemetry
dependency version to 0.27Update
opentelemetry_sdk
dependency version to 0.27Bump MSRV to 1.70 #2179
BREAKING
MetricsExporterBuilder
interface is modified fromwith_temporality_selector
towith_temporality
example can be seen below:Previous Signature:
MetricsExporter
->MetricExporter
MetricsExporterBuilder
->MetricExporterBuilder
v0.26.0
Compare Source
Released 2024-Sep-30
opentelemetry
dependency version to 0.26opentelemetry_sdk
dependency version to 0.26v0.25.0
Compare Source
opentelemetry
dependency version to 0.25opentelemetry_sdk
dependency version to 0.25opentelemetry
crateon major,minor versions.
key
name
only if the feature flagpopulate-logs-event-name
is enabled.v0.5.0
Compare Source
opentelemetry
dependency version to 0.24opentelemetry_sdk
dependency version to 0.24open-telemetry/opentelemetry-rust (opentelemetry_sdk)
v0.29.0
Compare Source
Released 2025-Mar-21
opentelemetry
dependency to 0.29.opentelemetry-http
dependency to 0.29.Runtime
trait has been simplified and refined. See the #2641for the changes.
async-std
support forRuntime
, asasync-std
crate is deprecated.MeterProviderBuilder::with_resource
,TracerProviderBuilder::with_resource
,LoggerProviderBuilder::with_resource
are now additive (#2677).ExportError
trait fromopentelemetry::trace::ExportError
toopentelemetry_sdk::export::ExportError
TraceError
enum fromopentelemetry::trace::TraceError
toopentelemetry_sdk::trace::TraceError
TraceResult
type alias fromopentelemetry::trace::TraceResult
toopentelemetry_sdk::trace::TraceResult
force_flush()
inPushMetricExporter
synchronousSpanExporter
trait method signature:to
This affects anyone who writes custom exporters, as custom implementations of SpanExporter
should now define export as an
async fn
:Breaking The SpanExporter::export() method no longer requires a mutable reference to self.
Before:
After:
Custom exporters will need to internally synchronize any mutable state, if applicable.
Bug Fix:
BatchLogProcessor
now correctly callsshutdown
on the exporterwhen its
shutdown
is invoked.Reduced some info level logs to debug
Breaking for custom LogProcessor/Exporter authors: Changed
name
parameter from
&str
toOption<&str>
inevent_enabled
method on theLogProcessor
andLogExporter
traits.SdkLogger
no longer passes itsscope
name but instead passes the incomingname
when invokingevent_enabled
on processors.Breaking for custom LogExporter authors:
shutdown()
method inLogExporter
trait no longer requires a mutable ref toself
. If the exporterneeds to mutate state, it should rely on interior mutability.
2764
Breaking (Affects custom Exporter/Processor authors only) Removed
opentelelemetry_sdk::logs::error::{LogError, LogResult}
. These were notintended to be public. If you are authoring custom processor/exporters, use
opentelemetry_sdk::error::OTelSdkError
andopentelemetry_sdk::error::OTelSdkResult
.2790
Breaking for custom
LogProcessor
authors: Changedset_resource
to require mutable ref.
fn set_resource(&mut self, _resource: &Resource) {}
Breaking: InMemoryExporter's return type change.
TraceResult<Vec<SpanData>>
toResult<Vec<SpanData>, InMemoryExporterError>
MetricResult<Vec<ResourceMetrics>>
toResult<Vec<ResourceMetrics>, InMemoryExporterError>
LogResult<Vec<LogDataWithResource>>
toResult<Vec<LogDataWithResource>, InMemoryExporterError>
v0.28.0
Compare Source
Released 2025-Feb-10
Note: Due to the large amount of making changes, check migration guide to
0.28 for a summary that can help majority users to
quickly migrate. The changelog below is the full list of changes.
Update
opentelemetry
dependency to 0.28.Update
opentelemetry-http
dependency to 0.28.Bump msrv to 1.75.0.
Bug fix: For cumulative temporality, ObservableGauge no longer export
MetricPoints unless measurements were newly reported (in Observable callbacks)
since last export. This bug fixes ensures ObservableGauge behaves as per OTel
Spec. The bug is not addressed for other Observable instruments
#2213
Upgrade the tracing crate used for internal logging to version 0.1.40 or
later. This is necessary because the internal logging macros utilize the name
field as metadata, a feature introduced in version 0.1.40.
#2418
Feature: Introduced a new feature flag,
experimental_metrics_disable_name_validation
, which disables entireInstrument Name Validation. This is an experimental feature to unblock use
cases requiring currently disallowed characters (eg: Windows Perf Counters).
Use caution when enabling this feature as this breaks guarantees about metric
name.
Bug fix: Empty Tracer names are retained as-is instead of replacing with
"rust.opentelemetry.io/sdk/tracer"
#2486
Update
EnvResourceDetector
to allow resource attribute values containingequal signs (
"="
).#2120
ResourceDetector.detect()
no longer supports timeout option.Breaking Resource.get() modified to require reference to Key instead of
owned. Replace
get(Key::from_static_str("key"))
withget(&Key::from_static_str("key"))
Feature: Add
ResourceBuilder
for an easy way to create newResource
sBreaking: Remove
Resource::{new,empty,from_detectors,new_with_defaults,from_schema_url,merge,default}
.To create Resources you should only use
Resource::builder()
orResource::builder_empty()
. See#2322 for a migration guide.
Example Usage:
Breaking :
#2314
impacts custom exporter and processor developers by requiring updates to
code that directly accessed LogRecord fields. They must now use the provided
getter methods (e.g.,
log_record.event_name()
instead oflog_record.event_name
).Breaking (Affects custom metric exporter authors only)
start_time
andtime
is moved from DataPoints to aggregations (Sum, Gauge, Histogram,ExpoHistogram) see
#2377 and
#2411, to
reduce memory.
Breaking
start_time
is no longer optional forSum
aggregation, see#2367, but
is still optional for
Gauge
aggregation see#2389.
SimpleLogProcessor modified to be generic over
LogExporter
to avoiddynamic dispatch to invoke exporter. If you were using
with_simple_exporter
to addLogExporter
with SimpleLogProcessor, this isa transparent change.
#2338
Breaking
opentelemetry::global::shutdown_tracer_provider()
removed from the API,should now use
tracer_provider.shutdown()
see#2369 for
a migration example. "Tracer provider" is cheaply clonable, so users are
encouraged to set a clone of it as the global (ex:
global::set_tracer_provider(provider.clone()))
, so that instrumentationsand other components can obtain tracers from
global::tracer()
. Thetracer_provider must be kept around to call shutdown on it at the end of
application (ex:
tracer_provider.shutdown()
)Breaking The LogExporter::export() method n
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.