From 4b3235b2992254a8bfd3b5301a44bdacf918ca3c Mon Sep 17 00:00:00 2001 From: martincostello Date: Mon, 9 Jun 2025 14:40:08 +0100 Subject: [PATCH 01/22] Update OpenTelemetry package versions Update OpenTelemetry (and test) NuGet packages to their latest versions. --- examples/net8.0/aspnetcore/aspnetcore.csproj | 1 - .../Grafana.OpenTelemetry.Base.csproj | 26 +++++++++--------- .../Grafana.OpenTelemetry.csproj | 27 ++++++++++--------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/examples/net8.0/aspnetcore/aspnetcore.csproj b/examples/net8.0/aspnetcore/aspnetcore.csproj index 0d2ad675..f31f8209 100644 --- a/examples/net8.0/aspnetcore/aspnetcore.csproj +++ b/examples/net8.0/aspnetcore/aspnetcore.csproj @@ -14,7 +14,6 @@ - diff --git a/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj b/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj index b78d8ec7..8910546a 100644 --- a/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj +++ b/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj @@ -7,41 +7,39 @@ - - all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - + - - - - + + + + - - - - + + + + - + diff --git a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj index 24aef8e7..5a8d2120 100644 --- a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj +++ b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj @@ -26,39 +26,42 @@ version of 3.16.0. We change this to 3.17.0, as the previous versions have dependency requirements that conflict with recent .NET package versions. --> + - + - - + + + - - - - - + + + + + + - + - - + + - + From 6dea4b62afe92762e4af44905d3bfb0891505654 Mon Sep 17 00:00:00 2001 From: martincostello Date: Mon, 9 Jun 2025 15:15:30 +0100 Subject: [PATCH 02/22] Update OATS Redis assertions Update attribute names. --- docker/docker-compose-aspnetcore/oats.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/docker-compose-aspnetcore/oats.yaml b/docker/docker-compose-aspnetcore/oats.yaml index ca5c08ef..515d0ee7 100644 --- a/docker/docker-compose-aspnetcore/oats.yaml +++ b/docker/docker-compose-aspnetcore/oats.yaml @@ -72,7 +72,8 @@ expected: attributes: db.statement: LPUSH db.system: redis - net.peer.name: redis + db.redis.database_index: '0' + server.address: redis - traceql: '{ span.http.route =~ "/api/todo/items/" }' spans: - name: 'main' From b92a6c6789b60670f2cbf9a6a672e8c2a12cf52a Mon Sep 17 00:00:00 2001 From: martincostello Date: Mon, 9 Jun 2025 15:26:35 +0100 Subject: [PATCH 03/22] Update OATS EFCore assertion Update attribute name. --- docker/docker-compose-aspnetcore/oats.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker-compose-aspnetcore/oats.yaml b/docker/docker-compose-aspnetcore/oats.yaml index 515d0ee7..3eb05339 100644 --- a/docker/docker-compose-aspnetcore/oats.yaml +++ b/docker/docker-compose-aspnetcore/oats.yaml @@ -80,7 +80,7 @@ expected: attributes: db.system: sqlite db.name: main - peer.service: /app/App_Data/TodoApp.db + server.address: /app/App_Data/TodoApp.db otel.library.name: OpenTelemetry.Instrumentation.EntityFrameworkCore - traceql: '{ span.http.route =~ "api/Aws/ListBuckets" }' spans: From ecbc31b6ea40c1484dd4f73168980145431ca70e Mon Sep 17 00:00:00 2001 From: Martin Costello Date: Mon, 9 Jun 2025 15:39:34 +0100 Subject: [PATCH 04/22] Bump OpenTelemetry.Instrumentation.AWS Update OpenTelemetry.Instrumentation.AWS to latest version. --- src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj index 5a8d2120..d650a8c5 100644 --- a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj +++ b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj @@ -37,8 +37,7 @@ - - + From a08a1e294896cfee891104a59e3447c4c671bd3e Mon Sep 17 00:00:00 2001 From: Martin Costello Date: Mon, 9 Jun 2025 16:39:43 +0100 Subject: [PATCH 05/22] Add db.client.operation.duration assertion See https://github.com/grafana/grafana-opentelemetry-dotnet/pull/144#issuecomment-2955168467. --- docker/docker-compose-aspnetcore/oats.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/docker-compose-aspnetcore/oats.yaml b/docker/docker-compose-aspnetcore/oats.yaml index 3eb05339..03675131 100644 --- a/docker/docker-compose-aspnetcore/oats.yaml +++ b/docker/docker-compose-aspnetcore/oats.yaml @@ -14,6 +14,8 @@ expected: contains: - 'Application started' metrics: + - promql: db.client.operation.duration{} + value: '>= 0' - promql: http_client_request_duration_seconds_count{} value: '>= 0' - promql: http_client_request_duration_seconds_count{http_request_method="GET", http_response_status_code="200"} From 53e71a136fca48ca7f339033e9ac4d221ef5d57f Mon Sep 17 00:00:00 2001 From: Martin Costello Date: Mon, 9 Jun 2025 16:43:10 +0100 Subject: [PATCH 06/22] Fix query Underscores not dots. --- docker/docker-compose-aspnetcore/oats.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker-compose-aspnetcore/oats.yaml b/docker/docker-compose-aspnetcore/oats.yaml index 03675131..c072a567 100644 --- a/docker/docker-compose-aspnetcore/oats.yaml +++ b/docker/docker-compose-aspnetcore/oats.yaml @@ -14,7 +14,7 @@ expected: contains: - 'Application started' metrics: - - promql: db.client.operation.duration{} + - promql: db_client_operation_duration{} value: '>= 0' - promql: http_client_request_duration_seconds_count{} value: '>= 0' From 94b969c31417630aca0059ee0683f86c32d026be Mon Sep 17 00:00:00 2001 From: Martin Costello Date: Mon, 9 Jun 2025 16:48:34 +0100 Subject: [PATCH 07/22] Comment-out assertion Disable until I can work out why we don't see it. --- docker/docker-compose-aspnetcore/oats.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/docker-compose-aspnetcore/oats.yaml b/docker/docker-compose-aspnetcore/oats.yaml index c072a567..ae80aa73 100644 --- a/docker/docker-compose-aspnetcore/oats.yaml +++ b/docker/docker-compose-aspnetcore/oats.yaml @@ -14,8 +14,9 @@ expected: contains: - 'Application started' metrics: - - promql: db_client_operation_duration{} - value: '>= 0' + # Investigate why this fails + #- promql: db_client_operation_duration{} + # value: '>= 0' - promql: http_client_request_duration_seconds_count{} value: '>= 0' - promql: http_client_request_duration_seconds_count{http_request_method="GET", http_response_status_code="200"} From 186776476b902faa2f02ca04d93bbc38cfb071a5 Mon Sep 17 00:00:00 2001 From: martincostello Date: Wed, 25 Jun 2025 09:37:48 +0100 Subject: [PATCH 08/22] Refactor dependency groups - Rearrange the groups to match the comments. - Use `GetTargetFrameworkIdentifier()` intrinsic for conditions. - Use `Label` attribute instead of comments. --- .../Grafana.OpenTelemetry.Base.csproj | 17 +++-------- .../Grafana.OpenTelemetry.csproj | 29 +++++++------------ 2 files changed, 15 insertions(+), 31 deletions(-) diff --git a/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj b/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj index 8910546a..44e64eac 100644 --- a/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj +++ b/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj @@ -17,31 +17,22 @@ - - + + - - + - - - - - + - - - - <_Parameter1>Grafana.OpenTelemetry.Tests diff --git a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj index d650a8c5..78aa0ed2 100644 --- a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj +++ b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj @@ -16,10 +16,7 @@ - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - + - - + + + - - - + + + + + @@ -48,21 +47,15 @@ - - + - - + - - - - <_Parameter1>Grafana.OpenTelemetry.Tests From 9e4faf853a6cbf6f7ba133239962c1d015fb8739 Mon Sep 17 00:00:00 2001 From: Martin Costello Date: Wed, 25 Jun 2025 16:42:11 +0100 Subject: [PATCH 09/22] Apply suggestions from code review Pick up fix from https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2829. --- src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj index 78aa0ed2..6e22052a 100644 --- a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj +++ b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj @@ -39,7 +39,7 @@ - + From b02e8fd517295123020be2ed5b00a2865cf837e9 Mon Sep 17 00:00:00 2001 From: martincostello Date: Tue, 1 Jul 2025 07:06:40 +0100 Subject: [PATCH 10/22] Bump AWSSDK.S3 Update to the v4 AWS SDK. --- examples/net8.0/aspnetcore/aspnetcore.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/net8.0/aspnetcore/aspnetcore.csproj b/examples/net8.0/aspnetcore/aspnetcore.csproj index f31f8209..6ef3c396 100644 --- a/examples/net8.0/aspnetcore/aspnetcore.csproj +++ b/examples/net8.0/aspnetcore/aspnetcore.csproj @@ -10,7 +10,7 @@ - + From a1ba013d2a1082b9a347e3f2290cd10084f324ef Mon Sep 17 00:00:00 2001 From: martincostello Date: Tue, 15 Jul 2025 08:22:14 +0100 Subject: [PATCH 11/22] Bump NuGet packages Update more NuGet packages to their latest versions. --- .../Grafana.OpenTelemetry.Base.csproj | 2 +- src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj b/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj index 44e64eac..2d2e633e 100644 --- a/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj +++ b/src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj @@ -25,7 +25,7 @@ - + diff --git a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj index 6e22052a..16946448 100644 --- a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj +++ b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj @@ -40,7 +40,7 @@ - + From d0db38c5b182d1b9f5af762f8916705d7a7790a9 Mon Sep 17 00:00:00 2001 From: martincostello Date: Tue, 15 Jul 2025 10:13:51 +0100 Subject: [PATCH 12/22] Allow duplicate spans Allow duplicate spans called `main` to account for database creation and then the query. --- docker/docker-compose-aspnetcore/oats.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/docker-compose-aspnetcore/oats.yaml b/docker/docker-compose-aspnetcore/oats.yaml index ae80aa73..fd3947f3 100644 --- a/docker/docker-compose-aspnetcore/oats.yaml +++ b/docker/docker-compose-aspnetcore/oats.yaml @@ -80,6 +80,7 @@ expected: - traceql: '{ span.http.route =~ "/api/todo/items/" }' spans: - name: 'main' + allow-duplicates: true attributes: db.system: sqlite db.name: main From c699838eb3349b5602a9a847dcc1253a45f4c6ee Mon Sep 17 00:00:00 2001 From: martincostello Date: Tue, 15 Jul 2025 10:34:22 +0100 Subject: [PATCH 13/22] Enable SqlClient metrics Metrics become opt-in in 1.10.0-beta.1 and changed name. --- docker/docker-compose-aspnetcore/oats.yaml | 5 ++--- .../Instrumentations/SqlClientInitializer.cs | 6 ++++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docker/docker-compose-aspnetcore/oats.yaml b/docker/docker-compose-aspnetcore/oats.yaml index fd3947f3..20c0cc89 100644 --- a/docker/docker-compose-aspnetcore/oats.yaml +++ b/docker/docker-compose-aspnetcore/oats.yaml @@ -14,9 +14,8 @@ expected: contains: - 'Application started' metrics: - # Investigate why this fails - #- promql: db_client_operation_duration{} - # value: '>= 0' + - promql: db_client_operation_duration_seconds_count{} + value: '>= 0' - promql: http_client_request_duration_seconds_count{} value: '>= 0' - promql: http_client_request_duration_seconds_count{http_request_method="GET", http_response_status_code="200"} diff --git a/src/Grafana.OpenTelemetry.Base/Instrumentations/SqlClientInitializer.cs b/src/Grafana.OpenTelemetry.Base/Instrumentations/SqlClientInitializer.cs index ab4bdfbf..501dfd3d 100644 --- a/src/Grafana.OpenTelemetry.Base/Instrumentations/SqlClientInitializer.cs +++ b/src/Grafana.OpenTelemetry.Base/Instrumentations/SqlClientInitializer.cs @@ -3,6 +3,7 @@ // SPDX-License-Identifier: Apache-2.0 // +using OpenTelemetry.Metrics; using OpenTelemetry.Trace; namespace Grafana.OpenTelemetry @@ -14,6 +15,11 @@ internal class SqlClientInitializer : InstrumentationInitializer { public override Instrumentation Id { get; } = Instrumentation.SqlClient; + protected override void InitializeMetrics(MeterProviderBuilder builder) + { + builder.AddSqlClientInstrumentation(); + } + protected override void InitializeTracing(TracerProviderBuilder builder) { builder.AddSqlClientInstrumentation(); From 8b9e66a65336274cf95ce51b69147081f83e4bd4 Mon Sep 17 00:00:00 2001 From: martincostello Date: Tue, 15 Jul 2025 10:43:16 +0100 Subject: [PATCH 14/22] Update CHANGELOG Add CHANGELOG entries for this pull request. --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d8ea4a8..feb436ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,18 @@ ## Unreleased version +### BREAKING CHANGES + +* Update OpenTelemetry package versions to 1.12.0 + ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + +### New features + +* Enable metrics for SQL Client instrumentation + ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) +* Use 1.0.0-beta.2 of OpenTelemetry.Instrumentation.Cassandra + ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + ### Bug Fixes * Remove reference on System.Text.Json for `net8.0` target framework From cbdedb33cb1ae76f1840f4a1555ad104adc4ac2a Mon Sep 17 00:00:00 2001 From: martincostello Date: Fri, 25 Jul 2025 08:31:27 +0100 Subject: [PATCH 15/22] Make field readonly Resolves https://github.com/grafana/grafana-opentelemetry-dotnet/security/code-scanning/26. --- .../GrafanaOpenTelemetryEventSource.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Grafana.OpenTelemetry.Base/GrafanaOpenTelemetryEventSource.cs b/src/Grafana.OpenTelemetry.Base/GrafanaOpenTelemetryEventSource.cs index 530a6f25..f096a285 100644 --- a/src/Grafana.OpenTelemetry.Base/GrafanaOpenTelemetryEventSource.cs +++ b/src/Grafana.OpenTelemetry.Base/GrafanaOpenTelemetryEventSource.cs @@ -16,7 +16,7 @@ namespace Grafana.OpenTelemetry [EventSource(Name = "OpenTelemetry-Grafana-Distribution")] internal sealed partial class GrafanaOpenTelemetryEventSource : EventSource { - public static GrafanaOpenTelemetryEventSource Log = new GrafanaOpenTelemetryEventSource(); + public static readonly GrafanaOpenTelemetryEventSource Log = new GrafanaOpenTelemetryEventSource(); [NonEvent] public void EnabledMetricsInstrumentation(string instrumentationLibrary) From 76f141ab5cd32df76a20753c0b718953e6c7d10e Mon Sep 17 00:00:00 2001 From: martincostello Date: Fri, 25 Jul 2025 09:09:53 +0100 Subject: [PATCH 16/22] Fix-up package references - Move OpenTelemetry.Instrumentation.AspNetCore to the right group. - Remove `OpenTelemetry.Instrumentation.MySqlData` accidentally re-added during rebase. --- src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj index 16946448..9b67ad05 100644 --- a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj +++ b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj @@ -32,8 +32,9 @@ - + + @@ -41,16 +42,11 @@ - - - - - From 39a58dc6ce1ab2710e3fe488efa9838b1e7b618d Mon Sep 17 00:00:00 2001 From: martincostello Date: Fri, 25 Jul 2025 10:17:59 +0100 Subject: [PATCH 17/22] Enrich CHANGELOG Copy over relevant changes from upstream. --- CHANGELOG.md | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 199 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index feb436ce..3009c861 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,205 @@ ### BREAKING CHANGES -* Update OpenTelemetry package versions to 1.12.0 - ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) +* Use 1.12.0 of OpenTelemetry ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Promoted the MetricPoint reclaim feature for Delta aggregation temporality + from experimental to stable. ([#5956](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5956)) + * `Meter.Tags` will now be considered when resolving the SDK metric to update + when measurements are recorded. Meters with the same name and different tags + will now lead to unique metrics. ([#5982](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5982)) + * Fixed a bug in tracing where `TraceState` set by a custom `Sampler` is not + applied when creating propagation-only spans. ([#6058](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6058)) +* Use 1.12.0 of OpenTelemetry.Exporter.OpenTelemetryProtocol ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Non-primitive attribute (logs) and tag (traces) values converted using + * `Convert.ToString` will now format using `CultureInfo.InvariantCulture`. ([#5700](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5700)) + * Fixed an issue causing `NotSupportedException`s to be thrown on startup when + `AddOtlpExporter` registration extensions are called while using custom dependency + injection containers which automatically create services (Unity, Grace, etc.). + ([#5808](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5808)) + * Fixed `PlatformNotSupportedExceptions` being thrown during export when running + * on mobile platforms which caused telemetry to be dropped silently. + ([#5821](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5821)) + * Added support for exporting instrumentation scope attributes from `ActivitySource.Tags`. + ([#5897](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5897)) + * Removed dependency on `Google.Protobuf`, `Grpc` and `Grpc.Net.Client` packages. + ([#6005](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6005)) + * Switched from using the `Google.Protobuf` library for serialization to a custom + manual implementation of protobuf serialization. ([#6005](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6005)) + * Fixed an issue where a service.name was added to the resource if it was missing. + The exporter now respects the resource data provided by the SDK without + modifications. ([#6015](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6015)) + * Removed the peer service resolver, which was based on earlier experimental + semantic conventions that are not part of the stable specification. ([#6005](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6005)) + * Fixed incorrect log serialization of attributes with null values, causing + some backends to reject logs. ([#6149](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6149)) + * Fixed an issue causing trace exports to fail when Activity.StatusDescription + exceeds 127 bytes. ([#6119](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6119)) + * Fixed a bug in .NET Framework gRPC export client where the default success export + response was incorrectly marked as false, now changed to true, ensuring exports + are correctly marked as successful. ([#6099](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6099))` + * Now defaults to exporting over OTLP/HTTP instead of OTLP/gRPC. This change + could result in a failure to export telemetry unless appropriate measures + are taken. Additionally, if you explicitly configure the exporter to use OTLP/gRPC + it may result in a `NotSupportedException` without further configuration. + Please review issue ([#6209](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6209)) + for additional information and workarounds. ([#6229](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6229)) +* Use 1.12.0 of OpenTelemetry.Extensions.Hosting ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) +* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.AspNet ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Updated registration extension code to retrieve environment variables through + `IConfiguration`. ([#1976](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1976)) + * Fixed an issue in ASP.NET instrumentation where route extraction failed for + attribute-based routing with multiple HTTP methods sharing the same route template. + ([#2250](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2250)) + * The `http.server.request.duration` histogram (measured in seconds) produced + by the metrics instrumentation in this package now uses the Advice API to set + default explicit buckets following the OpenTelemetry Specification. ([#2430](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2430)) +* Use 1.12.0 of OpenTelemetry.Instrumentation.AspNetCore ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * The `http.server.request.duration` histogram (measured in seconds) produced + by the metrics instrumentation in this package now uses the Advice API to set + default explicit buckets following the OpenTelemetry Specification. ([#2430](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2430)) + * Added support for listening to ASP.NET Core SignalR activities. Configurable + with the AspNetCoreTraceInstrumentationOptions.EnableAspNetCoreSignalRSupport + option which defaults to true. Only applies to .NET 9.0 or greater. ([#2539](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2539)) +* Use 1.12.0 of OpenTelemetry.Instrumentation.AWS ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Trace instrumentation will now call the `Activity.SetStatus` API instead of + the deprecated OpenTelemetry API package extension when setting span status. + ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) + * Introduce `AWSClientInstrumentationOptions.SemanticConventionVersion` which + provides a mechanism for developers to opt-in to newer versions of the of the + OpenTelemetry Semantic Conventions. ([#2367](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2367)) + * Change default Semantic Convention to 1.28. + * Context propagation data is always added to SQS and SNS requests regardless of + sampling decision. This enables downstream services to make consistent sampling + decisions and prevents incomplete traces. ([#2447](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2447)) + * Update AWSSDK dependencies to v4. ([#2720](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2720)) +* Use 1.12.0 of OpenTelemetry.Instrumentation.AWSLambda ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Trace instrumentation will now call the `Activity.SetStatus` API instead of + the deprecated OpenTelemetry API package extension when setting span status. + ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) + * Introduce `AWSClientInstrumentationOptions.SemanticConventionVersion` which + provides a mechanism for developers to opt-in to newer versions of the of + the Open Telemetry Semantic Conventions. ([#2367](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2367)) + * Trace instrumentation will not fail with an exception if empty `LambdaContext` + instance is passed. ([#2457](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2457)) +* Use 1.0.0-beta.2 of OpenTelemetry.Instrumentation.Cassandra ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * `ActivitySource.Version` is set to NuGet package version. ([#1624](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1624)) + * Added direct reference to `Newtonsoft.Json` with minimum version of `13.0.1` + in response to [CVE-2024-21907](https://github.com/advisories/GHSA-5crp-9r3c-p9vr). + ([#2058](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2058)) +* Use 1.12.0-beta.2 of OpenTelemetry.Instrumentation.EntityFrameworkCore ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Trace instrumentation will now call the `Activity.SetStatus` API instead of + the deprecated OpenTelemetry API package extension when setting span status. + ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) + * The new database semantic conventions can be opted in to by setting the + `OTEL_SEMCONV_STABILITY_OPT_IN` environment variable. This allows for a + transition period for users to experiment with the new semantic conventions + and adapt as necessary. ([#2130](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2130)) + * Attribute `db.system` reports `oracle` when `Devart.Data.Oracle.Entity.EFCore` + is used as a provider. ([#2465](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2465)) + * Fixed attribute `db.system` for `Devart.Data.SQLite.Entity.EFCore`, + `Devart.Data.MySql.Entity.EFCore` and `Devart.Data.PostgreSql.Entity.EFCore`. + ([#2571](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2571)) + * Support use with SqlClient instrumentation. + ([#2280](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2280), + [#2829](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2829)) +* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.GrpcNetClient ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) +* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Hangfire ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * `ActivitySource.Version` is set to NuGet package version. ([#1624](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1624)) + * Added direct reference to `Newtonsoft.Json` with minimum version of `13.0.1` + [CVE-2024-21907](https://github.com/advisories/GHSA-5crp-9r3c-p9vr). + ([#2058](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2058)) +* Use 1.12.0 of OpenTelemetry.Instrumentation.Http ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Trace instrumentation no longer sets attributes when running on .NET 9 and + greater because HttpClient now includes native instrumentation which adds + attributes directly. ([#2314](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2314)) + * The `http.client.request.duration` histogram (measured in seconds) produced + by the metrics instrumentation in this package now uses the Advice API to set + default explicit buckets following the OpenTelemetry Specification. ([#2430](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2430)) +* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Owin ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Updated activity tags to use new semantic conventions attribute schema. ([#2028](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2028)) + * Updated registration extension code to retrieve environment variables through + `IConfiguration`. ([#1973](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1973)) + * Updated to depend on the `OpenTelemetry.Api.ProviderBuilderExtensions` (API) + package instead of the OpenTelemetry (SDK) package. ([#1977](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1977)) + * Trace instrumentation will now call the `Activity.SetStatus` API instead of + the deprecated OpenTelemetry API package extension when setting span status. + ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) + * The `http.server.request.duration` histogram (measured in seconds) produced + by the metrics instrumentation in this package now uses the Advice API to set + default explicit buckets following the OpenTelemetry Specification. ([#2430](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2430)) + * Fixed `url.query` value that was incorrectly always set to + `Microsoft.Owin.ReadableStringCollection`. ([#2732](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2732)) +* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Process ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) +* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Quartz ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Trace instrumentation will now call the `Activity.SetStatus` API instead of + the deprecated OpenTelemetry API package extension when setting span status. + ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) +* Use 1.12.0 of OpenTelemetry.Instrumentation.Runtime ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Built-in .NET `System.Runtime` metrics are reported for .NET 9 and greater. + For details about each individual metric check [.NET Runtime metrics docs page](https://learn.microsoft.com/dotnet/core/diagnostics/built-in-metrics-runtime). + ([#2339](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2339)) +* Use 1.12.0-beta.2 of OpenTelemetry.Instrumentation.SqlClient ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * The new database semantic conventions can be opted in to by setting the + `OTEL_SEMCONV_STABILITY_OPT_IN` environment variable. This allows for a + transition period for users to experiment with the new semantic conventions + and adapt as necessary. ([#2229](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2229), + [#2277](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2277), + [#2262](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2262), + [#2279](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2279)) + * The `peer.service` and `server.socket.address` attributes are no longer emitted. + Users should rely on the `server.address` attribute for the same information. + Note that server.address is only included when the `EnableConnectionLevelAttributes` + option is enabled. ([#2229](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2229)) + * When `EnableConnectionLevelAttributes` is enabled, the `server.port` attribute + will now be written as an integer to be compliant with the semantic conventions. + Previously, it was written as a string. ([#2233](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2233)) + * The `EnableConnectionLevelAttributes` option is now enabled by default. ([#2249](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2249)) + * The following attributes are now provided when starting an activity for a + * database call: `db.system`, `db.name` (old conventions), `db.namespace` (new + conventions), `server.address`, and `server.port`. These attributes are now + available for sampling decisions. ([#2277](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2277)) + * The `SetDbStatementForStoredProcedure` option has been removed. ([#2284](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2284)) + * Add support for `metric db.client.operation.duration` from new database + semantic conventions on .NET 8+. ([#2309](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2309)) + * Add support for metric `db.client.operation.duration` from new database + semantic conventions on .NET Framework. ([#2311](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2311)) + * The `EnableConnectionLevelAttributes` option has been removed. ([#2414](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2414)) + * The `db.client.operation.duration` histogram (measured in seconds) produced + by the metrics instrumentation in this package now uses the Advice API to + set default explicit buckets following the OpenTelemetry Specification. ([#2430](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2430)) + * Enabling `SetDbStatementForText` will no longer capture the raw query text. + The query is now sanitized. Literal values in the query text are replaced by + a `?` character. ([#2446](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2446)) + * Fix issue where IPv6 addresses were improperly parsed from the the connection's + `DataSource` when used to populate the `server.address` attribute. ([#2674](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2674)) + * Fixes an issue that throws `IndexOutOfRangeException` in `SqlProcessor` when + the SQL statement ends with the beginning of a keyword such as `UPDATE`. ([#2674](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2674)) + * Add the `db.operation.name` attribute when `CommandType` is `StoredProcedure` + to conform to the new semantic conventions. This affects you if you have + opted into the new conventions. ([#2800](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2800)) + * Add the `db.query.summary` attribute. This affects you if you have opted into + the new conventions. ([#2811](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2811)) + * Added `OTEL_DOTNET_EXPERIMENTAL_SQLCLIENT_ENABLE_TRACE_CONTEXT_PROPAGATION` + environment variable to propagate trace context to SQL Server databases. + This will remain experimental while the specification remains in development. + It is now only available on .NET 8 and newer. ([#2709](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2709)) +* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.StackExchangeRedis ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Rename span network attributes to comply with v1.23.0 of Semantic Conventions + for Database Client Calls ([#2468](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2468)) + * `System.Reflection.Emit.Lightweight` is referenced only by `netstandard2.0`. + ([#2667](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2667)) +* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Wcf ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Added a `RecordException` property to specify if exceptions should be recorded + (defaults to `false`). This is only supported by client instrumentation. ([#2271](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2271)) + * Trace instrumentation will now call the `Activity.SetStatus` API instead of + the deprecated OpenTelemetry API package extension when setting span status. + ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) + * Preserves `IsReadOnly` state of instrumented HTTP Headers. ([#2716](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2716)) +* Use 1.12.0-beta.1 of OpenTelemetry.Resources.Container ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) +* Use 1.12.0-beta.1 of OpenTelemetry.Resources.Host ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) +* Use 1.12.0-beta.1 of OpenTelemetry.Resources.OperatingSystem ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) +* Use 1.12.0-beta.1 of OpenTelemetry.Resources.Process ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) +* Use 1.12.0-beta.1 of OpenTelemetry.Resources.ProcessRuntime ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) ### New features From 167fd71d055181ce1a11d018d6832f7e3720053d Mon Sep 17 00:00:00 2001 From: martincostello Date: Fri, 25 Jul 2025 10:18:41 +0100 Subject: [PATCH 18/22] Bump AWSSDK.S3 Bump AWSSDK.S3 to the latest version. --- examples/net8.0/aspnetcore/aspnetcore.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/net8.0/aspnetcore/aspnetcore.csproj b/examples/net8.0/aspnetcore/aspnetcore.csproj index 6ef3c396..f6b0f664 100644 --- a/examples/net8.0/aspnetcore/aspnetcore.csproj +++ b/examples/net8.0/aspnetcore/aspnetcore.csproj @@ -10,7 +10,7 @@ - + From 2763cd6680a00e3dca0dce9788d6d452f96b764d Mon Sep 17 00:00:00 2001 From: martincostello Date: Mon, 28 Jul 2025 10:32:14 +0100 Subject: [PATCH 19/22] Bump NuGet packages - Bump OpenTelemetry.Instrumentation.StackExchangeRedis to 1.12.0-beta.2. - Bump Microsoft.Data.SqlClient to 6.1.0. --- examples/net8.0/aspnetcore/aspnetcore.csproj | 2 +- src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/net8.0/aspnetcore/aspnetcore.csproj b/examples/net8.0/aspnetcore/aspnetcore.csproj index f6b0f664..5641741a 100644 --- a/examples/net8.0/aspnetcore/aspnetcore.csproj +++ b/examples/net8.0/aspnetcore/aspnetcore.csproj @@ -11,7 +11,7 @@ - + diff --git a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj index 9b67ad05..5a127736 100644 --- a/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj +++ b/src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj @@ -43,7 +43,7 @@ - + From 8c3b894781c858af28b4f428e1fc9e2d36def20e Mon Sep 17 00:00:00 2001 From: Martin Costello Date: Mon, 28 Jul 2025 10:35:38 +0100 Subject: [PATCH 20/22] Apply suggestions from code review Fix-up CHANGELOG. Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3009c861..dc2606b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -109,7 +109,7 @@ * Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Hangfire ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * `ActivitySource.Version` is set to NuGet package version. ([#1624](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1624)) * Added direct reference to `Newtonsoft.Json` with minimum version of `13.0.1` - [CVE-2024-21907](https://github.com/advisories/GHSA-5crp-9r3c-p9vr). + for [CVE-2024-21907](https://github.com/advisories/GHSA-5crp-9r3c-p9vr). ([#2058](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2058)) * Use 1.12.0 of OpenTelemetry.Instrumentation.Http ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Trace instrumentation no longer sets attributes when running on .NET 9 and @@ -158,7 +158,7 @@ Previously, it was written as a string. ([#2233](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2233)) * The `EnableConnectionLevelAttributes` option is now enabled by default. ([#2249](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2249)) * The following attributes are now provided when starting an activity for a - * database call: `db.system`, `db.name` (old conventions), `db.namespace` (new + database call: `db.system`, `db.name` (old conventions), `db.namespace` (new conventions), `server.address`, and `server.port`. These attributes are now available for sampling decisions. ([#2277](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2277)) * The `SetDbStatementForStoredProcedure` option has been removed. ([#2284](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2284)) From d34469dcaf476b8eae09f482b1067974f81e2f27 Mon Sep 17 00:00:00 2001 From: martincostello Date: Mon, 28 Jul 2025 10:37:17 +0100 Subject: [PATCH 21/22] Update CHANGELOG Add entry for 2763cd6680a00e3dca0dce9788d6d452f96b764d. --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc2606b2..dddb5b20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -186,11 +186,13 @@ environment variable to propagate trace context to SQL Server databases. This will remain experimental while the specification remains in development. It is now only available on .NET 8 and newer. ([#2709](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2709)) -* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.StackExchangeRedis ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) +* Use 1.12.0-beta.2 of OpenTelemetry.Instrumentation.StackExchangeRedis ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Rename span network attributes to comply with v1.23.0 of Semantic Conventions for Database Client Calls ([#2468](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2468)) * `System.Reflection.Emit.Lightweight` is referenced only by `netstandard2.0`. ([#2667](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2667)) + * Add support for early filtering of telemetry collection via a `Filter` option + ([#2804](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2804)) * Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Wcf ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Added a `RecordException` property to specify if exceptions should be recorded (defaults to `false`). This is only supported by client instrumentation. ([#2271](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2271)) From a98a2ef7e2b92098336ef84cefd965306e7e4854 Mon Sep 17 00:00:00 2001 From: Matt Hensley <130569+matt-hensley@users.noreply.github.com> Date: Wed, 30 Jul 2025 09:23:19 -0400 Subject: [PATCH 22/22] Split entries between breaking/new/bugs (#206) --- CHANGELOG.md | 200 +++++++++++++++++++++++++++------------------------ 1 file changed, 106 insertions(+), 94 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dddb5b20..cf2d3906 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,55 +4,59 @@ ### BREAKING CHANGES +* Remove dependency on `OpenTelemetry.Instrumentation.MySqlData`. + Add the [MySql.Data.OpenTelemetry](https://www.nuget.org/packages/MySql.Data.OpenTelemetry) + package to your project if you require MySQL instrumentation. **NOTE**: This + NuGet package is licensed under the GPL license which may not be suitable for + all projects. +* Use 1.12.0 of OpenTelemetry.Exporter.OpenTelemetryProtocol ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Now defaults to exporting over OTLP/HTTP instead of OTLP/gRPC. This change + could result in a failure to export telemetry unless appropriate measures + are taken. Additionally, if you explicitly configure the exporter to use OTLP/gRPC + it may result in a `NotSupportedException` without further configuration. + Please review issue ([#6209](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6209)) + for additional information and workarounds. ([#6229](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6229)) + * Removed the peer service resolver, which was based on earlier experimental + semantic conventions that are not part of the stable specification. ([#6005](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6005)) +* Use 1.12.0 of OpenTelemetry.Instrumentation.AWS ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Change default Semantic Convention to 1.28. + * Update AWSSDK dependencies to v4. ([#2720](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2720)) +* Use 1.12.0-beta.2 of OpenTelemetry.Instrumentation.SqlClient ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * The `peer.service` and `server.socket.address` attributes are no longer emitted. + Users should rely on the `server.address` attribute for the same information. + Note that server.address is only included when the `EnableConnectionLevelAttributes` + option is enabled. ([#2229](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2229)) + * When `EnableConnectionLevelAttributes` is enabled, the `server.port` attribute + will now be written as an integer to be compliant with the semantic conventions. + Previously, it was written as a string. ([#2233](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2233)) + * The `EnableConnectionLevelAttributes` option is now enabled by default. ([#2249](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2249)) + * The `SetDbStatementForStoredProcedure` option has been removed. ([#2284](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2284)) + * The `EnableConnectionLevelAttributes` option has been removed. ([#2414](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2414)) + * Enabling `SetDbStatementForText` will no longer capture the raw query text. + The query is now sanitized. Literal values in the query text are replaced by + a `?` character. ([#2446](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2446)) + +### New features + +* Enable metrics for SQL Client instrumentation + ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Use 1.12.0 of OpenTelemetry ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Promoted the MetricPoint reclaim feature for Delta aggregation temporality from experimental to stable. ([#5956](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5956)) * `Meter.Tags` will now be considered when resolving the SDK metric to update when measurements are recorded. Meters with the same name and different tags will now lead to unique metrics. ([#5982](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5982)) - * Fixed a bug in tracing where `TraceState` set by a custom `Sampler` is not - applied when creating propagation-only spans. ([#6058](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6058)) * Use 1.12.0 of OpenTelemetry.Exporter.OpenTelemetryProtocol ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) - * Non-primitive attribute (logs) and tag (traces) values converted using - * `Convert.ToString` will now format using `CultureInfo.InvariantCulture`. ([#5700](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5700)) - * Fixed an issue causing `NotSupportedException`s to be thrown on startup when - `AddOtlpExporter` registration extensions are called while using custom dependency - injection containers which automatically create services (Unity, Grace, etc.). - ([#5808](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5808)) - * Fixed `PlatformNotSupportedExceptions` being thrown during export when running - * on mobile platforms which caused telemetry to be dropped silently. - ([#5821](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5821)) * Added support for exporting instrumentation scope attributes from `ActivitySource.Tags`. ([#5897](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5897)) * Removed dependency on `Google.Protobuf`, `Grpc` and `Grpc.Net.Client` packages. ([#6005](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6005)) * Switched from using the `Google.Protobuf` library for serialization to a custom manual implementation of protobuf serialization. ([#6005](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6005)) - * Fixed an issue where a service.name was added to the resource if it was missing. - The exporter now respects the resource data provided by the SDK without - modifications. ([#6015](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6015)) - * Removed the peer service resolver, which was based on earlier experimental - semantic conventions that are not part of the stable specification. ([#6005](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6005)) - * Fixed incorrect log serialization of attributes with null values, causing - some backends to reject logs. ([#6149](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6149)) - * Fixed an issue causing trace exports to fail when Activity.StatusDescription - exceeds 127 bytes. ([#6119](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6119)) - * Fixed a bug in .NET Framework gRPC export client where the default success export - response was incorrectly marked as false, now changed to true, ensuring exports - are correctly marked as successful. ([#6099](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6099))` - * Now defaults to exporting over OTLP/HTTP instead of OTLP/gRPC. This change - could result in a failure to export telemetry unless appropriate measures - are taken. Additionally, if you explicitly configure the exporter to use OTLP/gRPC - it may result in a `NotSupportedException` without further configuration. - Please review issue ([#6209](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6209)) - for additional information and workarounds. ([#6229](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6229)) * Use 1.12.0 of OpenTelemetry.Extensions.Hosting ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.AspNet ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Updated registration extension code to retrieve environment variables through `IConfiguration`. ([#1976](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1976)) - * Fixed an issue in ASP.NET instrumentation where route extraction failed for - attribute-based routing with multiple HTTP methods sharing the same route template. - ([#2250](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2250)) * The `http.server.request.duration` histogram (measured in seconds) produced by the metrics instrumentation in this package now uses the Advice API to set default explicit buckets following the OpenTelemetry Specification. ([#2430](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2430)) @@ -64,44 +68,28 @@ with the AspNetCoreTraceInstrumentationOptions.EnableAspNetCoreSignalRSupport option which defaults to true. Only applies to .NET 9.0 or greater. ([#2539](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2539)) * Use 1.12.0 of OpenTelemetry.Instrumentation.AWS ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) - * Trace instrumentation will now call the `Activity.SetStatus` API instead of - the deprecated OpenTelemetry API package extension when setting span status. - ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) * Introduce `AWSClientInstrumentationOptions.SemanticConventionVersion` which provides a mechanism for developers to opt-in to newer versions of the of the OpenTelemetry Semantic Conventions. ([#2367](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2367)) - * Change default Semantic Convention to 1.28. * Context propagation data is always added to SQS and SNS requests regardless of sampling decision. This enables downstream services to make consistent sampling decisions and prevents incomplete traces. ([#2447](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2447)) - * Update AWSSDK dependencies to v4. ([#2720](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2720)) * Use 1.12.0 of OpenTelemetry.Instrumentation.AWSLambda ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) - * Trace instrumentation will now call the `Activity.SetStatus` API instead of - the deprecated OpenTelemetry API package extension when setting span status. - ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) * Introduce `AWSClientInstrumentationOptions.SemanticConventionVersion` which provides a mechanism for developers to opt-in to newer versions of the of the Open Telemetry Semantic Conventions. ([#2367](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2367)) - * Trace instrumentation will not fail with an exception if empty `LambdaContext` - instance is passed. ([#2457](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2457)) * Use 1.0.0-beta.2 of OpenTelemetry.Instrumentation.Cassandra ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * `ActivitySource.Version` is set to NuGet package version. ([#1624](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1624)) * Added direct reference to `Newtonsoft.Json` with minimum version of `13.0.1` in response to [CVE-2024-21907](https://github.com/advisories/GHSA-5crp-9r3c-p9vr). ([#2058](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2058)) * Use 1.12.0-beta.2 of OpenTelemetry.Instrumentation.EntityFrameworkCore ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) - * Trace instrumentation will now call the `Activity.SetStatus` API instead of - the deprecated OpenTelemetry API package extension when setting span status. - ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) * The new database semantic conventions can be opted in to by setting the `OTEL_SEMCONV_STABILITY_OPT_IN` environment variable. This allows for a transition period for users to experiment with the new semantic conventions and adapt as necessary. ([#2130](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2130)) * Attribute `db.system` reports `oracle` when `Devart.Data.Oracle.Entity.EFCore` is used as a provider. ([#2465](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2465)) - * Fixed attribute `db.system` for `Devart.Data.SQLite.Entity.EFCore`, - `Devart.Data.MySql.Entity.EFCore` and `Devart.Data.PostgreSql.Entity.EFCore`. - ([#2571](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2571)) * Support use with SqlClient instrumentation. ([#2280](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2280), [#2829](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2829)) @@ -112,9 +100,6 @@ for [CVE-2024-21907](https://github.com/advisories/GHSA-5crp-9r3c-p9vr). ([#2058](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2058)) * Use 1.12.0 of OpenTelemetry.Instrumentation.Http ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) - * Trace instrumentation no longer sets attributes when running on .NET 9 and - greater because HttpClient now includes native instrumentation which adds - attributes directly. ([#2314](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2314)) * The `http.client.request.duration` histogram (measured in seconds) produced by the metrics instrumentation in this package now uses the Advice API to set default explicit buckets following the OpenTelemetry Specification. ([#2430](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2430)) @@ -124,19 +109,11 @@ `IConfiguration`. ([#1973](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1973)) * Updated to depend on the `OpenTelemetry.Api.ProviderBuilderExtensions` (API) package instead of the OpenTelemetry (SDK) package. ([#1977](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1977)) - * Trace instrumentation will now call the `Activity.SetStatus` API instead of - the deprecated OpenTelemetry API package extension when setting span status. - ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) * The `http.server.request.duration` histogram (measured in seconds) produced by the metrics instrumentation in this package now uses the Advice API to set default explicit buckets following the OpenTelemetry Specification. ([#2430](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2430)) - * Fixed `url.query` value that was incorrectly always set to - `Microsoft.Owin.ReadableStringCollection`. ([#2732](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2732)) * Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Process ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Quartz ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) - * Trace instrumentation will now call the `Activity.SetStatus` API instead of - the deprecated OpenTelemetry API package extension when setting span status. - ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) * Use 1.12.0 of OpenTelemetry.Instrumentation.Runtime ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Built-in .NET `System.Runtime` metrics are reported for .NET 9 and greater. For details about each individual metric check [.NET Runtime metrics docs page](https://learn.microsoft.com/dotnet/core/diagnostics/built-in-metrics-runtime). @@ -149,34 +126,17 @@ [#2277](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2277), [#2262](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2262), [#2279](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2279)) - * The `peer.service` and `server.socket.address` attributes are no longer emitted. - Users should rely on the `server.address` attribute for the same information. - Note that server.address is only included when the `EnableConnectionLevelAttributes` - option is enabled. ([#2229](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2229)) - * When `EnableConnectionLevelAttributes` is enabled, the `server.port` attribute - will now be written as an integer to be compliant with the semantic conventions. - Previously, it was written as a string. ([#2233](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2233)) - * The `EnableConnectionLevelAttributes` option is now enabled by default. ([#2249](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2249)) * The following attributes are now provided when starting an activity for a database call: `db.system`, `db.name` (old conventions), `db.namespace` (new conventions), `server.address`, and `server.port`. These attributes are now available for sampling decisions. ([#2277](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2277)) - * The `SetDbStatementForStoredProcedure` option has been removed. ([#2284](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2284)) * Add support for `metric db.client.operation.duration` from new database semantic conventions on .NET 8+. ([#2309](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2309)) * Add support for metric `db.client.operation.duration` from new database semantic conventions on .NET Framework. ([#2311](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2311)) - * The `EnableConnectionLevelAttributes` option has been removed. ([#2414](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2414)) * The `db.client.operation.duration` histogram (measured in seconds) produced by the metrics instrumentation in this package now uses the Advice API to set default explicit buckets following the OpenTelemetry Specification. ([#2430](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2430)) - * Enabling `SetDbStatementForText` will no longer capture the raw query text. - The query is now sanitized. Literal values in the query text are replaced by - a `?` character. ([#2446](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2446)) - * Fix issue where IPv6 addresses were improperly parsed from the the connection's - `DataSource` when used to populate the `server.address` attribute. ([#2674](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2674)) - * Fixes an issue that throws `IndexOutOfRangeException` in `SqlProcessor` when - the SQL statement ends with the beginning of a keyword such as `UPDATE`. ([#2674](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2674)) * Add the `db.operation.name` attribute when `CommandType` is `StoredProcedure` to conform to the new semantic conventions. This affects you if you have opted into the new conventions. ([#2800](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2800)) @@ -187,18 +147,15 @@ This will remain experimental while the specification remains in development. It is now only available on .NET 8 and newer. ([#2709](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2709)) * Use 1.12.0-beta.2 of OpenTelemetry.Instrumentation.StackExchangeRedis ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) - * Rename span network attributes to comply with v1.23.0 of Semantic Conventions - for Database Client Calls ([#2468](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2468)) * `System.Reflection.Emit.Lightweight` is referenced only by `netstandard2.0`. ([#2667](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2667)) * Add support for early filtering of telemetry collection via a `Filter` option ([#2804](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2804)) + * Rename span network attributes to comply with v1.23.0 of Semantic Conventions + for Database Client Calls ([#2468](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2468)) * Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Wcf ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Added a `RecordException` property to specify if exceptions should be recorded (defaults to `false`). This is only supported by client instrumentation. ([#2271](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2271)) - * Trace instrumentation will now call the `Activity.SetStatus` API instead of - the deprecated OpenTelemetry API package extension when setting span status. - ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) * Preserves `IsReadOnly` state of instrumented HTTP Headers. ([#2716](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2716)) * Use 1.12.0-beta.1 of OpenTelemetry.Resources.Container ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Use 1.12.0-beta.1 of OpenTelemetry.Resources.Host ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) @@ -206,23 +163,78 @@ * Use 1.12.0-beta.1 of OpenTelemetry.Resources.Process ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) * Use 1.12.0-beta.1 of OpenTelemetry.Resources.ProcessRuntime ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) -### New features - -* Enable metrics for SQL Client instrumentation - ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) -* Use 1.0.0-beta.2 of OpenTelemetry.Instrumentation.Cassandra - ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) - ### Bug Fixes * Remove reference on System.Text.Json for `net8.0` target framework ([#136](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/136)) -* Remove dependency on `OpenTelemetry.Instrumentation.MySqlData`. - Add the [MySql.Data.OpenTelemetry](https://www.nuget.org/packages/MySql.Data.OpenTelemetry) - package to your project if you require MySQL instrumentation. **NOTE**: This - NuGet package is licensed under the GPL license which may not be suitable for - all projects. - ([#146](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/146)) +([#146](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/146)) +* Use 1.12.0 of OpenTelemetry ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Fixed a bug in tracing where `TraceState` set by a custom `Sampler` is not + applied when creating propagation-only spans. ([#6058](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6058)) +* Use 1.12.0 of OpenTelemetry.Exporter.OpenTelemetryProtocol ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Non-primitive attribute (logs) and tag (traces) values converted using + * `Convert.ToString` will now format using `CultureInfo.InvariantCulture`. ([#5700](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5700)) + * Fixed an issue causing `NotSupportedException`s to be thrown on startup when + `AddOtlpExporter` registration extensions are called while using custom dependency + injection containers which automatically create services (Unity, Grace, etc.). + ([#5808](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5808)) + * Fixed `PlatformNotSupportedExceptions` being thrown during export when running + * on mobile platforms which caused telemetry to be dropped silently. + ([#5821](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5821)) + * Fixed incorrect log serialization of attributes with null values, causing + some backends to reject logs. ([#6149](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6149)) + * Fixed an issue causing trace exports to fail when Activity.StatusDescription + exceeds 127 bytes. ([#6119](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6119)) + * Fixed a bug in .NET Framework gRPC export client where the default success export + response was incorrectly marked as false, now changed to true, ensuring exports + are correctly marked as successful. ([#6099](https://github.com/open-telemetry/opentelemetry-dotnet/pull/6099))` +* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.AspNet ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Fixed an issue in ASP.NET instrumentation where route extraction failed for + attribute-based routing with multiple HTTP methods sharing the same route template. + ([#2250](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2250)) + * The `http.server.request.duration` histogram (measured in seconds) produced + by the metrics instrumentation in this package now uses the Advice API to set + default explicit buckets following the OpenTelemetry Specification. ([#2430](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2430)) +* Use 1.12.0 of OpenTelemetry.Instrumentation.AWS ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Trace instrumentation will now call the `Activity.SetStatus` API instead of + the deprecated OpenTelemetry API package extension when setting span status. + ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) +* Use 1.12.0 of OpenTelemetry.Instrumentation.AWSLambda ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Trace instrumentation will now call the `Activity.SetStatus` API instead of + the deprecated OpenTelemetry API package extension when setting span status. + ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) + * Trace instrumentation will not fail with an exception if empty `LambdaContext` + instance is passed. ([#2457](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2457)) +* Use 1.12.0-beta.2 of OpenTelemetry.Instrumentation.EntityFrameworkCore ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Trace instrumentation will now call the `Activity.SetStatus` API instead of + the deprecated OpenTelemetry API package extension when setting span status. + ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) + * Fixed attribute `db.system` for `Devart.Data.SQLite.Entity.EFCore`, + `Devart.Data.MySql.Entity.EFCore` and `Devart.Data.PostgreSql.Entity.EFCore`. + ([#2571](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2571)) +* Use 1.12.0 of OpenTelemetry.Instrumentation.Http ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Trace instrumentation no longer sets attributes when running on .NET 9 and + greater because HttpClient now includes native instrumentation which adds + attributes directly. ([#2314](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2314)) +* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Owin ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Trace instrumentation will now call the `Activity.SetStatus` API instead of + the deprecated OpenTelemetry API package extension when setting span status. + ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) + * Fixed `url.query` value that was incorrectly always set to + `Microsoft.Owin.ReadableStringCollection`. ([#2732](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2732)) +* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Quartz ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Trace instrumentation will now call the `Activity.SetStatus` API instead of + the deprecated OpenTelemetry API package extension when setting span status. + ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) +* Use 1.12.0-beta.2 of OpenTelemetry.Instrumentation.SqlClient ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Fix issue where IPv6 addresses were improperly parsed from the the connection's + `DataSource` when used to populate the `server.address` attribute. ([#2674](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2674)) + * Fixes an issue that throws `IndexOutOfRangeException` in `SqlProcessor` when + the SQL statement ends with the beginning of a keyword such as `UPDATE`. ([#2674](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2674)) +* Use 1.12.0-beta.1 of OpenTelemetry.Instrumentation.Wcf ([#145](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/145)) + * Trace instrumentation will now call the `Activity.SetStatus` API instead of + the deprecated OpenTelemetry API package extension when setting span status. + ([#2358](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/2358)) * Use 1.0.0-rc.18 of OpenTelemetry.Instrumentation.Wcf ([#146](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/146))