Skip to content

Commit 8387531

Browse files
Add source to C# Telemetry Generator as a common field (#978)
Follow up to: #977 but for VS/C# <!--- REMINDER: - Read CONTRIBUTING.md first. - Add test coverage for your changes. - Link to related issues/commits. - Testing: how did you test your changes? - Screenshots if applicable --> ## License By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Signed-off-by: nkomonen-amazon <[email protected]> Co-authored-by: Christopher Christou <[email protected]>
1 parent 2bd9022 commit 8387531

File tree

4 files changed

+27
-0
lines changed

4 files changed

+27
-0
lines changed

telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Core/DefinitionsBuilder.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public class DefinitionsBuilder
2727
{
2828
"reason",
2929
"reasonDesc",
30+
"source",
3031
"errorCode",
3132
"causedBy",
3233
"httpStatusCode",
@@ -440,6 +441,11 @@ private CodeMemberMethod CreateRecordMetricMethodByDataClass(Metric metric)
440441
tryStatements.Add(new CodeExpressionStatement(new CodeMethodInvokeExpression(datumAddData,
441442
new CodePrimitiveExpression("reasonDesc"), payloadReasonDescription)));
442443

444+
// Generate: datum.AddMetadata("source", payload.Source);
445+
var payloadSource = new CodeFieldReferenceExpression(payload, "Source");
446+
tryStatements.Add(new CodeExpressionStatement(new CodeMethodInvokeExpression(datumAddData,
447+
new CodePrimitiveExpression("source"), payloadSource)));
448+
443449
// Generate: datum.AddMetadata("errorCode", payload.ErrorCode);
444450
var payloadErrorCode = new CodeFieldReferenceExpression(payload, "ErrorCode");
445451
tryStatements.Add(new CodeExpressionStatement(new CodeMethodInvokeExpression(datumAddData,

telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Tests/SampleData/Outcomes/sampleDefinitions-generated.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ namespace Test
5858
datum.AddMetadata("awsRegion", payload.AwsRegion);
5959
datum.AddMetadata("reason", payload.Reason);
6060
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
61+
datum.AddMetadata("source", payload.Source);
6162
datum.AddMetadata("errorCode", payload.ErrorCode);
6263
datum.AddMetadata("causedBy", payload.CausedBy);
6364
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
@@ -118,6 +119,7 @@ namespace Test
118119
datum.AddMetadata("awsRegion", payload.AwsRegion);
119120
datum.AddMetadata("reason", payload.Reason);
120121
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
122+
datum.AddMetadata("source", payload.Source);
121123
datum.AddMetadata("errorCode", payload.ErrorCode);
122124
datum.AddMetadata("causedBy", payload.CausedBy);
123125
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
@@ -178,6 +180,7 @@ namespace Test
178180
datum.AddMetadata("awsRegion", payload.AwsRegion);
179181
datum.AddMetadata("reason", payload.Reason);
180182
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
183+
datum.AddMetadata("source", payload.Source);
181184
datum.AddMetadata("errorCode", payload.ErrorCode);
182185
datum.AddMetadata("causedBy", payload.CausedBy);
183186
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
@@ -246,6 +249,7 @@ namespace Test
246249
datum.AddMetadata("awsRegion", payload.AwsRegion);
247250
datum.AddMetadata("reason", payload.Reason);
248251
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
252+
datum.AddMetadata("source", payload.Source);
249253
datum.AddMetadata("errorCode", payload.ErrorCode);
250254
datum.AddMetadata("causedBy", payload.CausedBy);
251255
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
@@ -314,6 +318,7 @@ namespace Test
314318
datum.AddMetadata("awsRegion", payload.AwsRegion);
315319
datum.AddMetadata("reason", payload.Reason);
316320
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
321+
datum.AddMetadata("source", payload.Source);
317322
datum.AddMetadata("errorCode", payload.ErrorCode);
318323
datum.AddMetadata("causedBy", payload.CausedBy);
319324
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
@@ -391,6 +396,7 @@ namespace Test
391396
datum.AddMetadata("awsRegion", payload.AwsRegion);
392397
datum.AddMetadata("reason", payload.Reason);
393398
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
399+
datum.AddMetadata("source", payload.Source);
394400
datum.AddMetadata("errorCode", payload.ErrorCode);
395401
datum.AddMetadata("causedBy", payload.CausedBy);
396402
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
@@ -451,6 +457,7 @@ namespace Test
451457
datum.AddMetadata("awsRegion", payload.AwsRegion);
452458
datum.AddMetadata("reason", payload.Reason);
453459
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
460+
datum.AddMetadata("source", payload.Source);
454461
datum.AddMetadata("errorCode", payload.ErrorCode);
455462
datum.AddMetadata("causedBy", payload.CausedBy);
456463
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);

telemetry/csharp/AwsToolkit.Telemetry.Events.Generator.Tests/SampleData/Outcomes/sampleDefinitions-supplemental.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ namespace Test
5858
datum.AddMetadata("awsRegion", payload.AwsRegion);
5959
datum.AddMetadata("reason", payload.Reason);
6060
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
61+
datum.AddMetadata("source", payload.Source);
6162
datum.AddMetadata("errorCode", payload.ErrorCode);
6263
datum.AddMetadata("causedBy", payload.CausedBy);
6364
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
@@ -118,6 +119,7 @@ namespace Test
118119
datum.AddMetadata("awsRegion", payload.AwsRegion);
119120
datum.AddMetadata("reason", payload.Reason);
120121
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
122+
datum.AddMetadata("source", payload.Source);
121123
datum.AddMetadata("errorCode", payload.ErrorCode);
122124
datum.AddMetadata("causedBy", payload.CausedBy);
123125
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
@@ -178,6 +180,7 @@ namespace Test
178180
datum.AddMetadata("awsRegion", payload.AwsRegion);
179181
datum.AddMetadata("reason", payload.Reason);
180182
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
183+
datum.AddMetadata("source", payload.Source);
181184
datum.AddMetadata("errorCode", payload.ErrorCode);
182185
datum.AddMetadata("causedBy", payload.CausedBy);
183186
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
@@ -246,6 +249,7 @@ namespace Test
246249
datum.AddMetadata("awsRegion", payload.AwsRegion);
247250
datum.AddMetadata("reason", payload.Reason);
248251
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
252+
datum.AddMetadata("source", payload.Source);
249253
datum.AddMetadata("errorCode", payload.ErrorCode);
250254
datum.AddMetadata("causedBy", payload.CausedBy);
251255
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
@@ -314,6 +318,7 @@ namespace Test
314318
datum.AddMetadata("awsRegion", payload.AwsRegion);
315319
datum.AddMetadata("reason", payload.Reason);
316320
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
321+
datum.AddMetadata("source", payload.Source);
317322
datum.AddMetadata("errorCode", payload.ErrorCode);
318323
datum.AddMetadata("causedBy", payload.CausedBy);
319324
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
@@ -391,6 +396,7 @@ namespace Test
391396
datum.AddMetadata("awsRegion", payload.AwsRegion);
392397
datum.AddMetadata("reason", payload.Reason);
393398
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
399+
datum.AddMetadata("source", payload.Source);
394400
datum.AddMetadata("errorCode", payload.ErrorCode);
395401
datum.AddMetadata("causedBy", payload.CausedBy);
396402
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);
@@ -451,6 +457,7 @@ namespace Test
451457
datum.AddMetadata("awsRegion", payload.AwsRegion);
452458
datum.AddMetadata("reason", payload.Reason);
453459
datum.AddMetadata("reasonDesc", payload.ReasonDescription);
460+
datum.AddMetadata("source", payload.Source);
454461
datum.AddMetadata("errorCode", payload.ErrorCode);
455462
datum.AddMetadata("causedBy", payload.CausedBy);
456463
datum.AddMetadata("httpStatusCode", payload.HttpStatusCode);

telemetry/csharp/AwsToolkit.Telemetry.Events/Core/BaseTelemetryEvent.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,13 @@ public abstract class BaseTelemetryEvent
3838
/// </summary>
3939
public string ReasonDescription;
4040

41+
/// <summary>
42+
/// The source of the operation. This answers 'who' caused/triggered the operation.
43+
/// Example: did an Auth signout happen because of some expiration or since the user
44+
/// explicitly clicked the signout button.
45+
/// </summary>
46+
public string Source;
47+
4148
/// <summary>
4249
/// Optional - User-friendly error codes describing a failed operation
4350
/// This is often used in failure scenarios to provide additional details about why something failed.

0 commit comments

Comments
 (0)