From e013e0f7a75efce2afd1183f53c3d7da6be82867 Mon Sep 17 00:00:00 2001 From: Yun-Ting Date: Mon, 10 Oct 2022 17:38:11 -0700 Subject: [PATCH 1/9] initial commit --- .../Implementation/SqlClientDiagnosticListener.cs | 4 ++-- .../Implementation/SqlEventSourceListener.netfx.cs | 6 +++--- .../SqlClientTests.cs | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlClientDiagnosticListener.cs b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlClientDiagnosticListener.cs index 4f360bcbf18..e80e2d4245a 100644 --- a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlClientDiagnosticListener.cs +++ b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlClientDiagnosticListener.cs @@ -150,7 +150,7 @@ public override void OnEventWritten(string name, object payload) { if (activity.IsAllDataRequested) { - activity.SetStatus(Status.Unset); + activity.SetStatus(ActivityStatusCode.Unset); } } finally @@ -180,7 +180,7 @@ public override void OnEventWritten(string name, object payload) { if (this.exceptionFetcher.TryFetch(payload, out Exception exception) && exception != null) { - activity.SetStatus(Status.Error.WithDescription(exception.Message)); + activity.SetStatus(ActivityStatusCode.Error, exception.Message); if (this.options.RecordException) { diff --git a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs index 9417df4798d..9a4f828f699 100644 --- a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs +++ b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs @@ -183,16 +183,16 @@ private void OnEndExecute(EventWrittenEventArgs eventData) int compositeState = (int)eventData.Payload[1]; if ((compositeState & 0b001) == 0b001) { - activity.SetStatus(Status.Unset); + activity.SetStatus(ActivityStatusCode.Unset); } else if ((compositeState & 0b010) == 0b010) { var errorText = $"SqlExceptionNumber {eventData.Payload[2]} thrown."; - activity.SetStatus(Status.Error.WithDescription(errorText)); + activity.SetStatus(ActivityStatusCode.Error, errorText); } else { - activity.SetStatus(Status.Error.WithDescription("Unknown Sql failure.")); + activity.SetStatus(ActivityStatusCode.Error, "Unknown Sql failure."); } } } diff --git a/test/OpenTelemetry.Instrumentation.SqlClient.Tests/SqlClientTests.cs b/test/OpenTelemetry.Instrumentation.SqlClient.Tests/SqlClientTests.cs index 6c1979d0d58..68cc737246d 100644 --- a/test/OpenTelemetry.Instrumentation.SqlClient.Tests/SqlClientTests.cs +++ b/test/OpenTelemetry.Instrumentation.SqlClient.Tests/SqlClientTests.cs @@ -326,13 +326,13 @@ private static void VerifyActivityData( if (!isFailure) { - Assert.Equal(Status.Unset, activity.GetStatus()); + Assert.Equal(ActivityStatusCode.Unset, activity.Status); } else { var status = activity.GetStatus(); - Assert.Equal(Status.Error.StatusCode, status.StatusCode); - Assert.NotNull(status.Description); + Assert.Equal(ActivityStatusCode.Error, activity.Status); + Assert.NotNull(activity.StatusDescription); if (recordException) { From c05cca5ce2ae239a7bb44c3a9c576b57f6ffe69d Mon Sep 17 00:00:00 2001 From: Yun-Ting Date: Mon, 10 Oct 2022 17:42:44 -0700 Subject: [PATCH 2/9] changelog --- src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md index 23af195b8d5..2e58d4f0fcd 100644 --- a/src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md +++ b/src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md @@ -2,6 +2,11 @@ ## Unreleased +* Updated to use Activity native support from `System.Diagnostics.DiagnosticSource` + to set activity status. + ([#3118](https://github.com/open-telemetry/opentelemetry-dotnet/issues/3118)) + ([#3751](https://github.com/open-telemetry/opentelemetry-dotnet/pull/3751)) + ## 1.0.0-rc9.7 Released 2022-Sep-29 From 3bbd8273779edb64fa1604fc883a57b44d3edb95 Mon Sep 17 00:00:00 2001 From: Yun-Ting Date: Mon, 10 Oct 2022 18:00:39 -0700 Subject: [PATCH 3/9] fix --- .../SqlEventSourceTests.netfx.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/test/OpenTelemetry.Instrumentation.SqlClient.Tests/SqlEventSourceTests.netfx.cs b/test/OpenTelemetry.Instrumentation.SqlClient.Tests/SqlEventSourceTests.netfx.cs index 66c3264cf6c..0db32cfdd4e 100644 --- a/test/OpenTelemetry.Instrumentation.SqlClient.Tests/SqlEventSourceTests.netfx.cs +++ b/test/OpenTelemetry.Instrumentation.SqlClient.Tests/SqlEventSourceTests.netfx.cs @@ -276,13 +276,12 @@ private static void VerifyActivityData( if (!isFailure) { - Assert.Equal(Status.Unset, activity.GetStatus()); + Assert.Equal(ActivityStatusCode.Unset, activity.Status); } else { - var status = activity.GetStatus(); - Assert.Equal(Status.Error.StatusCode, status.StatusCode); - Assert.NotNull(status.Description); + Assert.Equal(ActivityStatusCode.Error, activity.Status); + Assert.NotNull(activity.StatusDescription); } } From 77768cb35040908851607ba377bd784b5bd18562 Mon Sep 17 00:00:00 2001 From: Yun-Ting Lin Date: Tue, 11 Oct 2022 10:01:15 -0700 Subject: [PATCH 4/9] Update src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md Co-authored-by: Utkarsh Umesan Pillai --- src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md index 2e58d4f0fcd..06edc2cade4 100644 --- a/src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md +++ b/src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md @@ -2,7 +2,9 @@ ## Unreleased -* Updated to use Activity native support from `System.Diagnostics.DiagnosticSource` +* Use `Activity.Status` and `Activity.StatusDescription` properties instead of + `OpenTelemetry.Trace.Status` and `OpenTelemetry.Trace.Status.Description` + respectively. to set activity status. ([#3118](https://github.com/open-telemetry/opentelemetry-dotnet/issues/3118)) ([#3751](https://github.com/open-telemetry/opentelemetry-dotnet/pull/3751)) From db64a2f9edba50162ff655cbf9c37d9437b9d82c Mon Sep 17 00:00:00 2001 From: Yun-Ting Date: Tue, 11 Oct 2022 10:14:41 -0700 Subject: [PATCH 5/9] comment --- .../Implementation/SqlClientDiagnosticListener.cs | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlClientDiagnosticListener.cs b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlClientDiagnosticListener.cs index e80e2d4245a..aa6f2ccc4e3 100644 --- a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlClientDiagnosticListener.cs +++ b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlClientDiagnosticListener.cs @@ -146,17 +146,7 @@ public override void OnEventWritten(string name, object payload) return; } - try - { - if (activity.IsAllDataRequested) - { - activity.SetStatus(ActivityStatusCode.Unset); - } - } - finally - { - activity.Stop(); - } + activity.Stop(); } break; From 6474e650ac9214e2d26aaa09182d5a75c2d1b189 Mon Sep 17 00:00:00 2001 From: Yun-Ting Date: Tue, 11 Oct 2022 13:32:52 -0700 Subject: [PATCH 6/9] comments --- src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md | 3 +-- .../Implementation/SqlEventSourceListener.netfx.cs | 6 +----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md index 06edc2cade4..9fca6a77d4e 100644 --- a/src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md +++ b/src/OpenTelemetry.Instrumentation.SqlClient/CHANGELOG.md @@ -4,8 +4,7 @@ * Use `Activity.Status` and `Activity.StatusDescription` properties instead of `OpenTelemetry.Trace.Status` and `OpenTelemetry.Trace.Status.Description` - respectively. - to set activity status. + respectively to set activity status. ([#3118](https://github.com/open-telemetry/opentelemetry-dotnet/issues/3118)) ([#3751](https://github.com/open-telemetry/opentelemetry-dotnet/pull/3751)) diff --git a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs index 9a4f828f699..1ec61ac0f8d 100644 --- a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs +++ b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs @@ -181,11 +181,7 @@ private void OnEndExecute(EventWrittenEventArgs eventData) if (activity.IsAllDataRequested) { int compositeState = (int)eventData.Payload[1]; - if ((compositeState & 0b001) == 0b001) - { - activity.SetStatus(ActivityStatusCode.Unset); - } - else if ((compositeState & 0b010) == 0b010) + if ((compositeState & 0b010) == 0b010) { var errorText = $"SqlExceptionNumber {eventData.Payload[2]} thrown."; activity.SetStatus(ActivityStatusCode.Error, errorText); From e57006bf5ea90e25f4fa893dd35fd830f7fe9719 Mon Sep 17 00:00:00 2001 From: Yun-Ting Date: Tue, 11 Oct 2022 14:49:40 -0700 Subject: [PATCH 7/9] fix test --- .../Implementation/SqlEventSourceListener.netfx.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs index 1ec61ac0f8d..4751be287cc 100644 --- a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs +++ b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs @@ -181,7 +181,12 @@ private void OnEndExecute(EventWrittenEventArgs eventData) if (activity.IsAllDataRequested) { int compositeState = (int)eventData.Payload[1]; - if ((compositeState & 0b010) == 0b010) + + if ((compositeState & 0b001) == 0b001) + { + activity.SetStatus(ActivityStatusCode.Unset); + } + else if ((compositeState & 0b010) == 0b010) { var errorText = $"SqlExceptionNumber {eventData.Payload[2]} thrown."; activity.SetStatus(ActivityStatusCode.Error, errorText); From 55386f744957e25c181f8a87683c099acd90bcef Mon Sep 17 00:00:00 2001 From: Yun-Ting Date: Wed, 12 Oct 2022 11:29:39 -0700 Subject: [PATCH 8/9] comment --- .../SqlEventSourceListener.netfx.cs | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs index 4751be287cc..39ddf14674f 100644 --- a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs +++ b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs @@ -182,18 +182,17 @@ private void OnEndExecute(EventWrittenEventArgs eventData) { int compositeState = (int)eventData.Payload[1]; - if ((compositeState & 0b001) == 0b001) + if (compositeState != 0b001) { - activity.SetStatus(ActivityStatusCode.Unset); - } - else if ((compositeState & 0b010) == 0b010) - { - var errorText = $"SqlExceptionNumber {eventData.Payload[2]} thrown."; - activity.SetStatus(ActivityStatusCode.Error, errorText); - } - else - { - activity.SetStatus(ActivityStatusCode.Error, "Unknown Sql failure."); + if ((compositeState & 0b010) == 0b010) + { + var errorText = $"SqlExceptionNumber {eventData.Payload[2]} thrown."; + activity.SetStatus(ActivityStatusCode.Error, errorText); + } + else + { + activity.SetStatus(ActivityStatusCode.Error, "Unknown Sql failure."); + } } } } From 87800397227bea0dacbbdaf3c2fb85e789ad48cc Mon Sep 17 00:00:00 2001 From: Yun-Ting Date: Wed, 12 Oct 2022 11:54:44 -0700 Subject: [PATCH 9/9] fix --- .../Implementation/SqlEventSourceListener.netfx.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs index 39ddf14674f..fde30c97575 100644 --- a/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs +++ b/src/OpenTelemetry.Instrumentation.SqlClient/Implementation/SqlEventSourceListener.netfx.cs @@ -181,8 +181,7 @@ private void OnEndExecute(EventWrittenEventArgs eventData) if (activity.IsAllDataRequested) { int compositeState = (int)eventData.Payload[1]; - - if (compositeState != 0b001) + if ((compositeState & 0b001) != 0b001) { if ((compositeState & 0b010) == 0b010) {