From bfe39470f67cc0dedb08942dcaa62f905ccd99d1 Mon Sep 17 00:00:00 2001 From: nkomonen-amazon Date: Fri, 21 Feb 2025 12:36:25 -0500 Subject: [PATCH 1/2] add for VisualStudio Signed-off-by: nkomonen-amazon --- .../DefinitionsBuilder.cs | 6 ++++++ .../AwsToolkit.Telemetry.Events/Core/BaseTelemetryEvent.cs | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Core/DefinitionsBuilder.cs b/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Core/DefinitionsBuilder.cs index 098e6be96..07ff5c155 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Core/DefinitionsBuilder.cs +++ b/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Core/DefinitionsBuilder.cs @@ -27,6 +27,7 @@ public class DefinitionsBuilder { "reason", "reasonDesc", + "source", "errorCode", "causedBy", "httpStatusCode", @@ -440,6 +441,11 @@ private CodeMemberMethod CreateRecordMetricMethodByDataClass(Metric metric) tryStatements.Add(new CodeExpressionStatement(new CodeMethodInvokeExpression(datumAddData, new CodePrimitiveExpression("reasonDesc"), payloadReasonDescription))); + // Generate: datum.AddMetadata("source", payload.Source); + var payloadSource = new CodeFieldReferenceExpression(payload, "Source"); + tryStatements.Add(new CodeExpressionStatement(new CodeMethodInvokeExpression(datumAddData, + new CodePrimitiveExpression("source"), payloadSource))); + // Generate: datum.AddMetadata("errorCode", payload.ErrorCode); var payloadErrorCode = new CodeFieldReferenceExpression(payload, "ErrorCode"); tryStatements.Add(new CodeExpressionStatement(new CodeMethodInvokeExpression(datumAddData, diff --git a/telemetry/csharp/AwsToolkit.Telemetry.Events/Core/BaseTelemetryEvent.cs b/telemetry/csharp/AwsToolkit.Telemetry.Events/Core/BaseTelemetryEvent.cs index ba109c479..71d2aa426 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.Events/Core/BaseTelemetryEvent.cs +++ b/telemetry/csharp/AwsToolkit.Telemetry.Events/Core/BaseTelemetryEvent.cs @@ -38,6 +38,13 @@ public abstract class BaseTelemetryEvent /// public string ReasonDescription; + /// + /// The source of the operation. This answers 'who' caused/triggered the operation. + /// Example: did an Auth signout happen because of some expiration or since the user + /// explicitly clicked the signout button. + /// + public string Source; + /// /// Optional - User-friendly error codes describing a failed operation /// This is often used in failure scenarios to provide additional details about why something failed. From 2dcddb03a5b2b436975ad460976338f3e8570b89 Mon Sep 17 00:00:00 2001 From: Christopher Christou Date: Fri, 21 Feb 2025 15:35:20 -0800 Subject: [PATCH 2/2] Update expected test results --- .../SampleData/Outcomes/sampleDefinitions-generated.txt | 7 +++++++ .../SampleData/Outcomes/sampleDefinitions-supplemental.txt | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Tests/SampleData/Outcomes/sampleDefinitions-generated.txt b/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Tests/SampleData/Outcomes/sampleDefinitions-generated.txt index 603935b10..4e2ee5726 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Tests/SampleData/Outcomes/sampleDefinitions-generated.txt +++ b/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Tests/SampleData/Outcomes/sampleDefinitions-generated.txt @@ -58,6 +58,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); @@ -118,6 +119,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); @@ -178,6 +180,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); @@ -246,6 +249,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); @@ -314,6 +318,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); @@ -391,6 +396,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); @@ -451,6 +457,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); diff --git a/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Tests/SampleData/Outcomes/sampleDefinitions-supplemental.txt b/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Tests/SampleData/Outcomes/sampleDefinitions-supplemental.txt index 43c76daa8..c5d70f95f 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Tests/SampleData/Outcomes/sampleDefinitions-supplemental.txt +++ b/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Tests/SampleData/Outcomes/sampleDefinitions-supplemental.txt @@ -58,6 +58,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); @@ -118,6 +119,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); @@ -178,6 +180,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); @@ -246,6 +249,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); @@ -314,6 +318,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); @@ -391,6 +396,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); @@ -451,6 +457,7 @@ namespace Test datum.AddMetadata("awsRegion", payload.AwsRegion); datum.AddMetadata("reason", payload.Reason); datum.AddMetadata("reasonDesc", payload.ReasonDescription); + datum.AddMetadata("source", payload.Source); datum.AddMetadata("errorCode", payload.ErrorCode); datum.AddMetadata("causedBy", payload.CausedBy); datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);