From df02e6368eaeea94005c41f53db8369de20c314f Mon Sep 17 00:00:00 2001 From: xiang17 Date: Wed, 29 Jun 2022 19:18:21 -0700 Subject: [PATCH 1/6] Release Runtime instrumentation version 1.0.0-rc.1 (#477) --- src/OpenTelemetry.Instrumentation.Runtime/CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/OpenTelemetry.Instrumentation.Runtime/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.Runtime/CHANGELOG.md index 3557ac6b8b..150e5ce4aa 100644 --- a/src/OpenTelemetry.Instrumentation.Runtime/CHANGELOG.md +++ b/src/OpenTelemetry.Instrumentation.Runtime/CHANGELOG.md @@ -2,6 +2,11 @@ ## Unreleased +## 1.0.0-rc.1 + +Major refactor of the runtime instrumentation. Renamed API signature and metrics. +Removed the options to turn off certain metrics. + ## 1.0.0-beta.1 Major redesign of the runtime instrumentation. Renamed metrics to be more user-friendly From 3404084a714f802fe0b1fbcba52033bde7f66a47 Mon Sep 17 00:00:00 2001 From: "Eric J. Smith" Date: Wed, 29 Jun 2022 21:26:50 -0500 Subject: [PATCH 2/6] Release StackExchangeRedis 1.0.0-rc9.6 (#472) * Release StackExchangeRedis 1.0.0-rc9.6 --- .../CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/OpenTelemetry.Instrumentation.StackExchangeRedis/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.StackExchangeRedis/CHANGELOG.md index f3a0adf69c..dc45bd3b30 100644 --- a/src/OpenTelemetry.Instrumentation.StackExchangeRedis/CHANGELOG.md +++ b/src/OpenTelemetry.Instrumentation.StackExchangeRedis/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog -## Unreleased +## 1.0.0-rc9.6 + +Released 2022-Jun-29 * Added the EnrichActivityWithTimingEvents option to StackExchangeRedisCallsInstrumentationOptions to be able to disable adding From 0edc79f847da4218eb2e4fe4c30826111240a091 Mon Sep 17 00:00:00 2001 From: chad122 Date: Thu, 30 Jun 2022 10:32:20 +0800 Subject: [PATCH 3/6] update CHANGELOG.md (#470) --- src/OpenTelemetry.Instrumentation.MySqlData/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/OpenTelemetry.Instrumentation.MySqlData/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.MySqlData/CHANGELOG.md index dca310dd3b..69cd226ae4 100644 --- a/src/OpenTelemetry.Instrumentation.MySqlData/CHANGELOG.md +++ b/src/OpenTelemetry.Instrumentation.MySqlData/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## 1.0.0-beta.3 + * Fix incomplete db.statement when the length>300 [(#424)](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/424) From c55fd8d963241a8bd5d94567dbb2f9773e8d1f6c Mon Sep 17 00:00:00 2001 From: Oleksiy Dubinin <88040756+rypdal@users.noreply.github.com> Date: Thu, 30 Jun 2022 07:14:17 +0200 Subject: [PATCH 4/6] Add db.system attribute to the AWS SDK instrumentation. (#418) * Added db.system attribute to the AWS SDK instrumentation (#415) * Aligned code formatting (#415) * - set dynamo db related tag in appropriate method (#415) Co-authored-by: Cijo Thomas Co-authored-by: Prashant Srivastava <50466688+srprash@users.noreply.github.com> --- .../Implementation/AWSSemanticConventions.cs | 2 + .../Implementation/AWSServiceHelper.cs | 54 +++++++++++++++++++ .../AWSTracingPipelineHandler.cs | 45 ++++------------ ...lemetry.Contrib.Instrumentation.AWS.csproj | 3 +- .../TestAWSClientInstrumentation.cs | 1 + 5 files changed, 70 insertions(+), 35 deletions(-) create mode 100644 src/OpenTelemetry.Contrib.Instrumentation.AWS/Implementation/AWSServiceHelper.cs diff --git a/src/OpenTelemetry.Contrib.Instrumentation.AWS/Implementation/AWSSemanticConventions.cs b/src/OpenTelemetry.Contrib.Instrumentation.AWS/Implementation/AWSSemanticConventions.cs index 26665d3458..43090d2c85 100644 --- a/src/OpenTelemetry.Contrib.Instrumentation.AWS/Implementation/AWSSemanticConventions.cs +++ b/src/OpenTelemetry.Contrib.Instrumentation.AWS/Implementation/AWSSemanticConventions.cs @@ -28,5 +28,7 @@ internal static class AWSSemanticConventions public const string AttributeHttpStatusCode = "http.status_code"; public const string AttributeHttpResponseContentLength = "http.response_content_length"; + + public const string AttributeValueDynamoDb = "dynamodb"; } } diff --git a/src/OpenTelemetry.Contrib.Instrumentation.AWS/Implementation/AWSServiceHelper.cs b/src/OpenTelemetry.Contrib.Instrumentation.AWS/Implementation/AWSServiceHelper.cs new file mode 100644 index 0000000000..d884b21003 --- /dev/null +++ b/src/OpenTelemetry.Contrib.Instrumentation.AWS/Implementation/AWSServiceHelper.cs @@ -0,0 +1,54 @@ +// +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +using System; +using System.Collections.Generic; +using Amazon.Runtime; + +namespace OpenTelemetry.Contrib.Instrumentation.AWS.Implementation +{ + internal class AWSServiceHelper + { + internal static IReadOnlyDictionary ServiceParameterMap = new Dictionary() + { + { DynamoDbService, "TableName" }, + { SQSService, "QueueUrl" }, + }; + + internal static IReadOnlyDictionary ParameterAttributeMap = new Dictionary() + { + { "TableName", AWSSemanticConventions.AttributeAWSDynamoTableName }, + { "QueueUrl", AWSSemanticConventions.AttributeAWSSQSQueueUrl }, + }; + + private const string DynamoDbService = "DynamoDBv2"; + private const string SQSService = "SQS"; + + internal static string GetAWSServiceName(IRequestContext requestContext) + => Utils.RemoveAmazonPrefixFromServiceName(requestContext.Request.ServiceName); + + internal static string GetAWSOperationName(IRequestContext requestContext) + { + string completeRequestName = requestContext.OriginalRequest.GetType().Name; + string suffix = "Request"; + var operationName = Utils.RemoveSuffix(completeRequestName, suffix); + return operationName; + } + + internal static bool IsDynamoDbService(string service) + => DynamoDbService.Equals(service, StringComparison.OrdinalIgnoreCase); + } +} diff --git a/src/OpenTelemetry.Contrib.Instrumentation.AWS/Implementation/AWSTracingPipelineHandler.cs b/src/OpenTelemetry.Contrib.Instrumentation.AWS/Implementation/AWSTracingPipelineHandler.cs index f7b5862186..e731aabff4 100644 --- a/src/OpenTelemetry.Contrib.Instrumentation.AWS/Implementation/AWSTracingPipelineHandler.cs +++ b/src/OpenTelemetry.Contrib.Instrumentation.AWS/Implementation/AWSTracingPipelineHandler.cs @@ -37,18 +37,6 @@ internal class AWSTracingPipelineHandler : PipelineHandler carrier[name] = value; }; - private static readonly Dictionary ServiceParameterMap = new Dictionary() - { - { "DynamoDBv2", "TableName" }, - { "SQS", "QueueUrl" }, - }; - - private static readonly Dictionary ParameterAttributeMap = new Dictionary() - { - { "TableName", AWSSemanticConventions.AttributeAWSDynamoTableName }, - { "QueueUrl", AWSSemanticConventions.AttributeAWSSQSQueueUrl }, - }; - private static readonly ActivitySource AWSSDKActivitySource = new ActivitySource(ActivitySourceName); private readonly AWSClientInstrumentationOptions options; @@ -117,8 +105,8 @@ private Activity ProcessBeginRequest(IExecutionContext executionContext) Activity activity = null; var requestContext = executionContext.RequestContext; - var service = this.GetAWSServiceName(requestContext); - var operation = this.GetAWSOperationName(requestContext); + var service = AWSServiceHelper.GetAWSServiceName(requestContext); + var operation = AWSServiceHelper.GetAWSOperationName(requestContext); activity = AWSSDKActivitySource.StartActivity(service + "." + operation, ActivityKind.Client); @@ -192,37 +180,26 @@ private void ProcessException(Activity activity, Exception ex) } } - private string GetAWSServiceName(IRequestContext requestContext) - { - string serviceName = string.Empty; - serviceName = Utils.RemoveAmazonPrefixFromServiceName(requestContext.Request.ServiceName); - return serviceName; - } - - private string GetAWSOperationName(IRequestContext requestContext) - { - string operationName = string.Empty; - string completeRequestName = requestContext.OriginalRequest.GetType().Name; - string suffix = "Request"; - operationName = Utils.RemoveSuffix(completeRequestName, suffix); - return operationName; - } - private void AddRequestSpecificInformation(Activity activity, IRequestContext requestContext, string service) { - AmazonWebServiceRequest request = requestContext.OriginalRequest; - - if (ServiceParameterMap.TryGetValue(service, out string parameter)) + if (AWSServiceHelper.ServiceParameterMap.TryGetValue(service, out string parameter)) { + AmazonWebServiceRequest request = requestContext.OriginalRequest; + var property = request.GetType().GetProperty(parameter); if (property != null) { - if (ParameterAttributeMap.TryGetValue(parameter, out string attribute)) + if (AWSServiceHelper.ParameterAttributeMap.TryGetValue(parameter, out string attribute)) { activity.SetTag(attribute, property.GetValue(request)); } } } + + if (AWSServiceHelper.IsDynamoDbService(service)) + { + activity.SetTag(SemanticConventions.AttributeDbSystem, AWSSemanticConventions.AttributeValueDynamoDb); + } } private void AddStatusCodeToActivity(Activity activity, int status_code) diff --git a/src/OpenTelemetry.Contrib.Instrumentation.AWS/OpenTelemetry.Contrib.Instrumentation.AWS.csproj b/src/OpenTelemetry.Contrib.Instrumentation.AWS/OpenTelemetry.Contrib.Instrumentation.AWS.csproj index 45d4e245b8..01adf3f3f5 100644 --- a/src/OpenTelemetry.Contrib.Instrumentation.AWS/OpenTelemetry.Contrib.Instrumentation.AWS.csproj +++ b/src/OpenTelemetry.Contrib.Instrumentation.AWS/OpenTelemetry.Contrib.Instrumentation.AWS.csproj @@ -1,4 +1,4 @@ - + net452;netstandard2.0 @@ -13,5 +13,6 @@ + diff --git a/test/OpenTelemetry.Contrib.Instrumentation.AWS.Tests/TestAWSClientInstrumentation.cs b/test/OpenTelemetry.Contrib.Instrumentation.AWS.Tests/TestAWSClientInstrumentation.cs index e4ec96ee6b..b17a0567aa 100644 --- a/test/OpenTelemetry.Contrib.Instrumentation.AWS.Tests/TestAWSClientInstrumentation.cs +++ b/test/OpenTelemetry.Contrib.Instrumentation.AWS.Tests/TestAWSClientInstrumentation.cs @@ -179,6 +179,7 @@ private void ValidateDynamoActivityTags(Activity ddb_activity) Assert.Equal("Scan", Utils.GetTagValue(ddb_activity, "aws.operation")); Assert.Equal("us-east-1", Utils.GetTagValue(ddb_activity, "aws.region")); Assert.Equal("SampleProduct", Utils.GetTagValue(ddb_activity, "aws.table_name")); + Assert.Equal("dynamodb", Utils.GetTagValue(ddb_activity, "db.system")); } private void ValidateSqsActivityTags(Activity sqs_activity) From dafb2ef6d73eddbeb8e9601ca76f405b1449319d Mon Sep 17 00:00:00 2001 From: Utkarsh Umesan Pillai Date: Thu, 30 Jun 2022 14:13:33 -0700 Subject: [PATCH 5/6] Update CHANGELOG files to use a consistent date format (#479) --- CONTRIBUTING.md | 12 +++++++++-- .../CHANGELOG.md | 12 ++++++++--- .../CHANGELOG.md | 4 +++- .../CHANGELOG.md | 4 +++- .../CHANGELOG.md | 20 ++++++++++++++----- .../CHANGELOG.md | 12 ++++++++--- .../CHANGELOG.md | 2 ++ .../CHANGELOG.md | 2 ++ 8 files changed, 53 insertions(+), 15 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e182294952..0a1e590110 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -138,8 +138,16 @@ and the new feature doesn't fit it. ### How to request for release of package * Submit a PR with `CHANGELOG.md` file reflecting the version to be released -along with the date in the following format `[yyyy-MMM-dd`]`. For example: -"1.2.0-beta.2 [2022-May-15]". +along with the date in the following format `yyyy-MMM-dd`. + +For example: + +```text +## 1.2.0-beta.2 + +Released 2022-Jun-21 +``` + * Tag the maintainers of this repository (@open-telemetry/dotnet-contrib-maintainers) who can release the package. diff --git a/src/OpenTelemetry.Contrib.Extensions.AWSXRay/CHANGELOG.md b/src/OpenTelemetry.Contrib.Extensions.AWSXRay/CHANGELOG.md index 67369c91e6..57cbf9f241 100644 --- a/src/OpenTelemetry.Contrib.Extensions.AWSXRay/CHANGELOG.md +++ b/src/OpenTelemetry.Contrib.Extensions.AWSXRay/CHANGELOG.md @@ -6,7 +6,9 @@ instance instead of recreating with ThreadLocal ([#380](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/380)) -## 1.2.0 [2022-May-18] +## 1.2.0 + +Released 2022-May-18 * Enhancement - AWSEKSResourceDetector - Validate ClusterName/ContainerID independently before adding it to the resource @@ -15,13 +17,17 @@ "The SSL connection could not be established" ([#208](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/208)) -## 1.1.0 [2021-Sept-20] +## 1.1.0 + +Released 2021-Sept-20 * Added AWS resource detectors ([#149](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/149)) * Updated OTel SDK package version to 1.1.0 ([#100](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/100)) -## 1.0.1 [2021-Feb-24] +## 1.0.1 + +Released 2021-Feb-24 This is the first release for the `OpenTelemetry.Contrib.Extensions.AWSXRay` project. The project targets v1.0.1 of the [OpenTelemetry diff --git a/src/OpenTelemetry.Contrib.Instrumentation.AWS/CHANGELOG.md b/src/OpenTelemetry.Contrib.Instrumentation.AWS/CHANGELOG.md index ea1991daf8..0e903ec307 100644 --- a/src/OpenTelemetry.Contrib.Instrumentation.AWS/CHANGELOG.md +++ b/src/OpenTelemetry.Contrib.Instrumentation.AWS/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog - OpenTelemetry.Contrib.Instrumentation.AWS -## 1.0.1 [2021-Feb-24] +## 1.0.1 + +Released 2021-Feb-24 This is the first release for the `OpenTelemetry.Contrib.Instrumentation.AWS` project. The release targets v1.0.1 of the diff --git a/src/OpenTelemetry.Contrib.Instrumentation.AWSLambda/CHANGELOG.md b/src/OpenTelemetry.Contrib.Instrumentation.AWSLambda/CHANGELOG.md index df08983d54..8928f2bfc5 100644 --- a/src/OpenTelemetry.Contrib.Instrumentation.AWSLambda/CHANGELOG.md +++ b/src/OpenTelemetry.Contrib.Instrumentation.AWSLambda/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog - OpenTelemetry.Contrib.Instrumentation.AWSLambda -## 1.1.0-beta1 [2021-May-26] +## 1.1.0-beta1 + +Released 2021-May-26 This is the first release for the `OpenTelemetry.Contrib.Instrumentation.AWSLambda` project. The project targets v1.1.0-beta1 of the [OpenTelemetry diff --git a/src/OpenTelemetry.Exporter.Geneva/CHANGELOG.md b/src/OpenTelemetry.Exporter.Geneva/CHANGELOG.md index 6a6d7e957e..66bf8e7480 100644 --- a/src/OpenTelemetry.Exporter.Geneva/CHANGELOG.md +++ b/src/OpenTelemetry.Exporter.Geneva/CHANGELOG.md @@ -20,12 +20,16 @@ by throwing any exception caught by `UnixDomainSocketDataTransport.Send` so that `ExportResult.Failure`. [444](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/444) -## 1.3.0-beta.2 [2022-Jun-03] +## 1.3.0-beta.2 + +Released 2022-Jun-03 * Add support for exporting `ILogger` scopes. [390](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/390) -## 1.3.0-beta.1 [2022-May-27] +## 1.3.0-beta.1 + +Released 2022-May-27 * Enable PassThru TableNameMappings using the logger category name. [345](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/345) @@ -44,12 +48,16 @@ by throwing any exception caught by `UnixDomainSocketDataTransport.Send` so that `LogRecord.Exception.GetType().FullName`. [375](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/375) -## 1.2.6 [2022-Apr-21] +## 1.2.6 + +Released 2022-Apr-21 * Set GenevaMetricExporter temporality preference back to Delta. [323](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/323) -## 1.2.5 [2022-Apr-20] Broken +## 1.2.5 Broken + +Released 2022-Apr-20 Note: This release was broken due to the GenevaMetricExporter using a TemporalityPreference of Cumulative instead of Delta, it has been unlisted from @@ -60,7 +68,9 @@ is the PR that introduced this bug to GenevaMetricExporterExtensions.cs * Update OTel SDK version to `1.2.0`. [319](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/319) -## 1.2.4 [2022-Apr-20] Broken +## 1.2.4 Broken + +Released 2022-Apr-20 This is the first release of the `OpenTelemetry.Exporter.Geneva` project. Note: This release was broken due to using OpenTelemetry 1.2.0-rc5. Therefore, it has diff --git a/src/OpenTelemetry.Exporter.Instana/CHANGELOG.md b/src/OpenTelemetry.Exporter.Instana/CHANGELOG.md index 78dcba1e6c..4bb688b84f 100644 --- a/src/OpenTelemetry.Exporter.Instana/CHANGELOG.md +++ b/src/OpenTelemetry.Exporter.Instana/CHANGELOG.md @@ -2,17 +2,23 @@ ## Unreleased -## 1.0.2 [2022-Jun-02] +## 1.0.2 + +Released 2022-Jun-02 * Application is chrashing if environment variables are not defined [385](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/385) -## 1.0.1 [2022-May-25] +## 1.0.1 + +Released 2022-May-25 * Instana span duration was not calculated correctly [376](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/376) -## 1.0.0 [2022-May-24] +## 1.0.0 + +Released 2022-May-24 * This is the first release of the `OpenTelemetry.Exporter.Instana` project. diff --git a/src/OpenTelemetry.Instrumentation.MySqlData/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.MySqlData/CHANGELOG.md index 69cd226ae4..4d88e85de9 100644 --- a/src/OpenTelemetry.Instrumentation.MySqlData/CHANGELOG.md +++ b/src/OpenTelemetry.Instrumentation.MySqlData/CHANGELOG.md @@ -4,6 +4,8 @@ ## 1.0.0-beta.3 +Released 2022-Jun-29 + * Fix incomplete db.statement when the length>300 [(#424)](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/424) diff --git a/src/OpenTelemetry.Instrumentation.Runtime/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.Runtime/CHANGELOG.md index 150e5ce4aa..6d326578d0 100644 --- a/src/OpenTelemetry.Instrumentation.Runtime/CHANGELOG.md +++ b/src/OpenTelemetry.Instrumentation.Runtime/CHANGELOG.md @@ -4,6 +4,8 @@ ## 1.0.0-rc.1 +Released 2022-Jun-29 + Major refactor of the runtime instrumentation. Renamed API signature and metrics. Removed the options to turn off certain metrics. From 5722bba06961a7069ee59583b0ced2e56a2164c2 Mon Sep 17 00:00:00 2001 From: Utkarsh Umesan Pillai Date: Thu, 30 Jun 2022 14:59:40 -0700 Subject: [PATCH 6/6] Minor edit (#481) --- src/OpenTelemetry.Contrib.Extensions.AWSXRay/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OpenTelemetry.Contrib.Extensions.AWSXRay/CHANGELOG.md b/src/OpenTelemetry.Contrib.Extensions.AWSXRay/CHANGELOG.md index 57cbf9f241..b3ffec18f8 100644 --- a/src/OpenTelemetry.Contrib.Extensions.AWSXRay/CHANGELOG.md +++ b/src/OpenTelemetry.Contrib.Extensions.AWSXRay/CHANGELOG.md @@ -19,7 +19,7 @@ Released 2022-May-18 ## 1.1.0 -Released 2021-Sept-20 +Released 2021-Sep-20 * Added AWS resource detectors ([#149](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/149)) * Updated OTel SDK package version to 1.1.0