You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore(deps): update opentelemetry-dotnet monorepo to 1.20.1 - #6715
Breaking changeHttpClient instances created directly by the OTLP
exporter no longer follow HTTP redirects. A 3xx response is now treated as
a failed export. See the OTLP exporter README to prevent an HttpClient
created by IHttpClientFactory from following redirects.
Breaking change The experimental OTLP disk retry storage is now separated
per destination, derived from the exporter's Protocol, Endpoint and Headers. This prevents telemetry stored by one exporter being resent by
another exporter to its own endpoint with its own headers. Telemetry stored on
disk by earlier versions is not resent.
Improved how values near a bucket boundary are assigned to exponential
histogram buckets by using a pre-computed lookup table.
Invalid OTEL_EXPORTER_OTLP_ENDPOINT (and signal-specific) and OTEL_EXPORTER_ZIPKIN_ENDPOINT values are no longer written to the
exporter's diagnostic log.
Hardened the experimental OTLP disk retry feature:
On non-Windows platforms the retry directory and blob files are now
accessible to the current user only.
Only files named the way the exporter names its blobs are now retried,
removed or renamed. This matters when the retry directory is shared with
other files.
Blobs that are empty, larger than the maximum storage size, or (on .NET)
symbolic links are no longer read, and subdirectories are no longer
followed when calculating the size of the directory.
Fixed files never being cleaned up when the current culture uses a
non-Gregorian calendar, and fixed expired leases being located and released
incorrectly.
Self-diagnostics log files, whether configured through OTEL_DIAGNOSTICS.json
or SelfDiagnosticsOptions, are now always created as new files.
Self-diagnostics messages written to SelfDiagnosticsOptions sinks are now
truncated to 16,384 characters. Only the first 4 KiB of the body of an
unsuccessful OTLP export response is now read and written to the exporter's
diagnostic log.
On Linux and macOS, the self-diagnostics log directory and files can now only
be accessed by their owner (0700/0600) instead of inheriting the process
umask.
OTLP exponential histogram bucket counts are now serialized using packed
encoding, which reduces the size of the exported payload.
Fixed a possible race condition on ARM64 when multiple threads record the
first measurement with no tags, or the first overflow measurement, at the
same time.
Fixed the Prometheus exporters handing scrape responses to the server in a
single write. For each client that did not read the response, the server held
a full copy of it until the request completed or timed out (for HttpListener,
only on Linux and macOS). Responses are now written in bounded slices.
Fixed self-diagnostics preamble redaction of quoted or encoded PEM material
and prefixed JWTs.
Fixed TracerProvider.GetTracer caching a new tracer on every call that
passes equal array-valued scope tags.
Fixed informational HTTP client logs not being suppressed by default when the
OTLP log exporter is registered using OpenTelemetryLoggerOptions.AddOtlpExporter.
Fixed legacy self-diagnostics logging terminating the process when the log
file is truncated or its volume runs out of space.
Experimental (pre-release builds only): Fixed Logger.EmitLog ignoring
instrumentation suppression, which could cause recursive exports or deadlocks.
Fixed Prometheus HttpListener scrape requests that announce a request body
holding a thread pool thread on Linux and macOS for as long as the client
kept sending the body slowly after the response was sent. The connection is
now closed after responding to a request with a body.
Fixed delta double counters losing later measurements after a non-finite or
large value, and idle metric points with a NaN value not being reclaimed.
Fixed LogRecords being returned to the shared pool while still queued for
export when an exporter stops enumerating a single-item or array Batch<LogRecord> early.
Fixed a SuppressInstrumentationScope.Enter() reference count never being
released when the Activity it was entered for is not recorded. This caused
all later telemetry in that execution context to be suppressed.
Fixed reading the body of a failed OTLP export response for the diagnostic
log not being bounded by the export timeout, and the body never being logged
on .NET Framework.
Fixed OTLP attributes whose value is converted with ToString() (for example
enums, Uri or StringValues) being dropped when the export buffer was
resized while the attribute was being written. For metric data points, the
attribute was also left out of every later export.
Fixed pooled log records retaining completed log data until reused.
Fixed inline OTLP certificate or private key material being included in
diagnostic events and exceptions when supplied instead of a file path.
Fixed slow metric recording when distinct wide tag values, such as long or Guid, share the same built-in hash code.
Fixed early metric collections permanently omitting resource attributes from
later OTLP exports, and target_info and resource constant labels from later
Prometheus scrape responses, while the MeterProvider is being built.
Fixed ObservableCounter and ObservableUpDownCounter overflow points
reporting only the last observation instead of the sum of all observations
for each collection.
Fixed replaced log attributes being exported together with their original
values when buffering or updating LogRecord.State.
Configuration
📅 Schedule: (UTC)
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.
If you want to rebase/retry this PR, check this box
No actionable comments were generated in the recent review. 🎉
ℹ️ Recent review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: 49840bda-750c-4a88-8a9c-a0241722cd61
📥 Commits
Reviewing files that changed from the base of the PR and between 76346ad and db8de4d.
📒 Files selected for processing: 1
Directory.Packages.props
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.
📝 Walkthrough
Two OpenTelemetry package versions in Directory.Packages.props change from 1.20.0 to 1.20.1.
No concrete merge-blocking issue is established for this package update; it is mergeable after normal checks.
Pre-merge checks: 5
Check name
Status
Explanation
Description Check
Check skipped - CodeRabbit’s high-level summary is enabled.
Title check
The title clearly describes the dependency update and specifies the target OpenTelemetry version, which matches the main change.
Docstring Coverage
No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage
Explanation
No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches
🧪 Generate unit tests (beta)
Commit to this branch
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
A rabbit checks the package row, Two versions take a step to go. From one-two-zero to one, The update’s small and neatly done. Then hops away beneath the moon.
Comment @coderabbitai help to get the list of available commands.
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
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:
1.20.0→1.20.11.20.0→1.20.1Release Notes
open-telemetry/opentelemetry-dotnet (OpenTelemetry.Exporter.OpenTelemetryProtocol)
v1.20.1Release details: 1.20.1
HttpClientinstances created directly by the OTLPexporter no longer follow HTTP redirects. A
3xxresponse is now treated asa failed export. See the OTLP exporter README to prevent an
HttpClientcreated by
IHttpClientFactoryfrom following redirects.per destination, derived from the exporter's
Protocol,EndpointandHeaders. This prevents telemetry stored by one exporter being resent byanother exporter to its own endpoint with its own headers. Telemetry stored on
disk by earlier versions is not resent.
histogram buckets by using a pre-computed lookup table.
OTEL_EXPORTER_OTLP_ENDPOINT(and signal-specific) andOTEL_EXPORTER_ZIPKIN_ENDPOINTvalues are no longer written to theexporter's diagnostic log.
accessible to the current user only.
removed or renamed. This matters when the retry directory is shared with
other files.
symbolic links are no longer read, and subdirectories are no longer
followed when calculating the size of the directory.
non-Gregorian calendar, and fixed expired leases being located and released
incorrectly.
OTEL_DIAGNOSTICS.jsonor
SelfDiagnosticsOptions, are now always created as new files.SelfDiagnosticsOptionssinks are nowtruncated to 16,384 characters. Only the first 4 KiB of the body of an
unsuccessful OTLP export response is now read and written to the exporter's
diagnostic log.
be accessed by their owner (
0700/0600) instead of inheriting the processumask.
encoding, which reduces the size of the exported payload.
first measurement with no tags, or the first overflow measurement, at the
same time.
single write. For each client that did not read the response, the server held
a full copy of it until the request completed or timed out (for HttpListener,
only on Linux and macOS). Responses are now written in bounded slices.
and prefixed JWTs.
TracerProvider.GetTracercaching a new tracer on every call thatpasses equal array-valued scope tags.
OTLP log exporter is registered using
OpenTelemetryLoggerOptions.AddOtlpExporter.file is truncated or its volume runs out of space.
Logger.EmitLogignoringinstrumentation suppression, which could cause recursive exports or deadlocks.
holding a thread pool thread on Linux and macOS for as long as the client
kept sending the body slowly after the response was sent. The connection is
now closed after responding to a request with a body.
large value, and idle metric points with a
NaNvalue not being reclaimed.LogRecords being returned to the shared pool while still queued forexport when an exporter stops enumerating a single-item or array
Batch<LogRecord>early.SuppressInstrumentationScope.Enter()reference count never beingreleased when the
Activityit was entered for is not recorded. This causedall later telemetry in that execution context to be suppressed.
log not being bounded by the export timeout, and the body never being logged
on .NET Framework.
ToString()(for exampleenums,
UriorStringValues) being dropped when the export buffer wasresized while the attribute was being written. For metric data points, the
attribute was also left out of every later export.
diagnostic events and exceptions when supplied instead of a file path.
longorGuid, share the same built-in hash code.later OTLP exports, and
target_infoand resource constant labels from laterPrometheus scrape responses, while the
MeterProvideris being built.ObservableCounterandObservableUpDownCounteroverflow pointsreporting only the last observation instead of the sum of all observations
for each collection.
values when buffering or updating
LogRecord.State.Configuration
📅 Schedule: (UTC)
🚦 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 has been generated by Mend Renovate CLI.