Skip to content

[sdk] Fix suppression state isolation across async flows - #7803

Merged
Kielek merged 5 commits into
open-telemetry:mainfrom
Kielek:suppressinstrumentation-fix
Sep 24, 2026
Merged

Kielek merged 5 commits into
open-telemetry:mainfrom
Kielek:suppressinstrumentation-fix

Conversation

@Kielek

@Kielek Kielek commented Sep 22, 2026

Copy link
Copy Markdown
Member

Both PR and description AI assisted. I have reviewed both carefully.

Changes

Fix SuppressInstrumentationScope reference-count state leaking between inherited
ExecutionContext/async flows.

The fix stores immutable suppression states in the runtime context slot. Common
reference counts are cached, preserving most of the allocation benefit of the
current implementation without sharing mutable state between async flows.

This change also adds regression coverage for:

  • Enter, IncrementIfTriggered, and DecrementIfTriggered isolation while
    parent and child async flows overlap.
  • Restoring an explicit outer scope only when the inner scope is disposed.
  • Reference counts beyond the cached-state boundary.

Why this is needed

#4304
changed the slot from an int to a mutable SuppressInstrumentationScope
instance as a performance optimization. This avoided boxing an integer and
updating AsyncLocal/ExecutionContext state for every reference-count change.

However, an AsyncLocal reference value flows into a child execution context as
the same object reference. Mutating Depth in place therefore mutates the value
observed by the parent and sibling flows as well. Suppression may consequently
end too early or remain active too long, causing telemetry to be incorrectly
recorded or suppressed.

A test that lets the child increment and then decrement before checking the
parent does not expose the bug: the shared counter has already returned to its
starting value. The new tests coordinate the flows so the parent observes its
own state while the child's mutation is still active. These tests fail against
the mutable implementation.

The mutable implementation also changes nested-scope semantics. When a
reference count reaches zero inside Begin(false), it restores the preceding
scope immediately instead of waiting for the explicit scope to be disposed.
The immutable-state implementation retains the original value-slot behavior.

Implementation

  • Store a private immutable suppression-state reference in the runtime context
    slot.
  • Use a singleton for the always-suppressed state.
  • Cache reference-count states 1 through 16 to avoid boxing or allocating a new
    state for normal nesting depths.
  • Allocate an immutable state for deeper counts, keeping the cache bounded.
  • Call Slot.Set whenever the reference count changes so each execution context
    receives its own value.

Performance

The original #4304 results show the cost that a direct return to AsyncLocal<int>
would reintroduce:

Scenario Before #4304 (int) After #4304 (mutable reference)
Three nested Begin scopes 143.91 ns / 648 B 125.37 ns / 456 B
Enter reference-count cycle 99.49 ns / 384 B 59.17 ns / 104 B

New comparison benchmarks were run with BenchmarkDotNet 0.15.8 on .NET
10.0.12, Windows 11, and an Intel Core i9-13950HX. Runs were pinned to one
performance core, with 5 warmup and 15 measurement iterations.

Scenario Mutable holder int value Immutable cached state
Enter + increment + two decrements 43.67 ns / 112 B 92.16 ns / 384 B 68.79 ns / 216 B
Three nested Begin scopes 119.75 ns / 480 B 135.91 ns / 576 B 49.37 ns / 72 B

For the active reference-count cycle, the immutable implementation costs about
25.1 ns and 104 B more than the unsafe mutable holder. A direct integer fix
would cost about 48.5 ns and 272 B more. The immutable cache therefore recovers
roughly half the time penalty and most of the additional allocation.

On .NET 10, nested scopes are faster than both alternatives because they reuse
the same immutable always-suppressed token. Redundant AsyncLocal writes become
no-ops and the JIT can eliminate the short-lived scope allocations.

These are focused microbenchmarks. Normal non-triggered suppression checks do
not update the runtime context, and exporter work will usually dominate the
absolute scope-management cost.

Testing

CI

Merge requirement checklist

  • CONTRIBUTING guidelines followed (license requirements, nullable enabled, static analysis, etc.)
  • Unit tests added/updated
  • Appropriate CHANGELOG.md files updated for non-trivial changes (requires the new PR number)
  • Changes in public API reviewed (no public API changes)

Copilot AI lite review requested due to automatic review settings September 22, 2026 10:01
@Kielek
Kielek requested a review from a team as a code owner September 22, 2026 10:01
@github-actions github-actions Bot added the pkg:OpenTelemetry Issues related to OpenTelemetry NuGet package label Sep 22, 2026
@opentelemetry-pr-dashboard

opentelemetry-pr-dashboard Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Pull request dashboard status

Merged · refreshed 2026-09-24 21:16 UTC

Status above doesn't look right?
  • Anything look wrong? Report it with what you expected; it helps us improve the dashboard.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

A core SDK behavioural bug fix requires an entry in src/OpenTelemetry/CHANGELOG.md under ## Unreleased, which is currently missing.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Low severity

Open (1)
What changed in this PR

Fixes a correctness issue in the SDK’s suppression mechanism where a mutable suppression state stored in runtime context could be shared by reference across inherited ExecutionContext/async flows, causing suppression depth mutations in one flow to affect others.

Changes:

  • Reworks SuppressInstrumentationScope to store immutable suppression state objects in the runtime context slot, with a bounded cache for common reference counts.
  • Adds regression tests to validate isolation across overlapping parent/child async flows and correct nested-scope restoration semantics.
  • Extends test coverage for deep reference-count nesting beyond the cached boundary.
File Description
src/​OpenTelemetry/​SuppressInstrumentationScope.cs Switches suppression tracking to immutable, cached state tokens to prevent cross-async-flow leakage while retaining performance benefits.
test/​OpenTelemetry.Tests/​SuppressInstrumentationTests.cs Adds regression tests covering overlapping async flow isolation, explicit-scope restoration, and deep reference count behavior.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/OpenTelemetry/SuppressInstrumentationScope.cs
@codecov

codecov Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.91%. Comparing base (44d841f) to head (330f61d).
⚠️ Report is 21 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #7803   +/-   ##
=======================================
  Coverage   91.90%   91.91%           
=======================================
  Files         341      341           
  Lines       18615    18610    -5     
=======================================
- Hits        17109    17106    -3     
+ Misses       1506     1504    -2     
Flag Coverage Δ
unittests-Project-Experimental 92.04% <100.00%> (+0.06%) ⬆️
unittests-Project-Stable 91.95% <100.00%> (-0.07%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/OpenTelemetry/SuppressInstrumentationScope.cs 100.00% <100.00%> (+9.75%) ⬆️

... and 2 files with indirect coverage changes

@martincostello martincostello left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some comments on the tests.

Comment thread src/OpenTelemetry/SuppressInstrumentationScope.cs Outdated
Comment thread test/OpenTelemetry.Tests/SuppressInstrumentationTests.cs Outdated
Comment thread test/OpenTelemetry.Tests/SuppressInstrumentationTests.cs Outdated
This was referenced Oct 19, 2026
machie27 added a commit to machie27/OpenMedSphere that referenced this pull request Oct 19, 2026
Updated
[OpenTelemetry.Exporter.OpenTelemetryProtocol](https://github.com/open-telemetry/opentelemetry-dotnet)
from 1.19.1 to 1.20.0.

<details>
<summary>Release notes</summary>

_Sourced from [OpenTelemetry.Exporter.OpenTelemetryProtocol's
releases](https://github.com/open-telemetry/opentelemetry-dotnet/releases)._

## 1.20.0

For highlights and announcements pertaining to this release see:
[Release Notes >
1.20.0](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#​1200).

The following changes are from the previous release
[1.19.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.19.1).

* NuGet: [OpenTelemetry
v1.20.0](https://www.nuget.org/packages/OpenTelemetry/1.20.0)

* Fixed `SuppressInstrumentationScope` reference counts leaking between
inherited asynchronous execution contexts.

([#​7803](open-telemetry/opentelemetry-dotnet#7803))
  
* Self-diagnostic features are explicitly disabled on browser-based
platforms (e.g. Blazor) and are now non-functional. Previously,
attempting to enable self-diagnostics on such platforms would result in
an exception at runtime.

([#​7799](open-telemetry/opentelemetry-dotnet#7799))
  
* Added `TracerProviderBuilder.ConfigureSampler` which receives the
resolved `Sampler` whether set programmatically, via
`OTEL_TRACES_SAMPLER`, or by default, and returns a replacement.
Intended for library authors who need to influence sampling without
overriding a sampler the application has configured.

([#​7780](open-telemetry/opentelemetry-dotnet#7780))
  
* Fixed `ResourceBuilder.CreateDefault` ignoring
`OTEL_RESOURCE_ATTRIBUTES` and `OTEL_SERVICE_NAME` environment variables
when the host `IConfiguration` does not contain those settings.

([#​7855](open-telemetry/opentelemetry-dotnet#7855))
  
* Added improved self-diagnostics logging to improve the support
experience. The new `SelfDiagnosticsOptions` class configures a rolling
file sink and a console sink through the standard options pipeline.
Sinks are off by default.

([#​7588](open-telemetry/opentelemetry-dotnet#7588))
  
* Fixed a race that could incorrectly route a concurrent metric
measurement to the overflow point when its tag set was published as the
cardinality limit was reached.

([#​7804](open-telemetry/opentelemetry-dotnet#7804))
  
* Added `OpenTelemetryLoggerOptions.Version` and
`OpenTelemetryLoggerOptions.SchemaUrl` options to set an instrumentation
library version and schema URL applied to logs emitted via the
`Microsoft.Extensions.Logging` `ILogger` integration.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* Fixed `LogRecord.CategoryName` resetting the current `Logger`'s
`Version` to `null` when set to a new value.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* Bounded the internal cache of `Logger` scopes keyed by instrumentation
to avoid unbounded growth.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* Fixed the `MeterProvider` and its `IServiceProvider` being kept alive
after the host is disposed when using `Microsoft.Extensions.Diagnostics`
versions prior to 9.0, which never dispose their
`MetricsSubscriptionManager` (and its underlying `MeterListener`).

([#​7924](open-telemetry/opentelemetry-dotnet#7924))
  
* Fixed a race condition between recording a measurement and collecting
a histogram with delta temporality that could cause an empty data point
(with a count of zero) to be exported in the next collection cycle.

([#​7923](open-telemetry/opentelemetry-dotnet#7923))
  
* Improved metric collection performance after metric streams are
removed by compacting metric storage during collection.

([#​7945](open-telemetry/opentelemetry-dotnet#7945))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.20.0/src/OpenTelemetry/CHANGELOG.md)
for details.

* NuGet: [OpenTelemetry.Api
v1.20.0](https://www.nuget.org/packages/OpenTelemetry.Api/1.20.0)

* Added `Logger.SchemaUrl` and a `LoggerProvider.GetLogger` overload
accepting a schema URL parameter using the new `LoggerOptions` type.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* **Breaking change** (pre-release only versions): `LoggerProvider`'s
protected `TryCreateLogger(string? name, out Logger? logger)`
extensibility method has been replaced by `TryCreateLogger(LoggerOptions
options, out Logger? logger)`. Custom `LoggerProvider` subclasses that
override the previous overload must update to override the new one; the
old overload is no longer called.
 ... (truncated)

## 1.20.0-rc.1

The following changes are from the previous release
[1.19.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.19.1).

* NuGet: [OpenTelemetry
v1.20.0-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.20.0-rc.1)

* Fixed `SuppressInstrumentationScope` reference counts leaking between
inherited asynchronous execution contexts.

([#​7803](open-telemetry/opentelemetry-dotnet#7803))
  
* Self-diagnostic features are explicitly disabled on browser-based
platforms (e.g. Blazor) and are now non-functional. Previously,
attempting to enable self-diagnostics on such platforms would result in
an exception at runtime.

([#​7799](open-telemetry/opentelemetry-dotnet#7799))
  
* Added `TracerProviderBuilder.ConfigureSampler` which receives the
resolved `Sampler` whether set programmatically, via
`OTEL_TRACES_SAMPLER`, or by default, and returns a replacement.
Intended for library authors who need to influence sampling without
overriding a sampler the application has configured.

([#​7780](open-telemetry/opentelemetry-dotnet#7780))
  
* Fixed `ResourceBuilder.CreateDefault` ignoring
`OTEL_RESOURCE_ATTRIBUTES` and `OTEL_SERVICE_NAME` environment variables
when the host `IConfiguration` does not contain those settings.

([#​7855](open-telemetry/opentelemetry-dotnet#7855))
  
* Added improved self-diagnostics logging to improve the support
experience. The new `SelfDiagnosticsOptions` class configures a rolling
file sink and a console sink through the standard options pipeline.
Sinks are off by default.

([#​7588](open-telemetry/opentelemetry-dotnet#7588))
  
* Fixed a race that could incorrectly route a concurrent metric
measurement to the overflow point when its tag set was published as the
cardinality limit was reached.

([#​7804](open-telemetry/opentelemetry-dotnet#7804))
  
* Added `OpenTelemetryLoggerOptions.Version` and
`OpenTelemetryLoggerOptions.SchemaUrl` options to set an instrumentation
library version and schema URL applied to logs emitted via the
`Microsoft.Extensions.Logging` `ILogger` integration.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* Fixed `LogRecord.CategoryName` resetting the current `Logger`'s
`Version` to `null` when set to a new value.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* Bounded the internal cache of `Logger` scopes keyed by instrumentation
to avoid unbounded growth.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* Fixed the `MeterProvider` and its `IServiceProvider` being kept alive
after the host is disposed when using `Microsoft.Extensions.Diagnostics`
versions prior to 9.0, which never dispose their
`MetricsSubscriptionManager` (and its underlying `MeterListener`).

([#​7924](open-telemetry/opentelemetry-dotnet#7924))
  
* Fixed a race condition between recording a measurement and collecting
a histogram with delta temporality that could cause an empty data point
(with a count of zero) to be exported in the next collection cycle.

([#​7923](open-telemetry/opentelemetry-dotnet#7923))
  
* Improved metric collection performance after metric streams are
removed by compacting metric storage during collection.

([#​7945](open-telemetry/opentelemetry-dotnet#7945))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.20.0-rc.1/src/OpenTelemetry/CHANGELOG.md)
for details.

* NuGet: [OpenTelemetry.Api
v1.20.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.20.0-rc.1)

* Added `Logger.SchemaUrl` and a `LoggerProvider.GetLogger` overload
accepting a schema URL parameter using the new `LoggerOptions` type.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* **Breaking change** (pre-release only versions): `LoggerProvider`'s
protected `TryCreateLogger(string? name, out Logger? logger)`
extensibility method has been replaced by `TryCreateLogger(LoggerOptions
options, out Logger? logger)`. Custom `LoggerProvider` subclasses that
override the previous overload must update to override the new one; the
old overload is no longer called.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
 ... (truncated)

## 1.20.0-beta.1

The following changes are from the previous release
[1.19.1-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.19.1-beta.1).

* NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore
v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.20.0-beta.1)

* A scrape request whose connection is aborted, or whose
`X-Prometheus-Scrape-Timeout-Seconds` deadline elapses, now stops
waiting for an in-progress metrics collection instead of continuing to
wait for it to finish. The collection itself is not cancelled and
continues running in the background.

([#​7856](open-telemetry/opentelemetry-dotnet#7856))
  
  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​7950](open-telemetry/opentelemetry-dotnet#7950))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md)
for details.

* NuGet: [OpenTelemetry.Exporter.Prometheus.HttpListener
v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.HttpListener/1.20.0-beta.1)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​7950](open-telemetry/opentelemetry-dotnet#7950))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md)
for details.

* NuGet: [OpenTelemetry.Shims.OpenTracing
v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Shims.OpenTracing/1.20.0-beta.1)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​7950](open-telemetry/opentelemetry-dotnet#7950))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.0-beta.1/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md)
for details.



Commits viewable in [compare
view](open-telemetry/opentelemetry-dotnet@core-1.19.1...core-1.20.0).
</details>

Updated
[OpenTelemetry.Extensions.Hosting](https://github.com/open-telemetry/opentelemetry-dotnet)
from 1.19.1 to 1.20.0.

<details>
<summary>Release notes</summary>

_Sourced from [OpenTelemetry.Extensions.Hosting's
releases](https://github.com/open-telemetry/opentelemetry-dotnet/releases)._

## 1.20.0

For highlights and announcements pertaining to this release see:
[Release Notes >
1.20.0](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/RELEASENOTES.md#​1200).

The following changes are from the previous release
[1.19.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.19.1).

* NuGet: [OpenTelemetry
v1.20.0](https://www.nuget.org/packages/OpenTelemetry/1.20.0)

* Fixed `SuppressInstrumentationScope` reference counts leaking between
inherited asynchronous execution contexts.

([#​7803](open-telemetry/opentelemetry-dotnet#7803))
  
* Self-diagnostic features are explicitly disabled on browser-based
platforms (e.g. Blazor) and are now non-functional. Previously,
attempting to enable self-diagnostics on such platforms would result in
an exception at runtime.

([#​7799](open-telemetry/opentelemetry-dotnet#7799))
  
* Added `TracerProviderBuilder.ConfigureSampler` which receives the
resolved `Sampler` whether set programmatically, via
`OTEL_TRACES_SAMPLER`, or by default, and returns a replacement.
Intended for library authors who need to influence sampling without
overriding a sampler the application has configured.

([#​7780](open-telemetry/opentelemetry-dotnet#7780))
  
* Fixed `ResourceBuilder.CreateDefault` ignoring
`OTEL_RESOURCE_ATTRIBUTES` and `OTEL_SERVICE_NAME` environment variables
when the host `IConfiguration` does not contain those settings.

([#​7855](open-telemetry/opentelemetry-dotnet#7855))
  
* Added improved self-diagnostics logging to improve the support
experience. The new `SelfDiagnosticsOptions` class configures a rolling
file sink and a console sink through the standard options pipeline.
Sinks are off by default.

([#​7588](open-telemetry/opentelemetry-dotnet#7588))
  
* Fixed a race that could incorrectly route a concurrent metric
measurement to the overflow point when its tag set was published as the
cardinality limit was reached.

([#​7804](open-telemetry/opentelemetry-dotnet#7804))
  
* Added `OpenTelemetryLoggerOptions.Version` and
`OpenTelemetryLoggerOptions.SchemaUrl` options to set an instrumentation
library version and schema URL applied to logs emitted via the
`Microsoft.Extensions.Logging` `ILogger` integration.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* Fixed `LogRecord.CategoryName` resetting the current `Logger`'s
`Version` to `null` when set to a new value.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* Bounded the internal cache of `Logger` scopes keyed by instrumentation
to avoid unbounded growth.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* Fixed the `MeterProvider` and its `IServiceProvider` being kept alive
after the host is disposed when using `Microsoft.Extensions.Diagnostics`
versions prior to 9.0, which never dispose their
`MetricsSubscriptionManager` (and its underlying `MeterListener`).

([#​7924](open-telemetry/opentelemetry-dotnet#7924))
  
* Fixed a race condition between recording a measurement and collecting
a histogram with delta temporality that could cause an empty data point
(with a count of zero) to be exported in the next collection cycle.

([#​7923](open-telemetry/opentelemetry-dotnet#7923))
  
* Improved metric collection performance after metric streams are
removed by compacting metric storage during collection.

([#​7945](open-telemetry/opentelemetry-dotnet#7945))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.20.0/src/OpenTelemetry/CHANGELOG.md)
for details.

* NuGet: [OpenTelemetry.Api
v1.20.0](https://www.nuget.org/packages/OpenTelemetry.Api/1.20.0)

* Added `Logger.SchemaUrl` and a `LoggerProvider.GetLogger` overload
accepting a schema URL parameter using the new `LoggerOptions` type.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* **Breaking change** (pre-release only versions): `LoggerProvider`'s
protected `TryCreateLogger(string? name, out Logger? logger)`
extensibility method has been replaced by `TryCreateLogger(LoggerOptions
options, out Logger? logger)`. Custom `LoggerProvider` subclasses that
override the previous overload must update to override the new one; the
old overload is no longer called.
 ... (truncated)

## 1.20.0-rc.1

The following changes are from the previous release
[1.19.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/core-1.19.1).

* NuGet: [OpenTelemetry
v1.20.0-rc.1](https://www.nuget.org/packages/OpenTelemetry/1.20.0-rc.1)

* Fixed `SuppressInstrumentationScope` reference counts leaking between
inherited asynchronous execution contexts.

([#​7803](open-telemetry/opentelemetry-dotnet#7803))
  
* Self-diagnostic features are explicitly disabled on browser-based
platforms (e.g. Blazor) and are now non-functional. Previously,
attempting to enable self-diagnostics on such platforms would result in
an exception at runtime.

([#​7799](open-telemetry/opentelemetry-dotnet#7799))
  
* Added `TracerProviderBuilder.ConfigureSampler` which receives the
resolved `Sampler` whether set programmatically, via
`OTEL_TRACES_SAMPLER`, or by default, and returns a replacement.
Intended for library authors who need to influence sampling without
overriding a sampler the application has configured.

([#​7780](open-telemetry/opentelemetry-dotnet#7780))
  
* Fixed `ResourceBuilder.CreateDefault` ignoring
`OTEL_RESOURCE_ATTRIBUTES` and `OTEL_SERVICE_NAME` environment variables
when the host `IConfiguration` does not contain those settings.

([#​7855](open-telemetry/opentelemetry-dotnet#7855))
  
* Added improved self-diagnostics logging to improve the support
experience. The new `SelfDiagnosticsOptions` class configures a rolling
file sink and a console sink through the standard options pipeline.
Sinks are off by default.

([#​7588](open-telemetry/opentelemetry-dotnet#7588))
  
* Fixed a race that could incorrectly route a concurrent metric
measurement to the overflow point when its tag set was published as the
cardinality limit was reached.

([#​7804](open-telemetry/opentelemetry-dotnet#7804))
  
* Added `OpenTelemetryLoggerOptions.Version` and
`OpenTelemetryLoggerOptions.SchemaUrl` options to set an instrumentation
library version and schema URL applied to logs emitted via the
`Microsoft.Extensions.Logging` `ILogger` integration.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* Fixed `LogRecord.CategoryName` resetting the current `Logger`'s
`Version` to `null` when set to a new value.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* Bounded the internal cache of `Logger` scopes keyed by instrumentation
to avoid unbounded growth.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* Fixed the `MeterProvider` and its `IServiceProvider` being kept alive
after the host is disposed when using `Microsoft.Extensions.Diagnostics`
versions prior to 9.0, which never dispose their
`MetricsSubscriptionManager` (and its underlying `MeterListener`).

([#​7924](open-telemetry/opentelemetry-dotnet#7924))
  
* Fixed a race condition between recording a measurement and collecting
a histogram with delta temporality that could cause an empty data point
(with a count of zero) to be exported in the next collection cycle.

([#​7923](open-telemetry/opentelemetry-dotnet#7923))
  
* Improved metric collection performance after metric streams are
removed by compacting metric storage during collection.

([#​7945](open-telemetry/opentelemetry-dotnet#7945))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.20.0-rc.1/src/OpenTelemetry/CHANGELOG.md)
for details.

* NuGet: [OpenTelemetry.Api
v1.20.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Api/1.20.0-rc.1)

* Added `Logger.SchemaUrl` and a `LoggerProvider.GetLogger` overload
accepting a schema URL parameter using the new `LoggerOptions` type.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
* **Breaking change** (pre-release only versions): `LoggerProvider`'s
protected `TryCreateLogger(string? name, out Logger? logger)`
extensibility method has been replaced by `TryCreateLogger(LoggerOptions
options, out Logger? logger)`. Custom `LoggerProvider` subclasses that
override the previous overload must update to override the new one; the
old overload is no longer called.

([#​7727](open-telemetry/opentelemetry-dotnet#7727))
  
 ... (truncated)

## 1.20.0-beta.1

The following changes are from the previous release
[1.19.1-beta.1](https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.19.1-beta.1).

* NuGet: [OpenTelemetry.Exporter.Prometheus.AspNetCore
v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.AspNetCore/1.20.0-beta.1)

* A scrape request whose connection is aborted, or whose
`X-Prometheus-Scrape-Timeout-Seconds` deadline elapses, now stops
waiting for an in-progress metrics collection instead of continuing to
wait for it to finish. The collection itself is not cancelled and
continues running in the background.

([#​7856](open-telemetry/opentelemetry-dotnet#7856))
  
  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​7950](open-telemetry/opentelemetry-dotnet#7950))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.AspNetCore/CHANGELOG.md)
for details.

* NuGet: [OpenTelemetry.Exporter.Prometheus.HttpListener
v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Prometheus.HttpListener/1.20.0-beta.1)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​7950](open-telemetry/opentelemetry-dotnet#7950))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.0-beta.1/src/OpenTelemetry.Exporter.Prometheus.HttpListener/CHANGELOG.md)
for details.

* NuGet: [OpenTelemetry.Shims.OpenTracing
v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Shims.OpenTracing/1.20.0-beta.1)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​7950](open-telemetry/opentelemetry-dotnet#7950))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet/blob/coreunstable-1.20.0-beta.1/src/OpenTelemetry.Shims.OpenTracing/CHANGELOG.md)
for details.



Commits viewable in [compare
view](open-telemetry/opentelemetry-dotnet@core-1.19.1...core-1.20.0).
</details>

Updated
[OpenTelemetry.Instrumentation.AspNetCore](https://github.com/open-telemetry/opentelemetry-dotnet-contrib)
from 1.19.0 to 1.20.0.

<details>
<summary>Release notes</summary>

_Sourced from [OpenTelemetry.Instrumentation.AspNetCore's
releases](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/releases)._

## 1.20.0

* NuGet: [OpenTelemetry.Exporter.Geneva
v1.20.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.Geneva/1.20.0)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​5541](open-telemetry/opentelemetry-dotnet-contrib#5541))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Exporter.Geneva-1.20.0/src/OpenTelemetry.Exporter.Geneva/CHANGELOG.md)
for details.


## 1.20.0-rc.1

* NuGet: [OpenTelemetry.Instrumentation.Process
v1.20.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Process/1.20.0-rc.1)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​5541](open-telemetry/opentelemetry-dotnet-contrib#5541))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.Process-1.20.0-rc.1/src/OpenTelemetry.Instrumentation.Process/CHANGELOG.md)
for details.


## 1.20.0-beta.2

* NuGet: [OpenTelemetry.Instrumentation.ServiceFabricRemoting
v1.20.0-beta.2](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.ServiceFabricRemoting/1.20.0-beta.2)

* Fixed `TraceContextEnrichedActorRemotingProviderAttribute` ignoring
the
`TransportSettings` configuration section. Actor remoting clients now
load their
settings from `TransportSettings`, and actor remoting listeners fall
back to
`TransportSettings` when no actor-specific section is configured,
matching the
behaviour of Service Fabric's
`FabricTransportActorRemotingProviderAttribute`.

([#​5450](open-telemetry/opentelemetry-dotnet-contrib#5450))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.ServiceFabricRemoting-1.20.0-beta.2/src/OpenTelemetry.Instrumentation.ServiceFabricRemoting/CHANGELOG.md)
for details.


## 1.20.0-beta.1

* NuGet: [OpenTelemetry.Extensions.Enrichment
v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Extensions.Enrichment/1.20.0-beta.1)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​5541](open-telemetry/opentelemetry-dotnet-contrib#5541))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Extensions.Enrichment-1.20.0-beta.1/src/OpenTelemetry.Extensions.Enrichment/CHANGELOG.md)
for details.


## 1.20.0-alpha.2

* NuGet: [OpenTelemetry.Instrumentation.EventCounters
v1.20.0-alpha.2](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.EventCounters/1.20.0-alpha.2)

* Fixed a deadlock when an `EventSource` is created on another thread
while
    the meter provider is being built or disposed.

([#​5639](open-telemetry/opentelemetry-dotnet-contrib#5639))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.EventCounters-1.20.0-alpha.2/src/OpenTelemetry.Instrumentation.EventCounters/CHANGELOG.md)
for details.


## 1.20.0-alpha.1

* NuGet: [OpenTelemetry.Instrumentation.EventCounters
v1.20.0-alpha.1](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.EventCounters/1.20.0-alpha.1)

* Added dependency injection support for EventCounters instrumentation.

([#​5475](open-telemetry/opentelemetry-dotnet-contrib#5475))
  
  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​5541](open-telemetry/opentelemetry-dotnet-contrib#5541))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.EventCounters-1.20.0-alpha.1/src/OpenTelemetry.Instrumentation.EventCounters/CHANGELOG.md)
for details.


## 1.19.1

* NuGet: [OpenTelemetry.Exporter.OneCollector
v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.OneCollector/1.19.1)

  * Updated OpenTelemetry core component version(s) to `1.19.1`.

([#​5329](open-telemetry/opentelemetry-dotnet-contrib#5329))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Exporter.OneCollector-1.19.1/src/OpenTelemetry.Exporter.OneCollector/CHANGELOG.md)
for details.


## 1.19.1-rc.1

* NuGet: [OpenTelemetry.Resources.Process
v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Resources.Process/1.19.1-rc.1)

  * Updated OpenTelemetry core component version(s) to `1.19.1`.

([#​5329](open-telemetry/opentelemetry-dotnet-contrib#5329))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Resources.Process-1.19.1-rc.1/src/OpenTelemetry.Resources.Process/CHANGELOG.md)
for details.


## 1.19.1-beta.2

* NuGet: [OpenTelemetry.Resources.Azure
v1.19.1-beta.2](https://www.nuget.org/packages/OpenTelemetry.Resources.Azure/1.19.1-beta.2)

* Add `cloud.account.id` and `azure.resource_group.name` attributes to
the Azure
    VM resource detector.

([#​5195](open-telemetry/opentelemetry-dotnet-contrib#5195))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Resources.Azure-1.19.1-beta.2/src/OpenTelemetry.Resources.Azure/CHANGELOG.md)
for details.


## 1.19.1-beta.1

* NuGet: [OpenTelemetry.Exporter.Geneva
v1.19.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Geneva/1.19.1-beta.1)

  * Updated OpenTelemetry core component version(s) to `1.19.1`.

([#​5329](open-telemetry/opentelemetry-dotnet-contrib#5329))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Exporter.Geneva-1.19.1-beta.1/src/OpenTelemetry.Exporter.Geneva/CHANGELOG.md)
for details.


Commits viewable in [compare
view](open-telemetry/opentelemetry-dotnet-contrib@Exporter.OneCollector-1.19.0...Exporter.Geneva-1.20.0).
</details>

Updated
[OpenTelemetry.Instrumentation.Http](https://github.com/open-telemetry/opentelemetry-dotnet-contrib)
from 1.19.0 to 1.20.0.

<details>
<summary>Release notes</summary>

_Sourced from [OpenTelemetry.Instrumentation.Http's
releases](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/releases)._

## 1.20.0

* NuGet: [OpenTelemetry.Exporter.Geneva
v1.20.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.Geneva/1.20.0)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​5541](open-telemetry/opentelemetry-dotnet-contrib#5541))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Exporter.Geneva-1.20.0/src/OpenTelemetry.Exporter.Geneva/CHANGELOG.md)
for details.


## 1.20.0-rc.1

* NuGet: [OpenTelemetry.Instrumentation.Process
v1.20.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Process/1.20.0-rc.1)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​5541](open-telemetry/opentelemetry-dotnet-contrib#5541))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.Process-1.20.0-rc.1/src/OpenTelemetry.Instrumentation.Process/CHANGELOG.md)
for details.


## 1.20.0-beta.2

* NuGet: [OpenTelemetry.Instrumentation.ServiceFabricRemoting
v1.20.0-beta.2](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.ServiceFabricRemoting/1.20.0-beta.2)

* Fixed `TraceContextEnrichedActorRemotingProviderAttribute` ignoring
the
`TransportSettings` configuration section. Actor remoting clients now
load their
settings from `TransportSettings`, and actor remoting listeners fall
back to
`TransportSettings` when no actor-specific section is configured,
matching the
behaviour of Service Fabric's
`FabricTransportActorRemotingProviderAttribute`.

([#​5450](open-telemetry/opentelemetry-dotnet-contrib#5450))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.ServiceFabricRemoting-1.20.0-beta.2/src/OpenTelemetry.Instrumentation.ServiceFabricRemoting/CHANGELOG.md)
for details.


## 1.20.0-beta.1

* NuGet: [OpenTelemetry.Extensions.Enrichment
v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Extensions.Enrichment/1.20.0-beta.1)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​5541](open-telemetry/opentelemetry-dotnet-contrib#5541))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Extensions.Enrichment-1.20.0-beta.1/src/OpenTelemetry.Extensions.Enrichment/CHANGELOG.md)
for details.


## 1.20.0-alpha.2

* NuGet: [OpenTelemetry.Instrumentation.EventCounters
v1.20.0-alpha.2](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.EventCounters/1.20.0-alpha.2)

* Fixed a deadlock when an `EventSource` is created on another thread
while
    the meter provider is being built or disposed.

([#​5639](open-telemetry/opentelemetry-dotnet-contrib#5639))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.EventCounters-1.20.0-alpha.2/src/OpenTelemetry.Instrumentation.EventCounters/CHANGELOG.md)
for details.


## 1.20.0-alpha.1

* NuGet: [OpenTelemetry.Instrumentation.EventCounters
v1.20.0-alpha.1](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.EventCounters/1.20.0-alpha.1)

* Added dependency injection support for EventCounters instrumentation.

([#​5475](open-telemetry/opentelemetry-dotnet-contrib#5475))
  
  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​5541](open-telemetry/opentelemetry-dotnet-contrib#5541))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.EventCounters-1.20.0-alpha.1/src/OpenTelemetry.Instrumentation.EventCounters/CHANGELOG.md)
for details.


## 1.19.1

* NuGet: [OpenTelemetry.Exporter.OneCollector
v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.OneCollector/1.19.1)

  * Updated OpenTelemetry core component version(s) to `1.19.1`.

([#​5329](open-telemetry/opentelemetry-dotnet-contrib#5329))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Exporter.OneCollector-1.19.1/src/OpenTelemetry.Exporter.OneCollector/CHANGELOG.md)
for details.


## 1.19.1-rc.1

* NuGet: [OpenTelemetry.Resources.Process
v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Resources.Process/1.19.1-rc.1)

  * Updated OpenTelemetry core component version(s) to `1.19.1`.

([#​5329](open-telemetry/opentelemetry-dotnet-contrib#5329))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Resources.Process-1.19.1-rc.1/src/OpenTelemetry.Resources.Process/CHANGELOG.md)
for details.


## 1.19.1-beta.2

* NuGet: [OpenTelemetry.Resources.Azure
v1.19.1-beta.2](https://www.nuget.org/packages/OpenTelemetry.Resources.Azure/1.19.1-beta.2)

* Add `cloud.account.id` and `azure.resource_group.name` attributes to
the Azure
    VM resource detector.

([#​5195](open-telemetry/opentelemetry-dotnet-contrib#5195))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Resources.Azure-1.19.1-beta.2/src/OpenTelemetry.Resources.Azure/CHANGELOG.md)
for details.


## 1.19.1-beta.1

* NuGet: [OpenTelemetry.Exporter.Geneva
v1.19.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Geneva/1.19.1-beta.1)

  * Updated OpenTelemetry core component version(s) to `1.19.1`.

([#​5329](open-telemetry/opentelemetry-dotnet-contrib#5329))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Exporter.Geneva-1.19.1-beta.1/src/OpenTelemetry.Exporter.Geneva/CHANGELOG.md)
for details.


Commits viewable in [compare
view](open-telemetry/opentelemetry-dotnet-contrib@Exporter.OneCollector-1.19.0...Exporter.Geneva-1.20.0).
</details>

Updated
[OpenTelemetry.Instrumentation.Runtime](https://github.com/open-telemetry/opentelemetry-dotnet-contrib)
from 1.19.0 to 1.20.0.

<details>
<summary>Release notes</summary>

_Sourced from [OpenTelemetry.Instrumentation.Runtime's
releases](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/releases)._

## 1.20.0

* NuGet: [OpenTelemetry.Exporter.Geneva
v1.20.0](https://www.nuget.org/packages/OpenTelemetry.Exporter.Geneva/1.20.0)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​5541](open-telemetry/opentelemetry-dotnet-contrib#5541))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Exporter.Geneva-1.20.0/src/OpenTelemetry.Exporter.Geneva/CHANGELOG.md)
for details.


## 1.20.0-rc.1

* NuGet: [OpenTelemetry.Instrumentation.Process
v1.20.0-rc.1](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Process/1.20.0-rc.1)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​5541](open-telemetry/opentelemetry-dotnet-contrib#5541))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.Process-1.20.0-rc.1/src/OpenTelemetry.Instrumentation.Process/CHANGELOG.md)
for details.


## 1.20.0-beta.2

* NuGet: [OpenTelemetry.Instrumentation.ServiceFabricRemoting
v1.20.0-beta.2](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.ServiceFabricRemoting/1.20.0-beta.2)

* Fixed `TraceContextEnrichedActorRemotingProviderAttribute` ignoring
the
`TransportSettings` configuration section. Actor remoting clients now
load their
settings from `TransportSettings`, and actor remoting listeners fall
back to
`TransportSettings` when no actor-specific section is configured,
matching the
behaviour of Service Fabric's
`FabricTransportActorRemotingProviderAttribute`.

([#​5450](open-telemetry/opentelemetry-dotnet-contrib#5450))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.ServiceFabricRemoting-1.20.0-beta.2/src/OpenTelemetry.Instrumentation.ServiceFabricRemoting/CHANGELOG.md)
for details.


## 1.20.0-beta.1

* NuGet: [OpenTelemetry.Extensions.Enrichment
v1.20.0-beta.1](https://www.nuget.org/packages/OpenTelemetry.Extensions.Enrichment/1.20.0-beta.1)

  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​5541](open-telemetry/opentelemetry-dotnet-contrib#5541))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Extensions.Enrichment-1.20.0-beta.1/src/OpenTelemetry.Extensions.Enrichment/CHANGELOG.md)
for details.


## 1.20.0-alpha.2

* NuGet: [OpenTelemetry.Instrumentation.EventCounters
v1.20.0-alpha.2](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.EventCounters/1.20.0-alpha.2)

* Fixed a deadlock when an `EventSource` is created on another thread
while
    the meter provider is being built or disposed.

([#​5639](open-telemetry/opentelemetry-dotnet-contrib#5639))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.EventCounters-1.20.0-alpha.2/src/OpenTelemetry.Instrumentation.EventCounters/CHANGELOG.md)
for details.


## 1.20.0-alpha.1

* NuGet: [OpenTelemetry.Instrumentation.EventCounters
v1.20.0-alpha.1](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.EventCounters/1.20.0-alpha.1)

* Added dependency injection support for EventCounters instrumentation.

([#​5475](open-telemetry/opentelemetry-dotnet-contrib#5475))
  
  * Updated OpenTelemetry core component version(s) to `1.20.0`.

([#​5541](open-telemetry/opentelemetry-dotnet-contrib#5541))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Instrumentation.EventCounters-1.20.0-alpha.1/src/OpenTelemetry.Instrumentation.EventCounters/CHANGELOG.md)
for details.


## 1.19.1

* NuGet: [OpenTelemetry.Exporter.OneCollector
v1.19.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.OneCollector/1.19.1)

  * Updated OpenTelemetry core component version(s) to `1.19.1`.

([#​5329](open-telemetry/opentelemetry-dotnet-contrib#5329))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Exporter.OneCollector-1.19.1/src/OpenTelemetry.Exporter.OneCollector/CHANGELOG.md)
for details.


## 1.19.1-rc.1

* NuGet: [OpenTelemetry.Resources.Process
v1.19.1-rc.1](https://www.nuget.org/packages/OpenTelemetry.Resources.Process/1.19.1-rc.1)

  * Updated OpenTelemetry core component version(s) to `1.19.1`.

([#​5329](open-telemetry/opentelemetry-dotnet-contrib#5329))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Resources.Process-1.19.1-rc.1/src/OpenTelemetry.Resources.Process/CHANGELOG.md)
for details.


## 1.19.1-beta.2

* NuGet: [OpenTelemetry.Resources.Azure
v1.19.1-beta.2](https://www.nuget.org/packages/OpenTelemetry.Resources.Azure/1.19.1-beta.2)

* Add `cloud.account.id` and `azure.resource_group.name` attributes to
the Azure
    VM resource detector.

([#​5195](open-telemetry/opentelemetry-dotnet-contrib#5195))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Resources.Azure-1.19.1-beta.2/src/OpenTelemetry.Resources.Azure/CHANGELOG.md)
for details.


## 1.19.1-beta.1

* NuGet: [OpenTelemetry.Exporter.Geneva
v1.19.1-beta.1](https://www.nuget.org/packages/OpenTelemetry.Exporter.Geneva/1.19.1-beta.1)

  * Updated OpenTelemetry core component version(s) to `1.19.1`.

([#​5329](open-telemetry/opentelemetry-dotnet-contrib#5329))

See
[CHANGELOG](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/Exporter.Geneva-1.19.1-beta.1/src/OpenTelemetry.Exporter.Geneva/CHANGELOG.md)
for details.


Commits viewable in [compare
view](open-telemetry/opentelemetry-dotnet-contrib@Exporter.OneCollector-1.19.0...Exporter.Geneva-1.20.0).
</details>

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pkg:OpenTelemetry Issues related to OpenTelemetry NuGet package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants