From bbd4968449a0d186fe623300625971e1b92813cd Mon Sep 17 00:00:00 2001 From: Shruti Sinha Date: Fri, 12 Sep 2025 10:54:32 -0700 Subject: [PATCH 1/7] Migrate C# telemetry generator to use .NET AWSSDK v4 --- .../Generated/GeneratedCode.cs | 7962 ++++++++++++----- .../AwsToolkit.Telemetry.SDK.csproj | 2 +- .../AwsToolkit.Telemetry.SDK.nuspec | 2 +- telemetry/csharp/TelemetryClient.proj | 2 +- .../client-generator-inputs/sdk-versions.json | 4 +- .../telemetry-2017-07-25.customizations.json | 9 +- 6 files changed, 5622 insertions(+), 2359 deletions(-) diff --git a/telemetry/csharp/AwsToolkit.Telemetry.Events.Tests/Generated/GeneratedCode.cs b/telemetry/csharp/AwsToolkit.Telemetry.Events.Tests/Generated/GeneratedCode.cs index c9a70085c..862c1dec1 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.Events.Tests/Generated/GeneratedCode.cs +++ b/telemetry/csharp/AwsToolkit.Telemetry.Events.Tests/Generated/GeneratedCode.cs @@ -57,6 +57,7 @@ public static void RecordAccessanalyzerIamPolicyChecksCustomChecks(this ITelemet 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); @@ -131,6 +132,7 @@ public static void RecordAccessanalyzerIamPolicyChecksValidatePolicy(this ITelem 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); @@ -168,8 +170,8 @@ public static void RecordAccessanalyzerIamPolicyChecksValidatePolicy(this ITelem } /// Records Telemetry Event: - /// Captures Approach generation process - public static void RecordAmazonqApproachInvoke(this ITelemetryLogger telemetryLogger, AmazonqApproachInvoke payload, Func transformDatum = null) + /// An active user is when the user sends a message, and the user will be considered active until the remainder of the time window + public static void RecordAmazonqActiveUser(this ITelemetryLogger telemetryLogger, AmazonqActiveUser payload, Func transformDatum = null) { try { @@ -185,7 +187,7 @@ public static void RecordAmazonqApproachInvoke(this ITelemetryLogger telemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "amazonq_approachInvoke"; + datum.MetricName = "amazonq_activeUser"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -201,6 +203,7 @@ public static void RecordAmazonqApproachInvoke(this ITelemetryLogger telemetryLo 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); @@ -215,18 +218,9 @@ public static void RecordAmazonqApproachInvoke(this ITelemetryLogger telemetryLo } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); - - datum.AddMetadata("amazonqGenerateApproachIteration", payload.AmazonqGenerateApproachIteration); - - datum.AddMetadata("amazonqGenerateApproachLatency", payload.AmazonqGenerateApproachLatency); - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - if (payload.Result.HasValue) - { - datum.AddMetadata("result", payload.Result.Value); - } + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -241,8 +235,8 @@ public static void RecordAmazonqApproachInvoke(this ITelemetryLogger telemetryLo } /// Records Telemetry Event: - /// User clicked on the thumbs down button to say that they are unsatisfied - public static void RecordAmazonqApproachThumbsDown(this ITelemetryLogger telemetryLogger, AmazonqApproachThumbsDown payload, Func transformDatum = null) + /// When a message is added to the conversation + public static void RecordAmazonqAddMessage(this ITelemetryLogger telemetryLogger, AmazonqAddMessage payload, Func transformDatum = null) { try { @@ -258,8 +252,8 @@ public static void RecordAmazonqApproachThumbsDown(this ITelemetryLogger telemet metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "amazonq_approachThumbsDown"; - datum.Unit = Unit.Count; + datum.MetricName = "amazonq_addMessage"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -274,6 +268,7 @@ public static void RecordAmazonqApproachThumbsDown(this ITelemetryLogger telemet 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); @@ -288,10 +283,216 @@ public static void RecordAmazonqApproachThumbsDown(this ITelemetryLogger telemet } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); + datum.AddMetadata("codewhispererCustomizationArn", payload.CodewhispererCustomizationArn); datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + if (payload.CwsprChatActiveEditorImportCount.HasValue) + { + datum.AddMetadata("cwsprChatActiveEditorImportCount", payload.CwsprChatActiveEditorImportCount.Value); + } + + if (payload.CwsprChatActiveEditorTotalCharacters.HasValue) + { + datum.AddMetadata("cwsprChatActiveEditorTotalCharacters", payload.CwsprChatActiveEditorTotalCharacters.Value); + } + + if (payload.CwsprChatCodeContextCount.HasValue) + { + datum.AddMetadata("cwsprChatCodeContextCount", payload.CwsprChatCodeContextCount.Value); + } + + if (payload.CwsprChatCodeContextLength.HasValue) + { + datum.AddMetadata("cwsprChatCodeContextLength", payload.CwsprChatCodeContextLength.Value); + } + + if (payload.CwsprChatCodeContextTruncatedLength.HasValue) + { + datum.AddMetadata("cwsprChatCodeContextTruncatedLength", payload.CwsprChatCodeContextTruncatedLength.Value); + } + + datum.AddMetadata("cwsprChatConversationId", payload.CwsprChatConversationId); + + datum.AddMetadata("cwsprChatConversationType", payload.CwsprChatConversationType); + + if (payload.CwsprChatFileContextCount.HasValue) + { + datum.AddMetadata("cwsprChatFileContextCount", payload.CwsprChatFileContextCount.Value); + } + + if (payload.CwsprChatFileContextLength.HasValue) + { + datum.AddMetadata("cwsprChatFileContextLength", payload.CwsprChatFileContextLength.Value); + } + + if (payload.CwsprChatFileContextTruncatedLength.HasValue) + { + datum.AddMetadata("cwsprChatFileContextTruncatedLength", payload.CwsprChatFileContextTruncatedLength.Value); + } + + if (payload.CwsprChatFocusFileContextLength.HasValue) + { + datum.AddMetadata("cwsprChatFocusFileContextLength", payload.CwsprChatFocusFileContextLength.Value); + } + + if (payload.CwsprChatFocusFileContextTruncatedLength.HasValue) + { + datum.AddMetadata("cwsprChatFocusFileContextTruncatedLength", payload.CwsprChatFocusFileContextTruncatedLength.Value); + } + + if (payload.CwsprChatFolderContextCount.HasValue) + { + datum.AddMetadata("cwsprChatFolderContextCount", payload.CwsprChatFolderContextCount.Value); + } + + if (payload.CwsprChatFollowUpCount.HasValue) + { + datum.AddMetadata("cwsprChatFollowUpCount", payload.CwsprChatFollowUpCount.Value); + } + + if (payload.CwsprChatFullDisplayLatency.HasValue) + { + datum.AddMetadata("cwsprChatFullDisplayLatency", payload.CwsprChatFullDisplayLatency.Value); + } + + datum.AddMetadata("cwsprChatFullResponseLatency", payload.CwsprChatFullResponseLatency); + + if (payload.CwsprChatFullServerResponseLatency.HasValue) + { + datum.AddMetadata("cwsprChatFullServerResponseLatency", payload.CwsprChatFullServerResponseLatency.Value); + } + + if (payload.CwsprChatHasCodeSnippet.HasValue) + { + datum.AddMetadata("cwsprChatHasCodeSnippet", payload.CwsprChatHasCodeSnippet.Value); + } + + if (payload.CwsprChatHasContextList.HasValue) + { + datum.AddMetadata("cwsprChatHasContextList", payload.CwsprChatHasContextList.Value); + } + + if (payload.CwsprChatHasProjectContext.HasValue) + { + datum.AddMetadata("cwsprChatHasProjectContext", payload.CwsprChatHasProjectContext.Value); + } + + datum.AddMetadata("cwsprChatMessageId", payload.CwsprChatMessageId); + + datum.AddMetadata("cwsprChatProgrammingLanguage", payload.CwsprChatProgrammingLanguage); + + if (payload.CwsprChatProjectContextQueryMs.HasValue) + { + datum.AddMetadata("cwsprChatProjectContextQueryMs", payload.CwsprChatProjectContextQueryMs.Value); + } + + if (payload.CwsprChatPromptContextCount.HasValue) + { + datum.AddMetadata("cwsprChatPromptContextCount", payload.CwsprChatPromptContextCount.Value); + } + + if (payload.CwsprChatPromptContextLength.HasValue) + { + datum.AddMetadata("cwsprChatPromptContextLength", payload.CwsprChatPromptContextLength.Value); + } + + if (payload.CwsprChatPromptContextTruncatedLength.HasValue) + { + datum.AddMetadata("cwsprChatPromptContextTruncatedLength", payload.CwsprChatPromptContextTruncatedLength.Value); + } + + if (payload.CwsprChatReferencesCount.HasValue) + { + datum.AddMetadata("cwsprChatReferencesCount", payload.CwsprChatReferencesCount.Value); + } + + datum.AddMetadata("cwsprChatRequestLength", payload.CwsprChatRequestLength); + + datum.AddMetadata("cwsprChatResponseCode", payload.CwsprChatResponseCode); + + if (payload.CwsprChatResponseCodeSnippetCount.HasValue) + { + datum.AddMetadata("cwsprChatResponseCodeSnippetCount", payload.CwsprChatResponseCodeSnippetCount.Value); + } + + if (payload.CwsprChatResponseLength.HasValue) + { + datum.AddMetadata("cwsprChatResponseLength", payload.CwsprChatResponseLength.Value); + } + + if (payload.CwsprChatRuleContextCount.HasValue) + { + datum.AddMetadata("cwsprChatRuleContextCount", payload.CwsprChatRuleContextCount.Value); + } + + if (payload.CwsprChatRuleContextLength.HasValue) + { + datum.AddMetadata("cwsprChatRuleContextLength", payload.CwsprChatRuleContextLength.Value); + } + + if (payload.CwsprChatRuleContextTruncatedLength.HasValue) + { + datum.AddMetadata("cwsprChatRuleContextTruncatedLength", payload.CwsprChatRuleContextTruncatedLength.Value); + } + + if (payload.CwsprChatSourceLinkCount.HasValue) + { + datum.AddMetadata("cwsprChatSourceLinkCount", payload.CwsprChatSourceLinkCount.Value); + } + + datum.AddMetadata("cwsprChatTimeBetweenChunks", payload.CwsprChatTimeBetweenChunks); + + datum.AddMetadata("cwsprChatTimeBetweenDisplays", payload.CwsprChatTimeBetweenDisplays); + + datum.AddMetadata("cwsprChatTimeToFirstChunk", payload.CwsprChatTimeToFirstChunk); + + if (payload.CwsprChatTimeToFirstDisplay.HasValue) + { + datum.AddMetadata("cwsprChatTimeToFirstDisplay", payload.CwsprChatTimeToFirstDisplay.Value); + } + + if (payload.CwsprChatTimeToFirstUsableChunk.HasValue) + { + datum.AddMetadata("cwsprChatTimeToFirstUsableChunk", payload.CwsprChatTimeToFirstUsableChunk.Value); + } + + datum.AddMetadata("cwsprChatTriggerInteraction", payload.CwsprChatTriggerInteraction); + + if (payload.CwsprChatUserInputContextLength.HasValue) + { + datum.AddMetadata("cwsprChatUserInputContextLength", payload.CwsprChatUserInputContextLength.Value); + } + + if (payload.CwsprChatUserInputContextTruncatedLength.HasValue) + { + datum.AddMetadata("cwsprChatUserInputContextTruncatedLength", payload.CwsprChatUserInputContextTruncatedLength.Value); + } + + if (payload.CwsprChatUserIntent.HasValue) + { + datum.AddMetadata("cwsprChatUserIntent", payload.CwsprChatUserIntent.Value); + } + + if (payload.CwsprChatWorkspaceContextLength.HasValue) + { + datum.AddMetadata("cwsprChatWorkspaceContextLength", payload.CwsprChatWorkspaceContextLength.Value); + } + + if (payload.CwsprChatWorkspaceContextTruncatedLength.HasValue) + { + datum.AddMetadata("cwsprChatWorkspaceContextTruncatedLength", payload.CwsprChatWorkspaceContextTruncatedLength.Value); + } + + if (payload.Enabled.HasValue) + { + datum.AddMetadata("enabled", payload.Enabled.Value); + } + + datum.AddMetadata("languageServerVersion", payload.LanguageServerVersion); + + datum.AddMetadata("requestIds", payload.RequestIds); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -305,8 +506,8 @@ public static void RecordAmazonqApproachThumbsDown(this ITelemetryLogger telemet } /// Records Telemetry Event: - /// User clicked on the thumbs up button, to mention that they are satisfied - public static void RecordAmazonqApproachThumbsUp(this ITelemetryLogger telemetryLogger, AmazonqApproachThumbsUp payload, Func transformDatum = null) + /// Captures Approach generation process + public static void RecordAmazonqApproachInvoke(this ITelemetryLogger telemetryLogger, AmazonqApproachInvoke payload, Func transformDatum = null) { try { @@ -322,8 +523,8 @@ public static void RecordAmazonqApproachThumbsUp(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "amazonq_approachThumbsUp"; - datum.Unit = Unit.Count; + datum.MetricName = "amazonq_approachInvoke"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -338,6 +539,7 @@ public static void RecordAmazonqApproachThumbsUp(this ITelemetryLogger telemetry 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); @@ -354,8 +556,17 @@ public static void RecordAmazonqApproachThumbsUp(this ITelemetryLogger telemetry datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); + datum.AddMetadata("amazonqGenerateApproachIteration", payload.AmazonqGenerateApproachIteration); + + datum.AddMetadata("amazonqGenerateApproachLatency", payload.AmazonqGenerateApproachLatency); + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + if (payload.Result.HasValue) + { + datum.AddMetadata("result", payload.Result.Value); + } + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -402,6 +613,7 @@ public static void RecordAmazonqBundleExtensionIgnored(this ITelemetryLogger tel 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); @@ -466,6 +678,7 @@ public static void RecordAmazonqCodeGenerationInvoke(this ITelemetryLogger telem 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); @@ -553,6 +766,7 @@ public static void RecordAmazonqCodeGenerationThumbsDown(this ITelemetryLogger t 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); @@ -617,6 +831,7 @@ public static void RecordAmazonqCodeGenerationThumbsUp(this ITelemetryLogger tel 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); @@ -647,6 +862,90 @@ public static void RecordAmazonqCodeGenerationThumbsUp(this ITelemetryLogger tel } } + /// Records Telemetry Event: + /// This metric is used to evaluate Amazon Q's code review tool + public static void RecordAmazonqCodeReviewTool(this ITelemetryLogger telemetryLogger, AmazonqCodeReviewTool payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "amazonq_codeReviewTool"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + datum.AddMetadata("artifactType", payload.ArtifactType); + + datum.AddMetadata("codewhispererCodeScanJobId", payload.CodewhispererCodeScanJobId); + + if (payload.CodewhispererCodeScanSrcZipFileBytes.HasValue) + { + datum.AddMetadata("codewhispererCodeScanSrcZipFileBytes", payload.CodewhispererCodeScanSrcZipFileBytes.Value); + } + + if (payload.CodewhispererCodeScanTotalIssues.HasValue) + { + datum.AddMetadata("codewhispererCodeScanTotalIssues", payload.CodewhispererCodeScanTotalIssues.Value); + } + + if (payload.CustomRules.HasValue) + { + datum.AddMetadata("customRules", payload.CustomRules.Value); + } + + datum.AddMetadata("result", payload.Result); + + datum.AddMetadata("scope", payload.Scope); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + /// Records Telemetry Event: /// Captures createUploadUrl invocation process public static void RecordAmazonqCreateUpload(this ITelemetryLogger telemetryLogger, AmazonqCreateUpload payload, Func transformDatum = null) @@ -681,6 +980,7 @@ public static void RecordAmazonqCreateUpload(this ITelemetryLogger telemetryLogg 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); @@ -709,6 +1009,8 @@ public static void RecordAmazonqCreateUpload(this ITelemetryLogger telemetryLogg datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + datum.AddMetadata("requestId2", payload.RequestId2); + if (payload.Result.HasValue) { datum.AddMetadata("result", payload.Result.Value); @@ -760,6 +1062,7 @@ public static void RecordAmazonqEndChat(this ITelemetryLogger telemetryLogger, A 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); @@ -796,8 +1099,8 @@ public static void RecordAmazonqEndChat(this ITelemetryLogger telemetryLogger, A } /// Records Telemetry Event: - /// When a user interacts with a message in the conversation - public static void RecordAmazonqInteractWithMessage(this ITelemetryLogger telemetryLogger, AmazonqInteractWithMessage payload, Func transformDatum = null) + /// When a user exports the current Amazon Q chat tab + public static void RecordAmazonqExportTab(this ITelemetryLogger telemetryLogger, AmazonqExportTab payload, Func transformDatum = null) { try { @@ -813,7 +1116,7 @@ public static void RecordAmazonqInteractWithMessage(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "amazonq_interactWithMessage"; + datum.MetricName = "amazonq_exportTab"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -829,6 +1132,7 @@ public static void RecordAmazonqInteractWithMessage(this ITelemetryLogger teleme 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); @@ -843,51 +1147,80 @@ public static void RecordAmazonqInteractWithMessage(this ITelemetryLogger teleme } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + datum.AddMetadata("filenameExt", payload.FilenameExt); - if (payload.CwsprChatAcceptedCharactersLength.HasValue) - { - datum.AddMetadata("cwsprChatAcceptedCharactersLength", payload.CwsprChatAcceptedCharactersLength.Value); - } + datum.AddMetadata("languageServerVersion", payload.LanguageServerVersion); - if (payload.CwsprChatAcceptedNumberOfLines.HasValue) + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// When a user gives feedback using vote or comment or rating in the conversation + public static void RecordAmazonqFeedback(this ITelemetryLogger telemetryLogger, AmazonqFeedback payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) { - datum.AddMetadata("cwsprChatAcceptedNumberOfLines", payload.CwsprChatAcceptedNumberOfLines.Value); + metrics.CreatedOn = payload.CreatedOn.Value; } - - if (payload.CwsprChatCodeBlockIndex.HasValue) + else { - datum.AddMetadata("cwsprChatCodeBlockIndex", payload.CwsprChatCodeBlockIndex.Value); + metrics.CreatedOn = System.DateTime.Now; } + metrics.Data = new List(); - datum.AddMetadata("cwsprChatConversationId", payload.CwsprChatConversationId); - - if (payload.CwsprChatHasProjectContext.HasValue) + var datum = new MetricDatum(); + datum.MetricName = "amazonq_feedback"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) { - datum.AddMetadata("cwsprChatHasProjectContext", payload.CwsprChatHasProjectContext.Value); + datum.Value = payload.Value.Value; } - - if (payload.CwsprChatHasReference.HasValue) + else { - datum.AddMetadata("cwsprChatHasReference", payload.CwsprChatHasReference.Value); + datum.Value = 1; } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("cwsprChatInteractionTarget", payload.CwsprChatInteractionTarget); - - datum.AddMetadata("cwsprChatInteractionType", payload.CwsprChatInteractionType); - - datum.AddMetadata("cwsprChatMessageId", payload.CwsprChatMessageId); + datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); - datum.AddMetadata("cwsprChatProgrammingLanguage", payload.CwsprChatProgrammingLanguage); + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - if (payload.CwsprChatTotalCodeBlocks.HasValue) - { - datum.AddMetadata("cwsprChatTotalCodeBlocks", payload.CwsprChatTotalCodeBlocks.Value); - } + datum.AddMetadata("featureId", payload.FeatureId); - if (payload.CwsprChatUserIntent.HasValue) + if (payload.InteractionType.HasValue) { - datum.AddMetadata("cwsprChatUserIntent", payload.CwsprChatUserIntent.Value); + datum.AddMetadata("interactionType", payload.InteractionType.Value); } datum = datum.InvokeTransform(transformDatum); @@ -903,8 +1236,8 @@ public static void RecordAmazonqInteractWithMessage(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// User applied code changes generated for the task. - public static void RecordAmazonqIsAcceptedCodeChanges(this ITelemetryLogger telemetryLogger, AmazonqIsAcceptedCodeChanges payload, Func transformDatum = null) + /// When a user interacts with a message in the agentic chat + public static void RecordAmazonqInteractWithAgenticChat(this ITelemetryLogger telemetryLogger, AmazonqInteractWithAgenticChat payload, Func transformDatum = null) { try { @@ -920,7 +1253,7 @@ public static void RecordAmazonqIsAcceptedCodeChanges(this ITelemetryLogger tele metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "amazonq_isAcceptedCodeChanges"; + datum.MetricName = "amazonq_interactWithAgenticChat"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -936,6 +1269,7 @@ public static void RecordAmazonqIsAcceptedCodeChanges(this ITelemetryLogger tele 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); @@ -950,13 +1284,24 @@ public static void RecordAmazonqIsAcceptedCodeChanges(this ITelemetryLogger tele } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - datum.AddMetadata("amazonqNumberOfFilesAccepted", payload.AmazonqNumberOfFilesAccepted); + datum.AddMetadata("cwsprAgenticChatInteractionType", payload.CwsprAgenticChatInteractionType); - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + datum.AddMetadata("cwsprChatConversationId", payload.CwsprChatConversationId); - datum.AddMetadata("enabled", payload.Enabled); + datum.AddMetadata("cwsprChatConversationType", payload.CwsprChatConversationType); + + datum.AddMetadata("cwsprToolUseId", payload.CwsprToolUseId); + + if (payload.Enabled.HasValue) + { + datum.AddMetadata("enabled", payload.Enabled.Value); + } + + datum.AddMetadata("languageServerVersion", payload.LanguageServerVersion); + + datum.AddMetadata("requestIds", payload.RequestIds); datum = datum.InvokeTransform(transformDatum); @@ -971,8 +1316,8 @@ public static void RecordAmazonqIsAcceptedCodeChanges(this ITelemetryLogger tele } /// Records Telemetry Event: - /// User has accepted the approach generated - public static void RecordAmazonqIsApproachAccepted(this ITelemetryLogger telemetryLogger, AmazonqIsApproachAccepted payload, Func transformDatum = null) + /// When a user interacts with a message in the conversation + public static void RecordAmazonqInteractWithMessage(this ITelemetryLogger telemetryLogger, AmazonqInteractWithMessage payload, Func transformDatum = null) { try { @@ -988,7 +1333,7 @@ public static void RecordAmazonqIsApproachAccepted(this ITelemetryLogger telemet metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "amazonq_isApproachAccepted"; + datum.MetricName = "amazonq_interactWithMessage"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1004,6 +1349,7 @@ public static void RecordAmazonqIsApproachAccepted(this ITelemetryLogger telemet 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); @@ -1018,11 +1364,72 @@ public static void RecordAmazonqIsApproachAccepted(this ITelemetryLogger telemet } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - datum.AddMetadata("enabled", payload.Enabled); + if (payload.CwsprChatAcceptedCharactersLength.HasValue) + { + datum.AddMetadata("cwsprChatAcceptedCharactersLength", payload.CwsprChatAcceptedCharactersLength.Value); + } + + if (payload.CwsprChatAcceptedNumberOfLines.HasValue) + { + datum.AddMetadata("cwsprChatAcceptedNumberOfLines", payload.CwsprChatAcceptedNumberOfLines.Value); + } + + if (payload.CwsprChatCodeBlockIndex.HasValue) + { + datum.AddMetadata("cwsprChatCodeBlockIndex", payload.CwsprChatCodeBlockIndex.Value); + } + + datum.AddMetadata("cwsprChatConversationId", payload.CwsprChatConversationId); + + if (payload.CwsprChatFileContextCount.HasValue) + { + datum.AddMetadata("cwsprChatFileContextCount", payload.CwsprChatFileContextCount.Value); + } + + if (payload.CwsprChatFolderContextCount.HasValue) + { + datum.AddMetadata("cwsprChatFolderContextCount", payload.CwsprChatFolderContextCount.Value); + } + + if (payload.CwsprChatHasProjectContext.HasValue) + { + datum.AddMetadata("cwsprChatHasProjectContext", payload.CwsprChatHasProjectContext.Value); + } + + if (payload.CwsprChatHasReference.HasValue) + { + datum.AddMetadata("cwsprChatHasReference", payload.CwsprChatHasReference.Value); + } + + datum.AddMetadata("cwsprChatInteractionTarget", payload.CwsprChatInteractionTarget); + + datum.AddMetadata("cwsprChatInteractionType", payload.CwsprChatInteractionType); + + datum.AddMetadata("cwsprChatMessageId", payload.CwsprChatMessageId); + + datum.AddMetadata("cwsprChatProgrammingLanguage", payload.CwsprChatProgrammingLanguage); + + if (payload.CwsprChatPromptContextCount.HasValue) + { + datum.AddMetadata("cwsprChatPromptContextCount", payload.CwsprChatPromptContextCount.Value); + } + + if (payload.CwsprChatRuleContextCount.HasValue) + { + datum.AddMetadata("cwsprChatRuleContextCount", payload.CwsprChatRuleContextCount.Value); + } + + if (payload.CwsprChatTotalCodeBlocks.HasValue) + { + datum.AddMetadata("cwsprChatTotalCodeBlocks", payload.CwsprChatTotalCodeBlocks.Value); + } + + if (payload.CwsprChatUserIntent.HasValue) + { + datum.AddMetadata("cwsprChatUserIntent", payload.CwsprChatUserIntent.Value); + } datum = datum.InvokeTransform(transformDatum); @@ -1037,8 +1444,8 @@ public static void RecordAmazonqIsApproachAccepted(this ITelemetryLogger telemet } /// Records Telemetry Event: - /// User asked to regenerate code generation with a comment - public static void RecordAmazonqIsProvideFeedbackForCodeGen(this ITelemetryLogger telemetryLogger, AmazonqIsProvideFeedbackForCodeGen payload, Func transformDatum = null) + /// This metric is emitted per LLM call in the agentic loop with or without tool execution. + public static void RecordAmazonqInvokeLLM(this ITelemetryLogger telemetryLogger, AmazonqInvokeLLM payload, Func transformDatum = null) { try { @@ -1054,7 +1461,7 @@ public static void RecordAmazonqIsProvideFeedbackForCodeGen(this ITelemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "amazonq_isProvideFeedbackForCodeGen"; + datum.MetricName = "amazonq_invokeLLM"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1070,6 +1477,7 @@ public static void RecordAmazonqIsProvideFeedbackForCodeGen(this ITelemetryLogge 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); @@ -1084,11 +1492,33 @@ public static void RecordAmazonqIsProvideFeedbackForCodeGen(this ITelemetryLogge } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - datum.AddMetadata("enabled", payload.Enabled); + datum.AddMetadata("cwsprChatConversationId", payload.CwsprChatConversationId); + + datum.AddMetadata("cwsprChatConversationType", payload.CwsprChatConversationType); + + datum.AddMetadata("cwsprChatTimeBetweenChunks", payload.CwsprChatTimeBetweenChunks); + + if (payload.CwsprChatTimeToFirstChunk.HasValue) + { + datum.AddMetadata("cwsprChatTimeToFirstChunk", payload.CwsprChatTimeToFirstChunk.Value); + } + + datum.AddMetadata("cwsprToolName", payload.CwsprToolName); + + datum.AddMetadata("cwsprToolUseId", payload.CwsprToolUseId); + + if (payload.Enabled.HasValue) + { + datum.AddMetadata("enabled", payload.Enabled.Value); + } + + datum.AddMetadata("languageServerVersion", payload.LanguageServerVersion); + + datum.AddMetadata("latency", payload.Latency); + + datum.AddMetadata("toolCallLatency", payload.ToolCallLatency); datum = datum.InvokeTransform(transformDatum); @@ -1103,8 +1533,8 @@ public static void RecordAmazonqIsProvideFeedbackForCodeGen(this ITelemetryLogge } /// Records Telemetry Event: - /// User reviewed changes - public static void RecordAmazonqIsReviewedChanges(this ITelemetryLogger telemetryLogger, AmazonqIsReviewedChanges payload, Func transformDatum = null) + /// User applied code changes generated for the task. + public static void RecordAmazonqIsAcceptedCodeChanges(this ITelemetryLogger telemetryLogger, AmazonqIsAcceptedCodeChanges payload, Func transformDatum = null) { try { @@ -1120,7 +1550,7 @@ public static void RecordAmazonqIsReviewedChanges(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "amazonq_isReviewedChanges"; + datum.MetricName = "amazonq_isAcceptedCodeChanges"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1136,6 +1566,7 @@ public static void RecordAmazonqIsReviewedChanges(this ITelemetryLogger telemetr 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); @@ -1152,6 +1583,8 @@ public static void RecordAmazonqIsReviewedChanges(this ITelemetryLogger telemetr datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); + datum.AddMetadata("amazonqNumberOfFilesAccepted", payload.AmazonqNumberOfFilesAccepted); + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); datum.AddMetadata("enabled", payload.Enabled); @@ -1169,8 +1602,8 @@ public static void RecordAmazonqIsReviewedChanges(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// User modified source folder - public static void RecordAmazonqModifySourceFolder(this ITelemetryLogger telemetryLogger, AmazonqModifySourceFolder payload, Func transformDatum = null) + /// User has accepted the approach generated + public static void RecordAmazonqIsApproachAccepted(this ITelemetryLogger telemetryLogger, AmazonqIsApproachAccepted payload, Func transformDatum = null) { try { @@ -1186,7 +1619,7 @@ public static void RecordAmazonqModifySourceFolder(this ITelemetryLogger telemet metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "amazonq_modifySourceFolder"; + datum.MetricName = "amazonq_isApproachAccepted"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1202,6 +1635,7 @@ public static void RecordAmazonqModifySourceFolder(this ITelemetryLogger telemet 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); @@ -1220,10 +1654,7 @@ public static void RecordAmazonqModifySourceFolder(this ITelemetryLogger telemet datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - if (payload.Result.HasValue) - { - datum.AddMetadata("result", payload.Result.Value); - } + datum.AddMetadata("enabled", payload.Enabled); datum = datum.InvokeTransform(transformDatum); @@ -1238,8 +1669,8 @@ public static void RecordAmazonqModifySourceFolder(this ITelemetryLogger telemet } /// Records Telemetry Event: - /// Captures startConversation invocation process - public static void RecordAmazonqStartConversationInvoke(this ITelemetryLogger telemetryLogger, AmazonqStartConversationInvoke payload, Func transformDatum = null) + /// User asked to regenerate code generation with a comment + public static void RecordAmazonqIsProvideFeedbackForCodeGen(this ITelemetryLogger telemetryLogger, AmazonqIsProvideFeedbackForCodeGen payload, Func transformDatum = null) { try { @@ -1255,7 +1686,7 @@ public static void RecordAmazonqStartConversationInvoke(this ITelemetryLogger te metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "amazonq_startConversationInvoke"; + datum.MetricName = "amazonq_isProvideFeedbackForCodeGen"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1271,6 +1702,7 @@ public static void RecordAmazonqStartConversationInvoke(this ITelemetryLogger te 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); @@ -1289,10 +1721,7 @@ public static void RecordAmazonqStartConversationInvoke(this ITelemetryLogger te datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - if (payload.Result.HasValue) - { - datum.AddMetadata("result", payload.Result.Value); - } + datum.AddMetadata("enabled", payload.Enabled); datum = datum.InvokeTransform(transformDatum); @@ -1307,8 +1736,8 @@ public static void RecordAmazonqStartConversationInvoke(this ITelemetryLogger te } /// Records Telemetry Event: - /// Client side invocation of the AmazonQ Unit Test Generation - public static void RecordAmazonqUtgGenerateTests(this ITelemetryLogger telemetryLogger, AmazonqUtgGenerateTests payload, Func transformDatum = null) + /// User reviewed changes + public static void RecordAmazonqIsReviewedChanges(this ITelemetryLogger telemetryLogger, AmazonqIsReviewedChanges payload, Func transformDatum = null) { try { @@ -1324,7 +1753,7 @@ public static void RecordAmazonqUtgGenerateTests(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "amazonq_utgGenerateTests"; + datum.MetricName = "amazonq_isReviewedChanges"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1340,6 +1769,7 @@ public static void RecordAmazonqUtgGenerateTests(this ITelemetryLogger telemetry 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); @@ -1354,78 +1784,11 @@ public static void RecordAmazonqUtgGenerateTests(this ITelemetryLogger telemetry } datum.AddMetadata("locale", payload.Locale); - if (payload.AcceptedCharactersCount.HasValue) - { - datum.AddMetadata("acceptedCharactersCount", payload.AcceptedCharactersCount.Value); - } - - if (payload.AcceptedCount.HasValue) - { - datum.AddMetadata("acceptedCount", payload.AcceptedCount.Value); - } - - if (payload.AcceptedLinesCount.HasValue) - { - datum.AddMetadata("acceptedLinesCount", payload.AcceptedLinesCount.Value); - } - - if (payload.ArtifactsUploadDuration.HasValue) - { - datum.AddMetadata("artifactsUploadDuration", payload.ArtifactsUploadDuration.Value); - } - - if (payload.BuildPayloadBytes.HasValue) - { - datum.AddMetadata("buildPayloadBytes", payload.BuildPayloadBytes.Value); - } - - if (payload.BuildZipFileBytes.HasValue) - { - datum.AddMetadata("buildZipFileBytes", payload.BuildZipFileBytes.Value); - } + datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - datum.AddMetadata("cwsprChatProgrammingLanguage", payload.CwsprChatProgrammingLanguage); - - if (payload.GeneratedCharactersCount.HasValue) - { - datum.AddMetadata("generatedCharactersCount", payload.GeneratedCharactersCount.Value); - } - - if (payload.GeneratedCount.HasValue) - { - datum.AddMetadata("generatedCount", payload.GeneratedCount.Value); - } - - if (payload.GeneratedLinesCount.HasValue) - { - datum.AddMetadata("generatedLinesCount", payload.GeneratedLinesCount.Value); - } - - datum.AddMetadata("hasUserPromptSupplied", payload.HasUserPromptSupplied); - - if (payload.IsCodeBlockSelected.HasValue) - { - datum.AddMetadata("isCodeBlockSelected", payload.IsCodeBlockSelected.Value); - } - - datum.AddMetadata("isFileInWorkspace", payload.IsFileInWorkspace); - - datum.AddMetadata("isSupportedLanguage", payload.IsSupportedLanguage); - - datum.AddMetadata("jobGroup", payload.JobGroup); - - datum.AddMetadata("jobId", payload.JobId); - - if (payload.PerfClientLatency.HasValue) - { - datum.AddMetadata("perfClientLatency", payload.PerfClientLatency.Value); - } - - datum.AddMetadata("result", payload.Result); - - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("enabled", payload.Enabled); datum = datum.InvokeTransform(transformDatum); @@ -1440,8 +1803,8 @@ public static void RecordAmazonqUtgGenerateTests(this ITelemetryLogger telemetry } /// Records Telemetry Event: - /// Captures if Q chat panel is successfully viewed or not - public static void RecordAmazonqViewChatPanel(this ITelemetryLogger telemetryLogger, AmazonqViewChatPanel payload, Func transformDatum = null) + /// When a history file is loaded from the filesystem and open tabs are restored + public static void RecordAmazonqLoadHistory(this ITelemetryLogger telemetryLogger, AmazonqLoadHistory payload, Func transformDatum = null) { try { @@ -1457,7 +1820,7 @@ public static void RecordAmazonqViewChatPanel(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "amazonq_viewChatPanel"; + datum.MetricName = "amazonq_loadHistory"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1473,6 +1836,7 @@ public static void RecordAmazonqViewChatPanel(this ITelemetryLogger telemetryLog 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); @@ -1487,7 +1851,13 @@ public static void RecordAmazonqViewChatPanel(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("amazonqHistoryFileSize", payload.AmazonqHistoryFileSize); + + datum.AddMetadata("amazonqTimeToLoadHistory", payload.AmazonqTimeToLoadHistory); + + datum.AddMetadata("languageServerVersion", payload.LanguageServerVersion); + + datum.AddMetadata("openTabCount", payload.OpenTabCount); datum = datum.InvokeTransform(transformDatum); @@ -1502,8 +1872,8 @@ public static void RecordAmazonqViewChatPanel(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Copying an API Gateway remote URL - public static void RecordApigatewayCopyUrl(this ITelemetryLogger telemetryLogger, ApigatewayCopyUrl payload, Func transformDatum = null) + /// This metric is emitted per reload of an IDE or reinitizalize of a mcp server + public static void RecordAmazonqMcpConfig(this ITelemetryLogger telemetryLogger, AmazonqMcpConfig payload, Func transformDatum = null) { try { @@ -1519,7 +1889,7 @@ public static void RecordApigatewayCopyUrl(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "apigateway_copyUrl"; + datum.MetricName = "amazonq_mcpConfig"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1535,6 +1905,7 @@ public static void RecordApigatewayCopyUrl(this ITelemetryLogger telemetryLogger 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); @@ -1549,7 +1920,34 @@ public static void RecordApigatewayCopyUrl(this ITelemetryLogger telemetryLogger } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum.AddMetadata("languageServerVersion", payload.LanguageServerVersion); + + if (payload.NumActiveServers.HasValue) + { + datum.AddMetadata("numActiveServers", payload.NumActiveServers.Value); + } + + if (payload.NumGlobalServers.HasValue) + { + datum.AddMetadata("numGlobalServers", payload.NumGlobalServers.Value); + } + + if (payload.NumProjectServers.HasValue) + { + datum.AddMetadata("numProjectServers", payload.NumProjectServers.Value); + } + + if (payload.NumToolsAlwaysAllowed.HasValue) + { + datum.AddMetadata("numToolsAlwaysAllowed", payload.NumToolsAlwaysAllowed.Value); + } + + if (payload.NumToolsDenied.HasValue) + { + datum.AddMetadata("numToolsDenied", payload.NumToolsDenied.Value); + } datum = datum.InvokeTransform(transformDatum); @@ -1564,8 +1962,8 @@ public static void RecordApigatewayCopyUrl(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// Invoking one simulated API Gateway call using the SAM cli - public static void RecordApigatewayInvokeLocal(this ITelemetryLogger telemetryLogger, ApigatewayInvokeLocal payload, Func transformDatum = null) + /// This metric is emitted per mcp server name when user reloads an IDE or does any CRUD operation on mcp config. + public static void RecordAmazonqMcpServerInit(this ITelemetryLogger telemetryLogger, AmazonqMcpServerInit payload, Func transformDatum = null) { try { @@ -1581,7 +1979,7 @@ public static void RecordApigatewayInvokeLocal(this ITelemetryLogger telemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "apigateway_invokeLocal"; + datum.MetricName = "amazonq_mcpServerInit"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1597,6 +1995,7 @@ public static void RecordApigatewayInvokeLocal(this ITelemetryLogger telemetryLo 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); @@ -1611,23 +2010,33 @@ public static void RecordApigatewayInvokeLocal(this ITelemetryLogger telemetryLo } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("debug", payload.Debug); + datum.AddMetadata("command", payload.Command); - datum.AddMetadata("httpMethod", payload.HttpMethod); + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - if (payload.LambdaArchitecture.HasValue) + if (payload.Enabled.HasValue) { - datum.AddMetadata("lambdaArchitecture", payload.LambdaArchitecture.Value); + datum.AddMetadata("enabled", payload.Enabled.Value); } - datum.AddMetadata("result", payload.Result); + if (payload.InitializeTime.HasValue) + { + datum.AddMetadata("initializeTime", payload.InitializeTime.Value); + } - if (payload.Runtime.HasValue) + datum.AddMetadata("languageServerVersion", payload.LanguageServerVersion); + + if (payload.NumTools.HasValue) { - datum.AddMetadata("runtime", payload.Runtime.Value); + datum.AddMetadata("numTools", payload.NumTools.Value); } - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("scope", payload.Scope); + + if (payload.TransportType.HasValue) + { + datum.AddMetadata("transportType", payload.TransportType.Value); + } datum = datum.InvokeTransform(transformDatum); @@ -1642,8 +2051,8 @@ public static void RecordApigatewayInvokeLocal(this ITelemetryLogger telemetryLo } /// Records Telemetry Event: - /// Calling a remote API Gateway - public static void RecordApigatewayInvokeRemote(this ITelemetryLogger telemetryLogger, ApigatewayInvokeRemote payload, Func transformDatum = null) + /// When an error has occured in response to a prompt + public static void RecordAmazonqMessageResponseError(this ITelemetryLogger telemetryLogger, AmazonqMessageResponseError payload, Func transformDatum = null) { try { @@ -1659,7 +2068,7 @@ public static void RecordApigatewayInvokeRemote(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "apigateway_invokeRemote"; + datum.MetricName = "amazonq_messageResponseError"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1675,6 +2084,7 @@ public static void RecordApigatewayInvokeRemote(this ITelemetryLogger telemetryL 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); @@ -1689,73 +2099,48 @@ public static void RecordApigatewayInvokeRemote(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("httpMethod", payload.HttpMethod); - - datum.AddMetadata("result", payload.Result); - - datum.AddMetadata("source", payload.Source); - - datum = datum.InvokeTransform(transformDatum); + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - metrics.Data.Add(datum); - telemetryLogger.Record(metrics); - } - catch (System.Exception e) - { - telemetryLogger.Logger.Error("Error recording telemetry event", e); - System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); - } - } - - /// Records Telemetry Event: - /// Called when starting a local API Gateway server simulator with SAM. Only called when starting it for long running testing, not for single invokes - public static void RecordApigatewayStartLocalServer(this ITelemetryLogger telemetryLogger, ApigatewayStartLocalServer payload, Func transformDatum = null) - { - try - { - var metrics = new Metrics(); - if (payload.CreatedOn.HasValue) + if (payload.CwsprChatActiveEditorImportCount.HasValue) { - metrics.CreatedOn = payload.CreatedOn.Value; + datum.AddMetadata("cwsprChatActiveEditorImportCount", payload.CwsprChatActiveEditorImportCount.Value); } - else + + if (payload.CwsprChatActiveEditorTotalCharacters.HasValue) { - metrics.CreatedOn = System.DateTime.Now; + datum.AddMetadata("cwsprChatActiveEditorTotalCharacters", payload.CwsprChatActiveEditorTotalCharacters.Value); } - metrics.Data = new List(); - var datum = new MetricDatum(); - datum.MetricName = "apigateway_startLocalServer"; - datum.Unit = Unit.None; - datum.Passive = payload.Passive; - datum.TrackPerformance = payload.TrackPerformance; - if (payload.Value.HasValue) + datum.AddMetadata("cwsprChatConversationId", payload.CwsprChatConversationId); + + datum.AddMetadata("cwsprChatConversationType", payload.CwsprChatConversationType); + + if (payload.CwsprChatHasCodeSnippet.HasValue) { - datum.Value = payload.Value.Value; + datum.AddMetadata("cwsprChatHasCodeSnippet", payload.CwsprChatHasCodeSnippet.Value); } - else + + datum.AddMetadata("cwsprChatProgrammingLanguage", payload.CwsprChatProgrammingLanguage); + + datum.AddMetadata("cwsprChatRequestLength", payload.CwsprChatRequestLength); + + datum.AddMetadata("cwsprChatResponseCode", payload.CwsprChatResponseCode); + + datum.AddMetadata("cwsprChatResponseErrorReason", payload.CwsprChatResponseErrorReason); + + datum.AddMetadata("cwsprChatTriggerInteraction", payload.CwsprChatTriggerInteraction); + + if (payload.CwsprChatUserIntent.HasValue) { - datum.Value = 1; + datum.AddMetadata("cwsprChatUserIntent", payload.CwsprChatUserIntent.Value); } - datum.AddMetadata("awsAccount", payload.AwsAccount); - datum.AddMetadata("awsRegion", payload.AwsRegion); - datum.AddMetadata("reason", payload.Reason); - datum.AddMetadata("reasonDesc", payload.ReasonDescription); - datum.AddMetadata("errorCode", payload.ErrorCode); - datum.AddMetadata("causedBy", payload.CausedBy); - datum.AddMetadata("httpStatusCode", payload.HttpStatusCode); - datum.AddMetadata("requestId", payload.RequestId); - datum.AddMetadata("requestServiceType", payload.RequestServiceType); - datum.AddMetadata("traceId", payload.TraceId); - datum.AddMetadata("metricId", payload.MetricId); - datum.AddMetadata("parentId", payload.ParentId); - if (payload.Duration.HasValue) + + if (payload.Enabled.HasValue) { - datum.AddMetadata("duration", payload.Duration.Value); + datum.AddMetadata("enabled", payload.Enabled.Value); } - datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("languageServerVersion", payload.LanguageServerVersion); datum = datum.InvokeTransform(transformDatum); @@ -1770,8 +2155,8 @@ public static void RecordApigatewayStartLocalServer(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// Click Install button in Getting Started Walkthrough - public static void RecordAppBuilderInstallTool(this ITelemetryLogger telemetryLogger, AppBuilderInstallTool payload, Func transformDatum = null) + /// User modified source folder + public static void RecordAmazonqModifySourceFolder(this ITelemetryLogger telemetryLogger, AmazonqModifySourceFolder payload, Func transformDatum = null) { try { @@ -1787,7 +2172,7 @@ public static void RecordAppBuilderInstallTool(this ITelemetryLogger telemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appBuilder_installTool"; + datum.MetricName = "amazonq_modifySourceFolder"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1803,6 +2188,7 @@ public static void RecordAppBuilderInstallTool(this ITelemetryLogger telemetryLo 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); @@ -1817,11 +2203,13 @@ public static void RecordAppBuilderInstallTool(this ITelemetryLogger telemetryLo } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); - if (payload.ToolId.HasValue) + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + if (payload.Result.HasValue) { - datum.AddMetadata("toolId", payload.ToolId.Value); + datum.AddMetadata("result", payload.Result.Value); } datum = datum.InvokeTransform(transformDatum); @@ -1837,8 +2225,8 @@ public static void RecordAppBuilderInstallTool(this ITelemetryLogger telemetryLo } /// Records Telemetry Event: - /// Click open Local invoke WebView button in Application Builder - public static void RecordAppBuilderOpenLocalInvokeWebView(this ITelemetryLogger telemetryLogger, AppBuilderOpenLocalInvokeWebView payload, Func transformDatum = null) + /// When a user searches, exports, opens, or deletes a conversation from history + public static void RecordAmazonqPerformChatHistoryAction(this ITelemetryLogger telemetryLogger, AmazonqPerformChatHistoryAction payload, Func transformDatum = null) { try { @@ -1854,7 +2242,7 @@ public static void RecordAppBuilderOpenLocalInvokeWebView(this ITelemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appBuilder_openLocalInvokeWebView"; + datum.MetricName = "amazonq_performChatHistoryAction"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1870,6 +2258,7 @@ public static void RecordAppBuilderOpenLocalInvokeWebView(this ITelemetryLogger 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); @@ -1884,7 +2273,21 @@ public static void RecordAppBuilderOpenLocalInvokeWebView(this ITelemetryLogger } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("action", payload.Action); + + if (payload.AmazonqHistoryFileSize.HasValue) + { + datum.AddMetadata("amazonqHistoryFileSize", payload.AmazonqHistoryFileSize.Value); + } + + if (payload.AmazonqTimeToSearchHistory.HasValue) + { + datum.AddMetadata("amazonqTimeToSearchHistory", payload.AmazonqTimeToSearchHistory.Value); + } + + datum.AddMetadata("filenameExt", payload.FilenameExt); + + datum.AddMetadata("languageServerVersion", payload.LanguageServerVersion); datum = datum.InvokeTransform(transformDatum); @@ -1899,8 +2302,8 @@ public static void RecordAppBuilderOpenLocalInvokeWebView(this ITelemetryLogger } /// Records Telemetry Event: - /// Click open Remote invoke WebView button in Application Builder - public static void RecordAppBuilderOpenRemoteInvokeWebView(this ITelemetryLogger telemetryLogger, AppBuilderOpenRemoteInvokeWebView payload, Func transformDatum = null) + /// Captures startConversation invocation process + public static void RecordAmazonqStartConversationInvoke(this ITelemetryLogger telemetryLogger, AmazonqStartConversationInvoke payload, Func transformDatum = null) { try { @@ -1916,7 +2319,7 @@ public static void RecordAppBuilderOpenRemoteInvokeWebView(this ITelemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appBuilder_openRemoteInvokeWebView"; + datum.MetricName = "amazonq_startConversationInvoke"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1932,6 +2335,7 @@ public static void RecordAppBuilderOpenRemoteInvokeWebView(this ITelemetryLogger 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); @@ -1946,7 +2350,14 @@ public static void RecordAppBuilderOpenRemoteInvokeWebView(this ITelemetryLogger } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + if (payload.Result.HasValue) + { + datum.AddMetadata("result", payload.Result.Value); + } datum = datum.InvokeTransform(transformDatum); @@ -1961,8 +2372,8 @@ public static void RecordAppBuilderOpenRemoteInvokeWebView(this ITelemetryLogger } /// Records Telemetry Event: - /// Click open template button in Application Builder - public static void RecordAppBuilderOpenTemplate(this ITelemetryLogger telemetryLogger, AppBuilderOpenTemplate payload, Func transformDatum = null) + /// When the LLM either used a tool directly (no acceptance needed) or suggested a tool (user acceptance required) + public static void RecordAmazonqToolUseSuggested(this ITelemetryLogger telemetryLogger, AmazonqToolUseSuggested payload, Func transformDatum = null) { try { @@ -1978,7 +2389,7 @@ public static void RecordAppBuilderOpenTemplate(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appBuilder_openTemplate"; + datum.MetricName = "amazonq_toolUseSuggested"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -1994,6 +2405,7 @@ public static void RecordAppBuilderOpenTemplate(this ITelemetryLogger telemetryL 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); @@ -2008,7 +2420,27 @@ public static void RecordAppBuilderOpenTemplate(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum.AddMetadata("cwsprChatConversationId", payload.CwsprChatConversationId); + + datum.AddMetadata("cwsprChatConversationType", payload.CwsprChatConversationType); + + datum.AddMetadata("cwsprToolName", payload.CwsprToolName); + + datum.AddMetadata("cwsprToolUseId", payload.CwsprToolUseId); + + if (payload.Enabled.HasValue) + { + datum.AddMetadata("enabled", payload.Enabled.Value); + } + + datum.AddMetadata("languageServerVersion", payload.LanguageServerVersion); + + if (payload.PerfE2ELatency.HasValue) + { + datum.AddMetadata("perfE2ELatency", payload.PerfE2ELatency.Value); + } datum = datum.InvokeTransform(transformDatum); @@ -2023,8 +2455,8 @@ public static void RecordAppBuilderOpenTemplate(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Select a template and create project in Getting Started Walkthrough - public static void RecordAppBuilderSelectWalkthroughTemplate(this ITelemetryLogger telemetryLogger, AppBuilderSelectWalkthroughTemplate payload, Func transformDatum = null) + /// Client side invocation of the Amazon Q Unit Test Generation with build and execute loop + public static void RecordAmazonqUnitTestGeneration(this ITelemetryLogger telemetryLogger, AmazonqUnitTestGeneration payload, Func transformDatum = null) { try { @@ -2040,7 +2472,7 @@ public static void RecordAppBuilderSelectWalkthroughTemplate(this ITelemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appBuilder_selectWalkthroughTemplate"; + datum.MetricName = "amazonq_unitTestGeneration"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2056,6 +2488,7 @@ public static void RecordAppBuilderSelectWalkthroughTemplate(this ITelemetryLogg 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); @@ -2070,25 +2503,100 @@ public static void RecordAppBuilderSelectWalkthroughTemplate(this ITelemetryLogg } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("action", payload.Action); + if (payload.AcceptedCharactersCount.HasValue) + { + datum.AddMetadata("acceptedCharactersCount", payload.AcceptedCharactersCount.Value); + } - datum.AddMetadata("source", payload.Source); + if (payload.AcceptedCount.HasValue) + { + datum.AddMetadata("acceptedCount", payload.AcceptedCount.Value); + } - datum = datum.InvokeTransform(transformDatum); + if (payload.AcceptedLinesCount.HasValue) + { + datum.AddMetadata("acceptedLinesCount", payload.AcceptedLinesCount.Value); + } - metrics.Data.Add(datum); - telemetryLogger.Record(metrics); - } - catch (System.Exception e) - { - telemetryLogger.Logger.Error("Error recording telemetry event", e); + if (payload.ArtifactsUploadDuration.HasValue) + { + datum.AddMetadata("artifactsUploadDuration", payload.ArtifactsUploadDuration.Value); + } + + if (payload.BuildZipFileBytes.HasValue) + { + datum.AddMetadata("buildZipFileBytes", payload.BuildZipFileBytes.Value); + } + + if (payload.Count.HasValue) + { + datum.AddMetadata("count", payload.Count.Value); + } + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum.AddMetadata("cwsprChatProgrammingLanguage", payload.CwsprChatProgrammingLanguage); + + if (payload.GeneratedCharactersCount.HasValue) + { + datum.AddMetadata("generatedCharactersCount", payload.GeneratedCharactersCount.Value); + } + + if (payload.GeneratedCount.HasValue) + { + datum.AddMetadata("generatedCount", payload.GeneratedCount.Value); + } + + if (payload.GeneratedLinesCount.HasValue) + { + datum.AddMetadata("generatedLinesCount", payload.GeneratedLinesCount.Value); + } + + datum.AddMetadata("hasUserPromptSupplied", payload.HasUserPromptSupplied); + + if (payload.IsCodeBlockSelected.HasValue) + { + datum.AddMetadata("isCodeBlockSelected", payload.IsCodeBlockSelected.Value); + } + + datum.AddMetadata("isSupportedLanguage", payload.IsSupportedLanguage); + + datum.AddMetadata("jobGroup", payload.JobGroup); + + datum.AddMetadata("jobId", payload.JobId); + + if (payload.PerfClientLatency.HasValue) + { + datum.AddMetadata("perfClientLatency", payload.PerfClientLatency.Value); + } + + datum.AddMetadata("result", payload.Result); + + if (payload.Status.HasValue) + { + datum.AddMetadata("status", payload.Status.Value); + } + + if (payload.Update.HasValue) + { + datum.AddMetadata("update", payload.Update.Value); + } + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); } } /// Records Telemetry Event: - /// Open Getting Started Walkthrough - public static void RecordAppBuilderStartWalkthrough(this ITelemetryLogger telemetryLogger, AppBuilderStartWalkthrough payload, Func transformDatum = null) + /// Client side invocation of the AmazonQ Unit Test Generation + public static void RecordAmazonqUtgGenerateTests(this ITelemetryLogger telemetryLogger, AmazonqUtgGenerateTests payload, Func transformDatum = null) { try { @@ -2104,7 +2612,7 @@ public static void RecordAppBuilderStartWalkthrough(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appBuilder_startWalkthrough"; + datum.MetricName = "amazonq_utgGenerateTests"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2120,6 +2628,7 @@ public static void RecordAppBuilderStartWalkthrough(this ITelemetryLogger teleme 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); @@ -2134,7 +2643,81 @@ public static void RecordAppBuilderStartWalkthrough(this ITelemetryLogger teleme } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("source", payload.Source); + if (payload.AcceptedCharactersCount.HasValue) + { + datum.AddMetadata("acceptedCharactersCount", payload.AcceptedCharactersCount.Value); + } + + if (payload.AcceptedCount.HasValue) + { + datum.AddMetadata("acceptedCount", payload.AcceptedCount.Value); + } + + if (payload.AcceptedLinesCount.HasValue) + { + datum.AddMetadata("acceptedLinesCount", payload.AcceptedLinesCount.Value); + } + + if (payload.ArtifactsUploadDuration.HasValue) + { + datum.AddMetadata("artifactsUploadDuration", payload.ArtifactsUploadDuration.Value); + } + + if (payload.BuildPayloadBytes.HasValue) + { + datum.AddMetadata("buildPayloadBytes", payload.BuildPayloadBytes.Value); + } + + if (payload.BuildZipFileBytes.HasValue) + { + datum.AddMetadata("buildZipFileBytes", payload.BuildZipFileBytes.Value); + } + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum.AddMetadata("cwsprChatProgrammingLanguage", payload.CwsprChatProgrammingLanguage); + + if (payload.GeneratedCharactersCount.HasValue) + { + datum.AddMetadata("generatedCharactersCount", payload.GeneratedCharactersCount.Value); + } + + if (payload.GeneratedCount.HasValue) + { + datum.AddMetadata("generatedCount", payload.GeneratedCount.Value); + } + + if (payload.GeneratedLinesCount.HasValue) + { + datum.AddMetadata("generatedLinesCount", payload.GeneratedLinesCount.Value); + } + + datum.AddMetadata("hasUserPromptSupplied", payload.HasUserPromptSupplied); + + if (payload.IsCodeBlockSelected.HasValue) + { + datum.AddMetadata("isCodeBlockSelected", payload.IsCodeBlockSelected.Value); + } + + datum.AddMetadata("isFileInWorkspace", payload.IsFileInWorkspace); + + datum.AddMetadata("isSupportedLanguage", payload.IsSupportedLanguage); + + datum.AddMetadata("jobGroup", payload.JobGroup); + + datum.AddMetadata("jobId", payload.JobId); + + if (payload.PerfClientLatency.HasValue) + { + datum.AddMetadata("perfClientLatency", payload.PerfClientLatency.Value); + } + + datum.AddMetadata("result", payload.Result); + + if (payload.Status.HasValue) + { + datum.AddMetadata("status", payload.Status.Value); + } datum = datum.InvokeTransform(transformDatum); @@ -2149,8 +2732,8 @@ public static void RecordAppBuilderStartWalkthrough(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// Called when two resources are connected - public static void RecordAppcomposerAddConnection(this ITelemetryLogger telemetryLogger, AppcomposerAddConnection payload, Func transformDatum = null) + /// Captures if Q chat panel is successfully viewed or not + public static void RecordAmazonqViewChatPanel(this ITelemetryLogger telemetryLogger, AmazonqViewChatPanel payload, Func transformDatum = null) { try { @@ -2166,7 +2749,7 @@ public static void RecordAppcomposerAddConnection(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_addConnection"; + datum.MetricName = "amazonq_viewChatPanel"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2182,6 +2765,7 @@ public static void RecordAppcomposerAddConnection(this ITelemetryLogger telemetr 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); @@ -2196,13 +2780,7 @@ public static void RecordAppcomposerAddConnection(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("destFacetType", payload.DestFacetType); - - datum.AddMetadata("destResourceType", payload.DestResourceType); - - datum.AddMetadata("sourceFacetType", payload.SourceFacetType); - - datum.AddMetadata("sourceResourceType", payload.SourceResourceType); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -2217,8 +2795,8 @@ public static void RecordAppcomposerAddConnection(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// Called when a resource is added to the canvas - public static void RecordAppcomposerAddResource(this ITelemetryLogger telemetryLogger, AppcomposerAddResource payload, Func transformDatum = null) + /// Copying an API Gateway remote URL + public static void RecordApigatewayCopyUrl(this ITelemetryLogger telemetryLogger, ApigatewayCopyUrl payload, Func transformDatum = null) { try { @@ -2234,7 +2812,7 @@ public static void RecordAppcomposerAddResource(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_addResource"; + datum.MetricName = "apigateway_copyUrl"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2250,6 +2828,7 @@ public static void RecordAppcomposerAddResource(this ITelemetryLogger telemetryL 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); @@ -2264,7 +2843,7 @@ public static void RecordAppcomposerAddResource(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("resourceType", payload.ResourceType); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -2279,8 +2858,8 @@ public static void RecordAppcomposerAddResource(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Called when Step Functions Workflow Studio is closed - public static void RecordAppcomposerCloseWfs(this ITelemetryLogger telemetryLogger, AppcomposerCloseWfs payload, Func transformDatum = null) + /// Invoking one simulated API Gateway call using the SAM cli + public static void RecordApigatewayInvokeLocal(this ITelemetryLogger telemetryLogger, ApigatewayInvokeLocal payload, Func transformDatum = null) { try { @@ -2296,7 +2875,7 @@ public static void RecordAppcomposerCloseWfs(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_closeWfs"; + datum.MetricName = "apigateway_invokeLocal"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2312,6 +2891,7 @@ public static void RecordAppcomposerCloseWfs(this ITelemetryLogger telemetryLogg 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); @@ -2326,7 +2906,21 @@ public static void RecordAppcomposerCloseWfs(this ITelemetryLogger telemetryLogg } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("didSave", payload.DidSave); + datum.AddMetadata("debug", payload.Debug); + + datum.AddMetadata("httpMethod", payload.HttpMethod); + + if (payload.LambdaArchitecture.HasValue) + { + datum.AddMetadata("lambdaArchitecture", payload.LambdaArchitecture.Value); + } + + datum.AddMetadata("result", payload.Result); + + if (payload.Runtime.HasValue) + { + datum.AddMetadata("runtime", payload.Runtime.Value); + } datum = datum.InvokeTransform(transformDatum); @@ -2341,8 +2935,8 @@ public static void RecordAppcomposerCloseWfs(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Called after a customer loads into Composeer - public static void RecordAppcomposerCustomerReady(this ITelemetryLogger telemetryLogger, AppcomposerCustomerReady payload, Func transformDatum = null) + /// Calling a remote API Gateway + public static void RecordApigatewayInvokeRemote(this ITelemetryLogger telemetryLogger, ApigatewayInvokeRemote payload, Func transformDatum = null) { try { @@ -2358,7 +2952,7 @@ public static void RecordAppcomposerCustomerReady(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_customerReady"; + datum.MetricName = "apigateway_invokeRemote"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2374,6 +2968,7 @@ public static void RecordAppcomposerCustomerReady(this ITelemetryLogger telemetr 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); @@ -2388,11 +2983,9 @@ public static void RecordAppcomposerCustomerReady(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("initializeTime", payload.InitializeTime); - - datum.AddMetadata("loadFileTime", payload.LoadFileTime); + datum.AddMetadata("httpMethod", payload.HttpMethod); - datum.AddMetadata("saveFileTime", payload.SaveFileTime); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -2407,8 +3000,8 @@ public static void RecordAppcomposerCustomerReady(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// Called after clicking the Sync button - public static void RecordAppcomposerDeployClicked(this ITelemetryLogger telemetryLogger, AppcomposerDeployClicked payload, Func transformDatum = null) + /// Called when starting a local API Gateway server simulator with SAM. Only called when starting it for long running testing, not for single invokes + public static void RecordApigatewayStartLocalServer(this ITelemetryLogger telemetryLogger, ApigatewayStartLocalServer payload, Func transformDatum = null) { try { @@ -2424,7 +3017,7 @@ public static void RecordAppcomposerDeployClicked(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_deployClicked"; + datum.MetricName = "apigateway_startLocalServer"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2440,6 +3033,7 @@ public static void RecordAppcomposerDeployClicked(this ITelemetryLogger telemetr 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); @@ -2454,6 +3048,8 @@ public static void RecordAppcomposerDeployClicked(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("result", payload.Result); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -2467,8 +3063,8 @@ public static void RecordAppcomposerDeployClicked(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// Called after a Composer-triggered SAM Sync completes - public static void RecordAppcomposerDeployCompleted(this ITelemetryLogger telemetryLogger, AppcomposerDeployCompleted payload, Func transformDatum = null) + /// Click Install button in Getting Started Walkthrough + public static void RecordAppBuilderInstallTool(this ITelemetryLogger telemetryLogger, AppBuilderInstallTool payload, Func transformDatum = null) { try { @@ -2484,7 +3080,7 @@ public static void RecordAppcomposerDeployCompleted(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_deployCompleted"; + datum.MetricName = "appBuilder_installTool"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2500,6 +3096,7 @@ public static void RecordAppcomposerDeployCompleted(this ITelemetryLogger teleme 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); @@ -2514,6 +3111,11 @@ public static void RecordAppcomposerDeployCompleted(this ITelemetryLogger teleme } datum.AddMetadata("locale", payload.Locale); + if (payload.ToolId.HasValue) + { + datum.AddMetadata("toolId", payload.ToolId.Value); + } + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -2527,8 +3129,8 @@ public static void RecordAppcomposerDeployCompleted(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// Called regularly to record app performance - public static void RecordAppcomposerFps(this ITelemetryLogger telemetryLogger, AppcomposerFps payload, Func transformDatum = null) + /// User click Convert a lambda function to SAM project + public static void RecordAppbuilderLambda2sam(this ITelemetryLogger telemetryLogger, AppbuilderLambda2sam payload, Func transformDatum = null) { try { @@ -2544,7 +3146,7 @@ public static void RecordAppcomposerFps(this ITelemetryLogger telemetryLogger, A metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_fps"; + datum.MetricName = "appbuilder_lambda2sam"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2560,6 +3162,7 @@ public static void RecordAppcomposerFps(this ITelemetryLogger telemetryLogger, A 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); @@ -2574,7 +3177,19 @@ public static void RecordAppcomposerFps(this ITelemetryLogger telemetryLogger, A } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("fps", payload.Fps); + datum.AddMetadata("action", payload.Action); + + datum.AddMetadata("iac", payload.Iac); + + if (payload.Result.HasValue) + { + datum.AddMetadata("result", payload.Result.Value); + } + + if (payload.Runtime.HasValue) + { + datum.AddMetadata("runtime", payload.Runtime.Value); + } datum = datum.InvokeTransform(transformDatum); @@ -2589,8 +3204,8 @@ public static void RecordAppcomposerFps(this ITelemetryLogger telemetryLogger, A } /// Records Telemetry Event: - /// Called after accepting a generative AI suggestion - public static void RecordAppcomposerGenerateAccepted(this ITelemetryLogger telemetryLogger, AppcomposerGenerateAccepted payload, Func transformDatum = null) + /// Click open Local invoke WebView button in Application Builder + public static void RecordAppBuilderOpenLocalInvokeWebView(this ITelemetryLogger telemetryLogger, AppBuilderOpenLocalInvokeWebView payload, Func transformDatum = null) { try { @@ -2606,7 +3221,7 @@ public static void RecordAppcomposerGenerateAccepted(this ITelemetryLogger telem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_generateAccepted"; + datum.MetricName = "appBuilder_openLocalInvokeWebView"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2622,6 +3237,7 @@ public static void RecordAppcomposerGenerateAccepted(this ITelemetryLogger telem 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); @@ -2636,10 +3252,6 @@ public static void RecordAppcomposerGenerateAccepted(this ITelemetryLogger telem } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("numAttempts", payload.NumAttempts); - - datum.AddMetadata("resourceType", payload.ResourceType); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -2653,8 +3265,8 @@ public static void RecordAppcomposerGenerateAccepted(this ITelemetryLogger telem } /// Records Telemetry Event: - /// Called after generating a standard resource template partial - public static void RecordAppcomposerGenerateClicked(this ITelemetryLogger telemetryLogger, AppcomposerGenerateClicked payload, Func transformDatum = null) + /// Click open Remote invoke WebView button in Application Builder + public static void RecordAppBuilderOpenRemoteInvokeWebView(this ITelemetryLogger telemetryLogger, AppBuilderOpenRemoteInvokeWebView payload, Func transformDatum = null) { try { @@ -2670,7 +3282,7 @@ public static void RecordAppcomposerGenerateClicked(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_generateClicked"; + datum.MetricName = "appBuilder_openRemoteInvokeWebView"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2686,6 +3298,7 @@ public static void RecordAppcomposerGenerateClicked(this ITelemetryLogger teleme 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); @@ -2700,8 +3313,6 @@ public static void RecordAppcomposerGenerateClicked(this ITelemetryLogger teleme } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("resourceType", payload.ResourceType); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -2715,8 +3326,8 @@ public static void RecordAppcomposerGenerateClicked(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// Called after rejecting a generative AI suggestion - public static void RecordAppcomposerGenerateRejected(this ITelemetryLogger telemetryLogger, AppcomposerGenerateRejected payload, Func transformDatum = null) + /// Click open template button in Application Builder + public static void RecordAppBuilderOpenTemplate(this ITelemetryLogger telemetryLogger, AppBuilderOpenTemplate payload, Func transformDatum = null) { try { @@ -2732,7 +3343,7 @@ public static void RecordAppcomposerGenerateRejected(this ITelemetryLogger telem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_generateRejected"; + datum.MetricName = "appBuilder_openTemplate"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2748,6 +3359,7 @@ public static void RecordAppcomposerGenerateRejected(this ITelemetryLogger telem 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); @@ -2762,10 +3374,6 @@ public static void RecordAppcomposerGenerateRejected(this ITelemetryLogger telem } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("numAttempts", payload.NumAttempts); - - datum.AddMetadata("resourceType", payload.ResourceType); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -2779,8 +3387,8 @@ public static void RecordAppcomposerGenerateRejected(this ITelemetryLogger telem } /// Records Telemetry Event: - /// Called when a project successfully loads - public static void RecordAppcomposerInitializeProject(this ITelemetryLogger telemetryLogger, AppcomposerInitializeProject payload, Func transformDatum = null) + /// Select a template and create project in Getting Started Walkthrough + public static void RecordAppBuilderSelectWalkthroughTemplate(this ITelemetryLogger telemetryLogger, AppBuilderSelectWalkthroughTemplate payload, Func transformDatum = null) { try { @@ -2796,7 +3404,7 @@ public static void RecordAppcomposerInitializeProject(this ITelemetryLogger tele metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_initializeProject"; + datum.MetricName = "appBuilder_selectWalkthroughTemplate"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2812,6 +3420,7 @@ public static void RecordAppcomposerInitializeProject(this ITelemetryLogger tele 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); @@ -2826,9 +3435,7 @@ public static void RecordAppcomposerInitializeProject(this ITelemetryLogger tele } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("resourceCounts", payload.ResourceCounts); - - datum.AddMetadata("totalResourceCount", payload.TotalResourceCount); + datum.AddMetadata("action", payload.Action); datum = datum.InvokeTransform(transformDatum); @@ -2843,8 +3450,8 @@ public static void RecordAppcomposerInitializeProject(this ITelemetryLogger tele } /// Records Telemetry Event: - /// Called after a generate failed - public static void RecordAppcomposerInvalidGeneration(this ITelemetryLogger telemetryLogger, AppcomposerInvalidGeneration payload, Func transformDatum = null) + /// Open Getting Started Walkthrough + public static void RecordAppBuilderStartWalkthrough(this ITelemetryLogger telemetryLogger, AppBuilderStartWalkthrough payload, Func transformDatum = null) { try { @@ -2860,7 +3467,7 @@ public static void RecordAppcomposerInvalidGeneration(this ITelemetryLogger tele metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_invalidGeneration"; + datum.MetricName = "appBuilder_startWalkthrough"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2876,6 +3483,7 @@ public static void RecordAppcomposerInvalidGeneration(this ITelemetryLogger tele 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); @@ -2890,10 +3498,6 @@ public static void RecordAppcomposerInvalidGeneration(this ITelemetryLogger tele } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("generateFailure", payload.GenerateFailure); - - datum.AddMetadata("resourceType", payload.ResourceType); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -2907,8 +3511,8 @@ public static void RecordAppcomposerInvalidGeneration(this ITelemetryLogger tele } /// Records Telemetry Event: - /// Called after opening a template - public static void RecordAppcomposerOpenTemplate(this ITelemetryLogger telemetryLogger, AppcomposerOpenTemplate payload, Func transformDatum = null) + /// Called when two resources are connected + public static void RecordAppcomposerAddConnection(this ITelemetryLogger telemetryLogger, AppcomposerAddConnection payload, Func transformDatum = null) { try { @@ -2924,7 +3528,7 @@ public static void RecordAppcomposerOpenTemplate(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_openTemplate"; + datum.MetricName = "appcomposer_addConnection"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -2940,6 +3544,7 @@ public static void RecordAppcomposerOpenTemplate(this ITelemetryLogger telemetry 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); @@ -2954,9 +3559,13 @@ public static void RecordAppcomposerOpenTemplate(this ITelemetryLogger telemetry } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("hasChatAuth", payload.HasChatAuth); + datum.AddMetadata("destFacetType", payload.DestFacetType); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("destResourceType", payload.DestResourceType); + + datum.AddMetadata("sourceFacetType", payload.SourceFacetType); + + datum.AddMetadata("sourceResourceType", payload.SourceResourceType); datum = datum.InvokeTransform(transformDatum); @@ -2971,8 +3580,8 @@ public static void RecordAppcomposerOpenTemplate(this ITelemetryLogger telemetry } /// Records Telemetry Event: - /// Called when Step Functions Workflow Studio is opened - public static void RecordAppcomposerOpenWfs(this ITelemetryLogger telemetryLogger, AppcomposerOpenWfs payload, Func transformDatum = null) + /// Called when a resource is added to the canvas + public static void RecordAppcomposerAddResource(this ITelemetryLogger telemetryLogger, AppcomposerAddResource payload, Func transformDatum = null) { try { @@ -2988,7 +3597,7 @@ public static void RecordAppcomposerOpenWfs(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_openWfs"; + datum.MetricName = "appcomposer_addResource"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3004,6 +3613,7 @@ public static void RecordAppcomposerOpenWfs(this ITelemetryLogger telemetryLogge 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); @@ -3018,6 +3628,8 @@ public static void RecordAppcomposerOpenWfs(this ITelemetryLogger telemetryLogge } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("resourceType", payload.ResourceType); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -3031,8 +3643,8 @@ public static void RecordAppcomposerOpenWfs(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Called after a generate is processed - public static void RecordAppcomposerPostProcess(this ITelemetryLogger telemetryLogger, AppcomposerPostProcess payload, Func transformDatum = null) + /// Called when Step Functions Workflow Studio is closed + public static void RecordAppcomposerCloseWfs(this ITelemetryLogger telemetryLogger, AppcomposerCloseWfs payload, Func transformDatum = null) { try { @@ -3048,7 +3660,7 @@ public static void RecordAppcomposerPostProcess(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_postProcess"; + datum.MetricName = "appcomposer_closeWfs"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3064,6 +3676,7 @@ public static void RecordAppcomposerPostProcess(this ITelemetryLogger telemetryL 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); @@ -3078,9 +3691,7 @@ public static void RecordAppcomposerPostProcess(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("pathsScrubbed", payload.PathsScrubbed); - - datum.AddMetadata("resourceType", payload.ResourceType); + datum.AddMetadata("didSave", payload.DidSave); datum = datum.InvokeTransform(transformDatum); @@ -3095,8 +3706,8 @@ public static void RecordAppcomposerPostProcess(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Called after regenerating a standard resource template partial - public static void RecordAppcomposerRegenerateClicked(this ITelemetryLogger telemetryLogger, AppcomposerRegenerateClicked payload, Func transformDatum = null) + /// Called after a customer loads into Composeer + public static void RecordAppcomposerCustomerReady(this ITelemetryLogger telemetryLogger, AppcomposerCustomerReady payload, Func transformDatum = null) { try { @@ -3112,7 +3723,7 @@ public static void RecordAppcomposerRegenerateClicked(this ITelemetryLogger tele metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "appcomposer_regenerateClicked"; + datum.MetricName = "appcomposer_customerReady"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3128,6 +3739,7 @@ public static void RecordAppcomposerRegenerateClicked(this ITelemetryLogger tele 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); @@ -3142,7 +3754,11 @@ public static void RecordAppcomposerRegenerateClicked(this ITelemetryLogger tele } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("resourceType", payload.ResourceType); + datum.AddMetadata("initializeTime", payload.InitializeTime); + + datum.AddMetadata("loadFileTime", payload.LoadFileTime); + + datum.AddMetadata("saveFileTime", payload.SaveFileTime); datum = datum.InvokeTransform(transformDatum); @@ -3157,8 +3773,8 @@ public static void RecordAppcomposerRegenerateClicked(this ITelemetryLogger tele } /// Records Telemetry Event: - /// Copy the service URL - public static void RecordApprunnerCopyServiceUrl(this ITelemetryLogger telemetryLogger, ApprunnerCopyServiceUrl payload, Func transformDatum = null) + /// Called after clicking the Sync button + public static void RecordAppcomposerDeployClicked(this ITelemetryLogger telemetryLogger, AppcomposerDeployClicked payload, Func transformDatum = null) { try { @@ -3174,7 +3790,7 @@ public static void RecordApprunnerCopyServiceUrl(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "apprunner_copyServiceUrl"; + datum.MetricName = "appcomposer_deployClicked"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3190,6 +3806,7 @@ public static void RecordApprunnerCopyServiceUrl(this ITelemetryLogger telemetry 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); @@ -3217,8 +3834,8 @@ public static void RecordApprunnerCopyServiceUrl(this ITelemetryLogger telemetry } /// Records Telemetry Event: - /// Create an App Runner service - public static void RecordApprunnerCreateService(this ITelemetryLogger telemetryLogger, ApprunnerCreateService payload, Func transformDatum = null) + /// Called after a Composer-triggered SAM Sync completes + public static void RecordAppcomposerDeployCompleted(this ITelemetryLogger telemetryLogger, AppcomposerDeployCompleted payload, Func transformDatum = null) { try { @@ -3234,7 +3851,7 @@ public static void RecordApprunnerCreateService(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "apprunner_createService"; + datum.MetricName = "appcomposer_deployCompleted"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3250,6 +3867,7 @@ public static void RecordApprunnerCreateService(this ITelemetryLogger telemetryL 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); @@ -3264,10 +3882,6 @@ public static void RecordApprunnerCreateService(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("appRunnerServiceSource", payload.AppRunnerServiceSource); - - datum.AddMetadata("result", payload.Result); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -3281,8 +3895,8 @@ public static void RecordApprunnerCreateService(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Delete an App Runner service - public static void RecordApprunnerDeleteService(this ITelemetryLogger telemetryLogger, ApprunnerDeleteService payload, Func transformDatum = null) + /// Called regularly to record app performance + public static void RecordAppcomposerFps(this ITelemetryLogger telemetryLogger, AppcomposerFps payload, Func transformDatum = null) { try { @@ -3298,7 +3912,7 @@ public static void RecordApprunnerDeleteService(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "apprunner_deleteService"; + datum.MetricName = "appcomposer_fps"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3314,6 +3928,7 @@ public static void RecordApprunnerDeleteService(this ITelemetryLogger telemetryL 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); @@ -3328,12 +3943,7 @@ public static void RecordApprunnerDeleteService(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - if (payload.AppRunnerServiceStatus.HasValue) - { - datum.AddMetadata("appRunnerServiceStatus", payload.AppRunnerServiceStatus.Value); - } - - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("fps", payload.Fps); datum = datum.InvokeTransform(transformDatum); @@ -3348,8 +3958,8 @@ public static void RecordApprunnerDeleteService(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Open the service URL in a browser - public static void RecordApprunnerOpenServiceUrl(this ITelemetryLogger telemetryLogger, ApprunnerOpenServiceUrl payload, Func transformDatum = null) + /// Called after accepting a generative AI suggestion + public static void RecordAppcomposerGenerateAccepted(this ITelemetryLogger telemetryLogger, AppcomposerGenerateAccepted payload, Func transformDatum = null) { try { @@ -3365,7 +3975,7 @@ public static void RecordApprunnerOpenServiceUrl(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "apprunner_openServiceUrl"; + datum.MetricName = "appcomposer_generateAccepted"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3381,6 +3991,7 @@ public static void RecordApprunnerOpenServiceUrl(this ITelemetryLogger telemetry 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); @@ -3395,6 +4006,10 @@ public static void RecordApprunnerOpenServiceUrl(this ITelemetryLogger telemetry } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("numAttempts", payload.NumAttempts); + + datum.AddMetadata("resourceType", payload.ResourceType); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -3408,8 +4023,8 @@ public static void RecordApprunnerOpenServiceUrl(this ITelemetryLogger telemetry } /// Records Telemetry Event: - /// Pause a running App Runner service - public static void RecordApprunnerPauseService(this ITelemetryLogger telemetryLogger, ApprunnerPauseService payload, Func transformDatum = null) + /// Called after generating a standard resource template partial + public static void RecordAppcomposerGenerateClicked(this ITelemetryLogger telemetryLogger, AppcomposerGenerateClicked payload, Func transformDatum = null) { try { @@ -3425,7 +4040,7 @@ public static void RecordApprunnerPauseService(this ITelemetryLogger telemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "apprunner_pauseService"; + datum.MetricName = "appcomposer_generateClicked"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3441,6 +4056,7 @@ public static void RecordApprunnerPauseService(this ITelemetryLogger telemetryLo 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); @@ -3455,7 +4071,7 @@ public static void RecordApprunnerPauseService(this ITelemetryLogger telemetryLo } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("resourceType", payload.ResourceType); datum = datum.InvokeTransform(transformDatum); @@ -3470,8 +4086,8 @@ public static void RecordApprunnerPauseService(this ITelemetryLogger telemetryLo } /// Records Telemetry Event: - /// Resume a paused App Runner service - public static void RecordApprunnerResumeService(this ITelemetryLogger telemetryLogger, ApprunnerResumeService payload, Func transformDatum = null) + /// Called after rejecting a generative AI suggestion + public static void RecordAppcomposerGenerateRejected(this ITelemetryLogger telemetryLogger, AppcomposerGenerateRejected payload, Func transformDatum = null) { try { @@ -3487,7 +4103,7 @@ public static void RecordApprunnerResumeService(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "apprunner_resumeService"; + datum.MetricName = "appcomposer_generateRejected"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3503,6 +4119,7 @@ public static void RecordApprunnerResumeService(this ITelemetryLogger telemetryL 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); @@ -3517,7 +4134,9 @@ public static void RecordApprunnerResumeService(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("numAttempts", payload.NumAttempts); + + datum.AddMetadata("resourceType", payload.ResourceType); datum = datum.InvokeTransform(transformDatum); @@ -3532,8 +4151,8 @@ public static void RecordApprunnerResumeService(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Start a new deployment for an App Runner service - public static void RecordApprunnerStartDeployment(this ITelemetryLogger telemetryLogger, ApprunnerStartDeployment payload, Func transformDatum = null) + /// Called when a project successfully loads + public static void RecordAppcomposerInitializeProject(this ITelemetryLogger telemetryLogger, AppcomposerInitializeProject payload, Func transformDatum = null) { try { @@ -3549,7 +4168,7 @@ public static void RecordApprunnerStartDeployment(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "apprunner_startDeployment"; + datum.MetricName = "appcomposer_initializeProject"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3565,6 +4184,7 @@ public static void RecordApprunnerStartDeployment(this ITelemetryLogger telemetr 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); @@ -3579,7 +4199,9 @@ public static void RecordApprunnerStartDeployment(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("resourceCounts", payload.ResourceCounts); + + datum.AddMetadata("totalResourceCount", payload.TotalResourceCount); datum = datum.InvokeTransform(transformDatum); @@ -3594,8 +4216,8 @@ public static void RecordApprunnerStartDeployment(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// View the App Runner application logs (the logs for your running service) - public static void RecordApprunnerViewApplicationLogs(this ITelemetryLogger telemetryLogger, ApprunnerViewApplicationLogs payload, Func transformDatum = null) + /// Called after a generate failed + public static void RecordAppcomposerInvalidGeneration(this ITelemetryLogger telemetryLogger, AppcomposerInvalidGeneration payload, Func transformDatum = null) { try { @@ -3611,7 +4233,7 @@ public static void RecordApprunnerViewApplicationLogs(this ITelemetryLogger tele metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "apprunner_viewApplicationLogs"; + datum.MetricName = "appcomposer_invalidGeneration"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3627,6 +4249,7 @@ public static void RecordApprunnerViewApplicationLogs(this ITelemetryLogger tele 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); @@ -3641,6 +4264,10 @@ public static void RecordApprunnerViewApplicationLogs(this ITelemetryLogger tele } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("generateFailure", payload.GenerateFailure); + + datum.AddMetadata("resourceType", payload.ResourceType); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -3654,8 +4281,8 @@ public static void RecordApprunnerViewApplicationLogs(this ITelemetryLogger tele } /// Records Telemetry Event: - /// View the App Runner service logs (the logs produced by App Runner) - public static void RecordApprunnerViewServiceLogs(this ITelemetryLogger telemetryLogger, ApprunnerViewServiceLogs payload, Func transformDatum = null) + /// Called after opening a template + public static void RecordAppcomposerOpenTemplate(this ITelemetryLogger telemetryLogger, AppcomposerOpenTemplate payload, Func transformDatum = null) { try { @@ -3671,7 +4298,7 @@ public static void RecordApprunnerViewServiceLogs(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "apprunner_viewServiceLogs"; + datum.MetricName = "appcomposer_openTemplate"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3687,6 +4314,7 @@ public static void RecordApprunnerViewServiceLogs(this ITelemetryLogger telemetr 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); @@ -3701,6 +4329,8 @@ public static void RecordApprunnerViewServiceLogs(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("hasChatAuth", payload.HasChatAuth); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -3714,8 +4344,8 @@ public static void RecordApprunnerViewServiceLogs(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// New connection was added in the 'Add New Connection' workflow. - public static void RecordAuthAddConnection(this ITelemetryLogger telemetryLogger, AuthAddConnection payload, Func transformDatum = null) + /// Called when Step Functions Workflow Studio is opened + public static void RecordAppcomposerOpenWfs(this ITelemetryLogger telemetryLogger, AppcomposerOpenWfs payload, Func transformDatum = null) { try { @@ -3731,7 +4361,7 @@ public static void RecordAuthAddConnection(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "auth_addConnection"; + datum.MetricName = "appcomposer_openWfs"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3747,6 +4377,7 @@ public static void RecordAuthAddConnection(this ITelemetryLogger telemetryLogger 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); @@ -3761,35 +4392,6 @@ public static void RecordAuthAddConnection(this ITelemetryLogger telemetryLogger } datum.AddMetadata("locale", payload.Locale); - if (payload.Attempts.HasValue) - { - datum.AddMetadata("attempts", payload.Attempts.Value); - } - - datum.AddMetadata("authEnabledFeatures", payload.AuthEnabledFeatures); - - datum.AddMetadata("authScopes", payload.AuthScopes); - - datum.AddMetadata("credentialSourceId", payload.CredentialSourceId); - - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - - datum.AddMetadata("featureId", payload.FeatureId); - - datum.AddMetadata("invalidInputFields", payload.InvalidInputFields); - - datum.AddMetadata("isAggregated", payload.IsAggregated); - - datum.AddMetadata("isReAuth", payload.IsReAuth); - - datum.AddMetadata("result", payload.Result); - - datum.AddMetadata("source", payload.Source); - - datum.AddMetadata("ssoRegistrationClientId", payload.SsoRegistrationClientId); - - datum.AddMetadata("ssoRegistrationExpiresAt", payload.SsoRegistrationExpiresAt); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -3803,8 +4405,8 @@ public static void RecordAuthAddConnection(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// The diff/change in Auth connections - public static void RecordAuthAddedConnections(this ITelemetryLogger telemetryLogger, AuthAddedConnections payload, Func transformDatum = null) + /// Called after a generate is processed + public static void RecordAppcomposerPostProcess(this ITelemetryLogger telemetryLogger, AppcomposerPostProcess payload, Func transformDatum = null) { try { @@ -3820,7 +4422,7 @@ public static void RecordAuthAddedConnections(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "auth_addedConnections"; + datum.MetricName = "appcomposer_postProcess"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3836,6 +4438,7 @@ public static void RecordAuthAddedConnections(this ITelemetryLogger telemetryLog 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); @@ -3850,19 +4453,9 @@ public static void RecordAuthAddedConnections(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("attempts", payload.Attempts); - - datum.AddMetadata("authConnectionsCount", payload.AuthConnectionsCount); - - datum.AddMetadata("enabledAuthConnections", payload.EnabledAuthConnections); - - datum.AddMetadata("newAuthConnectionsCount", payload.NewAuthConnectionsCount); - - datum.AddMetadata("newEnabledAuthConnections", payload.NewEnabledAuthConnections); - - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("pathsScrubbed", payload.PathsScrubbed); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("resourceType", payload.ResourceType); datum = datum.InvokeTransform(transformDatum); @@ -3877,8 +4470,8 @@ public static void RecordAuthAddedConnections(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// When the Amazon Q sign in page is closed. - public static void RecordAuthSignInPageClosed(this ITelemetryLogger telemetryLogger, AuthSignInPageClosed payload, Func transformDatum = null) + /// Called after regenerating a standard resource template partial + public static void RecordAppcomposerRegenerateClicked(this ITelemetryLogger telemetryLogger, AppcomposerRegenerateClicked payload, Func transformDatum = null) { try { @@ -3894,7 +4487,7 @@ public static void RecordAuthSignInPageClosed(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "auth_signInPageClosed"; + datum.MetricName = "appcomposer_regenerateClicked"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3910,6 +4503,7 @@ public static void RecordAuthSignInPageClosed(this ITelemetryLogger telemetryLog 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); @@ -3924,6 +4518,8 @@ public static void RecordAuthSignInPageClosed(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("resourceType", payload.ResourceType); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -3937,8 +4533,8 @@ public static void RecordAuthSignInPageClosed(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// When the Amazon Q sign in page is opened and focused. - public static void RecordAuthSignInPageOpened(this ITelemetryLogger telemetryLogger, AuthSignInPageOpened payload, Func transformDatum = null) + /// Copy the service URL + public static void RecordApprunnerCopyServiceUrl(this ITelemetryLogger telemetryLogger, ApprunnerCopyServiceUrl payload, Func transformDatum = null) { try { @@ -3954,7 +4550,7 @@ public static void RecordAuthSignInPageOpened(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "auth_signInPageOpened"; + datum.MetricName = "apprunner_copyServiceUrl"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -3970,6 +4566,7 @@ public static void RecordAuthSignInPageOpened(this ITelemetryLogger telemetryLog 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); @@ -3997,8 +4594,8 @@ public static void RecordAuthSignInPageOpened(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Called when user clicks yes or no to switch role upon adding new connection - public static void RecordAuthSwitchRoles(this ITelemetryLogger telemetryLogger, AuthSwitchRoles payload, Func transformDatum = null) + /// Create an App Runner service + public static void RecordApprunnerCreateService(this ITelemetryLogger telemetryLogger, ApprunnerCreateService payload, Func transformDatum = null) { try { @@ -4014,7 +4611,7 @@ public static void RecordAuthSwitchRoles(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "auth_switchRoles"; + datum.MetricName = "apprunner_createService"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4030,6 +4627,7 @@ public static void RecordAuthSwitchRoles(this ITelemetryLogger telemetryLogger, 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); @@ -4044,9 +4642,9 @@ public static void RecordAuthSwitchRoles(this ITelemetryLogger telemetryLogger, } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("authConnectionsCount", payload.AuthConnectionsCount); + datum.AddMetadata("appRunnerServiceSource", payload.AppRunnerServiceSource); - datum.AddMetadata("userChoice", payload.UserChoice); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -4061,8 +4659,8 @@ public static void RecordAuthSwitchRoles(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// The state of the user's authentication upon startup. - public static void RecordAuthUserState(this ITelemetryLogger telemetryLogger, AuthUserState payload, Func transformDatum = null) + /// Delete an App Runner service + public static void RecordApprunnerDeleteService(this ITelemetryLogger telemetryLogger, ApprunnerDeleteService payload, Func transformDatum = null) { try { @@ -4078,7 +4676,7 @@ public static void RecordAuthUserState(this ITelemetryLogger telemetryLogger, Au metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "auth_userState"; + datum.MetricName = "apprunner_deleteService"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4094,6 +4692,7 @@ public static void RecordAuthUserState(this ITelemetryLogger telemetryLogger, Au 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); @@ -4108,34 +4707,12 @@ public static void RecordAuthUserState(this ITelemetryLogger telemetryLogger, Au } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("authEnabledConnections", payload.AuthEnabledConnections); - - datum.AddMetadata("authScopes", payload.AuthScopes); - - datum.AddMetadata("authStatus", payload.AuthStatus); - - if (payload.CredentialSourceId.HasValue) - { - datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); - } - - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - - if (payload.CredentialType.HasValue) - { - datum.AddMetadata("credentialType", payload.CredentialType.Value); - } - - if (payload.FeatureId.HasValue) + if (payload.AppRunnerServiceStatus.HasValue) { - datum.AddMetadata("featureId", payload.FeatureId.Value); + datum.AddMetadata("appRunnerServiceStatus", payload.AppRunnerServiceStatus.Value); } - datum.AddMetadata("source", payload.Source); - - datum.AddMetadata("ssoRegistrationClientId", payload.SsoRegistrationClientId); - - datum.AddMetadata("ssoRegistrationExpiresAt", payload.SsoRegistrationExpiresAt); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -4150,8 +4727,8 @@ public static void RecordAuthUserState(this ITelemetryLogger telemetryLogger, Au } /// Records Telemetry Event: - /// Copy the ARN of an AWS resource - public static void RecordAwsCopyArn(this ITelemetryLogger telemetryLogger, AwsCopyArn payload, Func transformDatum = null) + /// Open the service URL in a browser + public static void RecordApprunnerOpenServiceUrl(this ITelemetryLogger telemetryLogger, ApprunnerOpenServiceUrl payload, Func transformDatum = null) { try { @@ -4167,7 +4744,7 @@ public static void RecordAwsCopyArn(this ITelemetryLogger telemetryLogger, AwsCo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_copyArn"; + datum.MetricName = "apprunner_openServiceUrl"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4183,6 +4760,7 @@ public static void RecordAwsCopyArn(this ITelemetryLogger telemetryLogger, AwsCo 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); @@ -4197,8 +4775,6 @@ public static void RecordAwsCopyArn(this ITelemetryLogger telemetryLogger, AwsCo } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("serviceType", payload.ServiceType); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -4212,8 +4788,8 @@ public static void RecordAwsCopyArn(this ITelemetryLogger telemetryLogger, AwsCo } /// Records Telemetry Event: - /// Create a new credentials file - public static void RecordAwsCreateCredentials(this ITelemetryLogger telemetryLogger, AwsCreateCredentials payload, Func transformDatum = null) + /// Pause a running App Runner service + public static void RecordApprunnerPauseService(this ITelemetryLogger telemetryLogger, ApprunnerPauseService payload, Func transformDatum = null) { try { @@ -4229,7 +4805,7 @@ public static void RecordAwsCreateCredentials(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_createCredentials"; + datum.MetricName = "apprunner_pauseService"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4245,6 +4821,7 @@ public static void RecordAwsCreateCredentials(this ITelemetryLogger telemetryLog 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); @@ -4259,6 +4836,8 @@ public static void RecordAwsCreateCredentials(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("result", payload.Result); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -4272,8 +4851,8 @@ public static void RecordAwsCreateCredentials(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Delete an AWS resource - public static void RecordAwsDeleteResource(this ITelemetryLogger telemetryLogger, AwsDeleteResource payload, Func transformDatum = null) + /// Resume a paused App Runner service + public static void RecordApprunnerResumeService(this ITelemetryLogger telemetryLogger, ApprunnerResumeService payload, Func transformDatum = null) { try { @@ -4289,7 +4868,7 @@ public static void RecordAwsDeleteResource(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_deleteResource"; + datum.MetricName = "apprunner_resumeService"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4305,6 +4884,7 @@ public static void RecordAwsDeleteResource(this ITelemetryLogger telemetryLogger 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); @@ -4321,8 +4901,6 @@ public static void RecordAwsDeleteResource(this ITelemetryLogger telemetryLogger datum.AddMetadata("result", payload.Result); - datum.AddMetadata("serviceType", payload.ServiceType); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -4336,8 +4914,8 @@ public static void RecordAwsDeleteResource(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// Expand a service root node in the AWS explorer window - public static void RecordAwsExpandExplorerNode(this ITelemetryLogger telemetryLogger, AwsExpandExplorerNode payload, Func transformDatum = null) + /// Start a new deployment for an App Runner service + public static void RecordApprunnerStartDeployment(this ITelemetryLogger telemetryLogger, ApprunnerStartDeployment payload, Func transformDatum = null) { try { @@ -4353,7 +4931,7 @@ public static void RecordAwsExpandExplorerNode(this ITelemetryLogger telemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_expandExplorerNode"; + datum.MetricName = "apprunner_startDeployment"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4369,6 +4947,7 @@ public static void RecordAwsExpandExplorerNode(this ITelemetryLogger telemetryLo 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); @@ -4383,7 +4962,7 @@ public static void RecordAwsExpandExplorerNode(this ITelemetryLogger telemetryLo } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("serviceType", payload.ServiceType); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -4398,8 +4977,8 @@ public static void RecordAwsExpandExplorerNode(this ITelemetryLogger telemetryLo } /// Records Telemetry Event: - /// An experiment was activated or deactivated in the Toolkit - public static void RecordAwsExperimentActivation(this ITelemetryLogger telemetryLogger, AwsExperimentActivation payload, Func transformDatum = null) + /// View the App Runner application logs (the logs for your running service) + public static void RecordApprunnerViewApplicationLogs(this ITelemetryLogger telemetryLogger, ApprunnerViewApplicationLogs payload, Func transformDatum = null) { try { @@ -4415,7 +4994,7 @@ public static void RecordAwsExperimentActivation(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_experimentActivation"; + datum.MetricName = "apprunner_viewApplicationLogs"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4431,6 +5010,7 @@ public static void RecordAwsExperimentActivation(this ITelemetryLogger telemetry 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); @@ -4445,10 +5025,6 @@ public static void RecordAwsExperimentActivation(this ITelemetryLogger telemetry } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("experimentId", payload.ExperimentId); - - datum.AddMetadata("experimentState", payload.ExperimentState); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -4462,8 +5038,8 @@ public static void RecordAwsExperimentActivation(this ITelemetryLogger telemetry } /// Records Telemetry Event: - /// An extension in uninstalled - public static void RecordAwsExtensionUninstalled(this ITelemetryLogger telemetryLogger, AwsExtensionUninstalled payload, Func transformDatum = null) + /// View the App Runner service logs (the logs produced by App Runner) + public static void RecordApprunnerViewServiceLogs(this ITelemetryLogger telemetryLogger, ApprunnerViewServiceLogs payload, Func transformDatum = null) { try { @@ -4479,7 +5055,7 @@ public static void RecordAwsExtensionUninstalled(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_extensionUninstalled"; + datum.MetricName = "apprunner_viewServiceLogs"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4495,6 +5071,7 @@ public static void RecordAwsExtensionUninstalled(this ITelemetryLogger telemetry 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); @@ -4522,8 +5099,8 @@ public static void RecordAwsExtensionUninstalled(this ITelemetryLogger telemetry } /// Records Telemetry Event: - /// AB Testing Feature response and Cohort Assignments - public static void RecordAwsFeatureConfig(this ITelemetryLogger telemetryLogger, AwsFeatureConfig payload, Func transformDatum = null) + /// New connection was added in the 'Add New Connection' workflow. + public static void RecordAuthAddConnection(this ITelemetryLogger telemetryLogger, AuthAddConnection payload, Func transformDatum = null) { try { @@ -4539,7 +5116,7 @@ public static void RecordAwsFeatureConfig(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_featureConfig"; + datum.MetricName = "auth_addConnection"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4555,6 +5132,7 @@ public static void RecordAwsFeatureConfig(this ITelemetryLogger telemetryLogger, 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); @@ -4569,11 +5147,37 @@ public static void RecordAwsFeatureConfig(this ITelemetryLogger telemetryLogger, } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("featureValue", payload.FeatureValue); + if (payload.Attempts.HasValue) + { + datum.AddMetadata("attempts", payload.Attempts.Value); + } - datum.AddMetadata("featureVariation", payload.FeatureVariation); + datum.AddMetadata("authEnabledFeatures", payload.AuthEnabledFeatures); - datum.AddMetadata("id", payload.Id); + datum.AddMetadata("authScopes", payload.AuthScopes); + + datum.AddMetadata("credentialSourceId", payload.CredentialSourceId); + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + if (payload.CredentialType.HasValue) + { + datum.AddMetadata("credentialType", payload.CredentialType.Value); + } + + datum.AddMetadata("featureId", payload.FeatureId); + + datum.AddMetadata("invalidInputFields", payload.InvalidInputFields); + + datum.AddMetadata("isAggregated", payload.IsAggregated); + + datum.AddMetadata("isReAuth", payload.IsReAuth); + + datum.AddMetadata("result", payload.Result); + + datum.AddMetadata("ssoRegistrationClientId", payload.SsoRegistrationClientId); + + datum.AddMetadata("ssoRegistrationExpiresAt", payload.SsoRegistrationExpiresAt); datum = datum.InvokeTransform(transformDatum); @@ -4588,8 +5192,8 @@ public static void RecordAwsFeatureConfig(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Open docs for the extension - public static void RecordAwsHelp(this ITelemetryLogger telemetryLogger, AwsHelp payload, Func transformDatum = null) + /// The diff/change in Auth connections + public static void RecordAuthAddedConnections(this ITelemetryLogger telemetryLogger, AuthAddedConnections payload, Func transformDatum = null) { try { @@ -4605,7 +5209,7 @@ public static void RecordAwsHelp(this ITelemetryLogger telemetryLogger, AwsHelp metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_help"; + datum.MetricName = "auth_addedConnections"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4621,6 +5225,7 @@ public static void RecordAwsHelp(this ITelemetryLogger telemetryLogger, AwsHelp 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); @@ -4635,7 +5240,17 @@ public static void RecordAwsHelp(this ITelemetryLogger telemetryLogger, AwsHelp } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("name", payload.Name); + datum.AddMetadata("attempts", payload.Attempts); + + datum.AddMetadata("authConnectionsCount", payload.AuthConnectionsCount); + + datum.AddMetadata("enabledAuthConnections", payload.EnabledAuthConnections); + + datum.AddMetadata("newAuthConnectionsCount", payload.NewAuthConnectionsCount); + + datum.AddMetadata("newEnabledAuthConnections", payload.NewEnabledAuthConnections); + + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -4650,8 +5265,8 @@ public static void RecordAwsHelp(this ITelemetryLogger telemetryLogger, AwsHelp } /// Records Telemetry Event: - /// Open the quickstart guide - public static void RecordAwsHelpQuickstart(this ITelemetryLogger telemetryLogger, AwsHelpQuickstart payload, Func transformDatum = null) + /// When the Amazon Q sign in page is closed. + public static void RecordAuthSignInPageClosed(this ITelemetryLogger telemetryLogger, AuthSignInPageClosed payload, Func transformDatum = null) { try { @@ -4667,7 +5282,7 @@ public static void RecordAwsHelpQuickstart(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_helpQuickstart"; + datum.MetricName = "auth_signInPageClosed"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4683,6 +5298,7 @@ public static void RecordAwsHelpQuickstart(this ITelemetryLogger telemetryLogger 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); @@ -4697,8 +5313,6 @@ public static void RecordAwsHelpQuickstart(this ITelemetryLogger telemetryLogger } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -4712,8 +5326,8 @@ public static void RecordAwsHelpQuickstart(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// Inject selected AWS credentials into a third-party run (e.g. RunConfiguration) - public static void RecordAwsInjectCredentials(this ITelemetryLogger telemetryLogger, AwsInjectCredentials payload, Func transformDatum = null) + /// When the Amazon Q sign in page is opened and focused. + public static void RecordAuthSignInPageOpened(this ITelemetryLogger telemetryLogger, AuthSignInPageOpened payload, Func transformDatum = null) { try { @@ -4729,7 +5343,7 @@ public static void RecordAwsInjectCredentials(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_injectCredentials"; + datum.MetricName = "auth_signInPageOpened"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4745,6 +5359,7 @@ public static void RecordAwsInjectCredentials(this ITelemetryLogger telemetryLog 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); @@ -4759,10 +5374,6 @@ public static void RecordAwsInjectCredentials(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); - - datum.AddMetadata("runtimeString", payload.RuntimeString); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -4776,8 +5387,8 @@ public static void RecordAwsInjectCredentials(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Load credentials from a credential source - public static void RecordAwsLoadCredentials(this ITelemetryLogger telemetryLogger, AwsLoadCredentials payload, Func transformDatum = null) + /// Called when user clicks yes or no to switch role upon adding new connection + public static void RecordAuthSwitchRoles(this ITelemetryLogger telemetryLogger, AuthSwitchRoles payload, Func transformDatum = null) { try { @@ -4793,8 +5404,8 @@ public static void RecordAwsLoadCredentials(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_loadCredentials"; - datum.Unit = Unit.Count; + datum.MetricName = "auth_switchRoles"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -4809,6 +5420,7 @@ public static void RecordAwsLoadCredentials(this ITelemetryLogger telemetryLogge 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); @@ -4823,7 +5435,9 @@ public static void RecordAwsLoadCredentials(this ITelemetryLogger telemetryLogge } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("credentialSourceId", payload.CredentialSourceId); + datum.AddMetadata("authConnectionsCount", payload.AuthConnectionsCount); + + datum.AddMetadata("userChoice", payload.UserChoice); datum = datum.InvokeTransform(transformDatum); @@ -4838,8 +5452,8 @@ public static void RecordAwsLoadCredentials(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Extension navigated the user to a web browser to perform/complete the login process. - public static void RecordAwsLoginWithBrowser(this ITelemetryLogger telemetryLogger, AwsLoginWithBrowser payload, Func transformDatum = null) + /// The state of the user's authentication upon startup. + public static void RecordAuthUserState(this ITelemetryLogger telemetryLogger, AuthUserState payload, Func transformDatum = null) { try { @@ -4855,7 +5469,7 @@ public static void RecordAwsLoginWithBrowser(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_loginWithBrowser"; + datum.MetricName = "auth_userState"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4871,6 +5485,7 @@ public static void RecordAwsLoginWithBrowser(this ITelemetryLogger telemetryLogg 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); @@ -4885,10 +5500,11 @@ public static void RecordAwsLoginWithBrowser(this ITelemetryLogger telemetryLogg } datum.AddMetadata("locale", payload.Locale); - if (payload.AuthType.HasValue) - { - datum.AddMetadata("authType", payload.AuthType.Value); - } + datum.AddMetadata("authEnabledConnections", payload.AuthEnabledConnections); + + datum.AddMetadata("authScopes", payload.AuthScopes); + + datum.AddMetadata("authStatus", payload.AuthStatus); if (payload.CredentialSourceId.HasValue) { @@ -4902,22 +5518,11 @@ public static void RecordAwsLoginWithBrowser(this ITelemetryLogger telemetryLogg datum.AddMetadata("credentialType", payload.CredentialType.Value); } - if (payload.IsReAuth.HasValue) - { - datum.AddMetadata("isReAuth", payload.IsReAuth.Value); - } - - datum.AddMetadata("reAuthReason", payload.ReAuthReason); - - datum.AddMetadata("result", payload.Result); - - if (payload.SessionDuration.HasValue) + if (payload.FeatureId.HasValue) { - datum.AddMetadata("sessionDuration", payload.SessionDuration.Value); + datum.AddMetadata("featureId", payload.FeatureId.Value); } - datum.AddMetadata("source", payload.Source); - datum.AddMetadata("ssoRegistrationClientId", payload.SsoRegistrationClientId); datum.AddMetadata("ssoRegistrationExpiresAt", payload.SsoRegistrationExpiresAt); @@ -4935,8 +5540,8 @@ public static void RecordAwsLoginWithBrowser(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Modify credentials (e.g. Add, Edit, Delete) - public static void RecordAwsModifyCredentials(this ITelemetryLogger telemetryLogger, AwsModifyCredentials payload, Func transformDatum = null) + /// Copy the ARN of an AWS resource + public static void RecordAwsCopyArn(this ITelemetryLogger telemetryLogger, AwsCopyArn payload, Func transformDatum = null) { try { @@ -4952,7 +5557,7 @@ public static void RecordAwsModifyCredentials(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_modifyCredentials"; + datum.MetricName = "aws_copyArn"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -4968,6 +5573,7 @@ public static void RecordAwsModifyCredentials(this ITelemetryLogger telemetryLog 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); @@ -4982,14 +5588,8 @@ public static void RecordAwsModifyCredentials(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("credentialModification", payload.CredentialModification); - - datum.AddMetadata("result", payload.Result); - datum.AddMetadata("serviceType", payload.ServiceType); - datum.AddMetadata("source", payload.Source); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -5003,8 +5603,8 @@ public static void RecordAwsModifyCredentials(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// An setting was changed by users in the Toolkit. This metric can optionally provide the new state of the setting via settingState. - public static void RecordAwsModifySetting(this ITelemetryLogger telemetryLogger, AwsModifySetting payload, Func transformDatum = null) + /// Create a new credentials file + public static void RecordAwsCreateCredentials(this ITelemetryLogger telemetryLogger, AwsCreateCredentials payload, Func transformDatum = null) { try { @@ -5020,7 +5620,7 @@ public static void RecordAwsModifySetting(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_modifySetting"; + datum.MetricName = "aws_createCredentials"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5036,6 +5636,7 @@ public static void RecordAwsModifySetting(this ITelemetryLogger telemetryLogger, 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); @@ -5050,10 +5651,6 @@ public static void RecordAwsModifySetting(this ITelemetryLogger telemetryLogger, } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("settingId", payload.SettingId); - - datum.AddMetadata("settingState", payload.SettingState); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -5067,8 +5664,8 @@ public static void RecordAwsModifySetting(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Open the credentials file - public static void RecordAwsOpenCredentials(this ITelemetryLogger telemetryLogger, AwsOpenCredentials payload, Func transformDatum = null) + /// Delete an AWS resource + public static void RecordAwsDeleteResource(this ITelemetryLogger telemetryLogger, AwsDeleteResource payload, Func transformDatum = null) { try { @@ -5084,7 +5681,7 @@ public static void RecordAwsOpenCredentials(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_openCredentials"; + datum.MetricName = "aws_deleteResource"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5100,6 +5697,7 @@ public static void RecordAwsOpenCredentials(this ITelemetryLogger telemetryLogge 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); @@ -5116,6 +5714,8 @@ public static void RecordAwsOpenCredentials(this ITelemetryLogger telemetryLogge datum.AddMetadata("result", payload.Result); + datum.AddMetadata("serviceType", payload.ServiceType); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -5129,8 +5729,8 @@ public static void RecordAwsOpenCredentials(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Opens a url - public static void RecordAwsOpenUrl(this ITelemetryLogger telemetryLogger, AwsOpenUrl payload, Func transformDatum = null) + /// Expand a service root node in the AWS explorer window + public static void RecordAwsExpandExplorerNode(this ITelemetryLogger telemetryLogger, AwsExpandExplorerNode payload, Func transformDatum = null) { try { @@ -5146,7 +5746,7 @@ public static void RecordAwsOpenUrl(this ITelemetryLogger telemetryLogger, AwsOp metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_openUrl"; + datum.MetricName = "aws_expandExplorerNode"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5162,6 +5762,7 @@ public static void RecordAwsOpenUrl(this ITelemetryLogger telemetryLogger, AwsOp 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); @@ -5176,11 +5777,7 @@ public static void RecordAwsOpenUrl(this ITelemetryLogger telemetryLogger, AwsOp } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); - - datum.AddMetadata("source", payload.Source); - - datum.AddMetadata("url", payload.Url); + datum.AddMetadata("serviceType", payload.ServiceType); datum = datum.InvokeTransform(transformDatum); @@ -5195,8 +5792,8 @@ public static void RecordAwsOpenUrl(this ITelemetryLogger telemetryLogger, AwsOp } /// Records Telemetry Event: - /// Emitted when credentials are automatically refreshed by the AWS SDK or Toolkit - public static void RecordAwsRefreshCredentials(this ITelemetryLogger telemetryLogger, AwsRefreshCredentials payload, Func transformDatum = null) + /// An experiment was activated or deactivated in the Toolkit + public static void RecordAwsExperimentActivation(this ITelemetryLogger telemetryLogger, AwsExperimentActivation payload, Func transformDatum = null) { try { @@ -5212,7 +5809,7 @@ public static void RecordAwsRefreshCredentials(this ITelemetryLogger telemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_refreshCredentials"; + datum.MetricName = "aws_experimentActivation"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5228,6 +5825,7 @@ public static void RecordAwsRefreshCredentials(this ITelemetryLogger telemetryLo 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); @@ -5242,28 +5840,9 @@ public static void RecordAwsRefreshCredentials(this ITelemetryLogger telemetryLo } datum.AddMetadata("locale", payload.Locale); - if (payload.CredentialSourceId.HasValue) - { - datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); - } - - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - - if (payload.CredentialType.HasValue) - { - datum.AddMetadata("credentialType", payload.CredentialType.Value); - } - - datum.AddMetadata("result", payload.Result); - - if (payload.SessionDuration.HasValue) - { - datum.AddMetadata("sessionDuration", payload.SessionDuration.Value); - } - - datum.AddMetadata("ssoRegistrationClientId", payload.SsoRegistrationClientId); + datum.AddMetadata("experimentId", payload.ExperimentId); - datum.AddMetadata("ssoRegistrationExpiresAt", payload.SsoRegistrationExpiresAt); + datum.AddMetadata("experimentState", payload.ExperimentState); datum = datum.InvokeTransform(transformDatum); @@ -5278,8 +5857,8 @@ public static void RecordAwsRefreshCredentials(this ITelemetryLogger telemetryLo } /// Records Telemetry Event: - /// Refresh the AWS explorer window - public static void RecordAwsRefreshExplorer(this ITelemetryLogger telemetryLogger, AwsRefreshExplorer payload, Func transformDatum = null) + /// An extension in uninstalled + public static void RecordAwsExtensionUninstalled(this ITelemetryLogger telemetryLogger, AwsExtensionUninstalled payload, Func transformDatum = null) { try { @@ -5295,7 +5874,7 @@ public static void RecordAwsRefreshExplorer(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_refreshExplorer"; + datum.MetricName = "aws_extensionUninstalled"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5311,6 +5890,7 @@ public static void RecordAwsRefreshExplorer(this ITelemetryLogger telemetryLogge 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); @@ -5338,8 +5918,8 @@ public static void RecordAwsRefreshExplorer(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Report an issue with the plugin - public static void RecordAwsReportPluginIssue(this ITelemetryLogger telemetryLogger, AwsReportPluginIssue payload, Func transformDatum = null) + /// AB Testing Feature response and Cohort Assignments + public static void RecordAwsFeatureConfig(this ITelemetryLogger telemetryLogger, AwsFeatureConfig payload, Func transformDatum = null) { try { @@ -5355,7 +5935,7 @@ public static void RecordAwsReportPluginIssue(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_reportPluginIssue"; + datum.MetricName = "aws_featureConfig"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5371,6 +5951,7 @@ public static void RecordAwsReportPluginIssue(this ITelemetryLogger telemetryLog 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); @@ -5385,6 +5966,12 @@ public static void RecordAwsReportPluginIssue(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("featureValue", payload.FeatureValue); + + datum.AddMetadata("featureVariation", payload.FeatureVariation); + + datum.AddMetadata("id", payload.Id); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -5398,8 +5985,8 @@ public static void RecordAwsReportPluginIssue(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Save credentials - public static void RecordAwsSaveCredentials(this ITelemetryLogger telemetryLogger, AwsSaveCredentials payload, Func transformDatum = null) + /// Open docs for the extension + public static void RecordAwsHelp(this ITelemetryLogger telemetryLogger, AwsHelp payload, Func transformDatum = null) { try { @@ -5415,7 +6002,7 @@ public static void RecordAwsSaveCredentials(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_saveCredentials"; + datum.MetricName = "aws_help"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5431,6 +6018,7 @@ public static void RecordAwsSaveCredentials(this ITelemetryLogger telemetryLogge 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); @@ -5445,6 +6033,8 @@ public static void RecordAwsSaveCredentials(this ITelemetryLogger telemetryLogge } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("name", payload.Name); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -5458,8 +6048,8 @@ public static void RecordAwsSaveCredentials(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Select a credentials profile - public static void RecordAwsSetCredentials(this ITelemetryLogger telemetryLogger, AwsSetCredentials payload, Func transformDatum = null) + /// Open the quickstart guide + public static void RecordAwsHelpQuickstart(this ITelemetryLogger telemetryLogger, AwsHelpQuickstart payload, Func transformDatum = null) { try { @@ -5475,7 +6065,7 @@ public static void RecordAwsSetCredentials(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_setCredentials"; + datum.MetricName = "aws_helpQuickstart"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5491,6 +6081,7 @@ public static void RecordAwsSetCredentials(this ITelemetryLogger telemetryLogger 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); @@ -5505,15 +6096,7 @@ public static void RecordAwsSetCredentials(this ITelemetryLogger telemetryLogger } datum.AddMetadata("locale", payload.Locale); - if (payload.CredentialSourceId.HasValue) - { - datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); - } - - if (payload.CredentialType.HasValue) - { - datum.AddMetadata("credentialType", payload.CredentialType.Value); - } + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -5528,8 +6111,8 @@ public static void RecordAwsSetCredentials(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// A partition change occurred - public static void RecordAwsSetPartition(this ITelemetryLogger telemetryLogger, AwsSetPartition payload, Func transformDatum = null) + /// Inject selected AWS credentials into a third-party run (e.g. RunConfiguration) + public static void RecordAwsInjectCredentials(this ITelemetryLogger telemetryLogger, AwsInjectCredentials payload, Func transformDatum = null) { try { @@ -5545,7 +6128,7 @@ public static void RecordAwsSetPartition(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_setPartition"; + datum.MetricName = "aws_injectCredentials"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5561,6 +6144,7 @@ public static void RecordAwsSetPartition(this ITelemetryLogger telemetryLogger, 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); @@ -5575,7 +6159,9 @@ public static void RecordAwsSetPartition(this ITelemetryLogger telemetryLogger, } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("partitionId", payload.PartitionId); + datum.AddMetadata("result", payload.Result); + + datum.AddMetadata("runtimeString", payload.RuntimeString); datum = datum.InvokeTransform(transformDatum); @@ -5590,8 +6176,8 @@ public static void RecordAwsSetPartition(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// A region change occurred - public static void RecordAwsSetRegion(this ITelemetryLogger telemetryLogger, AwsSetRegion payload, Func transformDatum = null) + /// Load credentials from a credential source + public static void RecordAwsLoadCredentials(this ITelemetryLogger telemetryLogger, AwsLoadCredentials payload, Func transformDatum = null) { try { @@ -5607,8 +6193,8 @@ public static void RecordAwsSetRegion(this ITelemetryLogger telemetryLogger, Aws metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_setRegion"; - datum.Unit = Unit.None; + datum.MetricName = "aws_loadCredentials"; + datum.Unit = Unit.Count; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -5623,6 +6209,7 @@ public static void RecordAwsSetRegion(this ITelemetryLogger telemetryLogger, Aws 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); @@ -5637,6 +6224,8 @@ public static void RecordAwsSetRegion(this ITelemetryLogger telemetryLogger, Aws } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("credentialSourceId", payload.CredentialSourceId); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -5650,8 +6239,8 @@ public static void RecordAwsSetRegion(this ITelemetryLogger telemetryLogger, Aws } /// Records Telemetry Event: - /// Open the repo for the extension - public static void RecordAwsShowExtensionSource(this ITelemetryLogger telemetryLogger, AwsShowExtensionSource payload, Func transformDatum = null) + /// Extension navigated the user to a web browser to perform/complete the login process. + public static void RecordAwsLoginWithBrowser(this ITelemetryLogger telemetryLogger, AwsLoginWithBrowser payload, Func transformDatum = null) { try { @@ -5667,7 +6256,7 @@ public static void RecordAwsShowExtensionSource(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_showExtensionSource"; + datum.MetricName = "aws_loginWithBrowser"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5683,6 +6272,7 @@ public static void RecordAwsShowExtensionSource(this ITelemetryLogger telemetryL 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); @@ -5697,6 +6287,41 @@ public static void RecordAwsShowExtensionSource(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); + if (payload.AuthType.HasValue) + { + datum.AddMetadata("authType", payload.AuthType.Value); + } + + if (payload.CredentialSourceId.HasValue) + { + datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); + } + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + if (payload.CredentialType.HasValue) + { + datum.AddMetadata("credentialType", payload.CredentialType.Value); + } + + if (payload.IsReAuth.HasValue) + { + datum.AddMetadata("isReAuth", payload.IsReAuth.Value); + } + + datum.AddMetadata("reAuthReason", payload.ReAuthReason); + + datum.AddMetadata("result", payload.Result); + + if (payload.SessionDuration.HasValue) + { + datum.AddMetadata("sessionDuration", payload.SessionDuration.Value); + } + + datum.AddMetadata("ssoRegistrationClientId", payload.SsoRegistrationClientId); + + datum.AddMetadata("ssoRegistrationExpiresAt", payload.SsoRegistrationExpiresAt); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -5710,8 +6335,8 @@ public static void RecordAwsShowExtensionSource(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// An external tool was installed automatically - public static void RecordAwsToolInstallation(this ITelemetryLogger telemetryLogger, AwsToolInstallation payload, Func transformDatum = null) + /// Modify credentials (e.g. Add, Edit, Delete) + public static void RecordAwsModifyCredentials(this ITelemetryLogger telemetryLogger, AwsModifyCredentials payload, Func transformDatum = null) { try { @@ -5727,7 +6352,7 @@ public static void RecordAwsToolInstallation(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_toolInstallation"; + datum.MetricName = "aws_modifyCredentials"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5743,6 +6368,7 @@ public static void RecordAwsToolInstallation(this ITelemetryLogger telemetryLogg 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); @@ -5757,9 +6383,11 @@ public static void RecordAwsToolInstallation(this ITelemetryLogger telemetryLogg } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("credentialModification", payload.CredentialModification); + datum.AddMetadata("result", payload.Result); - datum.AddMetadata("toolId", payload.ToolId); + datum.AddMetadata("serviceType", payload.ServiceType); datum = datum.InvokeTransform(transformDatum); @@ -5774,8 +6402,8 @@ public static void RecordAwsToolInstallation(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Validate credentials when selecting new credentials - public static void RecordAwsValidateCredentials(this ITelemetryLogger telemetryLogger, AwsValidateCredentials payload, Func transformDatum = null) + /// An setting was changed by users in the Toolkit. This metric can optionally provide the new state of the setting via settingState. + public static void RecordAwsModifySetting(this ITelemetryLogger telemetryLogger, AwsModifySetting payload, Func transformDatum = null) { try { @@ -5791,7 +6419,7 @@ public static void RecordAwsValidateCredentials(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_validateCredentials"; + datum.MetricName = "aws_modifySetting"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5807,6 +6435,7 @@ public static void RecordAwsValidateCredentials(this ITelemetryLogger telemetryL 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); @@ -5821,17 +6450,9 @@ public static void RecordAwsValidateCredentials(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - if (payload.CredentialSourceId.HasValue) - { - datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); - } - - if (payload.CredentialType.HasValue) - { - datum.AddMetadata("credentialType", payload.CredentialType.Value); - } + datum.AddMetadata("settingId", payload.SettingId); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("settingState", payload.SettingState); datum = datum.InvokeTransform(transformDatum); @@ -5846,8 +6467,8 @@ public static void RecordAwsValidateCredentials(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Captures process of webview installation - public static void RecordAwsWebviewInstallation(this ITelemetryLogger telemetryLogger, AwsWebviewInstallation payload, Func transformDatum = null) + /// Open the credentials file + public static void RecordAwsOpenCredentials(this ITelemetryLogger telemetryLogger, AwsOpenCredentials payload, Func transformDatum = null) { try { @@ -5863,7 +6484,7 @@ public static void RecordAwsWebviewInstallation(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "aws_webviewInstallation"; + datum.MetricName = "aws_openCredentials"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5879,6 +6500,7 @@ public static void RecordAwsWebviewInstallation(this ITelemetryLogger telemetryL 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); @@ -5893,10 +6515,6 @@ public static void RecordAwsWebviewInstallation(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("elementId", payload.ElementId); - - datum.AddMetadata("isRetry", payload.IsRetry); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -5912,8 +6530,8 @@ public static void RecordAwsWebviewInstallation(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Called when user deletes a Beanstalk application - public static void RecordBeanstalkDeleteApplication(this ITelemetryLogger telemetryLogger, BeanstalkDeleteApplication payload, Func transformDatum = null) + /// Opens a url + public static void RecordAwsOpenUrl(this ITelemetryLogger telemetryLogger, AwsOpenUrl payload, Func transformDatum = null) { try { @@ -5929,7 +6547,7 @@ public static void RecordBeanstalkDeleteApplication(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "beanstalk_deleteApplication"; + datum.MetricName = "aws_openUrl"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -5945,6 +6563,7 @@ public static void RecordBeanstalkDeleteApplication(this ITelemetryLogger teleme 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); @@ -5961,6 +6580,8 @@ public static void RecordBeanstalkDeleteApplication(this ITelemetryLogger teleme datum.AddMetadata("result", payload.Result); + datum.AddMetadata("url", payload.Url); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -5974,8 +6595,8 @@ public static void RecordBeanstalkDeleteApplication(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// Called when user deletes a Beanstalk environment - public static void RecordBeanstalkDeleteEnvironment(this ITelemetryLogger telemetryLogger, BeanstalkDeleteEnvironment payload, Func transformDatum = null) + /// Emitted when credentials are automatically refreshed by the AWS SDK or Toolkit + public static void RecordAwsRefreshCredentials(this ITelemetryLogger telemetryLogger, AwsRefreshCredentials payload, Func transformDatum = null) { try { @@ -5991,7 +6612,7 @@ public static void RecordBeanstalkDeleteEnvironment(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "beanstalk_deleteEnvironment"; + datum.MetricName = "aws_refreshCredentials"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6007,6 +6628,7 @@ public static void RecordBeanstalkDeleteEnvironment(this ITelemetryLogger teleme 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); @@ -6021,8 +6643,29 @@ public static void RecordBeanstalkDeleteEnvironment(this ITelemetryLogger teleme } datum.AddMetadata("locale", payload.Locale); + if (payload.CredentialSourceId.HasValue) + { + datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); + } + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + if (payload.CredentialType.HasValue) + { + datum.AddMetadata("credentialType", payload.CredentialType.Value); + } + datum.AddMetadata("result", payload.Result); + if (payload.SessionDuration.HasValue) + { + datum.AddMetadata("sessionDuration", payload.SessionDuration.Value); + } + + datum.AddMetadata("ssoRegistrationClientId", payload.SsoRegistrationClientId); + + datum.AddMetadata("ssoRegistrationExpiresAt", payload.SsoRegistrationExpiresAt); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -6036,8 +6679,8 @@ public static void RecordBeanstalkDeleteEnvironment(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// Called when deploying an application to Elastic Beanstalk - public static void RecordBeanstalkDeploy(this ITelemetryLogger telemetryLogger, BeanstalkDeploy payload, Func transformDatum = null) + /// Refresh the AWS explorer window + public static void RecordAwsRefreshExplorer(this ITelemetryLogger telemetryLogger, AwsRefreshExplorer payload, Func transformDatum = null) { try { @@ -6053,7 +6696,7 @@ public static void RecordBeanstalkDeploy(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "beanstalk_deploy"; + datum.MetricName = "aws_refreshExplorer"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6069,6 +6712,7 @@ public static void RecordBeanstalkDeploy(this ITelemetryLogger telemetryLogger, 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); @@ -6083,29 +6727,7 @@ public static void RecordBeanstalkDeploy(this ITelemetryLogger telemetryLogger, } datum.AddMetadata("locale", payload.Locale); - if (payload.EnhancedHealthEnabled.HasValue) - { - datum.AddMetadata("enhancedHealthEnabled", payload.EnhancedHealthEnabled.Value); - } - - datum.AddMetadata("framework", payload.Framework); - - datum.AddMetadata("initialDeploy", payload.InitialDeploy); - - datum.AddMetadata("name", payload.Name); - - datum.AddMetadata("result", payload.Result); - - datum.AddMetadata("serviceType", payload.ServiceType); - - datum.AddMetadata("source", payload.Source); - - if (payload.XrayEnabled.HasValue) - { - datum.AddMetadata("xrayEnabled", payload.XrayEnabled.Value); - } - - datum = datum.InvokeTransform(transformDatum); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); telemetryLogger.Record(metrics); @@ -6118,8 +6740,8 @@ public static void RecordBeanstalkDeploy(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Edit configuration of a Beanstalk environment - public static void RecordBeanstalkEditEnvironment(this ITelemetryLogger telemetryLogger, BeanstalkEditEnvironment payload, Func transformDatum = null) + /// Report an issue with the plugin + public static void RecordAwsReportPluginIssue(this ITelemetryLogger telemetryLogger, AwsReportPluginIssue payload, Func transformDatum = null) { try { @@ -6135,7 +6757,7 @@ public static void RecordBeanstalkEditEnvironment(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "beanstalk_editEnvironment"; + datum.MetricName = "aws_reportPluginIssue"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6151,6 +6773,7 @@ public static void RecordBeanstalkEditEnvironment(this ITelemetryLogger telemetr 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); @@ -6165,8 +6788,6 @@ public static void RecordBeanstalkEditEnvironment(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -6180,8 +6801,8 @@ public static void RecordBeanstalkEditEnvironment(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// Open a window to view the status of the Beanstalk Application - public static void RecordBeanstalkOpenApplication(this ITelemetryLogger telemetryLogger, BeanstalkOpenApplication payload, Func transformDatum = null) + /// Save credentials + public static void RecordAwsSaveCredentials(this ITelemetryLogger telemetryLogger, AwsSaveCredentials payload, Func transformDatum = null) { try { @@ -6197,7 +6818,7 @@ public static void RecordBeanstalkOpenApplication(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "beanstalk_openApplication"; + datum.MetricName = "aws_saveCredentials"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6213,6 +6834,7 @@ public static void RecordBeanstalkOpenApplication(this ITelemetryLogger telemetr 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); @@ -6227,8 +6849,6 @@ public static void RecordBeanstalkOpenApplication(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -6242,8 +6862,8 @@ public static void RecordBeanstalkOpenApplication(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// Open a window to view the status of the Beanstalk Environment - public static void RecordBeanstalkOpenEnvironment(this ITelemetryLogger telemetryLogger, BeanstalkOpenEnvironment payload, Func transformDatum = null) + /// Select a credentials profile + public static void RecordAwsSetCredentials(this ITelemetryLogger telemetryLogger, AwsSetCredentials payload, Func transformDatum = null) { try { @@ -6259,7 +6879,7 @@ public static void RecordBeanstalkOpenEnvironment(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "beanstalk_openEnvironment"; + datum.MetricName = "aws_setCredentials"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6275,6 +6895,7 @@ public static void RecordBeanstalkOpenEnvironment(this ITelemetryLogger telemetr 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); @@ -6289,7 +6910,15 @@ public static void RecordBeanstalkOpenEnvironment(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + if (payload.CredentialSourceId.HasValue) + { + datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); + } + + if (payload.CredentialType.HasValue) + { + datum.AddMetadata("credentialType", payload.CredentialType.Value); + } datum = datum.InvokeTransform(transformDatum); @@ -6304,8 +6933,8 @@ public static void RecordBeanstalkOpenEnvironment(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// Called when user completes the Elastic Beanstalk publish wizard - public static void RecordBeanstalkPublishWizard(this ITelemetryLogger telemetryLogger, BeanstalkPublishWizard payload, Func transformDatum = null) + /// A partition change occurred + public static void RecordAwsSetPartition(this ITelemetryLogger telemetryLogger, AwsSetPartition payload, Func transformDatum = null) { try { @@ -6321,7 +6950,7 @@ public static void RecordBeanstalkPublishWizard(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "beanstalk_publishWizard"; + datum.MetricName = "aws_setPartition"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6337,6 +6966,7 @@ public static void RecordBeanstalkPublishWizard(this ITelemetryLogger telemetryL 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); @@ -6351,11 +6981,7 @@ public static void RecordBeanstalkPublishWizard(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); - - datum.AddMetadata("serviceType", payload.ServiceType); - - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("partitionId", payload.PartitionId); datum = datum.InvokeTransform(transformDatum); @@ -6370,8 +6996,8 @@ public static void RecordBeanstalkPublishWizard(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Rebuild a Beanstalk environment - public static void RecordBeanstalkRebuildEnvironment(this ITelemetryLogger telemetryLogger, BeanstalkRebuildEnvironment payload, Func transformDatum = null) + /// A region change occurred + public static void RecordAwsSetRegion(this ITelemetryLogger telemetryLogger, AwsSetRegion payload, Func transformDatum = null) { try { @@ -6387,7 +7013,7 @@ public static void RecordBeanstalkRebuildEnvironment(this ITelemetryLogger telem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "beanstalk_rebuildEnvironment"; + datum.MetricName = "aws_setRegion"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6403,6 +7029,7 @@ public static void RecordBeanstalkRebuildEnvironment(this ITelemetryLogger telem 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); @@ -6417,8 +7044,6 @@ public static void RecordBeanstalkRebuildEnvironment(this ITelemetryLogger telem } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -6432,8 +7057,8 @@ public static void RecordBeanstalkRebuildEnvironment(this ITelemetryLogger telem } /// Records Telemetry Event: - /// Restart application server for a Beanstalk environment - public static void RecordBeanstalkRestartApplication(this ITelemetryLogger telemetryLogger, BeanstalkRestartApplication payload, Func transformDatum = null) + /// Open the repo for the extension + public static void RecordAwsShowExtensionSource(this ITelemetryLogger telemetryLogger, AwsShowExtensionSource payload, Func transformDatum = null) { try { @@ -6449,7 +7074,7 @@ public static void RecordBeanstalkRestartApplication(this ITelemetryLogger telem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "beanstalk_restartApplication"; + datum.MetricName = "aws_showExtensionSource"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6465,6 +7090,7 @@ public static void RecordBeanstalkRestartApplication(this ITelemetryLogger telem 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); @@ -6479,8 +7105,6 @@ public static void RecordBeanstalkRestartApplication(this ITelemetryLogger telem } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -6494,8 +7118,8 @@ public static void RecordBeanstalkRestartApplication(this ITelemetryLogger telem } /// Records Telemetry Event: - /// Called when creating a CloudFormation project - public static void RecordCloudformationCreateProject(this ITelemetryLogger telemetryLogger, CloudformationCreateProject payload, Func transformDatum = null) + /// An external tool was installed automatically + public static void RecordAwsToolInstallation(this ITelemetryLogger telemetryLogger, AwsToolInstallation payload, Func transformDatum = null) { try { @@ -6511,7 +7135,7 @@ public static void RecordCloudformationCreateProject(this ITelemetryLogger telem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudformation_createProject"; + datum.MetricName = "aws_toolInstallation"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6527,6 +7151,7 @@ public static void RecordCloudformationCreateProject(this ITelemetryLogger telem 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); @@ -6543,7 +7168,7 @@ public static void RecordCloudformationCreateProject(this ITelemetryLogger telem datum.AddMetadata("result", payload.Result); - datum.AddMetadata("templateName", payload.TemplateName); + datum.AddMetadata("toolId", payload.ToolId); datum = datum.InvokeTransform(transformDatum); @@ -6558,8 +7183,8 @@ public static void RecordCloudformationCreateProject(this ITelemetryLogger telem } /// Records Telemetry Event: - /// Called when deleting a cloudformation stack - public static void RecordCloudformationDelete(this ITelemetryLogger telemetryLogger, CloudformationDelete payload, Func transformDatum = null) + /// Validate credentials when selecting new credentials + public static void RecordAwsValidateCredentials(this ITelemetryLogger telemetryLogger, AwsValidateCredentials payload, Func transformDatum = null) { try { @@ -6575,7 +7200,7 @@ public static void RecordCloudformationDelete(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudformation_delete"; + datum.MetricName = "aws_validateCredentials"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6591,6 +7216,7 @@ public static void RecordCloudformationDelete(this ITelemetryLogger telemetryLog 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); @@ -6605,6 +7231,16 @@ public static void RecordCloudformationDelete(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); + if (payload.CredentialSourceId.HasValue) + { + datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); + } + + if (payload.CredentialType.HasValue) + { + datum.AddMetadata("credentialType", payload.CredentialType.Value); + } + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -6620,8 +7256,8 @@ public static void RecordCloudformationDelete(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Called when deploying a CloudFormation template - public static void RecordCloudformationDeploy(this ITelemetryLogger telemetryLogger, CloudformationDeploy payload, Func transformDatum = null) + /// Captures process of webview installation + public static void RecordAwsWebviewInstallation(this ITelemetryLogger telemetryLogger, AwsWebviewInstallation payload, Func transformDatum = null) { try { @@ -6637,7 +7273,7 @@ public static void RecordCloudformationDeploy(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudformation_deploy"; + datum.MetricName = "aws_webviewInstallation"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6653,6 +7289,7 @@ public static void RecordCloudformationDeploy(this ITelemetryLogger telemetryLog 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); @@ -6667,13 +7304,11 @@ public static void RecordCloudformationDeploy(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("initialDeploy", payload.InitialDeploy); - - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("elementId", payload.ElementId); - datum.AddMetadata("serviceType", payload.ServiceType); + datum.AddMetadata("isRetry", payload.IsRetry); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -6688,8 +7323,8 @@ public static void RecordCloudformationDeploy(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Open a CloudFormation stack in the stack viewer - public static void RecordCloudformationOpen(this ITelemetryLogger telemetryLogger, CloudformationOpen payload, Func transformDatum = null) + /// Called when user deletes a Beanstalk application + public static void RecordBeanstalkDeleteApplication(this ITelemetryLogger telemetryLogger, BeanstalkDeleteApplication payload, Func transformDatum = null) { try { @@ -6705,7 +7340,7 @@ public static void RecordCloudformationOpen(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudformation_open"; + datum.MetricName = "beanstalk_deleteApplication"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6721,6 +7356,7 @@ public static void RecordCloudformationOpen(this ITelemetryLogger telemetryLogge 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); @@ -6750,8 +7386,8 @@ public static void RecordCloudformationOpen(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Called when user completes the CloudFormation template publish wizard - public static void RecordCloudformationPublishWizard(this ITelemetryLogger telemetryLogger, CloudformationPublishWizard payload, Func transformDatum = null) + /// Called when user deletes a Beanstalk environment + public static void RecordBeanstalkDeleteEnvironment(this ITelemetryLogger telemetryLogger, BeanstalkDeleteEnvironment payload, Func transformDatum = null) { try { @@ -6767,7 +7403,7 @@ public static void RecordCloudformationPublishWizard(this ITelemetryLogger telem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudformation_publishWizard"; + datum.MetricName = "beanstalk_deleteEnvironment"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6783,6 +7419,7 @@ public static void RecordCloudformationPublishWizard(this ITelemetryLogger telem 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); @@ -6799,10 +7436,6 @@ public static void RecordCloudformationPublishWizard(this ITelemetryLogger telem datum.AddMetadata("result", payload.Result); - datum.AddMetadata("serviceType", payload.ServiceType); - - datum.AddMetadata("source", payload.Source); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -6816,8 +7449,8 @@ public static void RecordCloudformationPublishWizard(this ITelemetryLogger telem } /// Records Telemetry Event: - /// Create a CloudFront Distribution - public static void RecordCloudfrontCreateDistribution(this ITelemetryLogger telemetryLogger, CloudfrontCreateDistribution payload, Func transformDatum = null) + /// Called when deploying an application to Elastic Beanstalk + public static void RecordBeanstalkDeploy(this ITelemetryLogger telemetryLogger, BeanstalkDeploy payload, Func transformDatum = null) { try { @@ -6833,7 +7466,7 @@ public static void RecordCloudfrontCreateDistribution(this ITelemetryLogger tele metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudfront_createDistribution"; + datum.MetricName = "beanstalk_deploy"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6849,6 +7482,7 @@ public static void RecordCloudfrontCreateDistribution(this ITelemetryLogger tele 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); @@ -6863,8 +7497,26 @@ public static void RecordCloudfrontCreateDistribution(this ITelemetryLogger tele } datum.AddMetadata("locale", payload.Locale); + if (payload.EnhancedHealthEnabled.HasValue) + { + datum.AddMetadata("enhancedHealthEnabled", payload.EnhancedHealthEnabled.Value); + } + + datum.AddMetadata("framework", payload.Framework); + + datum.AddMetadata("initialDeploy", payload.InitialDeploy); + + datum.AddMetadata("name", payload.Name); + datum.AddMetadata("result", payload.Result); + datum.AddMetadata("serviceType", payload.ServiceType); + + if (payload.XrayEnabled.HasValue) + { + datum.AddMetadata("xrayEnabled", payload.XrayEnabled.Value); + } + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -6878,8 +7530,8 @@ public static void RecordCloudfrontCreateDistribution(this ITelemetryLogger tele } /// Records Telemetry Event: - /// Create a CloudFront Streaming Distribution - public static void RecordCloudfrontCreateStreamingDistribution(this ITelemetryLogger telemetryLogger, CloudfrontCreateStreamingDistribution payload, Func transformDatum = null) + /// Edit configuration of a Beanstalk environment + public static void RecordBeanstalkEditEnvironment(this ITelemetryLogger telemetryLogger, BeanstalkEditEnvironment payload, Func transformDatum = null) { try { @@ -6895,7 +7547,7 @@ public static void RecordCloudfrontCreateStreamingDistribution(this ITelemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudfront_createStreamingDistribution"; + datum.MetricName = "beanstalk_editEnvironment"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6911,6 +7563,7 @@ public static void RecordCloudfrontCreateStreamingDistribution(this ITelemetryLo 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); @@ -6940,8 +7593,8 @@ public static void RecordCloudfrontCreateStreamingDistribution(this ITelemetryLo } /// Records Telemetry Event: - /// Called when user deletes a CloudFront Distribution - public static void RecordCloudfrontDeleteDistribution(this ITelemetryLogger telemetryLogger, CloudfrontDeleteDistribution payload, Func transformDatum = null) + /// Open a window to view the status of the Beanstalk Application + public static void RecordBeanstalkOpenApplication(this ITelemetryLogger telemetryLogger, BeanstalkOpenApplication payload, Func transformDatum = null) { try { @@ -6957,7 +7610,7 @@ public static void RecordCloudfrontDeleteDistribution(this ITelemetryLogger tele metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudfront_deleteDistribution"; + datum.MetricName = "beanstalk_openApplication"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -6973,6 +7626,7 @@ public static void RecordCloudfrontDeleteDistribution(this ITelemetryLogger tele 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); @@ -7002,8 +7656,8 @@ public static void RecordCloudfrontDeleteDistribution(this ITelemetryLogger tele } /// Records Telemetry Event: - /// Called when user deletes a CloudFront Streaming Distribution - public static void RecordCloudfrontDeleteStreamingDistribution(this ITelemetryLogger telemetryLogger, CloudfrontDeleteStreamingDistribution payload, Func transformDatum = null) + /// Open a window to view the status of the Beanstalk Environment + public static void RecordBeanstalkOpenEnvironment(this ITelemetryLogger telemetryLogger, BeanstalkOpenEnvironment payload, Func transformDatum = null) { try { @@ -7019,7 +7673,7 @@ public static void RecordCloudfrontDeleteStreamingDistribution(this ITelemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudfront_deleteStreamingDistribution"; + datum.MetricName = "beanstalk_openEnvironment"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7035,6 +7689,7 @@ public static void RecordCloudfrontDeleteStreamingDistribution(this ITelemetryLo 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); @@ -7064,8 +7719,8 @@ public static void RecordCloudfrontDeleteStreamingDistribution(this ITelemetryLo } /// Records Telemetry Event: - /// Open a window to view the status of the CloudFront Distribution - public static void RecordCloudfrontOpenDistribution(this ITelemetryLogger telemetryLogger, CloudfrontOpenDistribution payload, Func transformDatum = null) + /// Called when user completes the Elastic Beanstalk publish wizard + public static void RecordBeanstalkPublishWizard(this ITelemetryLogger telemetryLogger, BeanstalkPublishWizard payload, Func transformDatum = null) { try { @@ -7081,7 +7736,7 @@ public static void RecordCloudfrontOpenDistribution(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudfront_openDistribution"; + datum.MetricName = "beanstalk_publishWizard"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7097,6 +7752,7 @@ public static void RecordCloudfrontOpenDistribution(this ITelemetryLogger teleme 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); @@ -7113,6 +7769,8 @@ public static void RecordCloudfrontOpenDistribution(this ITelemetryLogger teleme datum.AddMetadata("result", payload.Result); + datum.AddMetadata("serviceType", payload.ServiceType); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -7126,8 +7784,8 @@ public static void RecordCloudfrontOpenDistribution(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// Open a window to view the Cloudfront Invalidation requests - public static void RecordCloudfrontOpenInvalidationRequest(this ITelemetryLogger telemetryLogger, CloudfrontOpenInvalidationRequest payload, Func transformDatum = null) + /// Rebuild a Beanstalk environment + public static void RecordBeanstalkRebuildEnvironment(this ITelemetryLogger telemetryLogger, BeanstalkRebuildEnvironment payload, Func transformDatum = null) { try { @@ -7143,7 +7801,7 @@ public static void RecordCloudfrontOpenInvalidationRequest(this ITelemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudfront_openInvalidationRequest"; + datum.MetricName = "beanstalk_rebuildEnvironment"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7159,6 +7817,7 @@ public static void RecordCloudfrontOpenInvalidationRequest(this ITelemetryLogger 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); @@ -7188,8 +7847,8 @@ public static void RecordCloudfrontOpenInvalidationRequest(this ITelemetryLogger } /// Records Telemetry Event: - /// Open a window to view the status of the CloudFront Streaming Distribution - public static void RecordCloudfrontOpenStreamingDistribution(this ITelemetryLogger telemetryLogger, CloudfrontOpenStreamingDistribution payload, Func transformDatum = null) + /// Restart application server for a Beanstalk environment + public static void RecordBeanstalkRestartApplication(this ITelemetryLogger telemetryLogger, BeanstalkRestartApplication payload, Func transformDatum = null) { try { @@ -7205,7 +7864,7 @@ public static void RecordCloudfrontOpenStreamingDistribution(this ITelemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudfront_openStreamingDistribution"; + datum.MetricName = "beanstalk_restartApplication"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7221,6 +7880,7 @@ public static void RecordCloudfrontOpenStreamingDistribution(this ITelemetryLogg 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); @@ -7250,8 +7910,8 @@ public static void RecordCloudfrontOpenStreamingDistribution(this ITelemetryLogg } /// Records Telemetry Event: - /// Start an insights query - public static void RecordCloudwatchinsightsExecuteQuery(this ITelemetryLogger telemetryLogger, CloudwatchinsightsExecuteQuery payload, Func transformDatum = null) + /// Called when creating a CloudFormation project + public static void RecordCloudformationCreateProject(this ITelemetryLogger telemetryLogger, CloudformationCreateProject payload, Func transformDatum = null) { try { @@ -7267,7 +7927,7 @@ public static void RecordCloudwatchinsightsExecuteQuery(this ITelemetryLogger te metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchinsights_executeQuery"; + datum.MetricName = "cloudformation_createProject"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7283,6 +7943,7 @@ public static void RecordCloudwatchinsightsExecuteQuery(this ITelemetryLogger te 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); @@ -7297,12 +7958,10 @@ public static void RecordCloudwatchinsightsExecuteQuery(this ITelemetryLogger te } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("insightsQueryStringType", payload.InsightsQueryStringType); - - datum.AddMetadata("insightsQueryTimeType", payload.InsightsQueryTimeType); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("templateName", payload.TemplateName); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -7316,8 +7975,8 @@ public static void RecordCloudwatchinsightsExecuteQuery(this ITelemetryLogger te } /// Records Telemetry Event: - /// Get all details for the selected log record - public static void RecordCloudwatchinsightsOpenDetailedLogRecord(this ITelemetryLogger telemetryLogger, CloudwatchinsightsOpenDetailedLogRecord payload, Func transformDatum = null) + /// Called when deleting a cloudformation stack + public static void RecordCloudformationDelete(this ITelemetryLogger telemetryLogger, CloudformationDelete payload, Func transformDatum = null) { try { @@ -7333,7 +7992,7 @@ public static void RecordCloudwatchinsightsOpenDetailedLogRecord(this ITelemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchinsights_openDetailedLogRecord"; + datum.MetricName = "cloudformation_delete"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7349,6 +8008,7 @@ public static void RecordCloudwatchinsightsOpenDetailedLogRecord(this ITelemetry 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); @@ -7378,8 +8038,8 @@ public static void RecordCloudwatchinsightsOpenDetailedLogRecord(this ITelemetry } /// Records Telemetry Event: - /// Open the insights query editor - public static void RecordCloudwatchinsightsOpenEditor(this ITelemetryLogger telemetryLogger, CloudwatchinsightsOpenEditor payload, Func transformDatum = null) + /// Called when deploying a CloudFormation template + public static void RecordCloudformationDeploy(this ITelemetryLogger telemetryLogger, CloudformationDeploy payload, Func transformDatum = null) { try { @@ -7395,7 +8055,7 @@ public static void RecordCloudwatchinsightsOpenEditor(this ITelemetryLogger tele metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchinsights_openEditor"; + datum.MetricName = "cloudformation_deploy"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7411,6 +8071,7 @@ public static void RecordCloudwatchinsightsOpenEditor(this ITelemetryLogger tele 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); @@ -7425,7 +8086,11 @@ public static void RecordCloudwatchinsightsOpenEditor(this ITelemetryLogger tele } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("insightsDialogOpenSource", payload.InsightsDialogOpenSource); + datum.AddMetadata("initialDeploy", payload.InitialDeploy); + + datum.AddMetadata("result", payload.Result); + + datum.AddMetadata("serviceType", payload.ServiceType); datum = datum.InvokeTransform(transformDatum); @@ -7440,8 +8105,8 @@ public static void RecordCloudwatchinsightsOpenEditor(this ITelemetryLogger tele } /// Records Telemetry Event: - /// Retrieve list of available saved queries from AWS - public static void RecordCloudwatchinsightsRetrieveQuery(this ITelemetryLogger telemetryLogger, CloudwatchinsightsRetrieveQuery payload, Func transformDatum = null) + /// Open a CloudFormation stack in the stack viewer + public static void RecordCloudformationOpen(this ITelemetryLogger telemetryLogger, CloudformationOpen payload, Func transformDatum = null) { try { @@ -7457,7 +8122,7 @@ public static void RecordCloudwatchinsightsRetrieveQuery(this ITelemetryLogger t metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchinsights_retrieveQuery"; + datum.MetricName = "cloudformation_open"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7473,6 +8138,7 @@ public static void RecordCloudwatchinsightsRetrieveQuery(this ITelemetryLogger t 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); @@ -7502,8 +8168,8 @@ public static void RecordCloudwatchinsightsRetrieveQuery(this ITelemetryLogger t } /// Records Telemetry Event: - /// Save query parameters to AWS - public static void RecordCloudwatchinsightsSaveQuery(this ITelemetryLogger telemetryLogger, CloudwatchinsightsSaveQuery payload, Func transformDatum = null) + /// Called when user completes the CloudFormation template publish wizard + public static void RecordCloudformationPublishWizard(this ITelemetryLogger telemetryLogger, CloudformationPublishWizard payload, Func transformDatum = null) { try { @@ -7519,7 +8185,7 @@ public static void RecordCloudwatchinsightsSaveQuery(this ITelemetryLogger telem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchinsights_saveQuery"; + datum.MetricName = "cloudformation_publishWizard"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7535,6 +8201,7 @@ public static void RecordCloudwatchinsightsSaveQuery(this ITelemetryLogger telem 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); @@ -7551,6 +8218,8 @@ public static void RecordCloudwatchinsightsSaveQuery(this ITelemetryLogger telem datum.AddMetadata("result", payload.Result); + datum.AddMetadata("serviceType", payload.ServiceType); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -7564,9 +8233,9 @@ public static void RecordCloudwatchinsightsSaveQuery(this ITelemetryLogger telem } /// Records Telemetry Event: - /// Copy the ARN of a CloudWatch Logs entity - public static void RecordCloudwatchlogsCopyArn(this ITelemetryLogger telemetryLogger, CloudwatchlogsCopyArn payload, Func transformDatum = null) - { + /// Create a CloudFront Distribution + public static void RecordCloudfrontCreateDistribution(this ITelemetryLogger telemetryLogger, CloudfrontCreateDistribution payload, Func transformDatum = null) + { try { var metrics = new Metrics(); @@ -7581,7 +8250,7 @@ public static void RecordCloudwatchlogsCopyArn(this ITelemetryLogger telemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_copyArn"; + datum.MetricName = "cloudfront_createDistribution"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7597,6 +8266,7 @@ public static void RecordCloudwatchlogsCopyArn(this ITelemetryLogger telemetryLo 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); @@ -7611,8 +8281,6 @@ public static void RecordCloudwatchlogsCopyArn(this ITelemetryLogger telemetryLo } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("cloudWatchResourceType", payload.CloudWatchResourceType); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -7628,8 +8296,8 @@ public static void RecordCloudwatchlogsCopyArn(this ITelemetryLogger telemetryLo } /// Records Telemetry Event: - /// Delete a CloudWatch Logs entity. - public static void RecordCloudwatchlogsDelete(this ITelemetryLogger telemetryLogger, CloudwatchlogsDelete payload, Func transformDatum = null) + /// Create a CloudFront Streaming Distribution + public static void RecordCloudfrontCreateStreamingDistribution(this ITelemetryLogger telemetryLogger, CloudfrontCreateStreamingDistribution payload, Func transformDatum = null) { try { @@ -7645,7 +8313,7 @@ public static void RecordCloudwatchlogsDelete(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_delete"; + datum.MetricName = "cloudfront_createStreamingDistribution"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7661,6 +8329,7 @@ public static void RecordCloudwatchlogsDelete(this ITelemetryLogger telemetryLog 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); @@ -7675,8 +8344,6 @@ public static void RecordCloudwatchlogsDelete(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("cloudWatchResourceType", payload.CloudWatchResourceType); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -7692,8 +8359,8 @@ public static void RecordCloudwatchlogsDelete(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Download a CloudWatch Logs entity. Value indicates the final size of the formatted stream in bytes. - public static void RecordCloudwatchlogsDownload(this ITelemetryLogger telemetryLogger, CloudwatchlogsDownload payload, Func transformDatum = null) + /// Called when user deletes a CloudFront Distribution + public static void RecordCloudfrontDeleteDistribution(this ITelemetryLogger telemetryLogger, CloudfrontDeleteDistribution payload, Func transformDatum = null) { try { @@ -7709,8 +8376,8 @@ public static void RecordCloudwatchlogsDownload(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_download"; - datum.Unit = Unit.Bytes; + datum.MetricName = "cloudfront_deleteDistribution"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -7725,6 +8392,7 @@ public static void RecordCloudwatchlogsDownload(this ITelemetryLogger telemetryL 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); @@ -7739,8 +8407,6 @@ public static void RecordCloudwatchlogsDownload(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("cloudWatchResourceType", payload.CloudWatchResourceType); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -7756,8 +8422,8 @@ public static void RecordCloudwatchlogsDownload(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Download a stream to a file on disk. Value indicates the final size of the formatted stream. (Deprecated - use cloudwatchlogs_download) - public static void RecordCloudwatchlogsDownloadStreamToFile(this ITelemetryLogger telemetryLogger, CloudwatchlogsDownloadStreamToFile payload, Func transformDatum = null) + /// Called when user deletes a CloudFront Streaming Distribution + public static void RecordCloudfrontDeleteStreamingDistribution(this ITelemetryLogger telemetryLogger, CloudfrontDeleteStreamingDistribution payload, Func transformDatum = null) { try { @@ -7773,8 +8439,8 @@ public static void RecordCloudwatchlogsDownloadStreamToFile(this ITelemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_downloadStreamToFile"; - datum.Unit = Unit.Bytes; + datum.MetricName = "cloudfront_deleteStreamingDistribution"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -7789,6 +8455,7 @@ public static void RecordCloudwatchlogsDownloadStreamToFile(this ITelemetryLogge 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); @@ -7818,8 +8485,8 @@ public static void RecordCloudwatchlogsDownloadStreamToFile(this ITelemetryLogge } /// Records Telemetry Event: - /// Filters a CloudWatch Logs entity. (Essentially a subset of cloudwatchlogs_open) - public static void RecordCloudwatchlogsFilter(this ITelemetryLogger telemetryLogger, CloudwatchlogsFilter payload, Func transformDatum = null) + /// Open a window to view the status of the CloudFront Distribution + public static void RecordCloudfrontOpenDistribution(this ITelemetryLogger telemetryLogger, CloudfrontOpenDistribution payload, Func transformDatum = null) { try { @@ -7835,7 +8502,7 @@ public static void RecordCloudwatchlogsFilter(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_filter"; + datum.MetricName = "cloudfront_openDistribution"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7851,6 +8518,7 @@ public static void RecordCloudwatchlogsFilter(this ITelemetryLogger telemetryLog 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); @@ -7865,22 +8533,8 @@ public static void RecordCloudwatchlogsFilter(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("cloudWatchResourceType", payload.CloudWatchResourceType); - - if (payload.HasTextFilter.HasValue) - { - datum.AddMetadata("hasTextFilter", payload.HasTextFilter.Value); - } - - if (payload.HasTimeFilter.HasValue) - { - datum.AddMetadata("hasTimeFilter", payload.HasTimeFilter.Value); - } - datum.AddMetadata("result", payload.Result); - datum.AddMetadata("source", payload.Source); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -7894,8 +8548,8 @@ public static void RecordCloudwatchlogsFilter(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Open a CloudWatch Logs entity. ServiceType and source indicate where the request came from (example: while viewing an ECS container) - public static void RecordCloudwatchlogsOpen(this ITelemetryLogger telemetryLogger, CloudwatchlogsOpen payload, Func transformDatum = null) + /// Open a window to view the Cloudfront Invalidation requests + public static void RecordCloudfrontOpenInvalidationRequest(this ITelemetryLogger telemetryLogger, CloudfrontOpenInvalidationRequest payload, Func transformDatum = null) { try { @@ -7911,7 +8565,7 @@ public static void RecordCloudwatchlogsOpen(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_open"; + datum.MetricName = "cloudfront_openInvalidationRequest"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -7927,6 +8581,7 @@ public static void RecordCloudwatchlogsOpen(this ITelemetryLogger telemetryLogge 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); @@ -7941,29 +8596,8 @@ public static void RecordCloudwatchlogsOpen(this ITelemetryLogger telemetryLogge } datum.AddMetadata("locale", payload.Locale); - if (payload.CloudWatchLogsPresentation.HasValue) - { - datum.AddMetadata("cloudWatchLogsPresentation", payload.CloudWatchLogsPresentation.Value); - } - - datum.AddMetadata("cloudWatchResourceType", payload.CloudWatchResourceType); - - if (payload.HasTextFilter.HasValue) - { - datum.AddMetadata("hasTextFilter", payload.HasTextFilter.Value); - } - - if (payload.HasTimeFilter.HasValue) - { - datum.AddMetadata("hasTimeFilter", payload.HasTimeFilter.Value); - } - datum.AddMetadata("result", payload.Result); - datum.AddMetadata("serviceType", payload.ServiceType); - - datum.AddMetadata("source", payload.Source); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -7977,8 +8611,8 @@ public static void RecordCloudwatchlogsOpen(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Open the CloudWatch Logs group window. ServiceType indicates that it was opened from a different service (like directly from an ECS container) (Deprecated - use cloudwatchlogs_open) - public static void RecordCloudwatchlogsOpenGroup(this ITelemetryLogger telemetryLogger, CloudwatchlogsOpenGroup payload, Func transformDatum = null) + /// Open a window to view the status of the CloudFront Streaming Distribution + public static void RecordCloudfrontOpenStreamingDistribution(this ITelemetryLogger telemetryLogger, CloudfrontOpenStreamingDistribution payload, Func transformDatum = null) { try { @@ -7994,7 +8628,7 @@ public static void RecordCloudwatchlogsOpenGroup(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_openGroup"; + datum.MetricName = "cloudfront_openStreamingDistribution"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8010,6 +8644,7 @@ public static void RecordCloudwatchlogsOpenGroup(this ITelemetryLogger telemetry 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); @@ -8026,8 +8661,6 @@ public static void RecordCloudwatchlogsOpenGroup(this ITelemetryLogger telemetry datum.AddMetadata("result", payload.Result); - datum.AddMetadata("serviceType", payload.ServiceType); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -8041,8 +8674,8 @@ public static void RecordCloudwatchlogsOpenGroup(this ITelemetryLogger telemetry } /// Records Telemetry Event: - /// Open a CloudWatch Logs stream in the window. ServiceType indicates that it was opened from a different service (like directly from an ECS container) (Deprecated - use cloudwatchlogs_open) - public static void RecordCloudwatchlogsOpenStream(this ITelemetryLogger telemetryLogger, CloudwatchlogsOpenStream payload, Func transformDatum = null) + /// Start an insights query + public static void RecordCloudwatchinsightsExecuteQuery(this ITelemetryLogger telemetryLogger, CloudwatchinsightsExecuteQuery payload, Func transformDatum = null) { try { @@ -8058,7 +8691,7 @@ public static void RecordCloudwatchlogsOpenStream(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_openStream"; + datum.MetricName = "cloudwatchinsights_executeQuery"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8074,6 +8707,7 @@ public static void RecordCloudwatchlogsOpenStream(this ITelemetryLogger telemetr 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); @@ -8088,9 +8722,11 @@ public static void RecordCloudwatchlogsOpenStream(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("insightsQueryStringType", payload.InsightsQueryStringType); - datum.AddMetadata("serviceType", payload.ServiceType); + datum.AddMetadata("insightsQueryTimeType", payload.InsightsQueryTimeType); + + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -8105,8 +8741,8 @@ public static void RecordCloudwatchlogsOpenStream(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// Download a stream to memory then open in an editor. - public static void RecordCloudwatchlogsOpenStreamInEditor(this ITelemetryLogger telemetryLogger, CloudwatchlogsOpenStreamInEditor payload, Func transformDatum = null) + /// Get all details for the selected log record + public static void RecordCloudwatchinsightsOpenDetailedLogRecord(this ITelemetryLogger telemetryLogger, CloudwatchinsightsOpenDetailedLogRecord payload, Func transformDatum = null) { try { @@ -8122,7 +8758,7 @@ public static void RecordCloudwatchlogsOpenStreamInEditor(this ITelemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_openStreamInEditor"; + datum.MetricName = "cloudwatchinsights_openDetailedLogRecord"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8138,6 +8774,7 @@ public static void RecordCloudwatchlogsOpenStreamInEditor(this ITelemetryLogger 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); @@ -8167,8 +8804,8 @@ public static void RecordCloudwatchlogsOpenStreamInEditor(this ITelemetryLogger } /// Records Telemetry Event: - /// Refresh a CloudWatch Logs entity - public static void RecordCloudwatchlogsRefresh(this ITelemetryLogger telemetryLogger, CloudwatchlogsRefresh payload, Func transformDatum = null) + /// Open the insights query editor + public static void RecordCloudwatchinsightsOpenEditor(this ITelemetryLogger telemetryLogger, CloudwatchinsightsOpenEditor payload, Func transformDatum = null) { try { @@ -8184,7 +8821,7 @@ public static void RecordCloudwatchlogsRefresh(this ITelemetryLogger telemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_refresh"; + datum.MetricName = "cloudwatchinsights_openEditor"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8200,6 +8837,7 @@ public static void RecordCloudwatchlogsRefresh(this ITelemetryLogger telemetryLo 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); @@ -8214,7 +8852,7 @@ public static void RecordCloudwatchlogsRefresh(this ITelemetryLogger telemetryLo } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("cloudWatchResourceType", payload.CloudWatchResourceType); + datum.AddMetadata("insightsDialogOpenSource", payload.InsightsDialogOpenSource); datum = datum.InvokeTransform(transformDatum); @@ -8229,8 +8867,8 @@ public static void RecordCloudwatchlogsRefresh(this ITelemetryLogger telemetryLo } /// Records Telemetry Event: - /// Refresh group is pressed (Deprecated, use cloudwatchlogs_refresh) - public static void RecordCloudwatchlogsRefreshGroup(this ITelemetryLogger telemetryLogger, CloudwatchlogsRefreshGroup payload, Func transformDatum = null) + /// Retrieve list of available saved queries from AWS + public static void RecordCloudwatchinsightsRetrieveQuery(this ITelemetryLogger telemetryLogger, CloudwatchinsightsRetrieveQuery payload, Func transformDatum = null) { try { @@ -8246,7 +8884,7 @@ public static void RecordCloudwatchlogsRefreshGroup(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_refreshGroup"; + datum.MetricName = "cloudwatchinsights_retrieveQuery"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8262,6 +8900,7 @@ public static void RecordCloudwatchlogsRefreshGroup(this ITelemetryLogger teleme 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); @@ -8276,6 +8915,8 @@ public static void RecordCloudwatchlogsRefreshGroup(this ITelemetryLogger teleme } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("result", payload.Result); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -8289,8 +8930,8 @@ public static void RecordCloudwatchlogsRefreshGroup(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// Refresh stream is pressed (Deprecated, use cloudwatchlogs_refresh) - public static void RecordCloudwatchlogsRefreshStream(this ITelemetryLogger telemetryLogger, CloudwatchlogsRefreshStream payload, Func transformDatum = null) + /// Save query parameters to AWS + public static void RecordCloudwatchinsightsSaveQuery(this ITelemetryLogger telemetryLogger, CloudwatchinsightsSaveQuery payload, Func transformDatum = null) { try { @@ -8306,7 +8947,7 @@ public static void RecordCloudwatchlogsRefreshStream(this ITelemetryLogger telem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_refreshStream"; + datum.MetricName = "cloudwatchinsights_saveQuery"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8322,6 +8963,7 @@ public static void RecordCloudwatchlogsRefreshStream(this ITelemetryLogger telem 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); @@ -8336,6 +8978,8 @@ public static void RecordCloudwatchlogsRefreshStream(this ITelemetryLogger telem } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("result", payload.Result); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -8349,8 +8993,8 @@ public static void RecordCloudwatchlogsRefreshStream(this ITelemetryLogger telem } /// Records Telemetry Event: - /// Called when a group is searched - public static void RecordCloudwatchlogsSearchGroup(this ITelemetryLogger telemetryLogger, CloudwatchlogsSearchGroup payload, Func transformDatum = null) + /// Copy the ARN of a CloudWatch Logs entity + public static void RecordCloudwatchlogsCopyArn(this ITelemetryLogger telemetryLogger, CloudwatchlogsCopyArn payload, Func transformDatum = null) { try { @@ -8366,7 +9010,7 @@ public static void RecordCloudwatchlogsSearchGroup(this ITelemetryLogger telemet metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_searchGroup"; + datum.MetricName = "cloudwatchlogs_copyArn"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8382,6 +9026,7 @@ public static void RecordCloudwatchlogsSearchGroup(this ITelemetryLogger telemet 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); @@ -8396,6 +9041,8 @@ public static void RecordCloudwatchlogsSearchGroup(this ITelemetryLogger telemet } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("cloudWatchResourceType", payload.CloudWatchResourceType); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -8411,8 +9058,8 @@ public static void RecordCloudwatchlogsSearchGroup(this ITelemetryLogger telemet } /// Records Telemetry Event: - /// Called when a stream is searched - public static void RecordCloudwatchlogsSearchStream(this ITelemetryLogger telemetryLogger, CloudwatchlogsSearchStream payload, Func transformDatum = null) + /// Delete a CloudWatch Logs entity. + public static void RecordCloudwatchlogsDelete(this ITelemetryLogger telemetryLogger, CloudwatchlogsDelete payload, Func transformDatum = null) { try { @@ -8428,7 +9075,7 @@ public static void RecordCloudwatchlogsSearchStream(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_searchStream"; + datum.MetricName = "cloudwatchlogs_delete"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8444,6 +9091,7 @@ public static void RecordCloudwatchlogsSearchStream(this ITelemetryLogger teleme 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); @@ -8458,6 +9106,8 @@ public static void RecordCloudwatchlogsSearchStream(this ITelemetryLogger teleme } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("cloudWatchResourceType", payload.CloudWatchResourceType); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -8473,8 +9123,8 @@ public static void RecordCloudwatchlogsSearchStream(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// Show event around a time period in ms specified by Value - public static void RecordCloudwatchlogsShowEventsAround(this ITelemetryLogger telemetryLogger, CloudwatchlogsShowEventsAround payload, Func transformDatum = null) + /// Download a CloudWatch Logs entity. Value indicates the final size of the formatted stream in bytes. + public static void RecordCloudwatchlogsDownload(this ITelemetryLogger telemetryLogger, CloudwatchlogsDownload payload, Func transformDatum = null) { try { @@ -8490,8 +9140,8 @@ public static void RecordCloudwatchlogsShowEventsAround(this ITelemetryLogger te metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_showEventsAround"; - datum.Unit = Unit.Milliseconds; + datum.MetricName = "cloudwatchlogs_download"; + datum.Unit = Unit.Bytes; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -8506,6 +9156,7 @@ public static void RecordCloudwatchlogsShowEventsAround(this ITelemetryLogger te 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); @@ -8520,6 +9171,8 @@ public static void RecordCloudwatchlogsShowEventsAround(this ITelemetryLogger te } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("cloudWatchResourceType", payload.CloudWatchResourceType); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -8535,8 +9188,8 @@ public static void RecordCloudwatchlogsShowEventsAround(this ITelemetryLogger te } /// Records Telemetry Event: - /// When user starts a new LiveTail command - public static void RecordCloudwatchlogsStartLiveTail(this ITelemetryLogger telemetryLogger, CloudwatchlogsStartLiveTail payload, Func transformDatum = null) + /// Download a stream to a file on disk. Value indicates the final size of the formatted stream. (Deprecated - use cloudwatchlogs_download) + public static void RecordCloudwatchlogsDownloadStreamToFile(this ITelemetryLogger telemetryLogger, CloudwatchlogsDownloadStreamToFile payload, Func transformDatum = null) { try { @@ -8552,8 +9205,8 @@ public static void RecordCloudwatchlogsStartLiveTail(this ITelemetryLogger telem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_startLiveTail"; - datum.Unit = Unit.None; + datum.MetricName = "cloudwatchlogs_downloadStreamToFile"; + datum.Unit = Unit.Bytes; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -8568,6 +9221,7 @@ public static void RecordCloudwatchlogsStartLiveTail(this ITelemetryLogger telem 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); @@ -8582,19 +9236,7 @@ public static void RecordCloudwatchlogsStartLiveTail(this ITelemetryLogger telem } datum.AddMetadata("locale", payload.Locale); - if (payload.FilterType.HasValue) - { - datum.AddMetadata("filterType", payload.FilterType.Value); - } - - if (payload.HasTextFilter.HasValue) - { - datum.AddMetadata("hasTextFilter", payload.HasTextFilter.Value); - } - - datum.AddMetadata("sessionAlreadyStarted", payload.SessionAlreadyStarted); - - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -8609,8 +9251,8 @@ public static void RecordCloudwatchlogsStartLiveTail(this ITelemetryLogger telem } /// Records Telemetry Event: - /// When user stops a liveTailSession - public static void RecordCloudwatchlogsStopLiveTail(this ITelemetryLogger telemetryLogger, CloudwatchlogsStopLiveTail payload, Func transformDatum = null) + /// Filters a CloudWatch Logs entity. (Essentially a subset of cloudwatchlogs_open) + public static void RecordCloudwatchlogsFilter(this ITelemetryLogger telemetryLogger, CloudwatchlogsFilter payload, Func transformDatum = null) { try { @@ -8626,7 +9268,7 @@ public static void RecordCloudwatchlogsStopLiveTail(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_stopLiveTail"; + datum.MetricName = "cloudwatchlogs_filter"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8642,6 +9284,7 @@ public static void RecordCloudwatchlogsStopLiveTail(this ITelemetryLogger teleme 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); @@ -8656,7 +9299,19 @@ public static void RecordCloudwatchlogsStopLiveTail(this ITelemetryLogger teleme } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("cloudWatchResourceType", payload.CloudWatchResourceType); + + if (payload.HasTextFilter.HasValue) + { + datum.AddMetadata("hasTextFilter", payload.HasTextFilter.Value); + } + + if (payload.HasTimeFilter.HasValue) + { + datum.AddMetadata("hasTimeFilter", payload.HasTimeFilter.Value); + } + + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -8671,8 +9326,8 @@ public static void RecordCloudwatchlogsStopLiveTail(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// Tail stream off/on - public static void RecordCloudwatchlogsTailStream(this ITelemetryLogger telemetryLogger, CloudwatchlogsTailStream payload, Func transformDatum = null) + /// Open a CloudWatch Logs entity. ServiceType and source indicate where the request came from (example: while viewing an ECS container) + public static void RecordCloudwatchlogsOpen(this ITelemetryLogger telemetryLogger, CloudwatchlogsOpen payload, Func transformDatum = null) { try { @@ -8688,7 +9343,7 @@ public static void RecordCloudwatchlogsTailStream(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_tailStream"; + datum.MetricName = "cloudwatchlogs_open"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8704,6 +9359,7 @@ public static void RecordCloudwatchlogsTailStream(this ITelemetryLogger telemetr 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); @@ -8718,7 +9374,26 @@ public static void RecordCloudwatchlogsTailStream(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("enabled", payload.Enabled); + if (payload.CloudWatchLogsPresentation.HasValue) + { + datum.AddMetadata("cloudWatchLogsPresentation", payload.CloudWatchLogsPresentation.Value); + } + + datum.AddMetadata("cloudWatchResourceType", payload.CloudWatchResourceType); + + if (payload.HasTextFilter.HasValue) + { + datum.AddMetadata("hasTextFilter", payload.HasTextFilter.Value); + } + + if (payload.HasTimeFilter.HasValue) + { + datum.AddMetadata("hasTimeFilter", payload.HasTimeFilter.Value); + } + + datum.AddMetadata("result", payload.Result); + + datum.AddMetadata("serviceType", payload.ServiceType); datum = datum.InvokeTransform(transformDatum); @@ -8733,8 +9408,8 @@ public static void RecordCloudwatchlogsTailStream(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// Copy the currently open (possibly filtered) messages to an editor - public static void RecordCloudwatchlogsViewCurrentMessagesInEditor(this ITelemetryLogger telemetryLogger, CloudwatchlogsViewCurrentMessagesInEditor payload, Func transformDatum = null) + /// Open the CloudWatch Logs group window. ServiceType indicates that it was opened from a different service (like directly from an ECS container) (Deprecated - use cloudwatchlogs_open) + public static void RecordCloudwatchlogsOpenGroup(this ITelemetryLogger telemetryLogger, CloudwatchlogsOpenGroup payload, Func transformDatum = null) { try { @@ -8750,7 +9425,7 @@ public static void RecordCloudwatchlogsViewCurrentMessagesInEditor(this ITelemet metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_viewCurrentMessagesInEditor"; + datum.MetricName = "cloudwatchlogs_openGroup"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8766,6 +9441,7 @@ public static void RecordCloudwatchlogsViewCurrentMessagesInEditor(this ITelemet 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); @@ -8782,6 +9458,8 @@ public static void RecordCloudwatchlogsViewCurrentMessagesInEditor(this ITelemet datum.AddMetadata("result", payload.Result); + datum.AddMetadata("serviceType", payload.ServiceType); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -8795,8 +9473,8 @@ public static void RecordCloudwatchlogsViewCurrentMessagesInEditor(this ITelemet } /// Records Telemetry Event: - /// Word wrap events off/on - public static void RecordCloudwatchlogsWrapEvents(this ITelemetryLogger telemetryLogger, CloudwatchlogsWrapEvents payload, Func transformDatum = null) + /// Open a CloudWatch Logs stream in the window. ServiceType indicates that it was opened from a different service (like directly from an ECS container) (Deprecated - use cloudwatchlogs_open) + public static void RecordCloudwatchlogsOpenStream(this ITelemetryLogger telemetryLogger, CloudwatchlogsOpenStream payload, Func transformDatum = null) { try { @@ -8812,7 +9490,7 @@ public static void RecordCloudwatchlogsWrapEvents(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "cloudwatchlogs_wrapEvents"; + datum.MetricName = "cloudwatchlogs_openStream"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8828,6 +9506,7 @@ public static void RecordCloudwatchlogsWrapEvents(this ITelemetryLogger telemetr 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); @@ -8842,7 +9521,9 @@ public static void RecordCloudwatchlogsWrapEvents(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("enabled", payload.Enabled); + datum.AddMetadata("result", payload.Result); + + datum.AddMetadata("serviceType", payload.ServiceType); datum = datum.InvokeTransform(transformDatum); @@ -8857,8 +9538,8 @@ public static void RecordCloudwatchlogsWrapEvents(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// Connect to a Amazon CodeCatalyst dev environment - public static void RecordCodecatalystConnect(this ITelemetryLogger telemetryLogger, CodecatalystConnect payload, Func transformDatum = null) + /// Download a stream to memory then open in an editor. + public static void RecordCloudwatchlogsOpenStreamInEditor(this ITelemetryLogger telemetryLogger, CloudwatchlogsOpenStreamInEditor payload, Func transformDatum = null) { try { @@ -8874,7 +9555,7 @@ public static void RecordCodecatalystConnect(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codecatalyst_connect"; + datum.MetricName = "cloudwatchlogs_openStreamInEditor"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8890,6 +9571,7 @@ public static void RecordCodecatalystConnect(this ITelemetryLogger telemetryLogg 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); @@ -8906,8 +9588,6 @@ public static void RecordCodecatalystConnect(this ITelemetryLogger telemetryLogg datum.AddMetadata("result", payload.Result); - datum.AddMetadata("userId", payload.UserId); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -8921,8 +9601,8 @@ public static void RecordCodecatalystConnect(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Create an Amazon CodeCatalyst Dev Environment - public static void RecordCodecatalystCreateDevEnvironment(this ITelemetryLogger telemetryLogger, CodecatalystCreateDevEnvironment payload, Func transformDatum = null) + /// Refresh a CloudWatch Logs entity + public static void RecordCloudwatchlogsRefresh(this ITelemetryLogger telemetryLogger, CloudwatchlogsRefresh payload, Func transformDatum = null) { try { @@ -8938,7 +9618,7 @@ public static void RecordCodecatalystCreateDevEnvironment(this ITelemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codecatalyst_createDevEnvironment"; + datum.MetricName = "cloudwatchlogs_refresh"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -8954,6 +9634,7 @@ public static void RecordCodecatalystCreateDevEnvironment(this ITelemetryLogger 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); @@ -8968,14 +9649,7 @@ public static void RecordCodecatalystCreateDevEnvironment(this ITelemetryLogger } datum.AddMetadata("locale", payload.Locale); - if (payload.CodecatalystCreateDevEnvironmentRepoType.HasValue) - { - datum.AddMetadata("codecatalyst_createDevEnvironmentRepoType", payload.CodecatalystCreateDevEnvironmentRepoType.Value); - } - - datum.AddMetadata("result", payload.Result); - - datum.AddMetadata("userId", payload.UserId); + datum.AddMetadata("cloudWatchResourceType", payload.CloudWatchResourceType); datum = datum.InvokeTransform(transformDatum); @@ -8990,8 +9664,8 @@ public static void RecordCodecatalystCreateDevEnvironment(this ITelemetryLogger } /// Records Telemetry Event: - /// Workflow statistic for connecting to a dev environment - public static void RecordCodecatalystDevEnvironmentWorkflowStatistic(this ITelemetryLogger telemetryLogger, CodecatalystDevEnvironmentWorkflowStatistic payload, Func transformDatum = null) + /// Refresh group is pressed (Deprecated, use cloudwatchlogs_refresh) + public static void RecordCloudwatchlogsRefreshGroup(this ITelemetryLogger telemetryLogger, CloudwatchlogsRefreshGroup payload, Func transformDatum = null) { try { @@ -9007,7 +9681,7 @@ public static void RecordCodecatalystDevEnvironmentWorkflowStatistic(this ITelem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codecatalyst_devEnvironmentWorkflowStatistic"; + datum.MetricName = "cloudwatchlogs_refreshGroup"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9023,6 +9697,7 @@ public static void RecordCodecatalystDevEnvironmentWorkflowStatistic(this ITelem 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); @@ -9037,14 +9712,6 @@ public static void RecordCodecatalystDevEnvironmentWorkflowStatistic(this ITelem } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codecatalyst_devEnvironmentWorkflowError", payload.CodecatalystDevEnvironmentWorkflowError); - - datum.AddMetadata("codecatalyst_devEnvironmentWorkflowStep", payload.CodecatalystDevEnvironmentWorkflowStep); - - datum.AddMetadata("result", payload.Result); - - datum.AddMetadata("userId", payload.UserId); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -9058,8 +9725,8 @@ public static void RecordCodecatalystDevEnvironmentWorkflowStatistic(this ITelem } /// Records Telemetry Event: - /// Clone a Amazon CodeCatalyst code repository locally - public static void RecordCodecatalystLocalClone(this ITelemetryLogger telemetryLogger, CodecatalystLocalClone payload, Func transformDatum = null) + /// Refresh stream is pressed (Deprecated, use cloudwatchlogs_refresh) + public static void RecordCloudwatchlogsRefreshStream(this ITelemetryLogger telemetryLogger, CloudwatchlogsRefreshStream payload, Func transformDatum = null) { try { @@ -9075,7 +9742,7 @@ public static void RecordCodecatalystLocalClone(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codecatalyst_localClone"; + datum.MetricName = "cloudwatchlogs_refreshStream"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9091,6 +9758,7 @@ public static void RecordCodecatalystLocalClone(this ITelemetryLogger telemetryL 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); @@ -9105,10 +9773,6 @@ public static void RecordCodecatalystLocalClone(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); - - datum.AddMetadata("userId", payload.UserId); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -9122,8 +9786,8 @@ public static void RecordCodecatalystLocalClone(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Update properties of a Amazon CodeCatalyst Dev Environment - public static void RecordCodecatalystUpdateDevEnvironmentSettings(this ITelemetryLogger telemetryLogger, CodecatalystUpdateDevEnvironmentSettings payload, Func transformDatum = null) + /// Called when a group is searched + public static void RecordCloudwatchlogsSearchGroup(this ITelemetryLogger telemetryLogger, CloudwatchlogsSearchGroup payload, Func transformDatum = null) { try { @@ -9139,7 +9803,7 @@ public static void RecordCodecatalystUpdateDevEnvironmentSettings(this ITelemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codecatalyst_updateDevEnvironmentSettings"; + datum.MetricName = "cloudwatchlogs_searchGroup"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9155,6 +9819,7 @@ public static void RecordCodecatalystUpdateDevEnvironmentSettings(this ITelemetr 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); @@ -9169,12 +9834,8 @@ public static void RecordCodecatalystUpdateDevEnvironmentSettings(this ITelemetr } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codecatalyst_updateDevEnvironmentLocationType", payload.CodecatalystUpdateDevEnvironmentLocationType); - datum.AddMetadata("result", payload.Result); - datum.AddMetadata("userId", payload.UserId); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -9188,8 +9849,8 @@ public static void RecordCodecatalystUpdateDevEnvironmentSettings(this ITelemetr } /// Records Telemetry Event: - /// Trigger a devfile update on a Amazon CodeCatalyst dev environment - public static void RecordCodecatalystUpdateDevfile(this ITelemetryLogger telemetryLogger, CodecatalystUpdateDevfile payload, Func transformDatum = null) + /// Called when a stream is searched + public static void RecordCloudwatchlogsSearchStream(this ITelemetryLogger telemetryLogger, CloudwatchlogsSearchStream payload, Func transformDatum = null) { try { @@ -9205,7 +9866,7 @@ public static void RecordCodecatalystUpdateDevfile(this ITelemetryLogger telemet metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codecatalyst_updateDevfile"; + datum.MetricName = "cloudwatchlogs_searchStream"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9221,6 +9882,7 @@ public static void RecordCodecatalystUpdateDevfile(this ITelemetryLogger telemet 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); @@ -9237,8 +9899,6 @@ public static void RecordCodecatalystUpdateDevfile(this ITelemetryLogger telemet datum.AddMetadata("result", payload.Result); - datum.AddMetadata("userId", payload.UserId); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -9252,8 +9912,8 @@ public static void RecordCodecatalystUpdateDevfile(this ITelemetryLogger telemet } /// Records Telemetry Event: - /// A repo is cloned from CodeCommit - public static void RecordCodecommitCloneRepo(this ITelemetryLogger telemetryLogger, CodecommitCloneRepo payload, Func transformDatum = null) + /// Show event around a time period in ms specified by Value + public static void RecordCloudwatchlogsShowEventsAround(this ITelemetryLogger telemetryLogger, CloudwatchlogsShowEventsAround payload, Func transformDatum = null) { try { @@ -9269,8 +9929,8 @@ public static void RecordCodecommitCloneRepo(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codecommit_cloneRepo"; - datum.Unit = Unit.None; + datum.MetricName = "cloudwatchlogs_showEventsAround"; + datum.Unit = Unit.Milliseconds; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -9285,6 +9945,7 @@ public static void RecordCodecommitCloneRepo(this ITelemetryLogger telemetryLogg 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); @@ -9314,8 +9975,8 @@ public static void RecordCodecommitCloneRepo(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// A repo is created in CodeCommit - public static void RecordCodecommitCreateRepo(this ITelemetryLogger telemetryLogger, CodecommitCreateRepo payload, Func transformDatum = null) + /// When user starts a new LiveTail command + public static void RecordCloudwatchlogsStartLiveTail(this ITelemetryLogger telemetryLogger, CloudwatchlogsStartLiveTail payload, Func transformDatum = null) { try { @@ -9331,7 +9992,7 @@ public static void RecordCodecommitCreateRepo(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codecommit_createRepo"; + datum.MetricName = "cloudwatchlogs_startLiveTail"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9347,6 +10008,7 @@ public static void RecordCodecommitCreateRepo(this ITelemetryLogger telemetryLog 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); @@ -9361,7 +10023,17 @@ public static void RecordCodecommitCreateRepo(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + if (payload.FilterType.HasValue) + { + datum.AddMetadata("filterType", payload.FilterType.Value); + } + + if (payload.HasTextFilter.HasValue) + { + datum.AddMetadata("hasTextFilter", payload.HasTextFilter.Value); + } + + datum.AddMetadata("sessionAlreadyStarted", payload.SessionAlreadyStarted); datum = datum.InvokeTransform(transformDatum); @@ -9376,8 +10048,8 @@ public static void RecordCodecommitCreateRepo(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// A connection is established to CodeCommit to perform actions on repos - public static void RecordCodecommitSetCredentials(this ITelemetryLogger telemetryLogger, CodecommitSetCredentials payload, Func transformDatum = null) + /// When user stops a liveTailSession + public static void RecordCloudwatchlogsStopLiveTail(this ITelemetryLogger telemetryLogger, CloudwatchlogsStopLiveTail payload, Func transformDatum = null) { try { @@ -9393,7 +10065,7 @@ public static void RecordCodecommitSetCredentials(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codecommit_setCredentials"; + datum.MetricName = "cloudwatchlogs_stopLiveTail"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9409,6 +10081,7 @@ public static void RecordCodecommitSetCredentials(this ITelemetryLogger telemetr 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); @@ -9423,13 +10096,6 @@ public static void RecordCodecommitSetCredentials(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); - if (payload.CredentialType.HasValue) - { - datum.AddMetadata("credentialType", payload.CredentialType.Value); - } - - datum.AddMetadata("result", payload.Result); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -9443,8 +10109,8 @@ public static void RecordCodecommitSetCredentials(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// Apply suggested changes to buildable units. - public static void RecordCodeTransformApplyChanges(this ITelemetryLogger telemetryLogger, CodeTransformApplyChanges payload, Func transformDatum = null) + /// Tail stream off/on + public static void RecordCloudwatchlogsTailStream(this ITelemetryLogger telemetryLogger, CloudwatchlogsTailStream payload, Func transformDatum = null) { try { @@ -9460,7 +10126,7 @@ public static void RecordCodeTransformApplyChanges(this ITelemetryLogger telemet metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_applyChanges"; + datum.MetricName = "cloudwatchlogs_tailStream"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9476,6 +10142,7 @@ public static void RecordCodeTransformApplyChanges(this ITelemetryLogger telemet 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); @@ -9490,14 +10157,7 @@ public static void RecordCodeTransformApplyChanges(this ITelemetryLogger telemet } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codeTransformNumberOfTransformedFilesAccepted", payload.CodeTransformNumberOfTransformedFilesAccepted); - - if (payload.CodeTransformNumberOfTransformedUnitsAccepted.HasValue) - { - datum.AddMetadata("codeTransformNumberOfTransformedUnitsAccepted", payload.CodeTransformNumberOfTransformedUnitsAccepted.Value); - } - - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + datum.AddMetadata("enabled", payload.Enabled); datum = datum.InvokeTransform(transformDatum); @@ -9512,8 +10172,8 @@ public static void RecordCodeTransformApplyChanges(this ITelemetryLogger telemet } /// Records Telemetry Event: - /// User downloads code transform artifact - public static void RecordCodeTransformDownloadArtifact(this ITelemetryLogger telemetryLogger, CodeTransformDownloadArtifact payload, Func transformDatum = null) + /// Copy the currently open (possibly filtered) messages to an editor + public static void RecordCloudwatchlogsViewCurrentMessagesInEditor(this ITelemetryLogger telemetryLogger, CloudwatchlogsViewCurrentMessagesInEditor payload, Func transformDatum = null) { try { @@ -9529,7 +10189,7 @@ public static void RecordCodeTransformDownloadArtifact(this ITelemetryLogger tel metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_downloadArtifact"; + datum.MetricName = "cloudwatchlogs_viewCurrentMessagesInEditor"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9545,6 +10205,7 @@ public static void RecordCodeTransformDownloadArtifact(this ITelemetryLogger tel 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); @@ -9559,17 +10220,7 @@ public static void RecordCodeTransformDownloadArtifact(this ITelemetryLogger tel } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codeTransformArtifactType", payload.CodeTransformArtifactType); - - datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - - datum.AddMetadata("codeTransformRuntimeError", payload.CodeTransformRuntimeError); - - datum.AddMetadata("codeTransformRunTimeLatency", payload.CodeTransformRunTimeLatency); - - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); - - datum.AddMetadata("codeTransformTotalByteSize", payload.CodeTransformTotalByteSize); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -9584,8 +10235,8 @@ public static void RecordCodeTransformDownloadArtifact(this ITelemetryLogger tel } /// Records Telemetry Event: - /// The user interactivity when a transformation pause state is reached. - public static void RecordCodeTransformHumanInTheLoop(this ITelemetryLogger telemetryLogger, CodeTransformHumanInTheLoop payload, Func transformDatum = null) + /// Word wrap events off/on + public static void RecordCloudwatchlogsWrapEvents(this ITelemetryLogger telemetryLogger, CloudwatchlogsWrapEvents payload, Func transformDatum = null) { try { @@ -9601,7 +10252,7 @@ public static void RecordCodeTransformHumanInTheLoop(this ITelemetryLogger telem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_humanInTheLoop"; + datum.MetricName = "cloudwatchlogs_wrapEvents"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9617,6 +10268,7 @@ public static void RecordCodeTransformHumanInTheLoop(this ITelemetryLogger telem 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); @@ -9631,11 +10283,7 @@ public static void RecordCodeTransformHumanInTheLoop(this ITelemetryLogger telem } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - - datum.AddMetadata("codeTransformMetadata", payload.CodeTransformMetadata); - - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + datum.AddMetadata("enabled", payload.Enabled); datum = datum.InvokeTransform(transformDatum); @@ -9650,8 +10298,8 @@ public static void RecordCodeTransformHumanInTheLoop(this ITelemetryLogger telem } /// Records Telemetry Event: - /// User initiates code transform from Q Chat Prompt. - public static void RecordCodeTransformInitiateTransform(this ITelemetryLogger telemetryLogger, CodeTransformInitiateTransform payload, Func transformDatum = null) + /// Connect to a Amazon CodeCatalyst dev environment + public static void RecordCodecatalystConnect(this ITelemetryLogger telemetryLogger, CodecatalystConnect payload, Func transformDatum = null) { try { @@ -9667,7 +10315,7 @@ public static void RecordCodeTransformInitiateTransform(this ITelemetryLogger te metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_initiateTransform"; + datum.MetricName = "codecatalyst_connect"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9683,6 +10331,7 @@ public static void RecordCodeTransformInitiateTransform(this ITelemetryLogger te 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); @@ -9697,12 +10346,9 @@ public static void RecordCodeTransformInitiateTransform(this ITelemetryLogger te } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + datum.AddMetadata("result", payload.Result); - if (payload.CredentialSourceId.HasValue) - { - datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); - } + datum.AddMetadata("userId", payload.UserId); datum = datum.InvokeTransform(transformDatum); @@ -9717,8 +10363,8 @@ public static void RecordCodeTransformInitiateTransform(this ITelemetryLogger te } /// Records Telemetry Event: - /// After a job is running the user has the ability to cancel the job. - public static void RecordCodeTransformJobIsCancelledByUser(this ITelemetryLogger telemetryLogger, CodeTransformJobIsCancelledByUser payload, Func transformDatum = null) + /// Create an Amazon CodeCatalyst Dev Environment + public static void RecordCodecatalystCreateDevEnvironment(this ITelemetryLogger telemetryLogger, CodecatalystCreateDevEnvironment payload, Func transformDatum = null) { try { @@ -9734,7 +10380,7 @@ public static void RecordCodeTransformJobIsCancelledByUser(this ITelemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_jobIsCancelledByUser"; + datum.MetricName = "codecatalyst_createDevEnvironment"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9750,6 +10396,7 @@ public static void RecordCodeTransformJobIsCancelledByUser(this ITelemetryLogger 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); @@ -9764,16 +10411,14 @@ public static void RecordCodeTransformJobIsCancelledByUser(this ITelemetryLogger } datum.AddMetadata("locale", payload.Locale); - if (payload.CodeTransformCancelSrcComponents.HasValue) + if (payload.CodecatalystCreateDevEnvironmentRepoType.HasValue) { - datum.AddMetadata("codeTransformCancelSrcComponents", payload.CodeTransformCancelSrcComponents.Value); + datum.AddMetadata("codecatalyst_createDevEnvironmentRepoType", payload.CodecatalystCreateDevEnvironmentRepoType.Value); } - datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - - datum.AddMetadata("codeTransformRuntimeError", payload.CodeTransformRuntimeError); + datum.AddMetadata("result", payload.Result); - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + datum.AddMetadata("userId", payload.UserId); datum = datum.InvokeTransform(transformDatum); @@ -9788,8 +10433,8 @@ public static void RecordCodeTransformJobIsCancelledByUser(this ITelemetryLogger } /// Records Telemetry Event: - /// The user closes their IDE and stops viewing the transformation. - public static void RecordCodeTransformJobIsClosedDuringIdeRun(this ITelemetryLogger telemetryLogger, CodeTransformJobIsClosedDuringIdeRun payload, Func transformDatum = null) + /// Workflow statistic for connecting to a dev environment + public static void RecordCodecatalystDevEnvironmentWorkflowStatistic(this ITelemetryLogger telemetryLogger, CodecatalystDevEnvironmentWorkflowStatistic payload, Func transformDatum = null) { try { @@ -9805,7 +10450,7 @@ public static void RecordCodeTransformJobIsClosedDuringIdeRun(this ITelemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_jobIsClosedDuringIdeRun"; + datum.MetricName = "codecatalyst_devEnvironmentWorkflowStatistic"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9821,6 +10466,7 @@ public static void RecordCodeTransformJobIsClosedDuringIdeRun(this ITelemetryLog 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); @@ -9835,11 +10481,13 @@ public static void RecordCodeTransformJobIsClosedDuringIdeRun(this ITelemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); + datum.AddMetadata("codecatalyst_devEnvironmentWorkflowError", payload.CodecatalystDevEnvironmentWorkflowError); - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + datum.AddMetadata("codecatalyst_devEnvironmentWorkflowStep", payload.CodecatalystDevEnvironmentWorkflowStep); - datum.AddMetadata("codeTransformStatus", payload.CodeTransformStatus); + datum.AddMetadata("result", payload.Result); + + datum.AddMetadata("userId", payload.UserId); datum = datum.InvokeTransform(transformDatum); @@ -9854,8 +10502,8 @@ public static void RecordCodeTransformJobIsClosedDuringIdeRun(this ITelemetryLog } /// Records Telemetry Event: - /// The user was previously running a transformation and came back to IDE to see it still running - public static void RecordCodeTransformJobIsResumedAfterIdeClose(this ITelemetryLogger telemetryLogger, CodeTransformJobIsResumedAfterIdeClose payload, Func transformDatum = null) + /// Clone a Amazon CodeCatalyst code repository locally + public static void RecordCodecatalystLocalClone(this ITelemetryLogger telemetryLogger, CodecatalystLocalClone payload, Func transformDatum = null) { try { @@ -9871,7 +10519,7 @@ public static void RecordCodeTransformJobIsResumedAfterIdeClose(this ITelemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_jobIsResumedAfterIdeClose"; + datum.MetricName = "codecatalyst_localClone"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9887,6 +10535,7 @@ public static void RecordCodeTransformJobIsResumedAfterIdeClose(this ITelemetryL 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); @@ -9901,11 +10550,9 @@ public static void RecordCodeTransformJobIsResumedAfterIdeClose(this ITelemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + datum.AddMetadata("result", payload.Result); - datum.AddMetadata("codeTransformStatus", payload.CodeTransformStatus); + datum.AddMetadata("userId", payload.UserId); datum = datum.InvokeTransform(transformDatum); @@ -9920,8 +10567,8 @@ public static void RecordCodeTransformJobIsResumedAfterIdeClose(this ITelemetryL } /// Records Telemetry Event: - /// Transform job started for uploaded project. - public static void RecordCodeTransformJobStart(this ITelemetryLogger telemetryLogger, CodeTransformJobStart payload, Func transformDatum = null) + /// Update properties of a Amazon CodeCatalyst Dev Environment + public static void RecordCodecatalystUpdateDevEnvironmentSettings(this ITelemetryLogger telemetryLogger, CodecatalystUpdateDevEnvironmentSettings payload, Func transformDatum = null) { try { @@ -9937,7 +10584,7 @@ public static void RecordCodeTransformJobStart(this ITelemetryLogger telemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_jobStart"; + datum.MetricName = "codecatalyst_updateDevEnvironmentSettings"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -9953,6 +10600,7 @@ public static void RecordCodeTransformJobStart(this ITelemetryLogger telemetryLo 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); @@ -9967,35 +10615,13 @@ public static void RecordCodeTransformJobStart(this ITelemetryLogger telemetryLo } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - - if (payload.CodeTransformNumberOfProjects.HasValue) - { - datum.AddMetadata("codeTransformNumberOfProjects", payload.CodeTransformNumberOfProjects.Value); - } - - if (payload.CodeTransformNumberOfTransformedFiles.HasValue) - { - datum.AddMetadata("codeTransformNumberOfTransformedFiles", payload.CodeTransformNumberOfTransformedFiles.Value); - } + datum.AddMetadata("codecatalyst_updateDevEnvironmentLocationType", payload.CodecatalystUpdateDevEnvironmentLocationType); - if (payload.CodeTransformRunTimeLatency.HasValue) - { - datum.AddMetadata("codeTransformRunTimeLatency", payload.CodeTransformRunTimeLatency.Value); - } + datum.AddMetadata("result", payload.Result); - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + datum.AddMetadata("userId", payload.UserId); - datum.AddMetadata("codeTransformTarget", payload.CodeTransformTarget); - - if (payload.CredentialSourceId.HasValue) - { - datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); - } - - datum.AddMetadata("source", payload.Source); - - datum = datum.InvokeTransform(transformDatum); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); telemetryLogger.Record(metrics); @@ -10008,8 +10634,8 @@ public static void RecordCodeTransformJobStart(this ITelemetryLogger telemetryLo } /// Records Telemetry Event: - /// During the transformation progress, log the status steps returning from the API. - public static void RecordCodeTransformJobStatusChanged(this ITelemetryLogger telemetryLogger, CodeTransformJobStatusChanged payload, Func transformDatum = null) + /// Trigger a devfile update on a Amazon CodeCatalyst dev environment + public static void RecordCodecatalystUpdateDevfile(this ITelemetryLogger telemetryLogger, CodecatalystUpdateDevfile payload, Func transformDatum = null) { try { @@ -10025,7 +10651,7 @@ public static void RecordCodeTransformJobStatusChanged(this ITelemetryLogger tel metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_jobStatusChanged"; + datum.MetricName = "codecatalyst_updateDevfile"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10041,6 +10667,7 @@ public static void RecordCodeTransformJobStatusChanged(this ITelemetryLogger tel 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); @@ -10055,13 +10682,9 @@ public static void RecordCodeTransformJobStatusChanged(this ITelemetryLogger tel } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - - datum.AddMetadata("codeTransformPreviousStatus", payload.CodeTransformPreviousStatus); - - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + datum.AddMetadata("result", payload.Result); - datum.AddMetadata("codeTransformStatus", payload.CodeTransformStatus); + datum.AddMetadata("userId", payload.UserId); datum = datum.InvokeTransform(transformDatum); @@ -10076,8 +10699,8 @@ public static void RecordCodeTransformJobStatusChanged(this ITelemetryLogger tel } /// Records Telemetry Event: - /// Transform initiates local build. - public static void RecordCodeTransformLocalBuildProject(this ITelemetryLogger telemetryLogger, CodeTransformLocalBuildProject payload, Func transformDatum = null) + /// A repo is cloned from CodeCommit + public static void RecordCodecommitCloneRepo(this ITelemetryLogger telemetryLogger, CodecommitCloneRepo payload, Func transformDatum = null) { try { @@ -10093,7 +10716,7 @@ public static void RecordCodeTransformLocalBuildProject(this ITelemetryLogger te metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_localBuildProject"; + datum.MetricName = "codecommit_cloneRepo"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10109,6 +10732,7 @@ public static void RecordCodeTransformLocalBuildProject(this ITelemetryLogger te 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); @@ -10123,9 +10747,7 @@ public static void RecordCodeTransformLocalBuildProject(this ITelemetryLogger te } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codeTransformBuildCommand", payload.CodeTransformBuildCommand); - - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -10140,8 +10762,8 @@ public static void RecordCodeTransformLocalBuildProject(this ITelemetryLogger te } /// Records Telemetry Event: - /// A general error has occurred. - public static void RecordCodeTransformLogGeneralError(this ITelemetryLogger telemetryLogger, CodeTransformLogGeneralError payload, Func transformDatum = null) + /// A repo is created in CodeCommit + public static void RecordCodecommitCreateRepo(this ITelemetryLogger telemetryLogger, CodecommitCreateRepo payload, Func transformDatum = null) { try { @@ -10157,7 +10779,7 @@ public static void RecordCodeTransformLogGeneralError(this ITelemetryLogger tele metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_logGeneralError"; + datum.MetricName = "codecommit_createRepo"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10173,6 +10795,7 @@ public static void RecordCodeTransformLogGeneralError(this ITelemetryLogger tele 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); @@ -10187,9 +10810,7 @@ public static void RecordCodeTransformLogGeneralError(this ITelemetryLogger tele } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -10204,8 +10825,8 @@ public static void RecordCodeTransformLogGeneralError(this ITelemetryLogger tele } /// Records Telemetry Event: - /// User provides input to project module and language selection. - public static void RecordCodeTransformSubmitSelection(this ITelemetryLogger telemetryLogger, CodeTransformSubmitSelection payload, Func transformDatum = null) + /// A connection is established to CodeCommit to perform actions on repos + public static void RecordCodecommitSetCredentials(this ITelemetryLogger telemetryLogger, CodecommitSetCredentials payload, Func transformDatum = null) { try { @@ -10221,7 +10842,7 @@ public static void RecordCodeTransformSubmitSelection(this ITelemetryLogger tele metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_submitSelection"; + datum.MetricName = "codecommit_setCredentials"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10237,6 +10858,7 @@ public static void RecordCodeTransformSubmitSelection(this ITelemetryLogger tele 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); @@ -10251,27 +10873,12 @@ public static void RecordCodeTransformSubmitSelection(this ITelemetryLogger tele } datum.AddMetadata("locale", payload.Locale); - if (payload.CodeTransformJavaSourceVersionsAllowed.HasValue) - { - datum.AddMetadata("codeTransformJavaSourceVersionsAllowed", payload.CodeTransformJavaSourceVersionsAllowed.Value); - } - - if (payload.CodeTransformJavaTargetVersionsAllowed.HasValue) + if (payload.CredentialType.HasValue) { - datum.AddMetadata("codeTransformJavaTargetVersionsAllowed", payload.CodeTransformJavaTargetVersionsAllowed.Value); + datum.AddMetadata("credentialType", payload.CredentialType.Value); } - datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - - datum.AddMetadata("codeTransformProjectId", payload.CodeTransformProjectId); - - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); - - datum.AddMetadata("source", payload.Source); - - datum.AddMetadata("target", payload.Target); - - datum.AddMetadata("userChoice", payload.UserChoice); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -10286,8 +10893,8 @@ public static void RecordCodeTransformSubmitSelection(this ITelemetryLogger tele } /// Records Telemetry Event: - /// We want to log the total run time in the users experience for the IDE. The total runtime should end when all API's have finished running and the users is prompted for next step actions. - public static void RecordCodeTransformTotalRunTime(this ITelemetryLogger telemetryLogger, CodeTransformTotalRunTime payload, Func transformDatum = null) + /// Apply suggested changes to buildable units. + public static void RecordCodeTransformApplyChanges(this ITelemetryLogger telemetryLogger, CodeTransformApplyChanges payload, Func transformDatum = null) { try { @@ -10303,7 +10910,7 @@ public static void RecordCodeTransformTotalRunTime(this ITelemetryLogger telemet metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_totalRunTime"; + datum.MetricName = "codeTransform_applyChanges"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10319,6 +10926,7 @@ public static void RecordCodeTransformTotalRunTime(this ITelemetryLogger telemet 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); @@ -10333,21 +10941,13 @@ public static void RecordCodeTransformTotalRunTime(this ITelemetryLogger telemet } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("buildSystemVersion", payload.BuildSystemVersion); - - datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - - datum.AddMetadata("codeTransformLocalJavaVersion", payload.CodeTransformLocalJavaVersion); + datum.AddMetadata("codeTransformNumberOfTransformedFilesAccepted", payload.CodeTransformNumberOfTransformedFilesAccepted); - if (payload.CodeTransformPlanReceivedCount.HasValue) + if (payload.CodeTransformNumberOfTransformedUnitsAccepted.HasValue) { - datum.AddMetadata("codeTransformPlanReceivedCount", payload.CodeTransformPlanReceivedCount.Value); + datum.AddMetadata("codeTransformNumberOfTransformedUnitsAccepted", payload.CodeTransformNumberOfTransformedUnitsAccepted.Value); } - datum.AddMetadata("codeTransformResultStatusMessage", payload.CodeTransformResultStatusMessage); - - datum.AddMetadata("codeTransformRunTimeLatency", payload.CodeTransformRunTimeLatency); - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); datum = datum.InvokeTransform(transformDatum); @@ -10363,8 +10963,8 @@ public static void RecordCodeTransformTotalRunTime(this ITelemetryLogger telemet } /// Records Telemetry Event: - /// Transform initiates project artifact upload. - public static void RecordCodeTransformUploadProject(this ITelemetryLogger telemetryLogger, CodeTransformUploadProject payload, Func transformDatum = null) + /// User downloads code transform artifact + public static void RecordCodeTransformDownloadArtifact(this ITelemetryLogger telemetryLogger, CodeTransformDownloadArtifact payload, Func transformDatum = null) { try { @@ -10380,7 +10980,7 @@ public static void RecordCodeTransformUploadProject(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_uploadProject"; + datum.MetricName = "codeTransform_downloadArtifact"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10396,6 +10996,7 @@ public static void RecordCodeTransformUploadProject(this ITelemetryLogger teleme 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); @@ -10410,10 +11011,12 @@ public static void RecordCodeTransformUploadProject(this ITelemetryLogger teleme } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codeTransformDependenciesCopied", payload.CodeTransformDependenciesCopied); + datum.AddMetadata("codeTransformArtifactType", payload.CodeTransformArtifactType); datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); + datum.AddMetadata("codeTransformRuntimeError", payload.CodeTransformRuntimeError); + datum.AddMetadata("codeTransformRunTimeLatency", payload.CodeTransformRunTimeLatency); datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); @@ -10433,8 +11036,8 @@ public static void RecordCodeTransformUploadProject(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// Transform initiates project language, build tool, and build file validation. - public static void RecordCodeTransformValidateProject(this ITelemetryLogger telemetryLogger, CodeTransformValidateProject payload, Func transformDatum = null) + /// The user interactivity when a transformation pause state is reached. + public static void RecordCodeTransformHumanInTheLoop(this ITelemetryLogger telemetryLogger, CodeTransformHumanInTheLoop payload, Func transformDatum = null) { try { @@ -10450,7 +11053,7 @@ public static void RecordCodeTransformValidateProject(this ITelemetryLogger tele metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codeTransform_validateProject"; + datum.MetricName = "codeTransform_humanInTheLoop"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10466,6 +11069,7 @@ public static void RecordCodeTransformValidateProject(this ITelemetryLogger tele 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); @@ -10480,22 +11084,10 @@ public static void RecordCodeTransformValidateProject(this ITelemetryLogger tele } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("buildSystemVersion", payload.BuildSystemVersion); - - if (payload.CodeTransformBuildSystem.HasValue) - { - datum.AddMetadata("codeTransformBuildSystem", payload.CodeTransformBuildSystem.Value); - } - - datum.AddMetadata("codeTransformLocalJavaVersion", payload.CodeTransformLocalJavaVersion); + datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); datum.AddMetadata("codeTransformMetadata", payload.CodeTransformMetadata); - if (payload.CodeTransformPreValidationError.HasValue) - { - datum.AddMetadata("codeTransformPreValidationError", payload.CodeTransformPreValidationError.Value); - } - datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); datum = datum.InvokeTransform(transformDatum); @@ -10511,8 +11103,8 @@ public static void RecordCodeTransformValidateProject(this ITelemetryLogger tele } /// Records Telemetry Event: - /// Client side invocation blocked by another invocation in progress - public static void RecordCodewhispererBlockedInvocation(this ITelemetryLogger telemetryLogger, CodewhispererBlockedInvocation payload, Func transformDatum = null) + /// User initiates code transform from Q Chat Prompt. + public static void RecordCodeTransformInitiateTransform(this ITelemetryLogger telemetryLogger, CodeTransformInitiateTransform payload, Func transformDatum = null) { try { @@ -10528,7 +11120,7 @@ public static void RecordCodewhispererBlockedInvocation(this ITelemetryLogger te metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_blockedInvocation"; + datum.MetricName = "codeTransform_initiateTransform"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10544,6 +11136,7 @@ public static void RecordCodewhispererBlockedInvocation(this ITelemetryLogger te 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); @@ -10558,21 +11151,13 @@ public static void RecordCodewhispererBlockedInvocation(this ITelemetryLogger te } datum.AddMetadata("locale", payload.Locale); - if (payload.CodewhispererAutomatedTriggerType.HasValue) + datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + + if (payload.CredentialSourceId.HasValue) { - datum.AddMetadata("codewhispererAutomatedTriggerType", payload.CodewhispererAutomatedTriggerType.Value); + datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); } - datum.AddMetadata("codewhispererCursorOffset", payload.CodewhispererCursorOffset); - - datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); - - datum.AddMetadata("codewhispererLineNumber", payload.CodewhispererLineNumber); - - datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); - - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -10586,8 +11171,8 @@ public static void RecordCodewhispererBlockedInvocation(this ITelemetryLogger te } /// Records Telemetry Event: - /// The latency from each CodeWhisperer components in milliseconds - public static void RecordCodewhispererClientComponentLatency(this ITelemetryLogger telemetryLogger, CodewhispererClientComponentLatency payload, Func transformDatum = null) + /// After a job is running the user has the ability to cancel the job. + public static void RecordCodeTransformJobIsCancelledByUser(this ITelemetryLogger telemetryLogger, CodeTransformJobIsCancelledByUser payload, Func transformDatum = null) { try { @@ -10603,7 +11188,7 @@ public static void RecordCodewhispererClientComponentLatency(this ITelemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_clientComponentLatency"; + datum.MetricName = "codeTransform_jobIsCancelledByUser"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10619,6 +11204,7 @@ public static void RecordCodewhispererClientComponentLatency(this ITelemetryLogg 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); @@ -10633,33 +11219,16 @@ public static void RecordCodewhispererClientComponentLatency(this ITelemetryLogg } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codewhispererAllCompletionsLatency", payload.CodewhispererAllCompletionsLatency); - - datum.AddMetadata("codewhispererCompletionType", payload.CodewhispererCompletionType); - - datum.AddMetadata("codewhispererCredentialFetchingLatency", payload.CodewhispererCredentialFetchingLatency); - - datum.AddMetadata("codewhispererCustomizationArn", payload.CodewhispererCustomizationArn); - - datum.AddMetadata("codewhispererEndToEndLatency", payload.CodewhispererEndToEndLatency); - - datum.AddMetadata("codewhispererFirstCompletionLatency", payload.CodewhispererFirstCompletionLatency); - - datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); - - datum.AddMetadata("codewhispererPostprocessingLatency", payload.CodewhispererPostprocessingLatency); - - datum.AddMetadata("codewhispererPreprocessingLatency", payload.CodewhispererPreprocessingLatency); - - datum.AddMetadata("codewhispererRequestId", payload.CodewhispererRequestId); - - datum.AddMetadata("codewhispererSessionId", payload.CodewhispererSessionId); + if (payload.CodeTransformCancelSrcComponents.HasValue) + { + datum.AddMetadata("codeTransformCancelSrcComponents", payload.CodeTransformCancelSrcComponents.Value); + } - datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); + datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); + datum.AddMetadata("codeTransformRuntimeError", payload.CodeTransformRuntimeError); - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); datum = datum.InvokeTransform(transformDatum); @@ -10674,8 +11243,8 @@ public static void RecordCodewhispererClientComponentLatency(this ITelemetryLogg } /// Records Telemetry Event: - /// Percentage of user tokens against suggestions until 5 mins of time - public static void RecordCodewhispererCodePercentage(this ITelemetryLogger telemetryLogger, CodewhispererCodePercentage payload, Func transformDatum = null) + /// The user closes their IDE and stops viewing the transformation. + public static void RecordCodeTransformJobIsClosedDuringIdeRun(this ITelemetryLogger telemetryLogger, CodeTransformJobIsClosedDuringIdeRun payload, Func transformDatum = null) { try { @@ -10691,7 +11260,7 @@ public static void RecordCodewhispererCodePercentage(this ITelemetryLogger telem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_codePercentage"; + datum.MetricName = "codeTransform_jobIsClosedDuringIdeRun"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10707,6 +11276,7 @@ public static void RecordCodewhispererCodePercentage(this ITelemetryLogger telem 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); @@ -10721,26 +11291,11 @@ public static void RecordCodewhispererCodePercentage(this ITelemetryLogger telem } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codewhispererAcceptedTokens", payload.CodewhispererAcceptedTokens); - - datum.AddMetadata("codewhispererCustomizationArn", payload.CodewhispererCustomizationArn); - - datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); - - datum.AddMetadata("codewhispererPercentage", payload.CodewhispererPercentage); - - if (payload.CodewhispererSuggestedTokens.HasValue) - { - datum.AddMetadata("codewhispererSuggestedTokens", payload.CodewhispererSuggestedTokens.Value); - } - - datum.AddMetadata("codewhispererTotalTokens", payload.CodewhispererTotalTokens); - - datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); + datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); - datum.AddMetadata("successCount", payload.SuccessCount); + datum.AddMetadata("codeTransformStatus", payload.CodeTransformStatus); datum = datum.InvokeTransform(transformDatum); @@ -10755,8 +11310,8 @@ public static void RecordCodewhispererCodePercentage(this ITelemetryLogger telem } /// Records Telemetry Event: - /// Called when a new chat tab is opened in the code scan view - public static void RecordCodewhispererCodeScanChatNewTab(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanChatNewTab payload, Func transformDatum = null) + /// The user was previously running a transformation and came back to IDE to see it still running + public static void RecordCodeTransformJobIsResumedAfterIdeClose(this ITelemetryLogger telemetryLogger, CodeTransformJobIsResumedAfterIdeClose payload, Func transformDatum = null) { try { @@ -10772,7 +11327,7 @@ public static void RecordCodewhispererCodeScanChatNewTab(this ITelemetryLogger t metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_codeScanChatNewTab"; + datum.MetricName = "codeTransform_jobIsResumedAfterIdeClose"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10788,6 +11343,7 @@ public static void RecordCodewhispererCodeScanChatNewTab(this ITelemetryLogger t 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); @@ -10802,10 +11358,11 @@ public static void RecordCodewhispererCodeScanChatNewTab(this ITelemetryLogger t } datum.AddMetadata("locale", payload.Locale); - if (payload.CredentialSourceId.HasValue) - { - datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); - } + datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); + + datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + + datum.AddMetadata("codeTransformStatus", payload.CodeTransformStatus); datum = datum.InvokeTransform(transformDatum); @@ -10820,8 +11377,8 @@ public static void RecordCodewhispererCodeScanChatNewTab(this ITelemetryLogger t } /// Records Telemetry Event: - /// Called when a code scan issue suggested fix is applied - public static void RecordCodewhispererCodeScanIssueApplyFix(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanIssueApplyFix payload, Func transformDatum = null) + /// Transform job started for uploaded project. + public static void RecordCodeTransformJobStart(this ITelemetryLogger telemetryLogger, CodeTransformJobStart payload, Func transformDatum = null) { try { @@ -10837,7 +11394,7 @@ public static void RecordCodewhispererCodeScanIssueApplyFix(this ITelemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_codeScanIssueApplyFix"; + datum.MetricName = "codeTransform_jobStart"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10853,6 +11410,7 @@ public static void RecordCodewhispererCodeScanIssueApplyFix(this ITelemetryLogge 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); @@ -10867,20 +11425,31 @@ public static void RecordCodewhispererCodeScanIssueApplyFix(this ITelemetryLogge } datum.AddMetadata("locale", payload.Locale); - if (payload.CodeFixAction.HasValue) + datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); + + if (payload.CodeTransformNumberOfProjects.HasValue) { - datum.AddMetadata("codeFixAction", payload.CodeFixAction.Value); + datum.AddMetadata("codeTransformNumberOfProjects", payload.CodeTransformNumberOfProjects.Value); } - datum.AddMetadata("component", payload.Component); + if (payload.CodeTransformNumberOfTransformedFiles.HasValue) + { + datum.AddMetadata("codeTransformNumberOfTransformedFiles", payload.CodeTransformNumberOfTransformedFiles.Value); + } - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + if (payload.CodeTransformRunTimeLatency.HasValue) + { + datum.AddMetadata("codeTransformRunTimeLatency", payload.CodeTransformRunTimeLatency.Value); + } - datum.AddMetadata("detectorId", payload.DetectorId); + datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); - datum.AddMetadata("findingId", payload.FindingId); + datum.AddMetadata("codeTransformTarget", payload.CodeTransformTarget); - datum.AddMetadata("ruleId", payload.RuleId); + if (payload.CredentialSourceId.HasValue) + { + datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); + } datum = datum.InvokeTransform(transformDatum); @@ -10895,8 +11464,8 @@ public static void RecordCodewhispererCodeScanIssueApplyFix(this ITelemetryLogge } /// Records Telemetry Event: - /// Generated fix for a code scan issue. variant=refresh means the user chose to generate a fix again after one already exists. - public static void RecordCodewhispererCodeScanIssueGenerateFix(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanIssueGenerateFix payload, Func transformDatum = null) + /// During the transformation progress, log the status steps returning from the API. + public static void RecordCodeTransformJobStatusChanged(this ITelemetryLogger telemetryLogger, CodeTransformJobStatusChanged payload, Func transformDatum = null) { try { @@ -10912,7 +11481,7 @@ public static void RecordCodewhispererCodeScanIssueGenerateFix(this ITelemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_codeScanIssueGenerateFix"; + datum.MetricName = "codeTransform_jobStatusChanged"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -10928,6 +11497,7 @@ public static void RecordCodewhispererCodeScanIssueGenerateFix(this ITelemetryLo 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); @@ -10942,17 +11512,13 @@ public static void RecordCodewhispererCodeScanIssueGenerateFix(this ITelemetryLo } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("component", payload.Component); - - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - - datum.AddMetadata("detectorId", payload.DetectorId); + datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - datum.AddMetadata("findingId", payload.FindingId); + datum.AddMetadata("codeTransformPreviousStatus", payload.CodeTransformPreviousStatus); - datum.AddMetadata("ruleId", payload.RuleId); + datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); - datum.AddMetadata("variant", payload.Variant); + datum.AddMetadata("codeTransformStatus", payload.CodeTransformStatus); datum = datum.InvokeTransform(transformDatum); @@ -10967,8 +11533,8 @@ public static void RecordCodewhispererCodeScanIssueGenerateFix(this ITelemetryLo } /// Records Telemetry Event: - /// Called when a code scan issue is hovered over - public static void RecordCodewhispererCodeScanIssueHover(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanIssueHover payload, Func transformDatum = null) + /// Transform initiates local build. + public static void RecordCodeTransformLocalBuildProject(this ITelemetryLogger telemetryLogger, CodeTransformLocalBuildProject payload, Func transformDatum = null) { try { @@ -10984,7 +11550,7 @@ public static void RecordCodewhispererCodeScanIssueHover(this ITelemetryLogger t metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_codeScanIssueHover"; + datum.MetricName = "codeTransform_localBuildProject"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -11000,6 +11566,7 @@ public static void RecordCodewhispererCodeScanIssueHover(this ITelemetryLogger t 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); @@ -11014,15 +11581,9 @@ public static void RecordCodewhispererCodeScanIssueHover(this ITelemetryLogger t } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - - datum.AddMetadata("detectorId", payload.DetectorId); - - datum.AddMetadata("findingId", payload.FindingId); - - datum.AddMetadata("includesFix", payload.IncludesFix); + datum.AddMetadata("codeTransformBuildCommand", payload.CodeTransformBuildCommand); - datum.AddMetadata("ruleId", payload.RuleId); + datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); datum = datum.InvokeTransform(transformDatum); @@ -11037,8 +11598,8 @@ public static void RecordCodewhispererCodeScanIssueHover(this ITelemetryLogger t } /// Records Telemetry Event: - /// User ignored a code scan issue. variant=all means the user ignored all issues of a specific type. - public static void RecordCodewhispererCodeScanIssueIgnore(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanIssueIgnore payload, Func transformDatum = null) + /// A general error has occurred. + public static void RecordCodeTransformLogGeneralError(this ITelemetryLogger telemetryLogger, CodeTransformLogGeneralError payload, Func transformDatum = null) { try { @@ -11054,7 +11615,7 @@ public static void RecordCodewhispererCodeScanIssueIgnore(this ITelemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_codeScanIssueIgnore"; + datum.MetricName = "codeTransform_logGeneralError"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -11070,6 +11631,7 @@ public static void RecordCodewhispererCodeScanIssueIgnore(this ITelemetryLogger 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); @@ -11084,17 +11646,9 @@ public static void RecordCodewhispererCodeScanIssueIgnore(this ITelemetryLogger } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("component", payload.Component); - - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - - datum.AddMetadata("detectorId", payload.DetectorId); - - datum.AddMetadata("findingId", payload.FindingId); - - datum.AddMetadata("ruleId", payload.RuleId); + datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - datum.AddMetadata("variant", payload.Variant); + datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); datum = datum.InvokeTransform(transformDatum); @@ -11109,8 +11663,8 @@ public static void RecordCodewhispererCodeScanIssueIgnore(this ITelemetryLogger } /// Records Telemetry Event: - /// Called when a code scan issue webview is opened - public static void RecordCodewhispererCodeScanIssueViewDetails(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanIssueViewDetails payload, Func transformDatum = null) + /// User provides input to project module and language selection. + public static void RecordCodeTransformSubmitSelection(this ITelemetryLogger telemetryLogger, CodeTransformSubmitSelection payload, Func transformDatum = null) { try { @@ -11126,7 +11680,7 @@ public static void RecordCodewhispererCodeScanIssueViewDetails(this ITelemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_codeScanIssueViewDetails"; + datum.MetricName = "codeTransform_submitSelection"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -11142,6 +11696,7 @@ public static void RecordCodewhispererCodeScanIssueViewDetails(this ITelemetryLo 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); @@ -11156,13 +11711,25 @@ public static void RecordCodewhispererCodeScanIssueViewDetails(this ITelemetryLo } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + if (payload.CodeTransformJavaSourceVersionsAllowed.HasValue) + { + datum.AddMetadata("codeTransformJavaSourceVersionsAllowed", payload.CodeTransformJavaSourceVersionsAllowed.Value); + } - datum.AddMetadata("detectorId", payload.DetectorId); + if (payload.CodeTransformJavaTargetVersionsAllowed.HasValue) + { + datum.AddMetadata("codeTransformJavaTargetVersionsAllowed", payload.CodeTransformJavaTargetVersionsAllowed.Value); + } - datum.AddMetadata("findingId", payload.FindingId); + datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - datum.AddMetadata("ruleId", payload.RuleId); + datum.AddMetadata("codeTransformProjectId", payload.CodeTransformProjectId); + + datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + + datum.AddMetadata("target", payload.Target); + + datum.AddMetadata("userChoice", payload.UserChoice); datum = datum.InvokeTransform(transformDatum); @@ -11177,8 +11744,8 @@ public static void RecordCodewhispererCodeScanIssueViewDetails(this ITelemetryLo } /// Records Telemetry Event: - /// Whether or not CodeWhisperer is enabled - public static void RecordCodewhispererEnabled(this ITelemetryLogger telemetryLogger, CodewhispererEnabled payload, Func transformDatum = null) + /// We want to log the total run time in the users experience for the IDE. The total runtime should end when all API's have finished running and the users is prompted for next step actions. + public static void RecordCodeTransformTotalRunTime(this ITelemetryLogger telemetryLogger, CodeTransformTotalRunTime payload, Func transformDatum = null) { try { @@ -11194,7 +11761,7 @@ public static void RecordCodewhispererEnabled(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_enabled"; + datum.MetricName = "codeTransform_totalRunTime"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -11210,6 +11777,7 @@ public static void RecordCodewhispererEnabled(this ITelemetryLogger telemetryLog 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); @@ -11224,11 +11792,22 @@ public static void RecordCodewhispererEnabled(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + datum.AddMetadata("buildSystemVersion", payload.BuildSystemVersion); - datum.AddMetadata("enabled", payload.Enabled); + datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("codeTransformLocalJavaVersion", payload.CodeTransformLocalJavaVersion); + + if (payload.CodeTransformPlanReceivedCount.HasValue) + { + datum.AddMetadata("codeTransformPlanReceivedCount", payload.CodeTransformPlanReceivedCount.Value); + } + + datum.AddMetadata("codeTransformResultStatusMessage", payload.CodeTransformResultStatusMessage); + + datum.AddMetadata("codeTransformRunTimeLatency", payload.CodeTransformRunTimeLatency); + + datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); datum = datum.InvokeTransform(transformDatum); @@ -11243,8 +11822,8 @@ public static void RecordCodewhispererEnabled(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// This metric provides the particular language and task type selected by the user in the onboarding page by clicking on the Try Example button. - public static void RecordCodewhispererOnboardingClick(this ITelemetryLogger telemetryLogger, CodewhispererOnboardingClick payload, Func transformDatum = null) + /// Transform initiates project artifact upload. + public static void RecordCodeTransformUploadProject(this ITelemetryLogger telemetryLogger, CodeTransformUploadProject payload, Func transformDatum = null) { try { @@ -11260,7 +11839,7 @@ public static void RecordCodewhispererOnboardingClick(this ITelemetryLogger tele metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_onboardingClick"; + datum.MetricName = "codeTransform_uploadProject"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -11276,6 +11855,7 @@ public static void RecordCodewhispererOnboardingClick(this ITelemetryLogger tele 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); @@ -11290,9 +11870,15 @@ public static void RecordCodewhispererOnboardingClick(this ITelemetryLogger tele } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codewhispererGettingStartedTask", payload.CodewhispererGettingStartedTask); + datum.AddMetadata("codeTransformDependenciesCopied", payload.CodeTransformDependenciesCopied); - datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); + datum.AddMetadata("codeTransformJobId", payload.CodeTransformJobId); + + datum.AddMetadata("codeTransformRunTimeLatency", payload.CodeTransformRunTimeLatency); + + datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); + + datum.AddMetadata("codeTransformTotalByteSize", payload.CodeTransformTotalByteSize); datum = datum.InvokeTransform(transformDatum); @@ -11307,8 +11893,8 @@ public static void RecordCodewhispererOnboardingClick(this ITelemetryLogger tele } /// Records Telemetry Event: - /// The duration from user last modification to the first recommendation shown in milliseconds - public static void RecordCodewhispererPerceivedLatency(this ITelemetryLogger telemetryLogger, CodewhispererPerceivedLatency payload, Func transformDatum = null) + /// Transform initiates project language, build tool, and build file validation. + public static void RecordCodeTransformValidateProject(this ITelemetryLogger telemetryLogger, CodeTransformValidateProject payload, Func transformDatum = null) { try { @@ -11324,7 +11910,7 @@ public static void RecordCodewhispererPerceivedLatency(this ITelemetryLogger tel metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_perceivedLatency"; + datum.MetricName = "codeTransform_validateProject"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -11340,6 +11926,7 @@ public static void RecordCodewhispererPerceivedLatency(this ITelemetryLogger tel 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); @@ -11354,21 +11941,23 @@ public static void RecordCodewhispererPerceivedLatency(this ITelemetryLogger tel } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codewhispererCompletionType", payload.CodewhispererCompletionType); - - datum.AddMetadata("codewhispererCustomizationArn", payload.CodewhispererCustomizationArn); - - datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); + datum.AddMetadata("buildSystemVersion", payload.BuildSystemVersion); - datum.AddMetadata("codewhispererRequestId", payload.CodewhispererRequestId); + if (payload.CodeTransformBuildSystem.HasValue) + { + datum.AddMetadata("codeTransformBuildSystem", payload.CodeTransformBuildSystem.Value); + } - datum.AddMetadata("codewhispererSessionId", payload.CodewhispererSessionId); + datum.AddMetadata("codeTransformLocalJavaVersion", payload.CodeTransformLocalJavaVersion); - datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); + datum.AddMetadata("codeTransformMetadata", payload.CodeTransformMetadata); - datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); + if (payload.CodeTransformPreValidationError.HasValue) + { + datum.AddMetadata("codeTransformPreValidationError", payload.CodeTransformPreValidationError.Value); + } - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + datum.AddMetadata("codeTransformSessionId", payload.CodeTransformSessionId); datum = datum.InvokeTransform(transformDatum); @@ -11383,8 +11972,8 @@ public static void RecordCodewhispererPerceivedLatency(this ITelemetryLogger tel } /// Records Telemetry Event: - /// Client side invocation of the CodeWhisperer Security Scan - public static void RecordCodewhispererSecurityScan(this ITelemetryLogger telemetryLogger, CodewhispererSecurityScan payload, Func transformDatum = null) + /// Client side invocation blocked by another invocation in progress + public static void RecordCodewhispererBlockedInvocation(this ITelemetryLogger telemetryLogger, CodewhispererBlockedInvocation payload, Func transformDatum = null) { try { @@ -11400,7 +11989,7 @@ public static void RecordCodewhispererSecurityScan(this ITelemetryLogger telemet metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_securityScan"; + datum.MetricName = "codewhisperer_blockedInvocation"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -11416,6 +12005,7 @@ public static void RecordCodewhispererSecurityScan(this ITelemetryLogger telemet 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); @@ -11430,54 +12020,20 @@ public static void RecordCodewhispererSecurityScan(this ITelemetryLogger telemet } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("artifactsUploadDuration", payload.ArtifactsUploadDuration); - - datum.AddMetadata("codeScanServiceInvocationsDuration", payload.CodeScanServiceInvocationsDuration); - - if (payload.CodewhispererCodeScanBuildPayloadBytes.HasValue) - { - datum.AddMetadata("codewhispererCodeScanBuildPayloadBytes", payload.CodewhispererCodeScanBuildPayloadBytes.Value); - } - - if (payload.CodewhispererCodeScanBuildZipFileBytes.HasValue) - { - datum.AddMetadata("codewhispererCodeScanBuildZipFileBytes", payload.CodewhispererCodeScanBuildZipFileBytes.Value); - } - - if (payload.CodewhispererCodeScanIssuesWithFixes.HasValue) - { - datum.AddMetadata("codewhispererCodeScanIssuesWithFixes", payload.CodewhispererCodeScanIssuesWithFixes.Value); - } - - datum.AddMetadata("codewhispererCodeScanJobId", payload.CodewhispererCodeScanJobId); - - datum.AddMetadata("codewhispererCodeScanLines", payload.CodewhispererCodeScanLines); - - if (payload.CodewhispererCodeScanProjectBytes.HasValue) - { - datum.AddMetadata("codewhispererCodeScanProjectBytes", payload.CodewhispererCodeScanProjectBytes.Value); - } - - if (payload.CodewhispererCodeScanScope.HasValue) + if (payload.CodewhispererAutomatedTriggerType.HasValue) { - datum.AddMetadata("codewhispererCodeScanScope", payload.CodewhispererCodeScanScope.Value); + datum.AddMetadata("codewhispererAutomatedTriggerType", payload.CodewhispererAutomatedTriggerType.Value); } - datum.AddMetadata("codewhispererCodeScanSrcPayloadBytes", payload.CodewhispererCodeScanSrcPayloadBytes); - - datum.AddMetadata("codewhispererCodeScanSrcZipFileBytes", payload.CodewhispererCodeScanSrcZipFileBytes); - - datum.AddMetadata("codewhispererCodeScanTotalIssues", payload.CodewhispererCodeScanTotalIssues); + datum.AddMetadata("codewhispererCursorOffset", payload.CodewhispererCursorOffset); datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); - datum.AddMetadata("contextTruncationDuration", payload.ContextTruncationDuration); - - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + datum.AddMetadata("codewhispererLineNumber", payload.CodewhispererLineNumber); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); datum = datum.InvokeTransform(transformDatum); @@ -11492,8 +12048,8 @@ public static void RecordCodewhispererSecurityScan(this ITelemetryLogger telemet } /// Records Telemetry Event: - /// Client side invocation of the CodeWhisperer service for suggestion - public static void RecordCodewhispererServiceInvocation(this ITelemetryLogger telemetryLogger, CodewhispererServiceInvocation payload, Func transformDatum = null) + /// The latency from each CodeWhisperer components in milliseconds + public static void RecordCodewhispererClientComponentLatency(this ITelemetryLogger telemetryLogger, CodewhispererClientComponentLatency payload, Func transformDatum = null) { try { @@ -11509,7 +12065,7 @@ public static void RecordCodewhispererServiceInvocation(this ITelemetryLogger te metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_serviceInvocation"; + datum.MetricName = "codewhisperer_clientComponentLatency"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -11525,6 +12081,7 @@ public static void RecordCodewhispererServiceInvocation(this ITelemetryLogger te 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); @@ -11539,77 +12096,115 @@ public static void RecordCodewhispererServiceInvocation(this ITelemetryLogger te } datum.AddMetadata("locale", payload.Locale); - if (payload.CodewhispererAutomatedTriggerType.HasValue) - { - datum.AddMetadata("codewhispererAutomatedTriggerType", payload.CodewhispererAutomatedTriggerType.Value); - } + datum.AddMetadata("codewhispererAllCompletionsLatency", payload.CodewhispererAllCompletionsLatency); - if (payload.CodewhispererCompletionType.HasValue) - { - datum.AddMetadata("codewhispererCompletionType", payload.CodewhispererCompletionType.Value); - } + datum.AddMetadata("codewhispererCompletionType", payload.CodewhispererCompletionType); - datum.AddMetadata("codewhispererCursorOffset", payload.CodewhispererCursorOffset); + datum.AddMetadata("codewhispererCredentialFetchingLatency", payload.CodewhispererCredentialFetchingLatency); datum.AddMetadata("codewhispererCustomizationArn", payload.CodewhispererCustomizationArn); - if (payload.CodewhispererGettingStartedTask.HasValue) - { - datum.AddMetadata("codewhispererGettingStartedTask", payload.CodewhispererGettingStartedTask.Value); - } + datum.AddMetadata("codewhispererEndToEndLatency", payload.CodewhispererEndToEndLatency); - if (payload.CodewhispererImportRecommendationEnabled.HasValue) - { - datum.AddMetadata("codewhispererImportRecommendationEnabled", payload.CodewhispererImportRecommendationEnabled.Value); - } + datum.AddMetadata("codewhispererFirstCompletionLatency", payload.CodewhispererFirstCompletionLatency); datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); - if (payload.CodewhispererLastSuggestionIndex.HasValue) - { - datum.AddMetadata("codewhispererLastSuggestionIndex", payload.CodewhispererLastSuggestionIndex.Value); - } + datum.AddMetadata("codewhispererPostprocessingLatency", payload.CodewhispererPostprocessingLatency); - datum.AddMetadata("codewhispererLineNumber", payload.CodewhispererLineNumber); + datum.AddMetadata("codewhispererPreprocessingLatency", payload.CodewhispererPreprocessingLatency); datum.AddMetadata("codewhispererRequestId", payload.CodewhispererRequestId); - if (payload.CodewhispererRuntime.HasValue) - { - datum.AddMetadata("codewhispererRuntime", payload.CodewhispererRuntime.Value); - } - - datum.AddMetadata("codewhispererRuntimeSource", payload.CodewhispererRuntimeSource); - datum.AddMetadata("codewhispererSessionId", payload.CodewhispererSessionId); - if (payload.CodewhispererSupplementalContextIsUtg.HasValue) + datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); + + datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Percentage of user tokens against suggestions until 5 mins of time + public static void RecordCodewhispererCodePercentage(this ITelemetryLogger telemetryLogger, CodewhispererCodePercentage payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) { - datum.AddMetadata("codewhispererSupplementalContextIsUtg", payload.CodewhispererSupplementalContextIsUtg.Value); + metrics.CreatedOn = payload.CreatedOn.Value; } - - if (payload.CodewhispererSupplementalContextLatency.HasValue) + else { - datum.AddMetadata("codewhispererSupplementalContextLatency", payload.CodewhispererSupplementalContextLatency.Value); + metrics.CreatedOn = System.DateTime.Now; } + metrics.Data = new List(); - if (payload.CodewhispererSupplementalContextLength.HasValue) + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_codePercentage"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) { - datum.AddMetadata("codewhispererSupplementalContextLength", payload.CodewhispererSupplementalContextLength.Value); + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); } + datum.AddMetadata("locale", payload.Locale); - if (payload.CodewhispererSupplementalContextTimeout.HasValue) + datum.AddMetadata("codewhispererAcceptedTokens", payload.CodewhispererAcceptedTokens); + + datum.AddMetadata("codewhispererCustomizationArn", payload.CodewhispererCustomizationArn); + + datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); + + datum.AddMetadata("codewhispererPercentage", payload.CodewhispererPercentage); + + if (payload.CodewhispererSuggestedTokens.HasValue) { - datum.AddMetadata("codewhispererSupplementalContextTimeout", payload.CodewhispererSupplementalContextTimeout.Value); + datum.AddMetadata("codewhispererSuggestedTokens", payload.CodewhispererSuggestedTokens.Value); } - datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); + datum.AddMetadata("codewhispererTotalTokens", payload.CodewhispererTotalTokens); datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("successCount", payload.SuccessCount); datum = datum.InvokeTransform(transformDatum); @@ -11624,8 +12219,8 @@ public static void RecordCodewhispererServiceInvocation(this ITelemetryLogger te } /// Records Telemetry Event: - /// User acceptance or rejection of each suggestion returned by the CodeWhisperer service request - public static void RecordCodewhispererUserDecision(this ITelemetryLogger telemetryLogger, CodewhispererUserDecision payload, Func transformDatum = null) + /// Called when a new chat tab is opened in the code scan view + public static void RecordCodewhispererCodeScanChatNewTab(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanChatNewTab payload, Func transformDatum = null) { try { @@ -11641,7 +12236,7 @@ public static void RecordCodewhispererUserDecision(this ITelemetryLogger telemet metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_userDecision"; + datum.MetricName = "codewhisperer_codeScanChatNewTab"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -11657,6 +12252,7 @@ public static void RecordCodewhispererUserDecision(this ITelemetryLogger telemet 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); @@ -11671,64 +12267,1704 @@ public static void RecordCodewhispererUserDecision(this ITelemetryLogger telemet } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codewhispererCompletionType", payload.CodewhispererCompletionType); - - if (payload.CodewhispererGettingStartedTask.HasValue) + if (payload.CredentialSourceId.HasValue) { - datum.AddMetadata("codewhispererGettingStartedTask", payload.CodewhispererGettingStartedTask.Value); + datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); } - datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); + datum = datum.InvokeTransform(transformDatum); - if (payload.CodewhispererPaginationProgress.HasValue) + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Called when a code scan issue suggested fix is applied + public static void RecordCodewhispererCodeScanIssueApplyFix(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanIssueApplyFix payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) { - datum.AddMetadata("codewhispererPaginationProgress", payload.CodewhispererPaginationProgress.Value); + metrics.CreatedOn = payload.CreatedOn.Value; } - - datum.AddMetadata("codewhispererRequestId", payload.CodewhispererRequestId); - - if (payload.CodewhispererRuntime.HasValue) + else { - datum.AddMetadata("codewhispererRuntime", payload.CodewhispererRuntime.Value); + metrics.CreatedOn = System.DateTime.Now; } + metrics.Data = new List(); - datum.AddMetadata("codewhispererRuntimeSource", payload.CodewhispererRuntimeSource); + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_codeScanIssueApplyFix"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codewhispererSessionId", payload.CodewhispererSessionId); + if (payload.AutoDetected.HasValue) + { + datum.AddMetadata("autoDetected", payload.AutoDetected.Value); + } - if (payload.CodewhispererSuggestionImportCount.HasValue) + if (payload.CodeFixAction.HasValue) { - datum.AddMetadata("codewhispererSuggestionImportCount", payload.CodewhispererSuggestionImportCount.Value); + datum.AddMetadata("codeFixAction", payload.CodeFixAction.Value); } - datum.AddMetadata("codewhispererSuggestionIndex", payload.CodewhispererSuggestionIndex); + datum.AddMetadata("codewhispererCodeScanJobId", payload.CodewhispererCodeScanJobId); - datum.AddMetadata("codewhispererSuggestionReferenceCount", payload.CodewhispererSuggestionReferenceCount); + datum.AddMetadata("component", payload.Component); - datum.AddMetadata("codewhispererSuggestionReferences", payload.CodewhispererSuggestionReferences); + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - datum.AddMetadata("codewhispererSuggestionState", payload.CodewhispererSuggestionState); + datum.AddMetadata("detectorId", payload.DetectorId); - if (payload.CodewhispererSupplementalContextIsUtg.HasValue) + datum.AddMetadata("findingId", payload.FindingId); + + datum.AddMetadata("ruleId", payload.RuleId); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Called when a code scan issue is returned from the service + public static void RecordCodewhispererCodeScanIssueDetected(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanIssueDetected payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) { - datum.AddMetadata("codewhispererSupplementalContextIsUtg", payload.CodewhispererSupplementalContextIsUtg.Value); + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; } + metrics.Data = new List(); - if (payload.CodewhispererSupplementalContextLength.HasValue) + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_codeScanIssueDetected"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) { - datum.AddMetadata("codewhispererSupplementalContextLength", payload.CodewhispererSupplementalContextLength.Value); + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); } + datum.AddMetadata("locale", payload.Locale); - if (payload.CodewhispererSupplementalContextTimeout.HasValue) + if (payload.AutoDetected.HasValue) { - datum.AddMetadata("codewhispererSupplementalContextTimeout", payload.CodewhispererSupplementalContextTimeout.Value); + datum.AddMetadata("autoDetected", payload.AutoDetected.Value); } - datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); + datum.AddMetadata("codewhispererCodeScanJobId", payload.CodewhispererCodeScanJobId); - datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); + datum.AddMetadata("detectorId", payload.DetectorId); - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + datum.AddMetadata("findingId", payload.FindingId); + + if (payload.IncludesFix.HasValue) + { + datum.AddMetadata("includesFix", payload.IncludesFix.Value); + } + + datum.AddMetadata("ruleId", payload.RuleId); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Generated fix for a code scan issue. variant=refresh means the user chose to generate a fix again after one already exists. + public static void RecordCodewhispererCodeScanIssueGenerateFix(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanIssueGenerateFix payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_codeScanIssueGenerateFix"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + if (payload.AutoDetected.HasValue) + { + datum.AddMetadata("autoDetected", payload.AutoDetected.Value); + } + + datum.AddMetadata("codewhispererCodeScanJobId", payload.CodewhispererCodeScanJobId); + + datum.AddMetadata("component", payload.Component); + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum.AddMetadata("detectorId", payload.DetectorId); + + datum.AddMetadata("findingId", payload.FindingId); + + if (payload.IncludesFix.HasValue) + { + datum.AddMetadata("includesFix", payload.IncludesFix.Value); + } + + datum.AddMetadata("ruleId", payload.RuleId); + + datum.AddMetadata("variant", payload.Variant); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Called when a code scan issue is hovered over + public static void RecordCodewhispererCodeScanIssueHover(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanIssueHover payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_codeScanIssueHover"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + if (payload.AutoDetected.HasValue) + { + datum.AddMetadata("autoDetected", payload.AutoDetected.Value); + } + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum.AddMetadata("detectorId", payload.DetectorId); + + datum.AddMetadata("findingId", payload.FindingId); + + datum.AddMetadata("includesFix", payload.IncludesFix); + + datum.AddMetadata("ruleId", payload.RuleId); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// User ignored a code scan issue. variant=all means the user ignored all issues of a specific type. + public static void RecordCodewhispererCodeScanIssueIgnore(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanIssueIgnore payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_codeScanIssueIgnore"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + if (payload.AutoDetected.HasValue) + { + datum.AddMetadata("autoDetected", payload.AutoDetected.Value); + } + + datum.AddMetadata("component", payload.Component); + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum.AddMetadata("detectorId", payload.DetectorId); + + datum.AddMetadata("findingId", payload.FindingId); + + datum.AddMetadata("ruleId", payload.RuleId); + + datum.AddMetadata("variant", payload.Variant); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Called when a code scan issue webview is opened + public static void RecordCodewhispererCodeScanIssueViewDetails(this ITelemetryLogger telemetryLogger, CodewhispererCodeScanIssueViewDetails payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_codeScanIssueViewDetails"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + if (payload.AutoDetected.HasValue) + { + datum.AddMetadata("autoDetected", payload.AutoDetected.Value); + } + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum.AddMetadata("detectorId", payload.DetectorId); + + datum.AddMetadata("findingId", payload.FindingId); + + datum.AddMetadata("ruleId", payload.RuleId); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Whether or not CodeWhisperer is enabled + public static void RecordCodewhispererEnabled(this ITelemetryLogger telemetryLogger, CodewhispererEnabled payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_enabled"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum.AddMetadata("enabled", payload.Enabled); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// This metric provides the particular language and task type selected by the user in the onboarding page by clicking on the Try Example button. + public static void RecordCodewhispererOnboardingClick(this ITelemetryLogger telemetryLogger, CodewhispererOnboardingClick payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_onboardingClick"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + datum.AddMetadata("codewhispererGettingStartedTask", payload.CodewhispererGettingStartedTask); + + datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// The duration from user last modification to the first recommendation shown in milliseconds + public static void RecordCodewhispererPerceivedLatency(this ITelemetryLogger telemetryLogger, CodewhispererPerceivedLatency payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_perceivedLatency"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + datum.AddMetadata("codewhispererCompletionType", payload.CodewhispererCompletionType); + + datum.AddMetadata("codewhispererCustomizationArn", payload.CodewhispererCustomizationArn); + + datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); + + datum.AddMetadata("codewhispererRequestId", payload.CodewhispererRequestId); + + datum.AddMetadata("codewhispererSessionId", payload.CodewhispererSessionId); + + datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); + + datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Client side invocation of the CodeWhisperer Security Scan + public static void RecordCodewhispererSecurityScan(this ITelemetryLogger telemetryLogger, CodewhispererSecurityScan payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_securityScan"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + datum.AddMetadata("artifactsUploadDuration", payload.ArtifactsUploadDuration); + + datum.AddMetadata("codeScanServiceInvocationsDuration", payload.CodeScanServiceInvocationsDuration); + + if (payload.CodewhispererCodeScanBuildPayloadBytes.HasValue) + { + datum.AddMetadata("codewhispererCodeScanBuildPayloadBytes", payload.CodewhispererCodeScanBuildPayloadBytes.Value); + } + + if (payload.CodewhispererCodeScanBuildZipFileBytes.HasValue) + { + datum.AddMetadata("codewhispererCodeScanBuildZipFileBytes", payload.CodewhispererCodeScanBuildZipFileBytes.Value); + } + + if (payload.CodewhispererCodeScanIssuesWithFixes.HasValue) + { + datum.AddMetadata("codewhispererCodeScanIssuesWithFixes", payload.CodewhispererCodeScanIssuesWithFixes.Value); + } + + datum.AddMetadata("codewhispererCodeScanJobId", payload.CodewhispererCodeScanJobId); + + datum.AddMetadata("codewhispererCodeScanLines", payload.CodewhispererCodeScanLines); + + if (payload.CodewhispererCodeScanProjectBytes.HasValue) + { + datum.AddMetadata("codewhispererCodeScanProjectBytes", payload.CodewhispererCodeScanProjectBytes.Value); + } + + if (payload.CodewhispererCodeScanScope.HasValue) + { + datum.AddMetadata("codewhispererCodeScanScope", payload.CodewhispererCodeScanScope.Value); + } + + datum.AddMetadata("codewhispererCodeScanSrcPayloadBytes", payload.CodewhispererCodeScanSrcPayloadBytes); + + datum.AddMetadata("codewhispererCodeScanSrcZipFileBytes", payload.CodewhispererCodeScanSrcZipFileBytes); + + datum.AddMetadata("codewhispererCodeScanTotalIssues", payload.CodewhispererCodeScanTotalIssues); + + datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); + + datum.AddMetadata("contextTruncationDuration", payload.ContextTruncationDuration); + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum.AddMetadata("result", payload.Result); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Client side invocation of the CodeWhisperer service for suggestion + public static void RecordCodewhispererServiceInvocation(this ITelemetryLogger telemetryLogger, CodewhispererServiceInvocation payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_serviceInvocation"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + if (payload.CodewhispererAutomatedTriggerType.HasValue) + { + datum.AddMetadata("codewhispererAutomatedTriggerType", payload.CodewhispererAutomatedTriggerType.Value); + } + + if (payload.CodewhispererCompletionType.HasValue) + { + datum.AddMetadata("codewhispererCompletionType", payload.CodewhispererCompletionType.Value); + } + + datum.AddMetadata("codewhispererCursorOffset", payload.CodewhispererCursorOffset); + + datum.AddMetadata("codewhispererCustomizationArn", payload.CodewhispererCustomizationArn); + + if (payload.CodewhispererGettingStartedTask.HasValue) + { + datum.AddMetadata("codewhispererGettingStartedTask", payload.CodewhispererGettingStartedTask.Value); + } + + if (payload.CodewhispererImportRecommendationEnabled.HasValue) + { + datum.AddMetadata("codewhispererImportRecommendationEnabled", payload.CodewhispererImportRecommendationEnabled.Value); + } + + datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); + + if (payload.CodewhispererLastSuggestionIndex.HasValue) + { + datum.AddMetadata("codewhispererLastSuggestionIndex", payload.CodewhispererLastSuggestionIndex.Value); + } + + datum.AddMetadata("codewhispererLineNumber", payload.CodewhispererLineNumber); + + datum.AddMetadata("codewhispererRequestId", payload.CodewhispererRequestId); + + if (payload.CodewhispererRuntime.HasValue) + { + datum.AddMetadata("codewhispererRuntime", payload.CodewhispererRuntime.Value); + } + + datum.AddMetadata("codewhispererRuntimeSource", payload.CodewhispererRuntimeSource); + + datum.AddMetadata("codewhispererSessionId", payload.CodewhispererSessionId); + + if (payload.CodewhispererSupplementalContextIsUtg.HasValue) + { + datum.AddMetadata("codewhispererSupplementalContextIsUtg", payload.CodewhispererSupplementalContextIsUtg.Value); + } + + if (payload.CodewhispererSupplementalContextLatency.HasValue) + { + datum.AddMetadata("codewhispererSupplementalContextLatency", payload.CodewhispererSupplementalContextLatency.Value); + } + + if (payload.CodewhispererSupplementalContextLength.HasValue) + { + datum.AddMetadata("codewhispererSupplementalContextLength", payload.CodewhispererSupplementalContextLength.Value); + } + + if (payload.CodewhispererSupplementalContextTimeout.HasValue) + { + datum.AddMetadata("codewhispererSupplementalContextTimeout", payload.CodewhispererSupplementalContextTimeout.Value); + } + + datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); + + datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum.AddMetadata("result", payload.Result); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// User acceptance or rejection of each suggestion returned by the CodeWhisperer service request + public static void RecordCodewhispererUserDecision(this ITelemetryLogger telemetryLogger, CodewhispererUserDecision payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_userDecision"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + datum.AddMetadata("codewhispererCompletionType", payload.CodewhispererCompletionType); + + if (payload.CodewhispererGettingStartedTask.HasValue) + { + datum.AddMetadata("codewhispererGettingStartedTask", payload.CodewhispererGettingStartedTask.Value); + } + + datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); + + if (payload.CodewhispererPaginationProgress.HasValue) + { + datum.AddMetadata("codewhispererPaginationProgress", payload.CodewhispererPaginationProgress.Value); + } + + datum.AddMetadata("codewhispererRequestId", payload.CodewhispererRequestId); + + if (payload.CodewhispererRuntime.HasValue) + { + datum.AddMetadata("codewhispererRuntime", payload.CodewhispererRuntime.Value); + } + + datum.AddMetadata("codewhispererRuntimeSource", payload.CodewhispererRuntimeSource); + + datum.AddMetadata("codewhispererSessionId", payload.CodewhispererSessionId); + + if (payload.CodewhispererSuggestionImportCount.HasValue) + { + datum.AddMetadata("codewhispererSuggestionImportCount", payload.CodewhispererSuggestionImportCount.Value); + } + + datum.AddMetadata("codewhispererSuggestionIndex", payload.CodewhispererSuggestionIndex); + + datum.AddMetadata("codewhispererSuggestionReferenceCount", payload.CodewhispererSuggestionReferenceCount); + + datum.AddMetadata("codewhispererSuggestionReferences", payload.CodewhispererSuggestionReferences); + + datum.AddMetadata("codewhispererSuggestionState", payload.CodewhispererSuggestionState); + + if (payload.CodewhispererSupplementalContextIsUtg.HasValue) + { + datum.AddMetadata("codewhispererSupplementalContextIsUtg", payload.CodewhispererSupplementalContextIsUtg.Value); + } + + if (payload.CodewhispererSupplementalContextLength.HasValue) + { + datum.AddMetadata("codewhispererSupplementalContextLength", payload.CodewhispererSupplementalContextLength.Value); + } + + if (payload.CodewhispererSupplementalContextTimeout.HasValue) + { + datum.AddMetadata("codewhispererSupplementalContextTimeout", payload.CodewhispererSupplementalContextTimeout.Value); + } + + datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); + + datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Percentage of user modifications for the selected suggestion until a fixed period of time + public static void RecordCodewhispererUserModification(this ITelemetryLogger telemetryLogger, CodewhispererUserModification payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_userModification"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + datum.AddMetadata("codewhispererCharactersAccepted", payload.CodewhispererCharactersAccepted); + + datum.AddMetadata("codewhispererCharactersModified", payload.CodewhispererCharactersModified); + + datum.AddMetadata("codewhispererCompletionType", payload.CodewhispererCompletionType); + + datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); + + datum.AddMetadata("codewhispererModificationPercentage", payload.CodewhispererModificationPercentage); + + datum.AddMetadata("codewhispererRequestId", payload.CodewhispererRequestId); + + if (payload.CodewhispererRuntime.HasValue) + { + datum.AddMetadata("codewhispererRuntime", payload.CodewhispererRuntime.Value); + } + + datum.AddMetadata("codewhispererRuntimeSource", payload.CodewhispererRuntimeSource); + + datum.AddMetadata("codewhispererSessionId", payload.CodewhispererSessionId); + + datum.AddMetadata("codewhispererSuggestionIndex", payload.CodewhispererSuggestionIndex); + + datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); + + datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// User decision aggregated at trigger level + public static void RecordCodewhispererUserTriggerDecision(this ITelemetryLogger telemetryLogger, CodewhispererUserTriggerDecision payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "codewhisperer_userTriggerDecision"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + if (payload.CodewhispererAutomatedTriggerType.HasValue) + { + datum.AddMetadata("codewhispererAutomatedTriggerType", payload.CodewhispererAutomatedTriggerType.Value); + } + + if (payload.CodewhispererCharactersAccepted.HasValue) + { + datum.AddMetadata("codewhispererCharactersAccepted", payload.CodewhispererCharactersAccepted.Value); + } + + if (payload.CodewhispererCharactersRecommended.HasValue) + { + datum.AddMetadata("codewhispererCharactersRecommended", payload.CodewhispererCharactersRecommended.Value); + } + + if (payload.CodewhispererClassifierResult.HasValue) + { + datum.AddMetadata("codewhispererClassifierResult", payload.CodewhispererClassifierResult.Value); + } + + if (payload.CodewhispererClassifierThreshold.HasValue) + { + datum.AddMetadata("codewhispererClassifierThreshold", payload.CodewhispererClassifierThreshold.Value); + } + + datum.AddMetadata("codewhispererCompletionType", payload.CodewhispererCompletionType); + + datum.AddMetadata("codewhispererCursorOffset", payload.CodewhispererCursorOffset); + + datum.AddMetadata("codewhispererCustomizationArn", payload.CodewhispererCustomizationArn); + + datum.AddMetadata("codewhispererFeatureEvaluations", payload.CodewhispererFeatureEvaluations); + + datum.AddMetadata("codewhispererFirstRequestId", payload.CodewhispererFirstRequestId); + + if (payload.CodewhispererGettingStartedTask.HasValue) + { + datum.AddMetadata("codewhispererGettingStartedTask", payload.CodewhispererGettingStartedTask.Value); + } + + if (payload.CodewhispererIsPartialAcceptance.HasValue) + { + datum.AddMetadata("codewhispererIsPartialAcceptance", payload.CodewhispererIsPartialAcceptance.Value); + } + + datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); + + datum.AddMetadata("codewhispererLineNumber", payload.CodewhispererLineNumber); + + if (payload.CodewhispererPartialAcceptanceCount.HasValue) + { + datum.AddMetadata("codewhispererPartialAcceptanceCount", payload.CodewhispererPartialAcceptanceCount.Value); + } + + if (payload.CodewhispererPreviousSuggestionState.HasValue) + { + datum.AddMetadata("codewhispererPreviousSuggestionState", payload.CodewhispererPreviousSuggestionState.Value); + } + + datum.AddMetadata("codewhispererSessionId", payload.CodewhispererSessionId); + + datum.AddMetadata("codewhispererSuggestionCount", payload.CodewhispererSuggestionCount); + + datum.AddMetadata("codewhispererSuggestionImportCount", payload.CodewhispererSuggestionImportCount); + + datum.AddMetadata("codewhispererSuggestionState", payload.CodewhispererSuggestionState); + + if (payload.CodewhispererSupplementalContextIsUtg.HasValue) + { + datum.AddMetadata("codewhispererSupplementalContextIsUtg", payload.CodewhispererSupplementalContextIsUtg.Value); + } + + if (payload.CodewhispererSupplementalContextLength.HasValue) + { + datum.AddMetadata("codewhispererSupplementalContextLength", payload.CodewhispererSupplementalContextLength.Value); + } + + datum.AddMetadata("codewhispererSupplementalContextStrategyId", payload.CodewhispererSupplementalContextStrategyId); + + if (payload.CodewhispererSupplementalContextTimeout.HasValue) + { + datum.AddMetadata("codewhispererSupplementalContextTimeout", payload.CodewhispererSupplementalContextTimeout.Value); + } + + if (payload.CodewhispererTimeSinceLastDocumentChange.HasValue) + { + datum.AddMetadata("codewhispererTimeSinceLastDocumentChange", payload.CodewhispererTimeSinceLastDocumentChange.Value); + } + + if (payload.CodewhispererTimeSinceLastUserDecision.HasValue) + { + datum.AddMetadata("codewhispererTimeSinceLastUserDecision", payload.CodewhispererTimeSinceLastUserDecision.Value); + } + + if (payload.CodewhispererTimeToFirstRecommendation.HasValue) + { + datum.AddMetadata("codewhispererTimeToFirstRecommendation", payload.CodewhispererTimeToFirstRecommendation.Value); + } + + if (payload.CodewhispererTotalShownTime.HasValue) + { + datum.AddMetadata("codewhispererTotalShownTime", payload.CodewhispererTotalShownTime.Value); + } + + datum.AddMetadata("codewhispererTriggerCharacter", payload.CodewhispererTriggerCharacter); + + datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); + + datum.AddMetadata("codewhispererTypeaheadLength", payload.CodewhispererTypeaheadLength); + + datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); + + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// User requested that a resource be opened in the browser using the deeplink service + public static void RecordDeeplinkOpen(this ITelemetryLogger telemetryLogger, DeeplinkOpen payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "deeplink_open"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + datum.AddMetadata("result", payload.Result); + + datum.AddMetadata("serviceType", payload.ServiceType); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Copy the dynamic resource identifier + public static void RecordDynamicresourceCopyIdentifier(this ITelemetryLogger telemetryLogger, DynamicresourceCopyIdentifier payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "dynamicresource_copyIdentifier"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + datum.AddMetadata("resourceType", payload.ResourceType); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Open the dynamic resource model in the IDE + public static void RecordDynamicresourceGetResource(this ITelemetryLogger telemetryLogger, DynamicresourceGetResource payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "dynamicresource_getResource"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + datum.AddMetadata("resourceType", payload.ResourceType); + + datum.AddMetadata("result", payload.Result); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Expand a Resource Type node + public static void RecordDynamicresourceListResource(this ITelemetryLogger telemetryLogger, DynamicresourceListResource payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "dynamicresource_listResource"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + datum.AddMetadata("resourceType", payload.ResourceType); + + datum.AddMetadata("result", payload.Result); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// A dynamic resource mutation request completed + public static void RecordDynamicresourceMutateResource(this ITelemetryLogger telemetryLogger, DynamicresourceMutateResource payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "dynamicresource_mutateResource"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); + + datum.AddMetadata("dynamicResourceOperation", payload.DynamicResourceOperation); + + datum.AddMetadata("resourceType", payload.ResourceType); + + datum.AddMetadata("result", payload.Result); + + datum = datum.InvokeTransform(transformDatum); + + metrics.Data.Add(datum); + telemetryLogger.Record(metrics); + } + catch (System.Exception e) + { + telemetryLogger.Logger.Error("Error recording telemetry event", e); + System.Diagnostics.Debug.Assert(false, "Error Recording Telemetry"); + } + } + + /// Records Telemetry Event: + /// Change the list of available dynamic resources in the AWS Explorer + public static void RecordDynamicresourceSelectResources(this ITelemetryLogger telemetryLogger, DynamicresourceSelectResources payload, Func transformDatum = null) + { + try + { + var metrics = new Metrics(); + if (payload.CreatedOn.HasValue) + { + metrics.CreatedOn = payload.CreatedOn.Value; + } + else + { + metrics.CreatedOn = System.DateTime.Now; + } + metrics.Data = new List(); + + var datum = new MetricDatum(); + datum.MetricName = "dynamicresource_selectResources"; + datum.Unit = Unit.None; + datum.Passive = payload.Passive; + datum.TrackPerformance = payload.TrackPerformance; + if (payload.Value.HasValue) + { + datum.Value = payload.Value.Value; + } + else + { + datum.Value = 1; + } + datum.AddMetadata("awsAccount", payload.AwsAccount); + 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); + datum.AddMetadata("requestId", payload.RequestId); + datum.AddMetadata("requestServiceType", payload.RequestServiceType); + datum.AddMetadata("traceId", payload.TraceId); + datum.AddMetadata("metricId", payload.MetricId); + datum.AddMetadata("parentId", payload.ParentId); + if (payload.Duration.HasValue) + { + datum.AddMetadata("duration", payload.Duration.Value); + } + datum.AddMetadata("locale", payload.Locale); datum = datum.InvokeTransform(transformDatum); @@ -11743,8 +13979,8 @@ public static void RecordCodewhispererUserDecision(this ITelemetryLogger telemet } /// Records Telemetry Event: - /// Percentage of user modifications for the selected suggestion until a fixed period of time - public static void RecordCodewhispererUserModification(this ITelemetryLogger telemetryLogger, CodewhispererUserModification payload, Func transformDatum = null) + /// Create a DynamoDB table + public static void RecordDynamodbCreateTable(this ITelemetryLogger telemetryLogger, DynamodbCreateTable payload, Func transformDatum = null) { try { @@ -11760,7 +13996,7 @@ public static void RecordCodewhispererUserModification(this ITelemetryLogger tel metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_userModification"; + datum.MetricName = "dynamodb_createTable"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -11776,6 +14012,7 @@ public static void RecordCodewhispererUserModification(this ITelemetryLogger tel 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); @@ -11790,34 +14027,7 @@ public static void RecordCodewhispererUserModification(this ITelemetryLogger tel } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("codewhispererCharactersAccepted", payload.CodewhispererCharactersAccepted); - - datum.AddMetadata("codewhispererCharactersModified", payload.CodewhispererCharactersModified); - - datum.AddMetadata("codewhispererCompletionType", payload.CodewhispererCompletionType); - - datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); - - datum.AddMetadata("codewhispererModificationPercentage", payload.CodewhispererModificationPercentage); - - datum.AddMetadata("codewhispererRequestId", payload.CodewhispererRequestId); - - if (payload.CodewhispererRuntime.HasValue) - { - datum.AddMetadata("codewhispererRuntime", payload.CodewhispererRuntime.Value); - } - - datum.AddMetadata("codewhispererRuntimeSource", payload.CodewhispererRuntimeSource); - - datum.AddMetadata("codewhispererSessionId", payload.CodewhispererSessionId); - - datum.AddMetadata("codewhispererSuggestionIndex", payload.CodewhispererSuggestionIndex); - - datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); - - datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); - - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -11832,8 +14042,8 @@ public static void RecordCodewhispererUserModification(this ITelemetryLogger tel } /// Records Telemetry Event: - /// User decision aggregated at trigger level - public static void RecordCodewhispererUserTriggerDecision(this ITelemetryLogger telemetryLogger, CodewhispererUserTriggerDecision payload, Func transformDatum = null) + /// Deletes a record in DynamoDB record + public static void RecordDynamodbDeleteRecord(this ITelemetryLogger telemetryLogger, DynamodbDeleteRecord payload, Func transformDatum = null) { try { @@ -11849,7 +14059,7 @@ public static void RecordCodewhispererUserTriggerDecision(this ITelemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "codewhisperer_userTriggerDecision"; + datum.MetricName = "dynamodb_deleteRecord"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -11865,6 +14075,7 @@ public static void RecordCodewhispererUserTriggerDecision(this ITelemetryLogger 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); @@ -11879,119 +14090,7 @@ public static void RecordCodewhispererUserTriggerDecision(this ITelemetryLogger } datum.AddMetadata("locale", payload.Locale); - if (payload.CodewhispererAutomatedTriggerType.HasValue) - { - datum.AddMetadata("codewhispererAutomatedTriggerType", payload.CodewhispererAutomatedTriggerType.Value); - } - - if (payload.CodewhispererCharactersAccepted.HasValue) - { - datum.AddMetadata("codewhispererCharactersAccepted", payload.CodewhispererCharactersAccepted.Value); - } - - if (payload.CodewhispererCharactersRecommended.HasValue) - { - datum.AddMetadata("codewhispererCharactersRecommended", payload.CodewhispererCharactersRecommended.Value); - } - - if (payload.CodewhispererClassifierResult.HasValue) - { - datum.AddMetadata("codewhispererClassifierResult", payload.CodewhispererClassifierResult.Value); - } - - if (payload.CodewhispererClassifierThreshold.HasValue) - { - datum.AddMetadata("codewhispererClassifierThreshold", payload.CodewhispererClassifierThreshold.Value); - } - - datum.AddMetadata("codewhispererCompletionType", payload.CodewhispererCompletionType); - - datum.AddMetadata("codewhispererCursorOffset", payload.CodewhispererCursorOffset); - - datum.AddMetadata("codewhispererCustomizationArn", payload.CodewhispererCustomizationArn); - - datum.AddMetadata("codewhispererFeatureEvaluations", payload.CodewhispererFeatureEvaluations); - - datum.AddMetadata("codewhispererFirstRequestId", payload.CodewhispererFirstRequestId); - - if (payload.CodewhispererGettingStartedTask.HasValue) - { - datum.AddMetadata("codewhispererGettingStartedTask", payload.CodewhispererGettingStartedTask.Value); - } - - if (payload.CodewhispererIsPartialAcceptance.HasValue) - { - datum.AddMetadata("codewhispererIsPartialAcceptance", payload.CodewhispererIsPartialAcceptance.Value); - } - - datum.AddMetadata("codewhispererLanguage", payload.CodewhispererLanguage); - - datum.AddMetadata("codewhispererLineNumber", payload.CodewhispererLineNumber); - - if (payload.CodewhispererPartialAcceptanceCount.HasValue) - { - datum.AddMetadata("codewhispererPartialAcceptanceCount", payload.CodewhispererPartialAcceptanceCount.Value); - } - - if (payload.CodewhispererPreviousSuggestionState.HasValue) - { - datum.AddMetadata("codewhispererPreviousSuggestionState", payload.CodewhispererPreviousSuggestionState.Value); - } - - datum.AddMetadata("codewhispererSessionId", payload.CodewhispererSessionId); - - datum.AddMetadata("codewhispererSuggestionCount", payload.CodewhispererSuggestionCount); - - datum.AddMetadata("codewhispererSuggestionImportCount", payload.CodewhispererSuggestionImportCount); - - datum.AddMetadata("codewhispererSuggestionState", payload.CodewhispererSuggestionState); - - if (payload.CodewhispererSupplementalContextIsUtg.HasValue) - { - datum.AddMetadata("codewhispererSupplementalContextIsUtg", payload.CodewhispererSupplementalContextIsUtg.Value); - } - - if (payload.CodewhispererSupplementalContextLength.HasValue) - { - datum.AddMetadata("codewhispererSupplementalContextLength", payload.CodewhispererSupplementalContextLength.Value); - } - - datum.AddMetadata("codewhispererSupplementalContextStrategyId", payload.CodewhispererSupplementalContextStrategyId); - - if (payload.CodewhispererSupplementalContextTimeout.HasValue) - { - datum.AddMetadata("codewhispererSupplementalContextTimeout", payload.CodewhispererSupplementalContextTimeout.Value); - } - - if (payload.CodewhispererTimeSinceLastDocumentChange.HasValue) - { - datum.AddMetadata("codewhispererTimeSinceLastDocumentChange", payload.CodewhispererTimeSinceLastDocumentChange.Value); - } - - if (payload.CodewhispererTimeSinceLastUserDecision.HasValue) - { - datum.AddMetadata("codewhispererTimeSinceLastUserDecision", payload.CodewhispererTimeSinceLastUserDecision.Value); - } - - if (payload.CodewhispererTimeToFirstRecommendation.HasValue) - { - datum.AddMetadata("codewhispererTimeToFirstRecommendation", payload.CodewhispererTimeToFirstRecommendation.Value); - } - - if (payload.CodewhispererTotalShownTime.HasValue) - { - datum.AddMetadata("codewhispererTotalShownTime", payload.CodewhispererTotalShownTime.Value); - } - - datum.AddMetadata("codewhispererTriggerCharacter", payload.CodewhispererTriggerCharacter); - - datum.AddMetadata("codewhispererTriggerType", payload.CodewhispererTriggerType); - - datum.AddMetadata("codewhispererTypeaheadLength", payload.CodewhispererTypeaheadLength); - - datum.AddMetadata("codewhispererUserGroup", payload.CodewhispererUserGroup); - - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -12006,8 +14105,8 @@ public static void RecordCodewhispererUserTriggerDecision(this ITelemetryLogger } /// Records Telemetry Event: - /// User requested that a resource be opened in the browser using the deeplink service - public static void RecordDeeplinkOpen(this ITelemetryLogger telemetryLogger, DeeplinkOpen payload, Func transformDatum = null) + /// Delete a DynamoDB table + public static void RecordDynamodbDeleteTable(this ITelemetryLogger telemetryLogger, DynamodbDeleteTable payload, Func transformDatum = null) { try { @@ -12023,7 +14122,7 @@ public static void RecordDeeplinkOpen(this ITelemetryLogger telemetryLogger, Dee metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "deeplink_open"; + datum.MetricName = "dynamodb_deleteTable"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12039,6 +14138,7 @@ public static void RecordDeeplinkOpen(this ITelemetryLogger telemetryLogger, Dee 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); @@ -12055,10 +14155,6 @@ public static void RecordDeeplinkOpen(this ITelemetryLogger telemetryLogger, Dee datum.AddMetadata("result", payload.Result); - datum.AddMetadata("serviceType", payload.ServiceType); - - datum.AddMetadata("source", payload.Source); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -12072,8 +14168,8 @@ public static void RecordDeeplinkOpen(this ITelemetryLogger telemetryLogger, Dee } /// Records Telemetry Event: - /// Copy the dynamic resource identifier - public static void RecordDynamicresourceCopyIdentifier(this ITelemetryLogger telemetryLogger, DynamicresourceCopyIdentifier payload, Func transformDatum = null) + /// Modify a DynamoDB entity + public static void RecordDynamodbEdit(this ITelemetryLogger telemetryLogger, DynamodbEdit payload, Func transformDatum = null) { try { @@ -12089,7 +14185,7 @@ public static void RecordDynamicresourceCopyIdentifier(this ITelemetryLogger tel metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamicresource_copyIdentifier"; + datum.MetricName = "dynamodb_edit"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12105,6 +14201,7 @@ public static void RecordDynamicresourceCopyIdentifier(this ITelemetryLogger tel 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); @@ -12119,7 +14216,9 @@ public static void RecordDynamicresourceCopyIdentifier(this ITelemetryLogger tel } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("resourceType", payload.ResourceType); + datum.AddMetadata("dynamoDbTarget", payload.DynamoDbTarget); + + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -12134,8 +14233,8 @@ public static void RecordDynamicresourceCopyIdentifier(this ITelemetryLogger tel } /// Records Telemetry Event: - /// Open the dynamic resource model in the IDE - public static void RecordDynamicresourceGetResource(this ITelemetryLogger telemetryLogger, DynamicresourceGetResource payload, Func transformDatum = null) + /// Fetch records from a DynamoDB table in the table browser + public static void RecordDynamodbFetchRecords(this ITelemetryLogger telemetryLogger, DynamodbFetchRecords payload, Func transformDatum = null) { try { @@ -12151,7 +14250,7 @@ public static void RecordDynamicresourceGetResource(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamicresource_getResource"; + datum.MetricName = "dynamodb_fetchRecords"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12167,6 +14266,7 @@ public static void RecordDynamicresourceGetResource(this ITelemetryLogger teleme 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); @@ -12181,7 +14281,17 @@ public static void RecordDynamicresourceGetResource(this ITelemetryLogger teleme } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("resourceType", payload.ResourceType); + if (payload.Count.HasValue) + { + datum.AddMetadata("count", payload.Count.Value); + } + + datum.AddMetadata("dynamoDbFetchType", payload.DynamoDbFetchType); + + if (payload.DynamoDbIndexType.HasValue) + { + datum.AddMetadata("dynamoDbIndexType", payload.DynamoDbIndexType.Value); + } datum.AddMetadata("result", payload.Result); @@ -12198,8 +14308,8 @@ public static void RecordDynamicresourceGetResource(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// Expand a Resource Type node - public static void RecordDynamicresourceListResource(this ITelemetryLogger telemetryLogger, DynamicresourceListResource payload, Func transformDatum = null) + /// Fetches the tables in a DynamoDB entity + public static void RecordDynamodbFetchTables(this ITelemetryLogger telemetryLogger, DynamodbFetchTables payload, Func transformDatum = null) { try { @@ -12215,7 +14325,7 @@ public static void RecordDynamicresourceListResource(this ITelemetryLogger telem metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamicresource_listResource"; + datum.MetricName = "dynamodb_fetchTables"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12231,6 +14341,7 @@ public static void RecordDynamicresourceListResource(this ITelemetryLogger telem 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); @@ -12245,7 +14356,10 @@ public static void RecordDynamicresourceListResource(this ITelemetryLogger telem } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("resourceType", payload.ResourceType); + if (payload.Count.HasValue) + { + datum.AddMetadata("count", payload.Count.Value); + } datum.AddMetadata("result", payload.Result); @@ -12262,8 +14376,8 @@ public static void RecordDynamicresourceListResource(this ITelemetryLogger telem } /// Records Telemetry Event: - /// A dynamic resource mutation request completed - public static void RecordDynamicresourceMutateResource(this ITelemetryLogger telemetryLogger, DynamicresourceMutateResource payload, Func transformDatum = null) + /// Open a DynamoDB table in the table browser + public static void RecordDynamodbOpenTable(this ITelemetryLogger telemetryLogger, DynamodbOpenTable payload, Func transformDatum = null) { try { @@ -12279,7 +14393,7 @@ public static void RecordDynamicresourceMutateResource(this ITelemetryLogger tel metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamicresource_mutateResource"; + datum.MetricName = "dynamodb_openTable"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12295,6 +14409,7 @@ public static void RecordDynamicresourceMutateResource(this ITelemetryLogger tel 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); @@ -12309,9 +14424,10 @@ public static void RecordDynamicresourceMutateResource(this ITelemetryLogger tel } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("dynamicResourceOperation", payload.DynamicResourceOperation); - - datum.AddMetadata("resourceType", payload.ResourceType); + if (payload.Count.HasValue) + { + datum.AddMetadata("count", payload.Count.Value); + } datum.AddMetadata("result", payload.Result); @@ -12328,8 +14444,8 @@ public static void RecordDynamicresourceMutateResource(this ITelemetryLogger tel } /// Records Telemetry Event: - /// Change the list of available dynamic resources in the AWS Explorer - public static void RecordDynamicresourceSelectResources(this ITelemetryLogger telemetryLogger, DynamicresourceSelectResources payload, Func transformDatum = null) + /// View a DynamoDB entity + public static void RecordDynamodbView(this ITelemetryLogger telemetryLogger, DynamodbView payload, Func transformDatum = null) { try { @@ -12345,7 +14461,7 @@ public static void RecordDynamicresourceSelectResources(this ITelemetryLogger te metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamicresource_selectResources"; + datum.MetricName = "dynamodb_view"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12361,6 +14477,7 @@ public static void RecordDynamicresourceSelectResources(this ITelemetryLogger te 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); @@ -12375,6 +14492,10 @@ public static void RecordDynamicresourceSelectResources(this ITelemetryLogger te } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("dynamoDbTarget", payload.DynamoDbTarget); + + datum.AddMetadata("result", payload.Result); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -12388,8 +14509,8 @@ public static void RecordDynamicresourceSelectResources(this ITelemetryLogger te } /// Records Telemetry Event: - /// Create a DynamoDB table - public static void RecordDynamodbCreateTable(this ITelemetryLogger telemetryLogger, DynamodbCreateTable payload, Func transformDatum = null) + /// Change the state of an EC2 Instance + public static void RecordEc2ChangeState(this ITelemetryLogger telemetryLogger, Ec2ChangeState payload, Func transformDatum = null) { try { @@ -12405,7 +14526,7 @@ public static void RecordDynamodbCreateTable(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamodb_createTable"; + datum.MetricName = "ec2_changeState"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12421,6 +14542,7 @@ public static void RecordDynamodbCreateTable(this ITelemetryLogger telemetryLogg 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); @@ -12435,6 +14557,8 @@ public static void RecordDynamodbCreateTable(this ITelemetryLogger telemetryLogg } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("ec2InstanceState", payload.Ec2InstanceState); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -12450,8 +14574,8 @@ public static void RecordDynamodbCreateTable(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Deletes a record in DynamoDB record - public static void RecordDynamodbDeleteRecord(this ITelemetryLogger telemetryLogger, DynamodbDeleteRecord payload, Func transformDatum = null) + /// Remove the private key of an EC2 Key Pair from internal storage + public static void RecordEc2ClearPrivateKey(this ITelemetryLogger telemetryLogger, Ec2ClearPrivateKey payload, Func transformDatum = null) { try { @@ -12467,8 +14591,8 @@ public static void RecordDynamodbDeleteRecord(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamodb_deleteRecord"; - datum.Unit = Unit.None; + datum.MetricName = "ec2_clearPrivateKey"; + datum.Unit = Unit.Count; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -12483,6 +14607,7 @@ public static void RecordDynamodbDeleteRecord(this ITelemetryLogger telemetryLog 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); @@ -12512,8 +14637,8 @@ public static void RecordDynamodbDeleteRecord(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Delete a DynamoDB table - public static void RecordDynamodbDeleteTable(this ITelemetryLogger telemetryLogger, DynamodbDeleteTable payload, Func transformDatum = null) + /// Perform a connection to an EC2 Instance + public static void RecordEc2ConnectToInstance(this ITelemetryLogger telemetryLogger, Ec2ConnectToInstance payload, Func transformDatum = null) { try { @@ -12529,7 +14654,7 @@ public static void RecordDynamodbDeleteTable(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamodb_deleteTable"; + datum.MetricName = "ec2_connectToInstance"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12545,6 +14670,7 @@ public static void RecordDynamodbDeleteTable(this ITelemetryLogger telemetryLogg 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); @@ -12559,6 +14685,8 @@ public static void RecordDynamodbDeleteTable(this ITelemetryLogger telemetryLogg } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("ec2ConnectionType", payload.Ec2ConnectionType); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -12574,8 +14702,8 @@ public static void RecordDynamodbDeleteTable(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Modify a DynamoDB entity - public static void RecordDynamodbEdit(this ITelemetryLogger telemetryLogger, DynamodbEdit payload, Func transformDatum = null) + /// Copy AMI image to another region + public static void RecordEc2CopyAmiToRegion(this ITelemetryLogger telemetryLogger, Ec2CopyAmiToRegion payload, Func transformDatum = null) { try { @@ -12591,7 +14719,7 @@ public static void RecordDynamodbEdit(this ITelemetryLogger telemetryLogger, Dyn metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamodb_edit"; + datum.MetricName = "ec2_copyAmiToRegion"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12607,6 +14735,7 @@ public static void RecordDynamodbEdit(this ITelemetryLogger telemetryLogger, Dyn 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); @@ -12621,8 +14750,6 @@ public static void RecordDynamodbEdit(this ITelemetryLogger telemetryLogger, Dyn } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("dynamoDbTarget", payload.DynamoDbTarget); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -12638,8 +14765,8 @@ public static void RecordDynamodbEdit(this ITelemetryLogger telemetryLogger, Dyn } /// Records Telemetry Event: - /// Fetch records from a DynamoDB table in the table browser - public static void RecordDynamodbFetchRecords(this ITelemetryLogger telemetryLogger, DynamodbFetchRecords payload, Func transformDatum = null) + /// Create an image from an EC2 Instance + public static void RecordEc2CreateAmi(this ITelemetryLogger telemetryLogger, Ec2CreateAmi payload, Func transformDatum = null) { try { @@ -12655,7 +14782,7 @@ public static void RecordDynamodbFetchRecords(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamodb_fetchRecords"; + datum.MetricName = "ec2_createAmi"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12671,6 +14798,7 @@ public static void RecordDynamodbFetchRecords(this ITelemetryLogger telemetryLog 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); @@ -12685,18 +14813,6 @@ public static void RecordDynamodbFetchRecords(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - if (payload.Count.HasValue) - { - datum.AddMetadata("count", payload.Count.Value); - } - - datum.AddMetadata("dynamoDbFetchType", payload.DynamoDbFetchType); - - if (payload.DynamoDbIndexType.HasValue) - { - datum.AddMetadata("dynamoDbIndexType", payload.DynamoDbIndexType.Value); - } - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -12712,8 +14828,8 @@ public static void RecordDynamodbFetchRecords(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Fetches the tables in a DynamoDB entity - public static void RecordDynamodbFetchTables(this ITelemetryLogger telemetryLogger, DynamodbFetchTables payload, Func transformDatum = null) + /// Create (allocate) an Elastic IP address + public static void RecordEc2CreateElasticIp(this ITelemetryLogger telemetryLogger, Ec2CreateElasticIp payload, Func transformDatum = null) { try { @@ -12729,7 +14845,7 @@ public static void RecordDynamodbFetchTables(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamodb_fetchTables"; + datum.MetricName = "ec2_createElasticIp"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12745,6 +14861,7 @@ public static void RecordDynamodbFetchTables(this ITelemetryLogger telemetryLogg 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); @@ -12759,15 +14876,8 @@ public static void RecordDynamodbFetchTables(this ITelemetryLogger telemetryLogg } datum.AddMetadata("locale", payload.Locale); - if (payload.Count.HasValue) - { - datum.AddMetadata("count", payload.Count.Value); - } - datum.AddMetadata("result", payload.Result); - datum.AddMetadata("source", payload.Source); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -12781,8 +14891,8 @@ public static void RecordDynamodbFetchTables(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Open a DynamoDB table in the table browser - public static void RecordDynamodbOpenTable(this ITelemetryLogger telemetryLogger, DynamodbOpenTable payload, Func transformDatum = null) + /// Create an EC2 Key Pair + public static void RecordEc2CreateKeyPair(this ITelemetryLogger telemetryLogger, Ec2CreateKeyPair payload, Func transformDatum = null) { try { @@ -12798,7 +14908,7 @@ public static void RecordDynamodbOpenTable(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamodb_openTable"; + datum.MetricName = "ec2_createKeyPair"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12814,6 +14924,7 @@ public static void RecordDynamodbOpenTable(this ITelemetryLogger telemetryLogger 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); @@ -12828,15 +14939,8 @@ public static void RecordDynamodbOpenTable(this ITelemetryLogger telemetryLogger } datum.AddMetadata("locale", payload.Locale); - if (payload.Count.HasValue) - { - datum.AddMetadata("count", payload.Count.Value); - } - datum.AddMetadata("result", payload.Result); - datum.AddMetadata("source", payload.Source); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -12850,8 +14954,8 @@ public static void RecordDynamodbOpenTable(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// View a DynamoDB entity - public static void RecordDynamodbView(this ITelemetryLogger telemetryLogger, DynamodbView payload, Func transformDatum = null) + /// Create an EC2 security group + public static void RecordEc2CreateSecurityGroup(this ITelemetryLogger telemetryLogger, Ec2CreateSecurityGroup payload, Func transformDatum = null) { try { @@ -12867,7 +14971,7 @@ public static void RecordDynamodbView(this ITelemetryLogger telemetryLogger, Dyn metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "dynamodb_view"; + datum.MetricName = "ec2_createSecurityGroup"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12883,6 +14987,7 @@ public static void RecordDynamodbView(this ITelemetryLogger telemetryLogger, Dyn 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); @@ -12897,8 +15002,6 @@ public static void RecordDynamodbView(this ITelemetryLogger telemetryLogger, Dyn } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("dynamoDbTarget", payload.DynamoDbTarget); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -12914,8 +15017,8 @@ public static void RecordDynamodbView(this ITelemetryLogger telemetryLogger, Dyn } /// Records Telemetry Event: - /// Change the state of an EC2 Instance - public static void RecordEc2ChangeState(this ITelemetryLogger telemetryLogger, Ec2ChangeState payload, Func transformDatum = null) + /// Create an EC2 volume snapshot + public static void RecordEc2CreateSnapshot(this ITelemetryLogger telemetryLogger, Ec2CreateSnapshot payload, Func transformDatum = null) { try { @@ -12931,7 +15034,7 @@ public static void RecordEc2ChangeState(this ITelemetryLogger telemetryLogger, E metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_changeState"; + datum.MetricName = "ec2_createSnapshot"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -12947,6 +15050,7 @@ public static void RecordEc2ChangeState(this ITelemetryLogger telemetryLogger, E 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); @@ -12961,8 +15065,6 @@ public static void RecordEc2ChangeState(this ITelemetryLogger telemetryLogger, E } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("ec2InstanceState", payload.Ec2InstanceState); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -12978,8 +15080,8 @@ public static void RecordEc2ChangeState(this ITelemetryLogger telemetryLogger, E } /// Records Telemetry Event: - /// Remove the private key of an EC2 Key Pair from internal storage - public static void RecordEc2ClearPrivateKey(this ITelemetryLogger telemetryLogger, Ec2ClearPrivateKey payload, Func transformDatum = null) + /// Create an EC2 volume + public static void RecordEc2CreateVolume(this ITelemetryLogger telemetryLogger, Ec2CreateVolume payload, Func transformDatum = null) { try { @@ -12995,8 +15097,8 @@ public static void RecordEc2ClearPrivateKey(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_clearPrivateKey"; - datum.Unit = Unit.Count; + datum.MetricName = "ec2_createVolume"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -13011,6 +15113,7 @@ public static void RecordEc2ClearPrivateKey(this ITelemetryLogger telemetryLogge 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); @@ -13040,8 +15143,8 @@ public static void RecordEc2ClearPrivateKey(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Perform a connection to an EC2 Instance - public static void RecordEc2ConnectToInstance(this ITelemetryLogger telemetryLogger, Ec2ConnectToInstance payload, Func transformDatum = null) + /// Delete (de-register) an AMI image + public static void RecordEc2DeleteAmi(this ITelemetryLogger telemetryLogger, Ec2DeleteAmi payload, Func transformDatum = null) { try { @@ -13057,8 +15160,8 @@ public static void RecordEc2ConnectToInstance(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_connectToInstance"; - datum.Unit = Unit.None; + datum.MetricName = "ec2_deleteAmi"; + datum.Unit = Unit.Count; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -13073,6 +15176,7 @@ public static void RecordEc2ConnectToInstance(this ITelemetryLogger telemetryLog 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); @@ -13087,8 +15191,6 @@ public static void RecordEc2ConnectToInstance(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("ec2ConnectionType", payload.Ec2ConnectionType); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -13104,8 +15206,8 @@ public static void RecordEc2ConnectToInstance(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Copy AMI image to another region - public static void RecordEc2CopyAmiToRegion(this ITelemetryLogger telemetryLogger, Ec2CopyAmiToRegion payload, Func transformDatum = null) + /// Delete (release) an Elastic IP address + public static void RecordEc2DeleteElasticIp(this ITelemetryLogger telemetryLogger, Ec2DeleteElasticIp payload, Func transformDatum = null) { try { @@ -13121,7 +15223,7 @@ public static void RecordEc2CopyAmiToRegion(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_copyAmiToRegion"; + datum.MetricName = "ec2_deleteElasticIp"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -13137,6 +15239,7 @@ public static void RecordEc2CopyAmiToRegion(this ITelemetryLogger telemetryLogge 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); @@ -13166,8 +15269,8 @@ public static void RecordEc2CopyAmiToRegion(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Create an image from an EC2 Instance - public static void RecordEc2CreateAmi(this ITelemetryLogger telemetryLogger, Ec2CreateAmi payload, Func transformDatum = null) + /// Delete an EC2 Key Pair + public static void RecordEc2DeleteKeyPair(this ITelemetryLogger telemetryLogger, Ec2DeleteKeyPair payload, Func transformDatum = null) { try { @@ -13183,8 +15286,8 @@ public static void RecordEc2CreateAmi(this ITelemetryLogger telemetryLogger, Ec2 metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_createAmi"; - datum.Unit = Unit.None; + datum.MetricName = "ec2_deleteKeyPair"; + datum.Unit = Unit.Count; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -13199,6 +15302,7 @@ public static void RecordEc2CreateAmi(this ITelemetryLogger telemetryLogger, Ec2 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); @@ -13228,8 +15332,8 @@ public static void RecordEc2CreateAmi(this ITelemetryLogger telemetryLogger, Ec2 } /// Records Telemetry Event: - /// Create (allocate) an Elastic IP address - public static void RecordEc2CreateElasticIp(this ITelemetryLogger telemetryLogger, Ec2CreateElasticIp payload, Func transformDatum = null) + /// Delete an EC2 security group + public static void RecordEc2DeleteSecurityGroup(this ITelemetryLogger telemetryLogger, Ec2DeleteSecurityGroup payload, Func transformDatum = null) { try { @@ -13245,8 +15349,8 @@ public static void RecordEc2CreateElasticIp(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_createElasticIp"; - datum.Unit = Unit.None; + datum.MetricName = "ec2_deleteSecurityGroup"; + datum.Unit = Unit.Count; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -13261,6 +15365,7 @@ public static void RecordEc2CreateElasticIp(this ITelemetryLogger telemetryLogge 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); @@ -13290,8 +15395,8 @@ public static void RecordEc2CreateElasticIp(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Create an EC2 Key Pair - public static void RecordEc2CreateKeyPair(this ITelemetryLogger telemetryLogger, Ec2CreateKeyPair payload, Func transformDatum = null) + /// Delete an EC2 Volume Snapshot + public static void RecordEc2DeleteSnapshot(this ITelemetryLogger telemetryLogger, Ec2DeleteSnapshot payload, Func transformDatum = null) { try { @@ -13307,8 +15412,8 @@ public static void RecordEc2CreateKeyPair(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_createKeyPair"; - datum.Unit = Unit.None; + datum.MetricName = "ec2_deleteSnapshot"; + datum.Unit = Unit.Count; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -13323,6 +15428,7 @@ public static void RecordEc2CreateKeyPair(this ITelemetryLogger telemetryLogger, 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); @@ -13352,8 +15458,8 @@ public static void RecordEc2CreateKeyPair(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Create an EC2 security group - public static void RecordEc2CreateSecurityGroup(this ITelemetryLogger telemetryLogger, Ec2CreateSecurityGroup payload, Func transformDatum = null) + /// Delete an EC2 Volume + public static void RecordEc2DeleteVolume(this ITelemetryLogger telemetryLogger, Ec2DeleteVolume payload, Func transformDatum = null) { try { @@ -13369,8 +15475,8 @@ public static void RecordEc2CreateSecurityGroup(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_createSecurityGroup"; - datum.Unit = Unit.None; + datum.MetricName = "ec2_deleteVolume"; + datum.Unit = Unit.Count; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -13385,6 +15491,7 @@ public static void RecordEc2CreateSecurityGroup(this ITelemetryLogger telemetryL 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); @@ -13414,8 +15521,8 @@ public static void RecordEc2CreateSecurityGroup(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Create an EC2 volume snapshot - public static void RecordEc2CreateSnapshot(this ITelemetryLogger telemetryLogger, Ec2CreateSnapshot payload, Func transformDatum = null) + /// Edit AMI image permissions + public static void RecordEc2EditAmiPermission(this ITelemetryLogger telemetryLogger, Ec2EditAmiPermission payload, Func transformDatum = null) { try { @@ -13431,7 +15538,7 @@ public static void RecordEc2CreateSnapshot(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_createSnapshot"; + datum.MetricName = "ec2_editAmiPermission"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -13447,6 +15554,7 @@ public static void RecordEc2CreateSnapshot(this ITelemetryLogger telemetryLogger 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); @@ -13476,8 +15584,8 @@ public static void RecordEc2CreateSnapshot(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// Create an EC2 volume - public static void RecordEc2CreateVolume(this ITelemetryLogger telemetryLogger, Ec2CreateVolume payload, Func transformDatum = null) + /// Associate or disassociate an Elastic IP with an EC2 Instance + public static void RecordEc2EditInstanceElasticIp(this ITelemetryLogger telemetryLogger, Ec2EditInstanceElasticIp payload, Func transformDatum = null) { try { @@ -13493,7 +15601,7 @@ public static void RecordEc2CreateVolume(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_createVolume"; + datum.MetricName = "ec2_editInstanceElasticIp"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -13509,6 +15617,7 @@ public static void RecordEc2CreateVolume(this ITelemetryLogger telemetryLogger, 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); @@ -13523,6 +15632,11 @@ public static void RecordEc2CreateVolume(this ITelemetryLogger telemetryLogger, } datum.AddMetadata("locale", payload.Locale); + if (payload.Enabled.HasValue) + { + datum.AddMetadata("enabled", payload.Enabled.Value); + } + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -13538,8 +15652,8 @@ public static void RecordEc2CreateVolume(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Delete (de-register) an AMI image - public static void RecordEc2DeleteAmi(this ITelemetryLogger telemetryLogger, Ec2DeleteAmi payload, Func transformDatum = null) + /// Adjust the shutdown behavior of an EC2 Instance + public static void RecordEc2EditInstanceShutdownBehavior(this ITelemetryLogger telemetryLogger, Ec2EditInstanceShutdownBehavior payload, Func transformDatum = null) { try { @@ -13555,8 +15669,8 @@ public static void RecordEc2DeleteAmi(this ITelemetryLogger telemetryLogger, Ec2 metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_deleteAmi"; - datum.Unit = Unit.Count; + datum.MetricName = "ec2_editInstanceShutdownBehavior"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -13571,6 +15685,7 @@ public static void RecordEc2DeleteAmi(this ITelemetryLogger telemetryLogger, Ec2 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); @@ -13600,8 +15715,8 @@ public static void RecordEc2DeleteAmi(this ITelemetryLogger telemetryLogger, Ec2 } /// Records Telemetry Event: - /// Delete (release) an Elastic IP address - public static void RecordEc2DeleteElasticIp(this ITelemetryLogger telemetryLogger, Ec2DeleteElasticIp payload, Func transformDatum = null) + /// Adjust the termination protection of an EC2 Instance + public static void RecordEc2EditInstanceTerminationProtection(this ITelemetryLogger telemetryLogger, Ec2EditInstanceTerminationProtection payload, Func transformDatum = null) { try { @@ -13617,7 +15732,7 @@ public static void RecordEc2DeleteElasticIp(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_deleteElasticIp"; + datum.MetricName = "ec2_editInstanceTerminationProtection"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -13633,6 +15748,7 @@ public static void RecordEc2DeleteElasticIp(this ITelemetryLogger telemetryLogge 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); @@ -13647,6 +15763,11 @@ public static void RecordEc2DeleteElasticIp(this ITelemetryLogger telemetryLogge } datum.AddMetadata("locale", payload.Locale); + if (payload.Enabled.HasValue) + { + datum.AddMetadata("enabled", payload.Enabled.Value); + } + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -13662,8 +15783,8 @@ public static void RecordEc2DeleteElasticIp(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Delete an EC2 Key Pair - public static void RecordEc2DeleteKeyPair(this ITelemetryLogger telemetryLogger, Ec2DeleteKeyPair payload, Func transformDatum = null) + /// Adjust the instance type of an EC2 Instance + public static void RecordEc2EditInstanceType(this ITelemetryLogger telemetryLogger, Ec2EditInstanceType payload, Func transformDatum = null) { try { @@ -13679,8 +15800,8 @@ public static void RecordEc2DeleteKeyPair(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_deleteKeyPair"; - datum.Unit = Unit.Count; + datum.MetricName = "ec2_editInstanceType"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -13695,6 +15816,7 @@ public static void RecordEc2DeleteKeyPair(this ITelemetryLogger telemetryLogger, 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); @@ -13724,8 +15846,8 @@ public static void RecordEc2DeleteKeyPair(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Delete an EC2 security group - public static void RecordEc2DeleteSecurityGroup(this ITelemetryLogger telemetryLogger, Ec2DeleteSecurityGroup payload, Func transformDatum = null) + /// Adjust an EC2 Instance's user data + public static void RecordEc2EditInstanceUserData(this ITelemetryLogger telemetryLogger, Ec2EditInstanceUserData payload, Func transformDatum = null) { try { @@ -13741,8 +15863,8 @@ public static void RecordEc2DeleteSecurityGroup(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_deleteSecurityGroup"; - datum.Unit = Unit.Count; + datum.MetricName = "ec2_editInstanceUserData"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -13757,6 +15879,7 @@ public static void RecordEc2DeleteSecurityGroup(this ITelemetryLogger telemetryL 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); @@ -13786,8 +15909,8 @@ public static void RecordEc2DeleteSecurityGroup(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Delete an EC2 Volume Snapshot - public static void RecordEc2DeleteSnapshot(this ITelemetryLogger telemetryLogger, Ec2DeleteSnapshot payload, Func transformDatum = null) + /// Alter an EC2 security group permission + public static void RecordEc2EditSecurityGroupPermission(this ITelemetryLogger telemetryLogger, Ec2EditSecurityGroupPermission payload, Func transformDatum = null) { try { @@ -13803,8 +15926,8 @@ public static void RecordEc2DeleteSnapshot(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_deleteSnapshot"; - datum.Unit = Unit.Count; + datum.MetricName = "ec2_editSecurityGroupPermission"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -13819,6 +15942,7 @@ public static void RecordEc2DeleteSnapshot(this ITelemetryLogger telemetryLogger 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); @@ -13848,8 +15972,8 @@ public static void RecordEc2DeleteSnapshot(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// Delete an EC2 Volume - public static void RecordEc2DeleteVolume(this ITelemetryLogger telemetryLogger, Ec2DeleteVolume payload, Func transformDatum = null) + /// Attach (enabled = true) or detach a volume + public static void RecordEc2EditVolumeAttachment(this ITelemetryLogger telemetryLogger, Ec2EditVolumeAttachment payload, Func transformDatum = null) { try { @@ -13865,8 +15989,8 @@ public static void RecordEc2DeleteVolume(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_deleteVolume"; - datum.Unit = Unit.Count; + datum.MetricName = "ec2_editVolumeAttachment"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -13881,6 +16005,7 @@ public static void RecordEc2DeleteVolume(this ITelemetryLogger telemetryLogger, 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); @@ -13895,6 +16020,8 @@ public static void RecordEc2DeleteVolume(this ITelemetryLogger telemetryLogger, } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("enabled", payload.Enabled); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -13910,8 +16037,8 @@ public static void RecordEc2DeleteVolume(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Edit AMI image permissions - public static void RecordEc2EditAmiPermission(this ITelemetryLogger telemetryLogger, Ec2EditAmiPermission payload, Func transformDatum = null) + /// Save the private key of an EC2 Key Pair out to disk + public static void RecordEc2ExportPrivateKey(this ITelemetryLogger telemetryLogger, Ec2ExportPrivateKey payload, Func transformDatum = null) { try { @@ -13927,7 +16054,7 @@ public static void RecordEc2EditAmiPermission(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_editAmiPermission"; + datum.MetricName = "ec2_exportPrivateKey"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -13943,6 +16070,7 @@ public static void RecordEc2EditAmiPermission(this ITelemetryLogger telemetryLog 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); @@ -13972,8 +16100,8 @@ public static void RecordEc2EditAmiPermission(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Associate or disassociate an Elastic IP with an EC2 Instance - public static void RecordEc2EditInstanceElasticIp(this ITelemetryLogger telemetryLogger, Ec2EditInstanceElasticIp payload, Func transformDatum = null) + /// Store the private key of an EC2 Key Pair in internal storage + public static void RecordEc2ImportPrivateKey(this ITelemetryLogger telemetryLogger, Ec2ImportPrivateKey payload, Func transformDatum = null) { try { @@ -13989,7 +16117,7 @@ public static void RecordEc2EditInstanceElasticIp(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_editInstanceElasticIp"; + datum.MetricName = "ec2_importPrivateKey"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14005,6 +16133,7 @@ public static void RecordEc2EditInstanceElasticIp(this ITelemetryLogger telemetr 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); @@ -14019,11 +16148,6 @@ public static void RecordEc2EditInstanceElasticIp(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); - if (payload.Enabled.HasValue) - { - datum.AddMetadata("enabled", payload.Enabled.Value); - } - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -14039,8 +16163,8 @@ public static void RecordEc2EditInstanceElasticIp(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// Adjust the shutdown behavior of an EC2 Instance - public static void RecordEc2EditInstanceShutdownBehavior(this ITelemetryLogger telemetryLogger, Ec2EditInstanceShutdownBehavior payload, Func transformDatum = null) + /// Launch an EC2 Instance + public static void RecordEc2LaunchInstance(this ITelemetryLogger telemetryLogger, Ec2LaunchInstance payload, Func transformDatum = null) { try { @@ -14056,7 +16180,7 @@ public static void RecordEc2EditInstanceShutdownBehavior(this ITelemetryLogger t metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_editInstanceShutdownBehavior"; + datum.MetricName = "ec2_launchInstance"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14072,6 +16196,7 @@ public static void RecordEc2EditInstanceShutdownBehavior(this ITelemetryLogger t 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); @@ -14100,9 +16225,9 @@ public static void RecordEc2EditInstanceShutdownBehavior(this ITelemetryLogger t } } - /// Records Telemetry Event: - /// Adjust the termination protection of an EC2 Instance - public static void RecordEc2EditInstanceTerminationProtection(this ITelemetryLogger telemetryLogger, Ec2EditInstanceTerminationProtection payload, Func transformDatum = null) + /// Records Telemetry Event: + /// Open a window to view EC2 AMIs + public static void RecordEc2OpenAMIs(this ITelemetryLogger telemetryLogger, Ec2OpenAMIs payload, Func transformDatum = null) { try { @@ -14118,7 +16243,7 @@ public static void RecordEc2EditInstanceTerminationProtection(this ITelemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_editInstanceTerminationProtection"; + datum.MetricName = "ec2_openAMIs"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14134,6 +16259,7 @@ public static void RecordEc2EditInstanceTerminationProtection(this ITelemetryLog 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); @@ -14148,11 +16274,6 @@ public static void RecordEc2EditInstanceTerminationProtection(this ITelemetryLog } datum.AddMetadata("locale", payload.Locale); - if (payload.Enabled.HasValue) - { - datum.AddMetadata("enabled", payload.Enabled.Value); - } - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -14168,8 +16289,8 @@ public static void RecordEc2EditInstanceTerminationProtection(this ITelemetryLog } /// Records Telemetry Event: - /// Adjust the instance type of an EC2 Instance - public static void RecordEc2EditInstanceType(this ITelemetryLogger telemetryLogger, Ec2EditInstanceType payload, Func transformDatum = null) + /// Open a window to view EC2 Elastic IPs + public static void RecordEc2OpenElasticIPs(this ITelemetryLogger telemetryLogger, Ec2OpenElasticIPs payload, Func transformDatum = null) { try { @@ -14185,7 +16306,7 @@ public static void RecordEc2EditInstanceType(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_editInstanceType"; + datum.MetricName = "ec2_openElasticIPs"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14201,6 +16322,7 @@ public static void RecordEc2EditInstanceType(this ITelemetryLogger telemetryLogg 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); @@ -14230,8 +16352,8 @@ public static void RecordEc2EditInstanceType(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Adjust an EC2 Instance's user data - public static void RecordEc2EditInstanceUserData(this ITelemetryLogger telemetryLogger, Ec2EditInstanceUserData payload, Func transformDatum = null) + /// Open a window to view EC2 Instances + public static void RecordEc2OpenInstances(this ITelemetryLogger telemetryLogger, Ec2OpenInstances payload, Func transformDatum = null) { try { @@ -14247,7 +16369,7 @@ public static void RecordEc2EditInstanceUserData(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_editInstanceUserData"; + datum.MetricName = "ec2_openInstances"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14263,6 +16385,7 @@ public static void RecordEc2EditInstanceUserData(this ITelemetryLogger telemetry 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); @@ -14292,8 +16415,8 @@ public static void RecordEc2EditInstanceUserData(this ITelemetryLogger telemetry } /// Records Telemetry Event: - /// Alter an EC2 security group permission - public static void RecordEc2EditSecurityGroupPermission(this ITelemetryLogger telemetryLogger, Ec2EditSecurityGroupPermission payload, Func transformDatum = null) + /// Open to view EC2 Key pairs + public static void RecordEc2OpenKeyPairs(this ITelemetryLogger telemetryLogger, Ec2OpenKeyPairs payload, Func transformDatum = null) { try { @@ -14309,7 +16432,7 @@ public static void RecordEc2EditSecurityGroupPermission(this ITelemetryLogger te metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_editSecurityGroupPermission"; + datum.MetricName = "ec2_openKeyPairs"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14325,6 +16448,7 @@ public static void RecordEc2EditSecurityGroupPermission(this ITelemetryLogger te 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); @@ -14354,8 +16478,8 @@ public static void RecordEc2EditSecurityGroupPermission(this ITelemetryLogger te } /// Records Telemetry Event: - /// Attach (enabled = true) or detach a volume - public static void RecordEc2EditVolumeAttachment(this ITelemetryLogger telemetryLogger, Ec2EditVolumeAttachment payload, Func transformDatum = null) + /// Open a window to view EC2 Security Groups + public static void RecordEc2OpenSecurityGroups(this ITelemetryLogger telemetryLogger, Ec2OpenSecurityGroups payload, Func transformDatum = null) { try { @@ -14371,7 +16495,7 @@ public static void RecordEc2EditVolumeAttachment(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_editVolumeAttachment"; + datum.MetricName = "ec2_openSecurityGroups"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14387,6 +16511,7 @@ public static void RecordEc2EditVolumeAttachment(this ITelemetryLogger telemetry 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); @@ -14401,8 +16526,6 @@ public static void RecordEc2EditVolumeAttachment(this ITelemetryLogger telemetry } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("enabled", payload.Enabled); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -14418,8 +16541,8 @@ public static void RecordEc2EditVolumeAttachment(this ITelemetryLogger telemetry } /// Records Telemetry Event: - /// Save the private key of an EC2 Key Pair out to disk - public static void RecordEc2ExportPrivateKey(this ITelemetryLogger telemetryLogger, Ec2ExportPrivateKey payload, Func transformDatum = null) + /// Open a window to view EC2 Volumes + public static void RecordEc2OpenVolumes(this ITelemetryLogger telemetryLogger, Ec2OpenVolumes payload, Func transformDatum = null) { try { @@ -14435,7 +16558,7 @@ public static void RecordEc2ExportPrivateKey(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_exportPrivateKey"; + datum.MetricName = "ec2_openVolumes"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14451,6 +16574,7 @@ public static void RecordEc2ExportPrivateKey(this ITelemetryLogger telemetryLogg 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); @@ -14480,8 +16604,8 @@ public static void RecordEc2ExportPrivateKey(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Store the private key of an EC2 Key Pair in internal storage - public static void RecordEc2ImportPrivateKey(this ITelemetryLogger telemetryLogger, Ec2ImportPrivateKey payload, Func transformDatum = null) + /// View the system log of an EC2 Instance + public static void RecordEc2ViewInstanceSystemLog(this ITelemetryLogger telemetryLogger, Ec2ViewInstanceSystemLog payload, Func transformDatum = null) { try { @@ -14497,7 +16621,7 @@ public static void RecordEc2ImportPrivateKey(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_importPrivateKey"; + datum.MetricName = "ec2_viewInstanceSystemLog"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14513,6 +16637,7 @@ public static void RecordEc2ImportPrivateKey(this ITelemetryLogger telemetryLogg 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); @@ -14542,8 +16667,8 @@ public static void RecordEc2ImportPrivateKey(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Launch an EC2 Instance - public static void RecordEc2LaunchInstance(this ITelemetryLogger telemetryLogger, Ec2LaunchInstance payload, Func transformDatum = null) + /// View an EC2 Instance's user data + public static void RecordEc2ViewInstanceUserData(this ITelemetryLogger telemetryLogger, Ec2ViewInstanceUserData payload, Func transformDatum = null) { try { @@ -14559,7 +16684,7 @@ public static void RecordEc2LaunchInstance(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_launchInstance"; + datum.MetricName = "ec2_viewInstanceUserData"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14575,6 +16700,7 @@ public static void RecordEc2LaunchInstance(this ITelemetryLogger telemetryLogger 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); @@ -14604,8 +16730,8 @@ public static void RecordEc2LaunchInstance(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// Open a window to view EC2 AMIs - public static void RecordEc2OpenAMIs(this ITelemetryLogger telemetryLogger, Ec2OpenAMIs payload, Func transformDatum = null) + /// Called when the user copies the repository uri from a node + public static void RecordEcrCopyRepositoryUri(this ITelemetryLogger telemetryLogger, EcrCopyRepositoryUri payload, Func transformDatum = null) { try { @@ -14621,7 +16747,7 @@ public static void RecordEc2OpenAMIs(this ITelemetryLogger telemetryLogger, Ec2O metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_openAMIs"; + datum.MetricName = "ecr_copyRepositoryUri"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14637,6 +16763,7 @@ public static void RecordEc2OpenAMIs(this ITelemetryLogger telemetryLogger, Ec2O 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); @@ -14651,8 +16778,6 @@ public static void RecordEc2OpenAMIs(this ITelemetryLogger telemetryLogger, Ec2O } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -14666,8 +16791,8 @@ public static void RecordEc2OpenAMIs(this ITelemetryLogger telemetryLogger, Ec2O } /// Records Telemetry Event: - /// Open a window to view EC2 Elastic IPs - public static void RecordEc2OpenElasticIPs(this ITelemetryLogger telemetryLogger, Ec2OpenElasticIPs payload, Func transformDatum = null) + /// Called when the user copies the repository tag uri from a node. The tag uri is the repository uri + : + the tag name + public static void RecordEcrCopyTagUri(this ITelemetryLogger telemetryLogger, EcrCopyTagUri payload, Func transformDatum = null) { try { @@ -14683,7 +16808,7 @@ public static void RecordEc2OpenElasticIPs(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_openElasticIPs"; + datum.MetricName = "ecr_copyTagUri"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14699,6 +16824,7 @@ public static void RecordEc2OpenElasticIPs(this ITelemetryLogger telemetryLogger 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); @@ -14713,8 +16839,6 @@ public static void RecordEc2OpenElasticIPs(this ITelemetryLogger telemetryLogger } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -14728,8 +16852,8 @@ public static void RecordEc2OpenElasticIPs(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// Open a window to view EC2 Instances - public static void RecordEc2OpenInstances(this ITelemetryLogger telemetryLogger, Ec2OpenInstances payload, Func transformDatum = null) + /// Called when creating a new ECR repository + public static void RecordEcrCreateRepository(this ITelemetryLogger telemetryLogger, EcrCreateRepository payload, Func transformDatum = null) { try { @@ -14745,7 +16869,7 @@ public static void RecordEc2OpenInstances(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_openInstances"; + datum.MetricName = "ecr_createRepository"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14761,6 +16885,7 @@ public static void RecordEc2OpenInstances(this ITelemetryLogger telemetryLogger, 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); @@ -14790,8 +16915,8 @@ public static void RecordEc2OpenInstances(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Open to view EC2 Key pairs - public static void RecordEc2OpenKeyPairs(this ITelemetryLogger telemetryLogger, Ec2OpenKeyPairs payload, Func transformDatum = null) + /// Called when deleting an existing ECR repository + public static void RecordEcrDeleteRepository(this ITelemetryLogger telemetryLogger, EcrDeleteRepository payload, Func transformDatum = null) { try { @@ -14807,7 +16932,7 @@ public static void RecordEc2OpenKeyPairs(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_openKeyPairs"; + datum.MetricName = "ecr_deleteRepository"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14823,6 +16948,7 @@ public static void RecordEc2OpenKeyPairs(this ITelemetryLogger telemetryLogger, 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); @@ -14852,8 +16978,8 @@ public static void RecordEc2OpenKeyPairs(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Open a window to view EC2 Security Groups - public static void RecordEc2OpenSecurityGroups(this ITelemetryLogger telemetryLogger, Ec2OpenSecurityGroups payload, Func transformDatum = null) + /// Called when deleting a tag in an ECR repository. The operation is a batch operation by default, value represents the number of tags deleted. + public static void RecordEcrDeleteTags(this ITelemetryLogger telemetryLogger, EcrDeleteTags payload, Func transformDatum = null) { try { @@ -14869,8 +16995,8 @@ public static void RecordEc2OpenSecurityGroups(this ITelemetryLogger telemetryLo metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_openSecurityGroups"; - datum.Unit = Unit.None; + datum.MetricName = "ecr_deleteTags"; + datum.Unit = Unit.Count; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -14885,6 +17011,7 @@ public static void RecordEc2OpenSecurityGroups(this ITelemetryLogger telemetryLo 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); @@ -14914,8 +17041,8 @@ public static void RecordEc2OpenSecurityGroups(this ITelemetryLogger telemetryLo } /// Records Telemetry Event: - /// Open a window to view EC2 Volumes - public static void RecordEc2OpenVolumes(this ITelemetryLogger telemetryLogger, Ec2OpenVolumes payload, Func transformDatum = null) + /// Called when deploying an image to ECR + public static void RecordEcrDeployImage(this ITelemetryLogger telemetryLogger, EcrDeployImage payload, Func transformDatum = null) { try { @@ -14931,7 +17058,7 @@ public static void RecordEc2OpenVolumes(this ITelemetryLogger telemetryLogger, E metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_openVolumes"; + datum.MetricName = "ecr_deployImage"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -14947,6 +17074,7 @@ public static void RecordEc2OpenVolumes(this ITelemetryLogger telemetryLogger, E 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); @@ -14961,6 +17089,11 @@ public static void RecordEc2OpenVolumes(this ITelemetryLogger telemetryLogger, E } datum.AddMetadata("locale", payload.Locale); + if (payload.EcrDeploySource.HasValue) + { + datum.AddMetadata("ecrDeploySource", payload.EcrDeploySource.Value); + } + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -14976,8 +17109,8 @@ public static void RecordEc2OpenVolumes(this ITelemetryLogger telemetryLogger, E } /// Records Telemetry Event: - /// View the system log of an EC2 Instance - public static void RecordEc2ViewInstanceSystemLog(this ITelemetryLogger telemetryLogger, Ec2ViewInstanceSystemLog payload, Func transformDatum = null) + /// Delete an ECS cluster + public static void RecordEcsDeleteCluster(this ITelemetryLogger telemetryLogger, EcsDeleteCluster payload, Func transformDatum = null) { try { @@ -14993,7 +17126,7 @@ public static void RecordEc2ViewInstanceSystemLog(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_viewInstanceSystemLog"; + datum.MetricName = "ecs_deleteCluster"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -15009,6 +17142,7 @@ public static void RecordEc2ViewInstanceSystemLog(this ITelemetryLogger telemetr 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); @@ -15038,8 +17172,8 @@ public static void RecordEc2ViewInstanceSystemLog(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// View an EC2 Instance's user data - public static void RecordEc2ViewInstanceUserData(this ITelemetryLogger telemetryLogger, Ec2ViewInstanceUserData payload, Func transformDatum = null) + /// Delete ECS Scheduled task(s) + public static void RecordEcsDeleteScheduledTask(this ITelemetryLogger telemetryLogger, EcsDeleteScheduledTask payload, Func transformDatum = null) { try { @@ -15055,8 +17189,8 @@ public static void RecordEc2ViewInstanceUserData(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ec2_viewInstanceUserData"; - datum.Unit = Unit.None; + datum.MetricName = "ecs_deleteScheduledTask"; + datum.Unit = Unit.Count; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -15071,6 +17205,7 @@ public static void RecordEc2ViewInstanceUserData(this ITelemetryLogger telemetry 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); @@ -15100,8 +17235,8 @@ public static void RecordEc2ViewInstanceUserData(this ITelemetryLogger telemetry } /// Records Telemetry Event: - /// Called when the user copies the repository uri from a node - public static void RecordEcrCopyRepositoryUri(this ITelemetryLogger telemetryLogger, EcrCopyRepositoryUri payload, Func transformDatum = null) + /// Called when user deletes an ECS service + public static void RecordEcsDeleteService(this ITelemetryLogger telemetryLogger, EcsDeleteService payload, Func transformDatum = null) { try { @@ -15117,7 +17252,7 @@ public static void RecordEcrCopyRepositoryUri(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecr_copyRepositoryUri"; + datum.MetricName = "ecs_deleteService"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -15133,6 +17268,7 @@ public static void RecordEcrCopyRepositoryUri(this ITelemetryLogger telemetryLog 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); @@ -15147,6 +17283,8 @@ public static void RecordEcrCopyRepositoryUri(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("result", payload.Result); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -15160,8 +17298,8 @@ public static void RecordEcrCopyRepositoryUri(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Called when the user copies the repository tag uri from a node. The tag uri is the repository uri + : + the tag name - public static void RecordEcrCopyTagUri(this ITelemetryLogger telemetryLogger, EcrCopyTagUri payload, Func transformDatum = null) + /// Called when deploying a scheduled task to an ECS cluster + public static void RecordEcsDeployScheduledTask(this ITelemetryLogger telemetryLogger, EcsDeployScheduledTask payload, Func transformDatum = null) { try { @@ -15177,7 +17315,7 @@ public static void RecordEcrCopyTagUri(this ITelemetryLogger telemetryLogger, Ec metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecr_copyTagUri"; + datum.MetricName = "ecs_deployScheduledTask"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -15193,6 +17331,7 @@ public static void RecordEcrCopyTagUri(this ITelemetryLogger telemetryLogger, Ec 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); @@ -15207,6 +17346,10 @@ public static void RecordEcrCopyTagUri(this ITelemetryLogger telemetryLogger, Ec } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("ecsLaunchType", payload.EcsLaunchType); + + datum.AddMetadata("result", payload.Result); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -15220,8 +17363,8 @@ public static void RecordEcrCopyTagUri(this ITelemetryLogger telemetryLogger, Ec } /// Records Telemetry Event: - /// Called when creating a new ECR repository - public static void RecordEcrCreateRepository(this ITelemetryLogger telemetryLogger, EcrCreateRepository payload, Func transformDatum = null) + /// Called when deploying a service to an ECS cluster + public static void RecordEcsDeployService(this ITelemetryLogger telemetryLogger, EcsDeployService payload, Func transformDatum = null) { try { @@ -15237,7 +17380,7 @@ public static void RecordEcrCreateRepository(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecr_createRepository"; + datum.MetricName = "ecs_deployService"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -15253,6 +17396,7 @@ public static void RecordEcrCreateRepository(this ITelemetryLogger telemetryLogg 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); @@ -15267,6 +17411,8 @@ public static void RecordEcrCreateRepository(this ITelemetryLogger telemetryLogg } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("ecsLaunchType", payload.EcsLaunchType); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -15282,8 +17428,8 @@ public static void RecordEcrCreateRepository(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Called when deleting an existing ECR repository - public static void RecordEcrDeleteRepository(this ITelemetryLogger telemetryLogger, EcrDeleteRepository payload, Func transformDatum = null) + /// Called when deploying a task to an ECS cluster + public static void RecordEcsDeployTask(this ITelemetryLogger telemetryLogger, EcsDeployTask payload, Func transformDatum = null) { try { @@ -15299,7 +17445,7 @@ public static void RecordEcrDeleteRepository(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecr_deleteRepository"; + datum.MetricName = "ecs_deployTask"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -15315,6 +17461,7 @@ public static void RecordEcrDeleteRepository(this ITelemetryLogger telemetryLogg 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); @@ -15329,6 +17476,8 @@ public static void RecordEcrDeleteRepository(this ITelemetryLogger telemetryLogg } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("ecsLaunchType", payload.EcsLaunchType); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -15344,8 +17493,8 @@ public static void RecordEcrDeleteRepository(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Called when deleting a tag in an ECR repository. The operation is a batch operation by default, value represents the number of tags deleted. - public static void RecordEcrDeleteTags(this ITelemetryLogger telemetryLogger, EcrDeleteTags payload, Func transformDatum = null) + /// Called when ECS execute command is disabled + public static void RecordEcsDisableExecuteCommand(this ITelemetryLogger telemetryLogger, EcsDisableExecuteCommand payload, Func transformDatum = null) { try { @@ -15361,8 +17510,8 @@ public static void RecordEcrDeleteTags(this ITelemetryLogger telemetryLogger, Ec metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecr_deleteTags"; - datum.Unit = Unit.Count; + datum.MetricName = "ecs_disableExecuteCommand"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -15377,6 +17526,7 @@ public static void RecordEcrDeleteTags(this ITelemetryLogger telemetryLogger, Ec 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); @@ -15406,8 +17556,8 @@ public static void RecordEcrDeleteTags(this ITelemetryLogger telemetryLogger, Ec } /// Records Telemetry Event: - /// Called when deploying an image to ECR - public static void RecordEcrDeployImage(this ITelemetryLogger telemetryLogger, EcrDeployImage payload, Func transformDatum = null) + /// Edit configuration of an ECS service + public static void RecordEcsEditService(this ITelemetryLogger telemetryLogger, EcsEditService payload, Func transformDatum = null) { try { @@ -15423,7 +17573,7 @@ public static void RecordEcrDeployImage(this ITelemetryLogger telemetryLogger, E metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecr_deployImage"; + datum.MetricName = "ecs_editService"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -15439,6 +17589,7 @@ public static void RecordEcrDeployImage(this ITelemetryLogger telemetryLogger, E 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); @@ -15453,11 +17604,6 @@ public static void RecordEcrDeployImage(this ITelemetryLogger telemetryLogger, E } datum.AddMetadata("locale", payload.Locale); - if (payload.EcrDeploySource.HasValue) - { - datum.AddMetadata("ecrDeploySource", payload.EcrDeploySource.Value); - } - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -15473,8 +17619,8 @@ public static void RecordEcrDeployImage(this ITelemetryLogger telemetryLogger, E } /// Records Telemetry Event: - /// Delete an ECS cluster - public static void RecordEcsDeleteCluster(this ITelemetryLogger telemetryLogger, EcsDeleteCluster payload, Func transformDatum = null) + /// Called when ECS execute command is enabled + public static void RecordEcsEnableExecuteCommand(this ITelemetryLogger telemetryLogger, EcsEnableExecuteCommand payload, Func transformDatum = null) { try { @@ -15490,7 +17636,7 @@ public static void RecordEcsDeleteCluster(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_deleteCluster"; + datum.MetricName = "ecs_enableExecuteCommand"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -15506,6 +17652,7 @@ public static void RecordEcsDeleteCluster(this ITelemetryLogger telemetryLogger, 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); @@ -15535,8 +17682,8 @@ public static void RecordEcsDeleteCluster(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Delete ECS Scheduled task(s) - public static void RecordEcsDeleteScheduledTask(this ITelemetryLogger telemetryLogger, EcsDeleteScheduledTask payload, Func transformDatum = null) + /// Open to view status of an ECS Cluster + public static void RecordEcsOpenCluster(this ITelemetryLogger telemetryLogger, EcsOpenCluster payload, Func transformDatum = null) { try { @@ -15552,8 +17699,8 @@ public static void RecordEcsDeleteScheduledTask(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_deleteScheduledTask"; - datum.Unit = Unit.Count; + datum.MetricName = "ecs_openCluster"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -15568,6 +17715,7 @@ public static void RecordEcsDeleteScheduledTask(this ITelemetryLogger telemetryL 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); @@ -15597,8 +17745,8 @@ public static void RecordEcsDeleteScheduledTask(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Called when user deletes an ECS service - public static void RecordEcsDeleteService(this ITelemetryLogger telemetryLogger, EcsDeleteService payload, Func transformDatum = null) + /// Open to view status of an ECS Repository + public static void RecordEcsOpenRepository(this ITelemetryLogger telemetryLogger, EcsOpenRepository payload, Func transformDatum = null) { try { @@ -15614,7 +17762,7 @@ public static void RecordEcsDeleteService(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_deleteService"; + datum.MetricName = "ecs_openRepository"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -15630,6 +17778,7 @@ public static void RecordEcsDeleteService(this ITelemetryLogger telemetryLogger, 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); @@ -15659,8 +17808,8 @@ public static void RecordEcsDeleteService(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Called when deploying a scheduled task to an ECS cluster - public static void RecordEcsDeployScheduledTask(this ITelemetryLogger telemetryLogger, EcsDeployScheduledTask payload, Func transformDatum = null) + /// Called when user completes the ECS publish wizard + public static void RecordEcsPublishWizard(this ITelemetryLogger telemetryLogger, EcsPublishWizard payload, Func transformDatum = null) { try { @@ -15676,7 +17825,7 @@ public static void RecordEcsDeployScheduledTask(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_deployScheduledTask"; + datum.MetricName = "ecs_publishWizard"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -15692,6 +17841,7 @@ public static void RecordEcsDeployScheduledTask(this ITelemetryLogger telemetryL 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); @@ -15706,8 +17856,6 @@ public static void RecordEcsDeployScheduledTask(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("ecsLaunchType", payload.EcsLaunchType); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -15723,8 +17871,8 @@ public static void RecordEcsDeployScheduledTask(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Called when deploying a service to an ECS cluster - public static void RecordEcsDeployService(this ITelemetryLogger telemetryLogger, EcsDeployService payload, Func transformDatum = null) + /// Called when the ECS execute command is run + public static void RecordEcsRunExecuteCommand(this ITelemetryLogger telemetryLogger, EcsRunExecuteCommand payload, Func transformDatum = null) { try { @@ -15740,7 +17888,7 @@ public static void RecordEcsDeployService(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_deployService"; + datum.MetricName = "ecs_runExecuteCommand"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -15756,6 +17904,7 @@ public static void RecordEcsDeployService(this ITelemetryLogger telemetryLogger, 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); @@ -15770,7 +17919,7 @@ public static void RecordEcsDeployService(this ITelemetryLogger telemetryLogger, } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("ecsLaunchType", payload.EcsLaunchType); + datum.AddMetadata("ecsExecuteCommandType", payload.EcsExecuteCommandType); datum.AddMetadata("result", payload.Result); @@ -15787,8 +17936,8 @@ public static void RecordEcsDeployService(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Called when deploying a task to an ECS cluster - public static void RecordEcsDeployTask(this ITelemetryLogger telemetryLogger, EcsDeployTask payload, Func transformDatum = null) + /// Stop ECS task(s) + public static void RecordEcsStopTask(this ITelemetryLogger telemetryLogger, EcsStopTask payload, Func transformDatum = null) { try { @@ -15804,8 +17953,8 @@ public static void RecordEcsDeployTask(this ITelemetryLogger telemetryLogger, Ec metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_deployTask"; - datum.Unit = Unit.None; + datum.MetricName = "ecs_stopTask"; + datum.Unit = Unit.Count; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -15820,6 +17969,7 @@ public static void RecordEcsDeployTask(this ITelemetryLogger telemetryLogger, Ec 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); @@ -15834,8 +17984,6 @@ public static void RecordEcsDeployTask(this ITelemetryLogger telemetryLogger, Ec } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("ecsLaunchType", payload.EcsLaunchType); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -15851,8 +17999,8 @@ public static void RecordEcsDeployTask(this ITelemetryLogger telemetryLogger, Ec } /// Records Telemetry Event: - /// Called when ECS execute command is disabled - public static void RecordEcsDisableExecuteCommand(this ITelemetryLogger telemetryLogger, EcsDisableExecuteCommand payload, Func transformDatum = null) + /// Called while submitting in-IDE feedback + public static void RecordFeedbackResult(this ITelemetryLogger telemetryLogger, FeedbackResult payload, Func transformDatum = null) { try { @@ -15868,7 +18016,7 @@ public static void RecordEcsDisableExecuteCommand(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_disableExecuteCommand"; + datum.MetricName = "feedback_result"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -15884,6 +18032,7 @@ public static void RecordEcsDisableExecuteCommand(this ITelemetryLogger telemetr 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); @@ -15913,8 +18062,8 @@ public static void RecordEcsDisableExecuteCommand(this ITelemetryLogger telemetr } /// Records Telemetry Event: - /// Edit configuration of an ECS service - public static void RecordEcsEditService(this ITelemetryLogger telemetryLogger, EcsEditService payload, Func transformDatum = null) + /// Use authoring features such as autocompletion, syntax checking, and highlighting, for AWS filetypes (CFN, SAM, etc.). Emit this _once_ per file-editing session for a given file. For generic code files see `ide_editCodeFile`. + public static void RecordFileEditAwsFile(this ITelemetryLogger telemetryLogger, FileEditAwsFile payload, Func transformDatum = null) { try { @@ -15930,7 +18079,7 @@ public static void RecordEcsEditService(this ITelemetryLogger telemetryLogger, E metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_editService"; + datum.MetricName = "file_editAwsFile"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -15946,6 +18095,7 @@ public static void RecordEcsEditService(this ITelemetryLogger telemetryLogger, E 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); @@ -15960,6 +18110,10 @@ public static void RecordEcsEditService(this ITelemetryLogger telemetryLogger, E } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("awsFiletype", payload.AwsFiletype); + + datum.AddMetadata("filenameExt", payload.FilenameExt); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -15975,8 +18129,8 @@ public static void RecordEcsEditService(this ITelemetryLogger telemetryLogger, E } /// Records Telemetry Event: - /// Called when ECS execute command is enabled - public static void RecordEcsEnableExecuteCommand(this ITelemetryLogger telemetryLogger, EcsEnableExecuteCommand payload, Func transformDatum = null) + /// Create an IAM resource + public static void RecordIamCreate(this ITelemetryLogger telemetryLogger, IamCreate payload, Func transformDatum = null) { try { @@ -15992,7 +18146,7 @@ public static void RecordEcsEnableExecuteCommand(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_enableExecuteCommand"; + datum.MetricName = "iam_create"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16008,6 +18162,7 @@ public static void RecordEcsEnableExecuteCommand(this ITelemetryLogger telemetry 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); @@ -16022,6 +18177,8 @@ public static void RecordEcsEnableExecuteCommand(this ITelemetryLogger telemetry } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("iamResourceType", payload.IamResourceType); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -16037,8 +18194,8 @@ public static void RecordEcsEnableExecuteCommand(this ITelemetryLogger telemetry } /// Records Telemetry Event: - /// Open to view status of an ECS Cluster - public static void RecordEcsOpenCluster(this ITelemetryLogger telemetryLogger, EcsOpenCluster payload, Func transformDatum = null) + /// Create Access Key for an IAM user + public static void RecordIamCreateUserAccessKey(this ITelemetryLogger telemetryLogger, IamCreateUserAccessKey payload, Func transformDatum = null) { try { @@ -16054,7 +18211,7 @@ public static void RecordEcsOpenCluster(this ITelemetryLogger telemetryLogger, E metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_openCluster"; + datum.MetricName = "iam_createUserAccessKey"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16070,6 +18227,7 @@ public static void RecordEcsOpenCluster(this ITelemetryLogger telemetryLogger, E 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); @@ -16099,8 +18257,8 @@ public static void RecordEcsOpenCluster(this ITelemetryLogger telemetryLogger, E } /// Records Telemetry Event: - /// Open to view status of an ECS Repository - public static void RecordEcsOpenRepository(this ITelemetryLogger telemetryLogger, EcsOpenRepository payload, Func transformDatum = null) + /// Delete an IAM resource + public static void RecordIamDelete(this ITelemetryLogger telemetryLogger, IamDelete payload, Func transformDatum = null) { try { @@ -16116,7 +18274,7 @@ public static void RecordEcsOpenRepository(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_openRepository"; + datum.MetricName = "iam_delete"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16132,6 +18290,7 @@ public static void RecordEcsOpenRepository(this ITelemetryLogger telemetryLogger 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); @@ -16146,6 +18305,8 @@ public static void RecordEcsOpenRepository(this ITelemetryLogger telemetryLogger } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("iamResourceType", payload.IamResourceType); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -16161,8 +18322,8 @@ public static void RecordEcsOpenRepository(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// Called when user completes the ECS publish wizard - public static void RecordEcsPublishWizard(this ITelemetryLogger telemetryLogger, EcsPublishWizard payload, Func transformDatum = null) + /// Delete Access Key for an IAM user + public static void RecordIamDeleteUserAccessKey(this ITelemetryLogger telemetryLogger, IamDeleteUserAccessKey payload, Func transformDatum = null) { try { @@ -16178,7 +18339,7 @@ public static void RecordEcsPublishWizard(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_publishWizard"; + datum.MetricName = "iam_deleteUserAccessKey"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16194,6 +18355,7 @@ public static void RecordEcsPublishWizard(this ITelemetryLogger telemetryLogger, 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); @@ -16223,8 +18385,8 @@ public static void RecordEcsPublishWizard(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Called when the ECS execute command is run - public static void RecordEcsRunExecuteCommand(this ITelemetryLogger telemetryLogger, EcsRunExecuteCommand payload, Func transformDatum = null) + /// Edits policy/configuration associated with an IAM resource + public static void RecordIamEdit(this ITelemetryLogger telemetryLogger, IamEdit payload, Func transformDatum = null) { try { @@ -16240,7 +18402,7 @@ public static void RecordEcsRunExecuteCommand(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_runExecuteCommand"; + datum.MetricName = "iam_edit"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16256,6 +18418,7 @@ public static void RecordEcsRunExecuteCommand(this ITelemetryLogger telemetryLog 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); @@ -16270,7 +18433,7 @@ public static void RecordEcsRunExecuteCommand(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("ecsExecuteCommandType", payload.EcsExecuteCommandType); + datum.AddMetadata("iamResourceType", payload.IamResourceType); datum.AddMetadata("result", payload.Result); @@ -16287,8 +18450,8 @@ public static void RecordEcsRunExecuteCommand(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// Stop ECS task(s) - public static void RecordEcsStopTask(this ITelemetryLogger telemetryLogger, EcsStopTask payload, Func transformDatum = null) + /// Open a window to view/edit an IAM resource + public static void RecordIamOpen(this ITelemetryLogger telemetryLogger, IamOpen payload, Func transformDatum = null) { try { @@ -16304,8 +18467,8 @@ public static void RecordEcsStopTask(this ITelemetryLogger telemetryLogger, EcsS metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ecs_stopTask"; - datum.Unit = Unit.Count; + datum.MetricName = "iam_open"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -16320,6 +18483,7 @@ public static void RecordEcsStopTask(this ITelemetryLogger telemetryLogger, EcsS 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); @@ -16334,6 +18498,8 @@ public static void RecordEcsStopTask(this ITelemetryLogger telemetryLogger, EcsS } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("iamResourceType", payload.IamResourceType); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -16349,8 +18515,8 @@ public static void RecordEcsStopTask(this ITelemetryLogger telemetryLogger, EcsS } /// Records Telemetry Event: - /// Called while submitting in-IDE feedback - public static void RecordFeedbackResult(this ITelemetryLogger telemetryLogger, FeedbackResult payload, Func transformDatum = null) + /// Open a window to view/edit IAM Group Policy + public static void RecordIamOpenGroup(this ITelemetryLogger telemetryLogger, IamOpenGroup payload, Func transformDatum = null) { try { @@ -16366,7 +18532,7 @@ public static void RecordFeedbackResult(this ITelemetryLogger telemetryLogger, F metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "feedback_result"; + datum.MetricName = "iam_openGroup"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16382,6 +18548,7 @@ public static void RecordFeedbackResult(this ITelemetryLogger telemetryLogger, F 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); @@ -16411,8 +18578,8 @@ public static void RecordFeedbackResult(this ITelemetryLogger telemetryLogger, F } /// Records Telemetry Event: - /// Use authoring features such as autocompletion, syntax checking, and highlighting, for AWS filetypes (CFN, SAM, etc.). Emit this _once_ per file-editing session for a given file. For generic code files see `ide_editCodeFile`. - public static void RecordFileEditAwsFile(this ITelemetryLogger telemetryLogger, FileEditAwsFile payload, Func transformDatum = null) + /// Open a window to view/edit IAM Role Policy + public static void RecordIamOpenRole(this ITelemetryLogger telemetryLogger, IamOpenRole payload, Func transformDatum = null) { try { @@ -16428,7 +18595,7 @@ public static void RecordFileEditAwsFile(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "file_editAwsFile"; + datum.MetricName = "iam_openRole"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16444,6 +18611,7 @@ public static void RecordFileEditAwsFile(this ITelemetryLogger telemetryLogger, 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); @@ -16458,10 +18626,6 @@ public static void RecordFileEditAwsFile(this ITelemetryLogger telemetryLogger, } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("awsFiletype", payload.AwsFiletype); - - datum.AddMetadata("filenameExt", payload.FilenameExt); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -16477,8 +18641,8 @@ public static void RecordFileEditAwsFile(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Create an IAM resource - public static void RecordIamCreate(this ITelemetryLogger telemetryLogger, IamCreate payload, Func transformDatum = null) + /// Open a window to view/edit IAM User Configuration + public static void RecordIamOpenUser(this ITelemetryLogger telemetryLogger, IamOpenUser payload, Func transformDatum = null) { try { @@ -16494,7 +18658,7 @@ public static void RecordIamCreate(this ITelemetryLogger telemetryLogger, IamCre metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "iam_create"; + datum.MetricName = "iam_openUser"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16510,6 +18674,7 @@ public static void RecordIamCreate(this ITelemetryLogger telemetryLogger, IamCre 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); @@ -16524,8 +18689,6 @@ public static void RecordIamCreate(this ITelemetryLogger telemetryLogger, IamCre } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("iamResourceType", payload.IamResourceType); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -16541,8 +18704,8 @@ public static void RecordIamCreate(this ITelemetryLogger telemetryLogger, IamCre } /// Records Telemetry Event: - /// Create Access Key for an IAM user - public static void RecordIamCreateUserAccessKey(this ITelemetryLogger telemetryLogger, IamCreateUserAccessKey payload, Func transformDatum = null) + /// User opened a code file with the given file extension. Client should DEDUPLICATE this metric (ideally hourly/daily). AWS-specific files should (also) emit `file_editAwsFile`. + public static void RecordIdeEditCodeFile(this ITelemetryLogger telemetryLogger, IdeEditCodeFile payload, Func transformDatum = null) { try { @@ -16558,7 +18721,7 @@ public static void RecordIamCreateUserAccessKey(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "iam_createUserAccessKey"; + datum.MetricName = "ide_editCodeFile"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16574,6 +18737,7 @@ public static void RecordIamCreateUserAccessKey(this ITelemetryLogger telemetryL 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); @@ -16588,7 +18752,7 @@ public static void RecordIamCreateUserAccessKey(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("filenameExt", payload.FilenameExt); datum = datum.InvokeTransform(transformDatum); @@ -16603,8 +18767,8 @@ public static void RecordIamCreateUserAccessKey(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Delete an IAM resource - public static void RecordIamDelete(this ITelemetryLogger telemetryLogger, IamDelete payload, Func transformDatum = null) + /// Called when opening the local configuration of a Lambda to edit + public static void RecordLambdaConfigure(this ITelemetryLogger telemetryLogger, LambdaConfigure payload, Func transformDatum = null) { try { @@ -16620,7 +18784,7 @@ public static void RecordIamDelete(this ITelemetryLogger telemetryLogger, IamDel metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "iam_delete"; + datum.MetricName = "lambda_configure"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16636,6 +18800,7 @@ public static void RecordIamDelete(this ITelemetryLogger telemetryLogger, IamDel 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); @@ -16650,8 +18815,6 @@ public static void RecordIamDelete(this ITelemetryLogger telemetryLogger, IamDel } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("iamResourceType", payload.IamResourceType); - datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -16667,8 +18830,8 @@ public static void RecordIamDelete(this ITelemetryLogger telemetryLogger, IamDel } /// Records Telemetry Event: - /// Delete Access Key for an IAM user - public static void RecordIamDeleteUserAccessKey(this ITelemetryLogger telemetryLogger, IamDeleteUserAccessKey payload, Func transformDatum = null) + /// Called when creating lambdas remotely + public static void RecordLambdaCreate(this ITelemetryLogger telemetryLogger, LambdaCreate payload, Func transformDatum = null) { try { @@ -16684,7 +18847,7 @@ public static void RecordIamDeleteUserAccessKey(this ITelemetryLogger telemetryL metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "iam_deleteUserAccessKey"; + datum.MetricName = "lambda_create"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16700,6 +18863,7 @@ public static void RecordIamDeleteUserAccessKey(this ITelemetryLogger telemetryL 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); @@ -16714,7 +18878,7 @@ public static void RecordIamDeleteUserAccessKey(this ITelemetryLogger telemetryL } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("runtime", payload.Runtime); datum = datum.InvokeTransform(transformDatum); @@ -16729,8 +18893,8 @@ public static void RecordIamDeleteUserAccessKey(this ITelemetryLogger telemetryL } /// Records Telemetry Event: - /// Edits policy/configuration associated with an IAM resource - public static void RecordIamEdit(this ITelemetryLogger telemetryLogger, IamEdit payload, Func transformDatum = null) + /// Called when creating a lambda project + public static void RecordLambdaCreateProject(this ITelemetryLogger telemetryLogger, LambdaCreateProject payload, Func transformDatum = null) { try { @@ -16746,7 +18910,7 @@ public static void RecordIamEdit(this ITelemetryLogger telemetryLogger, IamEdit metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "iam_edit"; + datum.MetricName = "lambda_createProject"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16762,6 +18926,7 @@ public static void RecordIamEdit(this ITelemetryLogger telemetryLogger, IamEdit 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); @@ -16776,10 +18941,14 @@ public static void RecordIamEdit(this ITelemetryLogger telemetryLogger, IamEdit } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("iamResourceType", payload.IamResourceType); + datum.AddMetadata("language", payload.Language); datum.AddMetadata("result", payload.Result); + datum.AddMetadata("templateName", payload.TemplateName); + + datum.AddMetadata("variant", payload.Variant); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -16793,8 +18962,8 @@ public static void RecordIamEdit(this ITelemetryLogger telemetryLogger, IamEdit } /// Records Telemetry Event: - /// Open a window to view/edit an IAM resource - public static void RecordIamOpen(this ITelemetryLogger telemetryLogger, IamOpen payload, Func transformDatum = null) + /// Called when creating a new Serverless Project + public static void RecordLambdaCreateServerlessLandProject(this ITelemetryLogger telemetryLogger, LambdaCreateServerlessLandProject payload, Func transformDatum = null) { try { @@ -16810,7 +18979,7 @@ public static void RecordIamOpen(this ITelemetryLogger telemetryLogger, IamOpen metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "iam_open"; + datum.MetricName = "lambda_createServerlessLandProject"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16826,6 +18995,7 @@ public static void RecordIamOpen(this ITelemetryLogger telemetryLogger, IamOpen 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); @@ -16840,9 +19010,11 @@ public static void RecordIamOpen(this ITelemetryLogger telemetryLogger, IamOpen } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("iamResourceType", payload.IamResourceType); + datum.AddMetadata("iac", payload.Iac); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("runtimeString", payload.RuntimeString); + + datum.AddMetadata("templateName", payload.TemplateName); datum = datum.InvokeTransform(transformDatum); @@ -16857,8 +19029,8 @@ public static void RecordIamOpen(this ITelemetryLogger telemetryLogger, IamOpen } /// Records Telemetry Event: - /// Open a window to view/edit IAM Group Policy - public static void RecordIamOpenGroup(this ITelemetryLogger telemetryLogger, IamOpenGroup payload, Func transformDatum = null) + /// called when deleting lambdas remotely + public static void RecordLambdaDelete(this ITelemetryLogger telemetryLogger, LambdaDelete payload, Func transformDatum = null) { try { @@ -16874,7 +19046,7 @@ public static void RecordIamOpenGroup(this ITelemetryLogger telemetryLogger, Iam metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "iam_openGroup"; + datum.MetricName = "lambda_delete"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16890,6 +19062,7 @@ public static void RecordIamOpenGroup(this ITelemetryLogger telemetryLogger, Iam 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); @@ -16919,8 +19092,8 @@ public static void RecordIamOpenGroup(this ITelemetryLogger telemetryLogger, Iam } /// Records Telemetry Event: - /// Open a window to view/edit IAM Role Policy - public static void RecordIamOpenRole(this ITelemetryLogger telemetryLogger, IamOpenRole payload, Func transformDatum = null) + /// Called when deploying a Lambda Function + public static void RecordLambdaDeploy(this ITelemetryLogger telemetryLogger, LambdaDeploy payload, Func transformDatum = null) { try { @@ -16936,7 +19109,7 @@ public static void RecordIamOpenRole(this ITelemetryLogger telemetryLogger, IamO metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "iam_openRole"; + datum.MetricName = "lambda_deploy"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -16952,6 +19125,7 @@ public static void RecordIamOpenRole(this ITelemetryLogger telemetryLogger, IamO 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); @@ -16966,8 +19140,33 @@ public static void RecordIamOpenRole(this ITelemetryLogger telemetryLogger, IamO } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("initialDeploy", payload.InitialDeploy); + + if (payload.LambdaArchitecture.HasValue) + { + datum.AddMetadata("lambdaArchitecture", payload.LambdaArchitecture.Value); + } + + datum.AddMetadata("lambdaPackageType", payload.LambdaPackageType); + + datum.AddMetadata("language", payload.Language); + + datum.AddMetadata("platform", payload.Platform); + datum.AddMetadata("result", payload.Result); + if (payload.Runtime.HasValue) + { + datum.AddMetadata("runtime", payload.Runtime.Value); + } + + datum.AddMetadata("serviceType", payload.ServiceType); + + if (payload.XrayEnabled.HasValue) + { + datum.AddMetadata("xrayEnabled", payload.XrayEnabled.Value); + } + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -16981,8 +19180,8 @@ public static void RecordIamOpenRole(this ITelemetryLogger telemetryLogger, IamO } /// Records Telemetry Event: - /// Open a window to view/edit IAM User Configuration - public static void RecordIamOpenUser(this ITelemetryLogger telemetryLogger, IamOpenUser payload, Func transformDatum = null) + /// Called when creating lambdas remotely + public static void RecordLambdaEditFunction(this ITelemetryLogger telemetryLogger, LambdaEditFunction payload, Func transformDatum = null) { try { @@ -16998,7 +19197,7 @@ public static void RecordIamOpenUser(this ITelemetryLogger telemetryLogger, IamO metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "iam_openUser"; + datum.MetricName = "lambda_editFunction"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17014,6 +19213,7 @@ public static void RecordIamOpenUser(this ITelemetryLogger telemetryLogger, IamO 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); @@ -17028,8 +19228,15 @@ public static void RecordIamOpenUser(this ITelemetryLogger telemetryLogger, IamO } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("lambdaPackageType", payload.LambdaPackageType); + datum.AddMetadata("result", payload.Result); + if (payload.Update.HasValue) + { + datum.AddMetadata("update", payload.Update.Value); + } + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -17043,8 +19250,8 @@ public static void RecordIamOpenUser(this ITelemetryLogger telemetryLogger, IamO } /// Records Telemetry Event: - /// User opened a code file with the given file extension. Client should DEDUPLICATE this metric (ideally hourly/daily). AWS-specific files should (also) emit `file_editAwsFile`. - public static void RecordIdeEditCodeFile(this ITelemetryLogger telemetryLogger, IdeEditCodeFile payload, Func transformDatum = null) + /// Jump to a lambda handler from elsewhere + public static void RecordLambdaGoToHandler(this ITelemetryLogger telemetryLogger, LambdaGoToHandler payload, Func transformDatum = null) { try { @@ -17060,7 +19267,7 @@ public static void RecordIdeEditCodeFile(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "ide_editCodeFile"; + datum.MetricName = "lambda_goToHandler"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17076,6 +19283,7 @@ public static void RecordIdeEditCodeFile(this ITelemetryLogger telemetryLogger, 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); @@ -17090,8 +19298,6 @@ public static void RecordIdeEditCodeFile(this ITelemetryLogger telemetryLogger, } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("filenameExt", payload.FilenameExt); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -17105,8 +19311,8 @@ public static void RecordIdeEditCodeFile(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Called when opening the local configuration of a Lambda to edit - public static void RecordLambdaConfigure(this ITelemetryLogger telemetryLogger, LambdaConfigure payload, Func transformDatum = null) + /// Called when importing a remote Lambda function + public static void RecordLambdaImport(this ITelemetryLogger telemetryLogger, LambdaImport payload, Func transformDatum = null) { try { @@ -17122,7 +19328,7 @@ public static void RecordLambdaConfigure(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "lambda_configure"; + datum.MetricName = "lambda_import"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17138,6 +19344,7 @@ public static void RecordLambdaConfigure(this ITelemetryLogger telemetryLogger, 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); @@ -17154,6 +19361,11 @@ public static void RecordLambdaConfigure(this ITelemetryLogger telemetryLogger, datum.AddMetadata("result", payload.Result); + if (payload.Runtime.HasValue) + { + datum.AddMetadata("runtime", payload.Runtime.Value); + } + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -17167,8 +19379,8 @@ public static void RecordLambdaConfigure(this ITelemetryLogger telemetryLogger, } /// Records Telemetry Event: - /// Called when creating lambdas remotely - public static void RecordLambdaCreate(this ITelemetryLogger telemetryLogger, LambdaCreate payload, Func transformDatum = null) + /// Called when invoking lambdas locally (with SAM in most toolkits) + public static void RecordLambdaInvokeLocal(this ITelemetryLogger telemetryLogger, LambdaInvokeLocal payload, Func transformDatum = null) { try { @@ -17184,7 +19396,7 @@ public static void RecordLambdaCreate(this ITelemetryLogger telemetryLogger, Lam metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "lambda_create"; + datum.MetricName = "lambda_invokeLocal"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17200,6 +19412,7 @@ public static void RecordLambdaCreate(this ITelemetryLogger telemetryLogger, Lam 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); @@ -17214,7 +19427,23 @@ public static void RecordLambdaCreate(this ITelemetryLogger telemetryLogger, Lam } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("runtime", payload.Runtime); + datum.AddMetadata("debug", payload.Debug); + + if (payload.LambdaArchitecture.HasValue) + { + datum.AddMetadata("lambdaArchitecture", payload.LambdaArchitecture.Value); + } + + datum.AddMetadata("lambdaPackageType", payload.LambdaPackageType); + + datum.AddMetadata("result", payload.Result); + + if (payload.Runtime.HasValue) + { + datum.AddMetadata("runtime", payload.Runtime.Value); + } + + datum.AddMetadata("version", payload.Version); datum = datum.InvokeTransform(transformDatum); @@ -17229,8 +19458,8 @@ public static void RecordLambdaCreate(this ITelemetryLogger telemetryLogger, Lam } /// Records Telemetry Event: - /// Called when creating a lambda project - public static void RecordLambdaCreateProject(this ITelemetryLogger telemetryLogger, LambdaCreateProject payload, Func transformDatum = null) + /// Called when invoking lambdas remotely + public static void RecordLambdaInvokeRemote(this ITelemetryLogger telemetryLogger, LambdaInvokeRemote payload, Func transformDatum = null) { try { @@ -17246,7 +19475,7 @@ public static void RecordLambdaCreateProject(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "lambda_createProject"; + datum.MetricName = "lambda_invokeRemote"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17262,6 +19491,7 @@ public static void RecordLambdaCreateProject(this ITelemetryLogger telemetryLogg 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); @@ -17276,13 +19506,16 @@ public static void RecordLambdaCreateProject(this ITelemetryLogger telemetryLogg } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("language", payload.Language); + datum.AddMetadata("action", payload.Action); datum.AddMetadata("result", payload.Result); - datum.AddMetadata("templateName", payload.TemplateName); + if (payload.Runtime.HasValue) + { + datum.AddMetadata("runtime", payload.Runtime.Value); + } - datum.AddMetadata("variant", payload.Variant); + datum.AddMetadata("runtimeString", payload.RuntimeString); datum = datum.InvokeTransform(transformDatum); @@ -17297,8 +19530,8 @@ public static void RecordLambdaCreateProject(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// called when deleting lambdas remotely - public static void RecordLambdaDelete(this ITelemetryLogger telemetryLogger, LambdaDelete payload, Func transformDatum = null) + /// Called when user completes the Lambda publish wizard + public static void RecordLambdaPublishWizard(this ITelemetryLogger telemetryLogger, LambdaPublishWizard payload, Func transformDatum = null) { try { @@ -17314,7 +19547,7 @@ public static void RecordLambdaDelete(this ITelemetryLogger telemetryLogger, Lam metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "lambda_delete"; + datum.MetricName = "lambda_publishWizard"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17330,6 +19563,7 @@ public static void RecordLambdaDelete(this ITelemetryLogger telemetryLogger, Lam 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); @@ -17346,6 +19580,8 @@ public static void RecordLambdaDelete(this ITelemetryLogger telemetryLogger, Lam datum.AddMetadata("result", payload.Result); + datum.AddMetadata("serviceType", payload.ServiceType); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -17359,8 +19595,8 @@ public static void RecordLambdaDelete(this ITelemetryLogger telemetryLogger, Lam } /// Records Telemetry Event: - /// Called when deploying a Lambda Function - public static void RecordLambdaDeploy(this ITelemetryLogger telemetryLogger, LambdaDeploy payload, Func transformDatum = null) + /// Lambda function was deployed from temp + public static void RecordLambdaQuickDeploy(this ITelemetryLogger telemetryLogger, LambdaQuickDeploy payload, Func transformDatum = null) { try { @@ -17376,7 +19612,7 @@ public static void RecordLambdaDeploy(this ITelemetryLogger telemetryLogger, Lam metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "lambda_deploy"; + datum.MetricName = "lambda_quickDeploy"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17392,6 +19628,7 @@ public static void RecordLambdaDeploy(this ITelemetryLogger telemetryLogger, Lam 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); @@ -17406,34 +19643,7 @@ public static void RecordLambdaDeploy(this ITelemetryLogger telemetryLogger, Lam } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("initialDeploy", payload.InitialDeploy); - - if (payload.LambdaArchitecture.HasValue) - { - datum.AddMetadata("lambdaArchitecture", payload.LambdaArchitecture.Value); - } - - datum.AddMetadata("lambdaPackageType", payload.LambdaPackageType); - - datum.AddMetadata("language", payload.Language); - - datum.AddMetadata("platform", payload.Platform); - - datum.AddMetadata("result", payload.Result); - - if (payload.Runtime.HasValue) - { - datum.AddMetadata("runtime", payload.Runtime.Value); - } - - datum.AddMetadata("serviceType", payload.ServiceType); - - datum.AddMetadata("source", payload.Source); - - if (payload.XrayEnabled.HasValue) - { - datum.AddMetadata("xrayEnabled", payload.XrayEnabled.Value); - } + datum.AddMetadata("action", payload.Action); datum = datum.InvokeTransform(transformDatum); @@ -17448,8 +19658,8 @@ public static void RecordLambdaDeploy(this ITelemetryLogger telemetryLogger, Lam } /// Records Telemetry Event: - /// Called when creating lambdas remotely - public static void RecordLambdaEditFunction(this ITelemetryLogger telemetryLogger, LambdaEditFunction payload, Func transformDatum = null) + /// Lambda function edit operation + public static void RecordLambdaQuickEditFunction(this ITelemetryLogger telemetryLogger, LambdaQuickEditFunction payload, Func transformDatum = null) { try { @@ -17465,7 +19675,7 @@ public static void RecordLambdaEditFunction(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "lambda_editFunction"; + datum.MetricName = "lambda_quickEditFunction"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17481,6 +19691,7 @@ public static void RecordLambdaEditFunction(this ITelemetryLogger telemetryLogge 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); @@ -17495,14 +19706,7 @@ public static void RecordLambdaEditFunction(this ITelemetryLogger telemetryLogge } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("lambdaPackageType", payload.LambdaPackageType); - - datum.AddMetadata("result", payload.Result); - - if (payload.Update.HasValue) - { - datum.AddMetadata("update", payload.Update.Value); - } + datum.AddMetadata("action", payload.Action); datum = datum.InvokeTransform(transformDatum); @@ -17517,8 +19721,8 @@ public static void RecordLambdaEditFunction(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Jump to a lambda handler from elsewhere - public static void RecordLambdaGoToHandler(this ITelemetryLogger telemetryLogger, LambdaGoToHandler payload, Func transformDatum = null) + /// user click remote debug checkbox + public static void RecordLambdaRemoteDebugPrecheck(this ITelemetryLogger telemetryLogger, LambdaRemoteDebugPrecheck payload, Func transformDatum = null) { try { @@ -17534,7 +19738,7 @@ public static void RecordLambdaGoToHandler(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "lambda_goToHandler"; + datum.MetricName = "lambda_remoteDebugPrecheck"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17550,6 +19754,7 @@ public static void RecordLambdaGoToHandler(this ITelemetryLogger telemetryLogger 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); @@ -17564,7 +19769,9 @@ public static void RecordLambdaGoToHandler(this ITelemetryLogger telemetryLogger } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("action", payload.Action); + + datum.AddMetadata("runtimeString", payload.RuntimeString); datum = datum.InvokeTransform(transformDatum); @@ -17579,8 +19786,8 @@ public static void RecordLambdaGoToHandler(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// Called when importing a remote Lambda function - public static void RecordLambdaImport(this ITelemetryLogger telemetryLogger, LambdaImport payload, Func transformDatum = null) + /// user start remote debugging + public static void RecordLambdaRemoteDebugStart(this ITelemetryLogger telemetryLogger, LambdaRemoteDebugStart payload, Func transformDatum = null) { try { @@ -17596,7 +19803,7 @@ public static void RecordLambdaImport(this ITelemetryLogger telemetryLogger, Lam metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "lambda_import"; + datum.MetricName = "lambda_remoteDebugStart"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17612,6 +19819,7 @@ public static void RecordLambdaImport(this ITelemetryLogger telemetryLogger, Lam 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); @@ -17626,12 +19834,9 @@ public static void RecordLambdaImport(this ITelemetryLogger telemetryLogger, Lam } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("action", payload.Action); - if (payload.Runtime.HasValue) - { - datum.AddMetadata("runtime", payload.Runtime.Value); - } + datum.AddMetadata("runtimeString", payload.RuntimeString); datum = datum.InvokeTransform(transformDatum); @@ -17646,8 +19851,8 @@ public static void RecordLambdaImport(this ITelemetryLogger telemetryLogger, Lam } /// Records Telemetry Event: - /// Called when invoking lambdas locally (with SAM in most toolkits) - public static void RecordLambdaInvokeLocal(this ITelemetryLogger telemetryLogger, LambdaInvokeLocal payload, Func transformDatum = null) + /// user stop remote debugging + public static void RecordLambdaRemoteDebugStop(this ITelemetryLogger telemetryLogger, LambdaRemoteDebugStop payload, Func transformDatum = null) { try { @@ -17663,7 +19868,7 @@ public static void RecordLambdaInvokeLocal(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "lambda_invokeLocal"; + datum.MetricName = "lambda_remoteDebugStop"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17679,6 +19884,7 @@ public static void RecordLambdaInvokeLocal(this ITelemetryLogger telemetryLogger 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); @@ -17693,26 +19899,11 @@ public static void RecordLambdaInvokeLocal(this ITelemetryLogger telemetryLogger } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("debug", payload.Debug); - - if (payload.LambdaArchitecture.HasValue) - { - datum.AddMetadata("lambdaArchitecture", payload.LambdaArchitecture.Value); - } - - datum.AddMetadata("lambdaPackageType", payload.LambdaPackageType); - - datum.AddMetadata("result", payload.Result); - - if (payload.Runtime.HasValue) + if (payload.SessionDuration.HasValue) { - datum.AddMetadata("runtime", payload.Runtime.Value); + datum.AddMetadata("sessionDuration", payload.SessionDuration.Value); } - datum.AddMetadata("source", payload.Source); - - datum.AddMetadata("version", payload.Version); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -17726,8 +19917,8 @@ public static void RecordLambdaInvokeLocal(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// Called when invoking lambdas remotely - public static void RecordLambdaInvokeRemote(this ITelemetryLogger telemetryLogger, LambdaInvokeRemote payload, Func transformDatum = null) + /// Called when updating a Lambda function's code outside the context of a SAM template + public static void RecordLambdaUpdateFunctionCode(this ITelemetryLogger telemetryLogger, LambdaUpdateFunctionCode payload, Func transformDatum = null) { try { @@ -17743,7 +19934,7 @@ public static void RecordLambdaInvokeRemote(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "lambda_invokeRemote"; + datum.MetricName = "lambda_updateFunctionCode"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17759,6 +19950,7 @@ public static void RecordLambdaInvokeRemote(this ITelemetryLogger telemetryLogge 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); @@ -17780,8 +19972,6 @@ public static void RecordLambdaInvokeRemote(this ITelemetryLogger telemetryLogge datum.AddMetadata("runtime", payload.Runtime.Value); } - datum.AddMetadata("source", payload.Source); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -17795,8 +19985,8 @@ public static void RecordLambdaInvokeRemote(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Called when user completes the Lambda publish wizard - public static void RecordLambdaPublishWizard(this ITelemetryLogger telemetryLogger, LambdaPublishWizard payload, Func transformDatum = null) + /// Lambda URI handler was invoked + public static void RecordLambdaUriHandler(this ITelemetryLogger telemetryLogger, LambdaUriHandler payload, Func transformDatum = null) { try { @@ -17812,7 +20002,7 @@ public static void RecordLambdaPublishWizard(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "lambda_publishWizard"; + datum.MetricName = "lambda_uriHandler"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -17828,6 +20018,7 @@ public static void RecordLambdaPublishWizard(this ITelemetryLogger telemetryLogg 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); @@ -17842,12 +20033,6 @@ public static void RecordLambdaPublishWizard(this ITelemetryLogger telemetryLogg } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); - - datum.AddMetadata("serviceType", payload.ServiceType); - - datum.AddMetadata("source", payload.Source); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -17861,8 +20046,8 @@ public static void RecordLambdaPublishWizard(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// Called when updating a Lambda function's code outside the context of a SAM template - public static void RecordLambdaUpdateFunctionCode(this ITelemetryLogger telemetryLogger, LambdaUpdateFunctionCode payload, Func transformDatum = null) + /// Sets up a language server + public static void RecordLanguageServerSetup(this ITelemetryLogger telemetryLogger, LanguageServerSetup payload, Func transformDatum = null) { try { @@ -17878,8 +20063,8 @@ public static void RecordLambdaUpdateFunctionCode(this ITelemetryLogger telemetr metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "lambda_updateFunctionCode"; - datum.Unit = Unit.None; + datum.MetricName = "languageServer_setup"; + datum.Unit = Unit.Milliseconds; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -17894,6 +20079,7 @@ public static void RecordLambdaUpdateFunctionCode(this ITelemetryLogger telemetr 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); @@ -17908,13 +20094,26 @@ public static void RecordLambdaUpdateFunctionCode(this ITelemetryLogger telemetr } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("id", payload.Id); - if (payload.Runtime.HasValue) + if (payload.LanguageServerLocation.HasValue) { - datum.AddMetadata("runtime", payload.Runtime.Value); + datum.AddMetadata("languageServerLocation", payload.LanguageServerLocation.Value); + } + + datum.AddMetadata("languageServerSetupStage", payload.LanguageServerSetupStage); + + datum.AddMetadata("languageServerVersion", payload.LanguageServerVersion); + + if (payload.ManifestLocation.HasValue) + { + datum.AddMetadata("manifestLocation", payload.ManifestLocation.Value); } + datum.AddMetadata("manifestSchemaVersion", payload.ManifestSchemaVersion); + + datum.AddMetadata("result", payload.Result); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -17961,6 +20160,7 @@ public static void RecordRdsCreateConnectionConfiguration(this ITelemetryLogger 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); @@ -18027,6 +20227,7 @@ public static void RecordRdsCreateSecurityGroup(this ITelemetryLogger telemetryL 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); @@ -18089,6 +20290,7 @@ public static void RecordRdsCreateSubnetGroup(this ITelemetryLogger telemetryLog 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); @@ -18151,6 +20353,7 @@ public static void RecordRdsDeleteInstance(this ITelemetryLogger telemetryLogger 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); @@ -18213,6 +20416,7 @@ public static void RecordRdsDeleteSecurityGroup(this ITelemetryLogger telemetryL 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); @@ -18275,6 +20479,7 @@ public static void RecordRdsDeleteSubnetGroup(this ITelemetryLogger telemetryLog 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); @@ -18337,6 +20542,7 @@ public static void RecordRdsGetCredentials(this ITelemetryLogger telemetryLogger 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); @@ -18403,6 +20609,7 @@ public static void RecordRdsLaunchInstance(this ITelemetryLogger telemetryLogger 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); @@ -18465,6 +20672,7 @@ public static void RecordRdsOpenInstances(this ITelemetryLogger telemetryLogger, 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); @@ -18527,6 +20735,7 @@ public static void RecordRdsOpenSecurityGroups(this ITelemetryLogger telemetryLo 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); @@ -18589,6 +20798,7 @@ public static void RecordRdsOpenSubnets(this ITelemetryLogger telemetryLogger, R 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); @@ -18651,6 +20861,7 @@ public static void RecordRedshiftCreateConnectionConfiguration(this ITelemetryLo 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); @@ -18715,6 +20926,7 @@ public static void RecordRedshiftGetCredentials(this ITelemetryLogger telemetryL 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); @@ -18779,6 +20991,7 @@ public static void RecordS3CopyBucketName(this ITelemetryLogger telemetryLogger, 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); @@ -18839,6 +21052,7 @@ public static void RecordS3CopyPath(this ITelemetryLogger telemetryLogger, S3Cop 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); @@ -18899,6 +21113,7 @@ public static void RecordS3CopyUri(this ITelemetryLogger telemetryLogger, S3Copy 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); @@ -18961,6 +21176,7 @@ public static void RecordS3CopyUrl(this ITelemetryLogger telemetryLogger, S3Copy 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); @@ -19025,6 +21241,7 @@ public static void RecordS3CreateBucket(this ITelemetryLogger telemetryLogger, S 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); @@ -19087,6 +21304,7 @@ public static void RecordS3CreateFolder(this ITelemetryLogger telemetryLogger, S 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); @@ -19149,6 +21367,7 @@ public static void RecordS3DeleteBucket(this ITelemetryLogger telemetryLogger, S 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); @@ -19211,6 +21430,7 @@ public static void RecordS3DeleteObject(this ITelemetryLogger telemetryLogger, S 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); @@ -19283,6 +21503,7 @@ public static void RecordS3DownloadObject(this ITelemetryLogger telemetryLogger, 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); @@ -19360,6 +21581,7 @@ public static void RecordS3DownloadObjects(this ITelemetryLogger telemetryLogger 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); @@ -19422,6 +21644,7 @@ public static void RecordS3EditObject(this ITelemetryLogger telemetryLogger, S3E 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); @@ -19489,6 +21712,7 @@ public static void RecordS3OpenBucketProperties(this ITelemetryLogger telemetryL 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); @@ -19551,6 +21775,7 @@ public static void RecordS3OpenEditor(this ITelemetryLogger telemetryLogger, S3O 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); @@ -19613,6 +21838,7 @@ public static void RecordS3OpenMultipartUpload(this ITelemetryLogger telemetryLo 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); @@ -19675,6 +21901,7 @@ public static void RecordS3RenameObject(this ITelemetryLogger telemetryLogger, S 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); @@ -19737,6 +21964,7 @@ public static void RecordS3UploadObject(this ITelemetryLogger telemetryLogger, S 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); @@ -19814,6 +22042,7 @@ public static void RecordS3UploadObjects(this ITelemetryLogger telemetryLogger, 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); @@ -19876,6 +22105,7 @@ public static void RecordSamBuild(this ITelemetryLogger telemetryLogger, SamBuil 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); @@ -19895,8 +22125,6 @@ public static void RecordSamBuild(this ITelemetryLogger telemetryLogger, SamBuil datum.AddMetadata("lambdaPackageType", payload.LambdaPackageType.Value); } - datum.AddMetadata("source", payload.Source); - datum.AddMetadata("version", payload.Version); datum = datum.InvokeTransform(transformDatum); @@ -19945,6 +22173,7 @@ public static void RecordSamDeploy(this ITelemetryLogger telemetryLogger, SamDep 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); @@ -19961,8 +22190,6 @@ public static void RecordSamDeploy(this ITelemetryLogger telemetryLogger, SamDep datum.AddMetadata("result", payload.Result); - datum.AddMetadata("source", payload.Source); - datum.AddMetadata("version", payload.Version); datum = datum.InvokeTransform(transformDatum); @@ -20011,6 +22238,7 @@ public static void RecordSamInfo(this ITelemetryLogger telemetryLogger, SamInfo 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); @@ -20075,6 +22303,7 @@ public static void RecordSamInit(this ITelemetryLogger telemetryLogger, SamInit 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); @@ -20158,6 +22387,7 @@ public static void RecordSamSync(this ITelemetryLogger telemetryLogger, SamSync 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); @@ -20179,8 +22409,6 @@ public static void RecordSamSync(this ITelemetryLogger telemetryLogger, SamSync datum.AddMetadata("result", payload.Result); - datum.AddMetadata("source", payload.Source); - datum.AddMetadata("syncedResources", payload.SyncedResources); datum.AddMetadata("version", payload.Version); @@ -20231,6 +22459,7 @@ public static void RecordSchemasDownload(this ITelemetryLogger telemetryLogger, 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); @@ -20298,6 +22527,7 @@ public static void RecordSchemasSearch(this ITelemetryLogger telemetryLogger, Sc 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); @@ -20360,6 +22590,7 @@ public static void RecordSchemasView(this ITelemetryLogger telemetryLogger, Sche 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); @@ -20422,6 +22653,7 @@ public static void RecordSessionEnd(this ITelemetryLogger telemetryLogger, Sessi 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); @@ -20482,6 +22714,7 @@ public static void RecordSessionStart(this ITelemetryLogger telemetryLogger, Ses 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); @@ -20542,6 +22775,7 @@ public static void RecordSnsCreateSubscription(this ITelemetryLogger telemetryLo 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); @@ -20604,6 +22838,7 @@ public static void RecordSnsCreateTopic(this ITelemetryLogger telemetryLogger, S 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); @@ -20666,6 +22901,7 @@ public static void RecordSnsDeleteSubscription(this ITelemetryLogger telemetryLo 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); @@ -20728,6 +22964,7 @@ public static void RecordSnsDeleteTopic(this ITelemetryLogger telemetryLogger, S 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); @@ -20790,6 +23027,7 @@ public static void RecordSnsOpenSubscriptions(this ITelemetryLogger telemetryLog 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); @@ -20852,6 +23090,7 @@ public static void RecordSnsOpenTopic(this ITelemetryLogger telemetryLogger, Sns 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); @@ -20914,6 +23153,7 @@ public static void RecordSnsPublishMessage(this ITelemetryLogger telemetryLogger 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); @@ -20976,6 +23216,7 @@ public static void RecordSqsConfigureLambdaTrigger(this ITelemetryLogger telemet 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); @@ -21040,6 +23281,7 @@ public static void RecordSqsCreateQueue(this ITelemetryLogger telemetryLogger, S 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); @@ -21107,6 +23349,7 @@ public static void RecordSqsDeleteMessages(this ITelemetryLogger telemetryLogger 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); @@ -21171,6 +23414,7 @@ public static void RecordSqsDeleteQueue(this ITelemetryLogger telemetryLogger, S 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); @@ -21238,6 +23482,7 @@ public static void RecordSqsEditQueueParameters(this ITelemetryLogger telemetryL 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); @@ -21302,6 +23547,7 @@ public static void RecordSqsOpenQueue(this ITelemetryLogger telemetryLogger, Sqs 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); @@ -21364,6 +23610,7 @@ public static void RecordSqsPurgeQueue(this ITelemetryLogger telemetryLogger, Sq 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); @@ -21428,6 +23675,7 @@ public static void RecordSqsSendMessage(this ITelemetryLogger telemetryLogger, S 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); @@ -21492,6 +23740,7 @@ public static void RecordSqsSubscribeSns(this ITelemetryLogger telemetryLogger, 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); @@ -21556,6 +23805,7 @@ public static void RecordThreatComposerClosed(this ITelemetryLogger telemetryLog 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); @@ -21618,6 +23868,7 @@ public static void RecordThreatComposerCreated(this ITelemetryLogger telemetryLo 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); @@ -21680,6 +23931,7 @@ public static void RecordThreatComposerError(this ITelemetryLogger telemetryLogg 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); @@ -21742,6 +23994,7 @@ public static void RecordThreatComposerFileSaved(this ITelemetryLogger telemetry 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); @@ -21806,6 +24059,7 @@ public static void RecordThreatComposerOpened(this ITelemetryLogger telemetryLog 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); @@ -21835,8 +24089,8 @@ public static void RecordThreatComposerOpened(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// The user closed 'something' (specified by 'module'). Examples: a view, feature, resource, ... - public static void RecordToolkitCloseModule(this ITelemetryLogger telemetryLogger, ToolkitCloseModule payload, Func transformDatum = null) + /// The module has closed/terminated. Use this when the module is done being used. + public static void RecordToolkitDidCloseModule(this ITelemetryLogger telemetryLogger, ToolkitDidCloseModule payload, Func transformDatum = null) { try { @@ -21852,7 +24106,7 @@ public static void RecordToolkitCloseModule(this ITelemetryLogger telemetryLogge metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "toolkit_closeModule"; + datum.MetricName = "toolkit_didCloseModule"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -21868,6 +24122,7 @@ public static void RecordToolkitCloseModule(this ITelemetryLogger telemetryLogge 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); @@ -21897,8 +24152,8 @@ public static void RecordToolkitCloseModule(this ITelemetryLogger telemetryLogge } /// Records Telemetry Event: - /// Represents the current enabled state of a feature. Used to track user journey through a feature. Emitted after feature-specific operations of interest in the Toolkit. - public static void RecordToolkitFeatureState(this ITelemetryLogger telemetryLogger, ToolkitFeatureState payload, Func transformDatum = null) + /// The module has loaded, i.e it has rendered/resolved/finished. You can use this metric by itself, OR after `toolkit_willOpenModule` + `traceId` to close the loop on an asynchronous operation. + public static void RecordToolkitDidLoadModule(this ITelemetryLogger telemetryLogger, ToolkitDidLoadModule payload, Func transformDatum = null) { try { @@ -21914,7 +24169,7 @@ public static void RecordToolkitFeatureState(this ITelemetryLogger telemetryLogg metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "toolkit_featureState"; + datum.MetricName = "toolkit_didLoadModule"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -21930,6 +24185,7 @@ public static void RecordToolkitFeatureState(this ITelemetryLogger telemetryLogg 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); @@ -21944,26 +24200,16 @@ public static void RecordToolkitFeatureState(this ITelemetryLogger telemetryLogg } datum.AddMetadata("locale", payload.Locale); - if (payload.AuthStatus.HasValue) - { - datum.AddMetadata("authStatus", payload.AuthStatus.Value); - } - - if (payload.CredentialSourceId.HasValue) - { - datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); - } - - if (payload.CredentialType.HasValue) + if (payload.Attempts.HasValue) { - datum.AddMetadata("credentialType", payload.CredentialType.Value); + datum.AddMetadata("attempts", payload.Attempts.Value); } - datum.AddMetadata("enabled", payload.Enabled); + datum.AddMetadata("module", payload.Module); - datum.AddMetadata("featureId", payload.FeatureId); + datum.AddMetadata("result", payload.Result); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("version", payload.Version); datum = datum.InvokeTransform(transformDatum); @@ -21978,8 +24224,8 @@ public static void RecordToolkitFeatureState(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// The toolkit tried to retrieve blob data from a url - public static void RecordToolkitGetExternalResource(this ITelemetryLogger telemetryLogger, ToolkitGetExternalResource payload, Func transformDatum = null) + /// Represents the current enabled state of a feature. Used to track user journey through a feature. Emitted after feature-specific operations of interest in the Toolkit. + public static void RecordToolkitFeatureState(this ITelemetryLogger telemetryLogger, ToolkitFeatureState payload, Func transformDatum = null) { try { @@ -21995,7 +24241,7 @@ public static void RecordToolkitGetExternalResource(this ITelemetryLogger teleme metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "toolkit_getExternalResource"; + datum.MetricName = "toolkit_featureState"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -22011,6 +24257,7 @@ public static void RecordToolkitGetExternalResource(this ITelemetryLogger teleme 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); @@ -22025,9 +24272,24 @@ public static void RecordToolkitGetExternalResource(this ITelemetryLogger teleme } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("result", payload.Result); + if (payload.AuthStatus.HasValue) + { + datum.AddMetadata("authStatus", payload.AuthStatus.Value); + } - datum.AddMetadata("url", payload.Url); + if (payload.CredentialSourceId.HasValue) + { + datum.AddMetadata("credentialSourceId", payload.CredentialSourceId.Value); + } + + if (payload.CredentialType.HasValue) + { + datum.AddMetadata("credentialType", payload.CredentialType.Value); + } + + datum.AddMetadata("enabled", payload.Enabled); + + datum.AddMetadata("featureId", payload.FeatureId); datum = datum.InvokeTransform(transformDatum); @@ -22042,8 +24304,8 @@ public static void RecordToolkitGetExternalResource(this ITelemetryLogger teleme } /// Records Telemetry Event: - /// The Toolkit has completed initialization - public static void RecordToolkitInit(this ITelemetryLogger telemetryLogger, ToolkitInit payload, Func transformDatum = null) + /// The toolkit tried to retrieve blob data from a url + public static void RecordToolkitGetExternalResource(this ITelemetryLogger telemetryLogger, ToolkitGetExternalResource payload, Func transformDatum = null) { try { @@ -22059,7 +24321,7 @@ public static void RecordToolkitInit(this ITelemetryLogger telemetryLogger, Tool metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "toolkit_init"; + datum.MetricName = "toolkit_getExternalResource"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -22075,6 +24337,7 @@ public static void RecordToolkitInit(this ITelemetryLogger telemetryLogger, Tool 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); @@ -22089,10 +24352,9 @@ public static void RecordToolkitInit(this ITelemetryLogger telemetryLogger, Tool } datum.AddMetadata("locale", payload.Locale); - if (payload.Result.HasValue) - { - datum.AddMetadata("result", payload.Result.Value); - } + datum.AddMetadata("result", payload.Result); + + datum.AddMetadata("url", payload.Url); datum = datum.InvokeTransform(transformDatum); @@ -22107,8 +24369,8 @@ public static void RecordToolkitInit(this ITelemetryLogger telemetryLogger, Tool } /// Records Telemetry Event: - /// The Toolkit has completed initialization for the specified module. - public static void RecordToolkitInitModule(this ITelemetryLogger telemetryLogger, ToolkitInitModule payload, Func transformDatum = null) + /// The Toolkit has completed initialization + public static void RecordToolkitInit(this ITelemetryLogger telemetryLogger, ToolkitInit payload, Func transformDatum = null) { try { @@ -22124,7 +24386,7 @@ public static void RecordToolkitInitModule(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "toolkit_initModule"; + datum.MetricName = "toolkit_init"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -22140,6 +24402,7 @@ public static void RecordToolkitInitModule(this ITelemetryLogger telemetryLogger 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); @@ -22154,17 +24417,11 @@ public static void RecordToolkitInitModule(this ITelemetryLogger telemetryLogger } datum.AddMetadata("locale", payload.Locale); - if (payload.Attempts.HasValue) + if (payload.Result.HasValue) { - datum.AddMetadata("attempts", payload.Attempts.Value); + datum.AddMetadata("result", payload.Result.Value); } - datum.AddMetadata("module", payload.Module); - - datum.AddMetadata("result", payload.Result); - - datum.AddMetadata("version", payload.Version); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -22211,6 +24468,7 @@ public static void RecordToolkitInvokeAction(this ITelemetryLogger telemetryLogg 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); @@ -22233,8 +24491,6 @@ public static void RecordToolkitInvokeAction(this ITelemetryLogger telemetryLogg datum.AddMetadata("result", payload.Result); - datum.AddMetadata("source", payload.Source); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -22248,8 +24504,8 @@ public static void RecordToolkitInvokeAction(this ITelemetryLogger telemetryLogg } /// Records Telemetry Event: - /// User opened 'something' (specified by 'module'). Examples: a view, feature, resource, ... - public static void RecordToolkitOpenModule(this ITelemetryLogger telemetryLogger, ToolkitOpenModule payload, Func transformDatum = null) + /// Toolkit presented an action. `source` is the notification that produced the action. See also `toolkit_showNotification`. + public static void RecordToolkitShowAction(this ITelemetryLogger telemetryLogger, ToolkitShowAction payload, Func transformDatum = null) { try { @@ -22265,7 +24521,7 @@ public static void RecordToolkitOpenModule(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "toolkit_openModule"; + datum.MetricName = "toolkit_showAction"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -22281,6 +24537,7 @@ public static void RecordToolkitOpenModule(this ITelemetryLogger telemetryLogger 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); @@ -22295,11 +24552,11 @@ public static void RecordToolkitOpenModule(this ITelemetryLogger telemetryLogger } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("module", payload.Module); + datum.AddMetadata("component", payload.Component); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("id", payload.Id); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("result", payload.Result); datum = datum.InvokeTransform(transformDatum); @@ -22314,8 +24571,8 @@ public static void RecordToolkitOpenModule(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// Toolkit presented an action. `source` is the notification that produced the action. See also `toolkit_showNotification`. - public static void RecordToolkitShowAction(this ITelemetryLogger telemetryLogger, ToolkitShowAction payload, Func transformDatum = null) + /// Show a notification message, optionally with selected action set in `userChoice`. See also `toolkit_showAction`. + public static void RecordToolkitShowNotification(this ITelemetryLogger telemetryLogger, ToolkitShowNotification payload, Func transformDatum = null) { try { @@ -22331,7 +24588,7 @@ public static void RecordToolkitShowAction(this ITelemetryLogger telemetryLogger metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "toolkit_showAction"; + datum.MetricName = "toolkit_showNotification"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -22347,6 +24604,7 @@ public static void RecordToolkitShowAction(this ITelemetryLogger telemetryLogger 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); @@ -22367,7 +24625,7 @@ public static void RecordToolkitShowAction(this ITelemetryLogger telemetryLogger datum.AddMetadata("result", payload.Result); - datum.AddMetadata("source", payload.Source); + datum.AddMetadata("userChoice", payload.UserChoice); datum = datum.InvokeTransform(transformDatum); @@ -22382,8 +24640,8 @@ public static void RecordToolkitShowAction(this ITelemetryLogger telemetryLogger } /// Records Telemetry Event: - /// Show a notification message, optionally with selected action set in `userChoice`. See also `toolkit_showAction`. - public static void RecordToolkitShowNotification(this ITelemetryLogger telemetryLogger, ToolkitShowNotification payload, Func transformDatum = null) + /// Generic metric for tracking arbitrary scenarios that are not yet formalized into a full metric. + public static void RecordToolkitTrackScenario(this ITelemetryLogger telemetryLogger, ToolkitTrackScenario payload, Func transformDatum = null) { try { @@ -22399,8 +24657,8 @@ public static void RecordToolkitShowNotification(this ITelemetryLogger telemetry metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "toolkit_showNotification"; - datum.Unit = Unit.None; + datum.MetricName = "toolkit_trackScenario"; + datum.Unit = Unit.Count; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -22415,6 +24673,7 @@ public static void RecordToolkitShowNotification(this ITelemetryLogger telemetry 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); @@ -22429,13 +24688,13 @@ public static void RecordToolkitShowNotification(this ITelemetryLogger telemetry } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("component", payload.Component); + datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); - datum.AddMetadata("id", payload.Id); + datum.AddMetadata("count", payload.Count); - datum.AddMetadata("result", payload.Result); + datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - datum.AddMetadata("userChoice", payload.UserChoice); + datum.AddMetadata("scenario", payload.Scenario); datum = datum.InvokeTransform(transformDatum); @@ -22450,8 +24709,8 @@ public static void RecordToolkitShowNotification(this ITelemetryLogger telemetry } /// Records Telemetry Event: - /// Generic metric for tracking arbitrary scenarios that are not yet formalized into a full metric. - public static void RecordToolkitTrackScenario(this ITelemetryLogger telemetryLogger, ToolkitTrackScenario payload, Func transformDatum = null) + /// View logs for the toolkit + public static void RecordToolkitViewLogs(this ITelemetryLogger telemetryLogger, ToolkitViewLogs payload, Func transformDatum = null) { try { @@ -22467,8 +24726,8 @@ public static void RecordToolkitTrackScenario(this ITelemetryLogger telemetryLog metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "toolkit_trackScenario"; - datum.Unit = Unit.Count; + datum.MetricName = "toolkit_viewLogs"; + datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; if (payload.Value.HasValue) @@ -22483,6 +24742,7 @@ public static void RecordToolkitTrackScenario(this ITelemetryLogger telemetryLog 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); @@ -22497,14 +24757,6 @@ public static void RecordToolkitTrackScenario(this ITelemetryLogger telemetryLog } datum.AddMetadata("locale", payload.Locale); - datum.AddMetadata("amazonqConversationId", payload.AmazonqConversationId); - - datum.AddMetadata("count", payload.Count); - - datum.AddMetadata("credentialStartUrl", payload.CredentialStartUrl); - - datum.AddMetadata("scenario", payload.Scenario); - datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -22518,8 +24770,8 @@ public static void RecordToolkitTrackScenario(this ITelemetryLogger telemetryLog } /// Records Telemetry Event: - /// View logs for the toolkit - public static void RecordToolkitViewLogs(this ITelemetryLogger telemetryLogger, ToolkitViewLogs payload, Func transformDatum = null) + /// Indicates a module opening attempt began, not its successful completion. For load confirmation, use `toolkit_didLoadModule` with matching `traceId`. This separation handles asynchronous processes that can't be captured in a single metric. 'Module' refers to components like views, features, resources, etc. + public static void RecordToolkitWillOpenModule(this ITelemetryLogger telemetryLogger, ToolkitWillOpenModule payload, Func transformDatum = null) { try { @@ -22535,7 +24787,7 @@ public static void RecordToolkitViewLogs(this ITelemetryLogger telemetryLogger, metrics.Data = new List(); var datum = new MetricDatum(); - datum.MetricName = "toolkit_viewLogs"; + datum.MetricName = "toolkit_willOpenModule"; datum.Unit = Unit.None; datum.Passive = payload.Passive; datum.TrackPerformance = payload.TrackPerformance; @@ -22551,6 +24803,7 @@ public static void RecordToolkitViewLogs(this ITelemetryLogger telemetryLogger, 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); @@ -22565,6 +24818,10 @@ public static void RecordToolkitViewLogs(this ITelemetryLogger telemetryLogger, } datum.AddMetadata("locale", payload.Locale); + datum.AddMetadata("module", payload.Module); + + datum.AddMetadata("result", payload.Result); + datum = datum.InvokeTransform(transformDatum); metrics.Data.Add(datum); @@ -22611,6 +24868,7 @@ public static void RecordUiClick(this ITelemetryLogger telemetryLogger, UiClick 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); @@ -22673,6 +24931,7 @@ public static void RecordVpcOpenACLs(this ITelemetryLogger telemetryLogger, VpcO 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); @@ -22735,6 +24994,7 @@ public static void RecordVpcOpenGateways(this ITelemetryLogger telemetryLogger, 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); @@ -22797,6 +25057,7 @@ public static void RecordVpcOpenRouteTables(this ITelemetryLogger telemetryLogge 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); @@ -22859,6 +25120,7 @@ public static void RecordVpcOpenSubnets(this ITelemetryLogger telemetryLogger, V 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); @@ -22921,6 +25183,7 @@ public static void RecordVpcOpenVPCs(this ITelemetryLogger telemetryLogger, VpcO 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); @@ -22963,6 +25226,12 @@ public struct AmazonqUploadIntent /// TASK_ASSIST_PLANNING public static readonly AmazonqUploadIntent TASKASSISTPLANNING = new AmazonqUploadIntent("TASK_ASSIST_PLANNING"); + /// AUTOMATIC_FILE_SECURITY_SCAN + public static readonly AmazonqUploadIntent AUTOMATICFILESECURITYSCAN = new AmazonqUploadIntent("AUTOMATIC_FILE_SECURITY_SCAN"); + + /// FULL_PROJECT_SECURITY_SCAN + public static readonly AmazonqUploadIntent FULLPROJECTSECURITYSCAN = new AmazonqUploadIntent("FULL_PROJECT_SECURITY_SCAN"); + public AmazonqUploadIntent(string value) { this._value = value; @@ -23704,6 +25973,9 @@ public struct CodewhispererLanguage private string _value; + /// abap + public static readonly CodewhispererLanguage Abap = new CodewhispererLanguage("abap"); + /// c public static readonly CodewhispererLanguage C = new CodewhispererLanguage("c"); @@ -24109,7 +26381,76 @@ public override string ToString() } /// Metric field type - /// Indicates the specific interaction type with a message in a conversation + /// Type of interaction with agentic chat messages + public struct CwsprAgenticChatInteractionType + { + + private string _value; + + /// RejectDiff + public static readonly CwsprAgenticChatInteractionType RejectDiff = new CwsprAgenticChatInteractionType("RejectDiff"); + + /// GeneratedDiff + public static readonly CwsprAgenticChatInteractionType GeneratedDiff = new CwsprAgenticChatInteractionType("GeneratedDiff"); + + /// RunCommand + public static readonly CwsprAgenticChatInteractionType RunCommand = new CwsprAgenticChatInteractionType("RunCommand"); + + /// GeneratedCommand + public static readonly CwsprAgenticChatInteractionType GeneratedCommand = new CwsprAgenticChatInteractionType("GeneratedCommand"); + + /// StopChat + public static readonly CwsprAgenticChatInteractionType StopChat = new CwsprAgenticChatInteractionType("StopChat"); + + public CwsprAgenticChatInteractionType(string value) + { + this._value = value; + } + + public override string ToString() + { + return this._value; + } + } + + /// Metric field type + /// Identifies the type of conversation + public struct CwsprChatConversationType + { + + private string _value; + + /// Chat + public static readonly CwsprChatConversationType Chat = new CwsprChatConversationType("Chat"); + + /// InlineChat + public static readonly CwsprChatConversationType InlineChat = new CwsprChatConversationType("InlineChat"); + + /// Assign + public static readonly CwsprChatConversationType Assign = new CwsprChatConversationType("Assign"); + + /// Transform + public static readonly CwsprChatConversationType Transform = new CwsprChatConversationType("Transform"); + + /// AgenticChat + public static readonly CwsprChatConversationType AgenticChat = new CwsprChatConversationType("AgenticChat"); + + /// AgenticChatWithToolUse + public static readonly CwsprChatConversationType AgenticChatWithToolUse = new CwsprChatConversationType("AgenticChatWithToolUse"); + + public CwsprChatConversationType(string value) + { + this._value = value; + } + + public override string ToString() + { + return this._value; + } + } + + /// Metric field type + /// (Deprecated, use `interactionType` instead.) User interaction type, especially for AI-related features. public struct CwsprChatInteractionType { @@ -24159,6 +26500,33 @@ public override string ToString() } } + /// Metric field type + /// Identifies the specific interaction that opens the chat panel + public struct CwsprChatTriggerInteraction + { + + private string _value; + + /// hotkeys + public static readonly CwsprChatTriggerInteraction Hotkeys = new CwsprChatTriggerInteraction("hotkeys"); + + /// click + public static readonly CwsprChatTriggerInteraction Click = new CwsprChatTriggerInteraction("click"); + + /// contextMenu + public static readonly CwsprChatTriggerInteraction ContextMenu = new CwsprChatTriggerInteraction("contextMenu"); + + public CwsprChatTriggerInteraction(string value) + { + this._value = value; + } + + public override string ToString() + { + return this._value; + } + } + /// Metric field type /// Explict user intent associated with a chat message public struct CwsprChatUserIntent @@ -24526,6 +26894,12 @@ public struct FeatureId /// amazonQ public static readonly FeatureId AmazonQ = new FeatureId("amazonQ"); + /// amazonQTest + public static readonly FeatureId AmazonQTest = new FeatureId("amazonQTest"); + + /// amazonQReview + public static readonly FeatureId AmazonQReview = new FeatureId("amazonQReview"); + /// awsExplorer public static readonly FeatureId AwsExplorer = new FeatureId("awsExplorer"); @@ -24661,13 +27035,136 @@ public struct InsightsDialogOpenSource /// explorer public static readonly InsightsDialogOpenSource Explorer = new InsightsDialogOpenSource("explorer"); - /// resultsWindow - public static readonly InsightsDialogOpenSource ResultsWindow = new InsightsDialogOpenSource("resultsWindow"); + /// resultsWindow + public static readonly InsightsDialogOpenSource ResultsWindow = new InsightsDialogOpenSource("resultsWindow"); + + /// logGroup + public static readonly InsightsDialogOpenSource LogGroup = new InsightsDialogOpenSource("logGroup"); + + public InsightsDialogOpenSource(string value) + { + this._value = value; + } + + public override string ToString() + { + return this._value; + } + } + + /// Metric field type + /// User-specified search string type while starting an insights query + public struct InsightsQueryStringType + { + + private string _value; + + /// insights + public static readonly InsightsQueryStringType Insights = new InsightsQueryStringType("insights"); + + /// searchTerm + public static readonly InsightsQueryStringType SearchTerm = new InsightsQueryStringType("searchTerm"); + + public InsightsQueryStringType(string value) + { + this._value = value; + } + + public override string ToString() + { + return this._value; + } + } + + /// Metric field type + /// User-selected time range type while starting an insights query + public struct InsightsQueryTimeType + { + + private string _value; + + /// relative + public static readonly InsightsQueryTimeType Relative = new InsightsQueryTimeType("relative"); + + /// absolute + public static readonly InsightsQueryTimeType Absolute = new InsightsQueryTimeType("absolute"); + + public InsightsQueryTimeType(string value) + { + this._value = value; + } + + public override string ToString() + { + return this._value; + } + } + + /// Metric field type + /// User interaction, especially for AI-related features. + public struct InteractionType + { + + private string _value; + + /// acceptDiff + public static readonly InteractionType AcceptDiff = new InteractionType("acceptDiff"); + + /// insertAtCursor + public static readonly InteractionType InsertAtCursor = new InteractionType("insertAtCursor"); + + /// copySnippet + public static readonly InteractionType CopySnippet = new InteractionType("copySnippet"); + + /// copy + public static readonly InteractionType Copy = new InteractionType("copy"); + + /// clickLink + public static readonly InteractionType ClickLink = new InteractionType("clickLink"); + + /// clickFollowUp + public static readonly InteractionType ClickFollowUp = new InteractionType("clickFollowUp"); + + /// hoverReference + public static readonly InteractionType HoverReference = new InteractionType("hoverReference"); + + /// upvote + public static readonly InteractionType Upvote = new InteractionType("upvote"); + + /// downvote + public static readonly InteractionType Downvote = new InteractionType("downvote"); + + /// clickBodyLink + public static readonly InteractionType ClickBodyLink = new InteractionType("clickBodyLink"); + + /// viewDiff + public static readonly InteractionType ViewDiff = new InteractionType("viewDiff"); + + public InteractionType(string value) + { + this._value = value; + } + + public override string ToString() + { + return this._value; + } + } + + /// Metric field type + /// Lambda architecture identifier + public struct LambdaArchitecture + { + + private string _value; - /// logGroup - public static readonly InsightsDialogOpenSource LogGroup = new InsightsDialogOpenSource("logGroup"); + /// x86_64 + public static readonly LambdaArchitecture X8664 = new LambdaArchitecture("x86_64"); - public InsightsDialogOpenSource(string value) + /// arm64 + public static readonly LambdaArchitecture Arm64 = new LambdaArchitecture("arm64"); + + public LambdaArchitecture(string value) { this._value = value; } @@ -24679,19 +27176,19 @@ public override string ToString() } /// Metric field type - /// User-specified search string type while starting an insights query - public struct InsightsQueryStringType + /// The Lambda Package type of the function + public struct LambdaPackageType { private string _value; - /// insights - public static readonly InsightsQueryStringType Insights = new InsightsQueryStringType("insights"); + /// Zip + public static readonly LambdaPackageType Zip = new LambdaPackageType("Zip"); - /// searchTerm - public static readonly InsightsQueryStringType SearchTerm = new InsightsQueryStringType("searchTerm"); + /// Image + public static readonly LambdaPackageType Image = new LambdaPackageType("Image"); - public InsightsQueryStringType(string value) + public LambdaPackageType(string value) { this._value = value; } @@ -24703,19 +27200,25 @@ public override string ToString() } /// Metric field type - /// User-selected time range type while starting an insights query - public struct InsightsQueryTimeType + /// The location of the language server + public struct LanguageServerLocation { private string _value; - /// relative - public static readonly InsightsQueryTimeType Relative = new InsightsQueryTimeType("relative"); + /// cache + public static readonly LanguageServerLocation Cache = new LanguageServerLocation("cache"); - /// absolute - public static readonly InsightsQueryTimeType Absolute = new InsightsQueryTimeType("absolute"); + /// remote + public static readonly LanguageServerLocation Remote = new LanguageServerLocation("remote"); - public InsightsQueryTimeType(string value) + /// fallback + public static readonly LanguageServerLocation Fallback = new LanguageServerLocation("fallback"); + + /// override + public static readonly LanguageServerLocation Override = new LanguageServerLocation("override"); + + public LanguageServerLocation(string value) { this._value = value; } @@ -24727,19 +27230,34 @@ public override string ToString() } /// Metric field type - /// Lambda architecture identifier - public struct LambdaArchitecture + /// The stage of the LSP setup process + public struct LanguageServerSetupStage { private string _value; - /// x86_64 - public static readonly LambdaArchitecture X8664 = new LambdaArchitecture("x86_64"); + /// getManifest + public static readonly LanguageServerSetupStage GetManifest = new LanguageServerSetupStage("getManifest"); - /// arm64 - public static readonly LambdaArchitecture Arm64 = new LambdaArchitecture("arm64"); + /// getServer + public static readonly LanguageServerSetupStage GetServer = new LanguageServerSetupStage("getServer"); - public LambdaArchitecture(string value) + /// validate + public static readonly LanguageServerSetupStage Validate = new LanguageServerSetupStage("validate"); + + /// launch + public static readonly LanguageServerSetupStage Launch = new LanguageServerSetupStage("launch"); + + /// handshake + public static readonly LanguageServerSetupStage Handshake = new LanguageServerSetupStage("handshake"); + + /// initialized + public static readonly LanguageServerSetupStage Initialized = new LanguageServerSetupStage("initialized"); + + /// all + public static readonly LanguageServerSetupStage All = new LanguageServerSetupStage("all"); + + public LanguageServerSetupStage(string value) { this._value = value; } @@ -24751,19 +27269,22 @@ public override string ToString() } /// Metric field type - /// The Lambda Package type of the function - public struct LambdaPackageType + /// The location of the manifest + public struct ManifestLocation { private string _value; - /// Zip - public static readonly LambdaPackageType Zip = new LambdaPackageType("Zip"); + /// cache + public static readonly ManifestLocation Cache = new ManifestLocation("cache"); - /// Image - public static readonly LambdaPackageType Image = new LambdaPackageType("Image"); + /// remote + public static readonly ManifestLocation Remote = new ManifestLocation("remote"); - public LambdaPackageType(string value) + /// override + public static readonly ManifestLocation Override = new ManifestLocation("override"); + + public ManifestLocation(string value) { this._value = value; } @@ -25008,6 +27529,36 @@ public override string ToString() } } + /// Metric field type + /// This field helps to emit the status of the operation. + public struct Status + { + + private string _value; + + /// ACCEPTED + public static readonly Status ACCEPTED = new Status("ACCEPTED"); + + /// CANCELLED + public static readonly Status CANCELLED = new Status("CANCELLED"); + + /// FAILED + public static readonly Status FAILED = new Status("FAILED"); + + /// REJECTED + public static readonly Status REJECTED = new Status("REJECTED"); + + public Status(string value) + { + this._value = value; + } + + public override string ToString() + { + return this._value; + } + } + /// Metric field type /// Describes which parts of an application (that we know of) were synced to the cloud. "Code" resources follow the SAM spec: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-sync.html public struct SyncedResources @@ -25068,6 +27619,27 @@ public override string ToString() } } + /// Metric field type + /// Transport type of the MCP server + public struct TransportType + { + + private string _value; + + /// stdio + public static readonly TransportType Stdio = new TransportType("stdio"); + + public TransportType(string value) + { + this._value = value; + } + + public override string ToString() + { + return this._value; + } + } + /// Execution of Custom Policy Checks in IAM Policy Checks public sealed class AccessanalyzerIamPolicyChecksCustomChecks : BaseTelemetryEvent { @@ -25126,60 +27698,207 @@ public AccessanalyzerIamPolicyChecksValidatePolicy() } } - /// Captures Approach generation process - public sealed class AmazonqApproachInvoke : BaseTelemetryEvent + /// An active user is when the user sends a message, and the user will be considered active until the remainder of the time window + public sealed class AmazonqActiveUser : BaseTelemetryEvent { - /// Uniquely identifies a message with which the user interacts. - public string AmazonqConversationId; - - /// Order of approach iteration. For initial code changes it is 0 - public double AmazonqGenerateApproachIteration; - - /// The time it takes to generate approach response - public double AmazonqGenerateApproachLatency; - - /// Optional - The start URL of current SSO connection + /// The start URL of current SSO connection public string CredentialStartUrl; - /// Optional - The result of the operation - public Result? Result; + /// The result of the operation + public Result Result; - public AmazonqApproachInvoke() + public AmazonqActiveUser() { this.Passive = false; this.TrackPerformance = false; } } - /// User clicked on the thumbs down button to say that they are unsatisfied - public sealed class AmazonqApproachThumbsDown : BaseTelemetryEvent + /// When a message is added to the conversation + public sealed class AmazonqAddMessage : BaseTelemetryEvent { - /// Uniquely identifies a message with which the user interacts. - public string AmazonqConversationId; + /// Optional - The currently selected customization arn(None if using the base model) + public string CodewhispererCustomizationArn; /// Optional - The start URL of current SSO connection public string CredentialStartUrl; - public AmazonqApproachThumbsDown() + /// Optional - Number of import statements in the active editor + public System.Int32? CwsprChatActiveEditorImportCount; + + /// Optional - Total number of characters in the active editor + public System.Int32? CwsprChatActiveEditorTotalCharacters; + + /// Optional - Number of code symbols added to context + public System.Int32? CwsprChatCodeContextCount; + + /// Optional - Total length of code symbols added to context + public System.Int32? CwsprChatCodeContextLength; + + /// Optional - Truncated length of code symbols added to context + public System.Int32? CwsprChatCodeContextTruncatedLength; + + /// Uniquely identifies a message with which the user interacts. + public string CwsprChatConversationId; + + /// Identifies the type of conversation + public CwsprChatConversationType CwsprChatConversationType; + + /// Optional - Number of files manually added to context + public System.Int32? CwsprChatFileContextCount; + + /// Optional - Total length of files added to context + public System.Int32? CwsprChatFileContextLength; + + /// Optional - Truncated length of files added to context + public System.Int32? CwsprChatFileContextTruncatedLength; + + /// Optional - Total length of current focus file added to context + public System.Int32? CwsprChatFocusFileContextLength; + + /// Optional - Truncated length of current focus file added to context + public System.Int32? CwsprChatFocusFileContextTruncatedLength; + + /// Optional - Number of folders manually added to context + public System.Int32? CwsprChatFolderContextCount; + + /// Optional - Number of follow ups in response + public System.Int32? CwsprChatFollowUpCount; + + /// Optional - The time between the user pressing enter and the entire response being rendered + public System.Int32? CwsprChatFullDisplayLatency; + + /// The time between when the conversation id was created and the final response from the server was received + public int CwsprChatFullResponseLatency; + + /// Optional - The time between the initial server request, including creating the conversation id, and the final response from the server + public System.Int32? CwsprChatFullServerResponseLatency; + + /// Optional - true if user has selected code snippet, false otherwise. + public System.Boolean? CwsprChatHasCodeSnippet; + + /// Optional - true if context list is displayed to user + public System.Boolean? CwsprChatHasContextList; + + /// Optional - true if query has project level context, false otherwise. + public System.Boolean? CwsprChatHasProjectContext; + + /// Unique identifier for each message in an conversation + public string CwsprChatMessageId; + + /// Optional - Programming language associated with the message + public string CwsprChatProgrammingLanguage; + + /// Optional - query latency in ms for local project context + public System.Int32? CwsprChatProjectContextQueryMs; + + /// Optional - Number of saved prompts manually added to context + public System.Int32? CwsprChatPromptContextCount; + + /// Optional - Total length of saved prompts added to context + public System.Int32? CwsprChatPromptContextLength; + + /// Optional - Truncated length of saved prompts added to context + public System.Int32? CwsprChatPromptContextTruncatedLength; + + /// Optional - Number of references in response + public System.Int32? CwsprChatReferencesCount; + + /// Number of characters in request + public int CwsprChatRequestLength; + + /// HTTP response code for message API invocation + public int CwsprChatResponseCode; + + /// Optional - Number of code snippets in response + public System.Int32? CwsprChatResponseCodeSnippetCount; + + /// Optional - Number of characters in response + public System.Int32? CwsprChatResponseLength; + + /// Optional - Number of workspace rules automatically added to context + public System.Int32? CwsprChatRuleContextCount; + + /// Optional - Total length of workspace rules added to context + public System.Int32? CwsprChatRuleContextLength; + + /// Optional - Truncated length of workspace rules added to context + public System.Int32? CwsprChatRuleContextTruncatedLength; + + /// Optional - Number of links in response + public System.Int32? CwsprChatSourceLinkCount; + + /// An array of time when successive chunks of data are received from the server + public string CwsprChatTimeBetweenChunks; + + /// Optional - An array of time when successive chunks of server responses are displayed to the user + public string CwsprChatTimeBetweenDisplays; + + /// The time between when the conversation id was created and when we got back the first usable result + public int CwsprChatTimeToFirstChunk; + + /// Optional - The time between the user pressing enter and when the first chunk of data is displayed to the user + public System.Int32? CwsprChatTimeToFirstDisplay; + + /// Optional - The time between the initial server request, including creating the conversation id, and the first usable result + public System.Int32? CwsprChatTimeToFirstUsableChunk; + + /// Identifies the specific interaction that opens the chat panel + public CwsprChatTriggerInteraction CwsprChatTriggerInteraction; + + /// Optional - Total length of user inputs added to context + public System.Int32? CwsprChatUserInputContextLength; + + /// Optional - Truncated length of user inputs added to context + public System.Int32? CwsprChatUserInputContextTruncatedLength; + + /// Optional - Explict user intent associated with a chat message + public CwsprChatUserIntent? CwsprChatUserIntent; + + /// Optional - Total length of workspace context + public System.Int32? CwsprChatWorkspaceContextLength; + + /// Optional - Truncated length of workspace context + public System.Int32? CwsprChatWorkspaceContextTruncatedLength; + + /// Optional - True if turned on, false if turned off + public System.Boolean? Enabled; + + /// Optional - The version of the language server + public string LanguageServerVersion; + + /// Optional - Request ids (comma-separated) associated with a task or action, in chronological order. For example 'id1,id2,id3' + public string RequestIds; + + public AmazonqAddMessage() { this.Passive = false; this.TrackPerformance = false; } } - /// User clicked on the thumbs up button, to mention that they are satisfied - public sealed class AmazonqApproachThumbsUp : BaseTelemetryEvent + /// Captures Approach generation process + public sealed class AmazonqApproachInvoke : BaseTelemetryEvent { /// Uniquely identifies a message with which the user interacts. public string AmazonqConversationId; + /// Order of approach iteration. For initial code changes it is 0 + public double AmazonqGenerateApproachIteration; + + /// The time it takes to generate approach response + public double AmazonqGenerateApproachLatency; + /// Optional - The start URL of current SSO connection public string CredentialStartUrl; - public AmazonqApproachThumbsUp() + /// Optional - The result of the operation + public Result? Result; + + public AmazonqApproachInvoke() { this.Passive = false; this.TrackPerformance = false; @@ -25275,6 +27994,38 @@ public AmazonqCodeGenerationThumbsUp() } } + /// This metric is used to evaluate Amazon Q's code review tool + public sealed class AmazonqCodeReviewTool : BaseTelemetryEvent + { + + /// Optional - type of artifact used in a request + public string ArtifactType; + + /// Optional - The ID of the scan job + public string CodewhispererCodeScanJobId; + + /// Optional - The compressed payload size of source files in bytes of customer project context sent for scan + public System.Int32? CodewhispererCodeScanSrcZipFileBytes; + + /// Optional - The number of issues been detected + public System.Int32? CodewhispererCodeScanTotalIssues; + + /// Optional - number of custom rules present in a request + public System.Int32? CustomRules; + + /// The result of the operation + public Result Result; + + /// Optional - scope of the operation/config can be a global or workspace level scope. + public string Scope; + + public AmazonqCodeReviewTool() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + /// Captures createUploadUrl invocation process public sealed class AmazonqCreateUpload : BaseTelemetryEvent { @@ -25291,30 +28042,108 @@ public sealed class AmazonqCreateUpload : BaseTelemetryEvent /// Optional - The start URL of current SSO connection public string CredentialStartUrl; - /// Optional - The result of the operation - public Result? Result; + /// Optional - A special token that is used together with the request ID header to help AWS troubleshoot problems. For example, this has to be provided with requestId when debugging S3 upload errors. + public string RequestId2; + + /// Optional - The result of the operation + public Result? Result; + + public AmazonqCreateUpload() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// Captures end of the conversation with amazonq /dev + public sealed class AmazonqEndChat : BaseTelemetryEvent + { + + /// Uniquely identifies a message with which the user interacts. + public string AmazonqConversationId; + + /// Optional - Total time from start to end + public System.Double? AmazonqEndOfTheConversationLatency; + + /// Optional - The start URL of current SSO connection + public string CredentialStartUrl; + + public AmazonqEndChat() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// When a user exports the current Amazon Q chat tab + public sealed class AmazonqExportTab : BaseTelemetryEvent + { + + /// Filename extension (examples: .txt, .yml, .yaml, .asl.yaml, ...), or empty string if the filename does not contain dot (.) between two chars. + public string FilenameExt; + + /// Optional - The version of the language server + public string LanguageServerVersion; + + public AmazonqExportTab() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// When a user gives feedback using vote or comment or rating in the conversation + public sealed class AmazonqFeedback : BaseTelemetryEvent + { + + /// Optional - Uniquely identifies a message with which the user interacts. + public string AmazonqConversationId; + + /// Optional - The start URL of current SSO connection + public string CredentialStartUrl; + + /// The id of the feature the user is interacting in. See also: `component`, `featureId`, `module`, `resourceType`. + public FeatureId FeatureId; - public AmazonqCreateUpload() + /// Optional - User interaction, especially for AI-related features. + public InteractionType? InteractionType; + + public AmazonqFeedback() { this.Passive = false; this.TrackPerformance = false; } } - /// Captures end of the conversation with amazonq /dev - public sealed class AmazonqEndChat : BaseTelemetryEvent + /// When a user interacts with a message in the agentic chat + public sealed class AmazonqInteractWithAgenticChat : BaseTelemetryEvent { + /// Optional - The start URL of current SSO connection + public string CredentialStartUrl; + + /// Type of interaction with agentic chat messages + public CwsprAgenticChatInteractionType CwsprAgenticChatInteractionType; + /// Uniquely identifies a message with which the user interacts. - public string AmazonqConversationId; + public string CwsprChatConversationId; - /// Optional - Total time from start to end - public System.Double? AmazonqEndOfTheConversationLatency; + /// Identifies the type of conversation + public CwsprChatConversationType CwsprChatConversationType; - /// Optional - The start URL of current SSO connection - public string CredentialStartUrl; + /// Optional - The id/s when a client side tool/s is used. + public string CwsprToolUseId; - public AmazonqEndChat() + /// Optional - True if turned on, false if turned off + public System.Boolean? Enabled; + + /// Optional - The version of the language server + public string LanguageServerVersion; + + /// Optional - Request ids (comma-separated) associated with a task or action, in chronological order. For example 'id1,id2,id3' + public string RequestIds; + + public AmazonqInteractWithAgenticChat() { this.Passive = false; this.TrackPerformance = false; @@ -25340,6 +28169,12 @@ public sealed class AmazonqInteractWithMessage : BaseTelemetryEvent /// Uniquely identifies a message with which the user interacts. public string CwsprChatConversationId; + /// Optional - Number of files manually added to context + public System.Int32? CwsprChatFileContextCount; + + /// Optional - Number of folders manually added to context + public System.Int32? CwsprChatFolderContextCount; + /// Optional - true if query has project level context, false otherwise. public System.Boolean? CwsprChatHasProjectContext; @@ -25349,7 +28184,7 @@ public sealed class AmazonqInteractWithMessage : BaseTelemetryEvent /// Optional - Identifies the entity within the message that user interacts with. public string CwsprChatInteractionTarget; - /// Indicates the specific interaction type with a message in a conversation + /// (Deprecated, use `interactionType` instead.) User interaction type, especially for AI-related features. public CwsprChatInteractionType CwsprChatInteractionType; /// Unique identifier for each message in an conversation @@ -25358,6 +28193,12 @@ public sealed class AmazonqInteractWithMessage : BaseTelemetryEvent /// Optional - Programming language associated with the message public string CwsprChatProgrammingLanguage; + /// Optional - Number of saved prompts manually added to context + public System.Int32? CwsprChatPromptContextCount; + + /// Optional - Number of workspace rules automatically added to context + public System.Int32? CwsprChatRuleContextCount; + /// Optional - Total number of code blocks inside a message in the conversation. public System.Int32? CwsprChatTotalCodeBlocks; @@ -25371,6 +28212,50 @@ public AmazonqInteractWithMessage() } } + /// This metric is emitted per LLM call in the agentic loop with or without tool execution. + public sealed class AmazonqInvokeLLM : BaseTelemetryEvent + { + + /// Optional - The start URL of current SSO connection + public string CredentialStartUrl; + + /// Uniquely identifies a message with which the user interacts. + public string CwsprChatConversationId; + + /// Identifies the type of conversation + public CwsprChatConversationType CwsprChatConversationType; + + /// Optional - An array of time when successive chunks of data are received from the server + public string CwsprChatTimeBetweenChunks; + + /// Optional - The time between when the conversation id was created and when we got back the first usable result + public System.Int32? CwsprChatTimeToFirstChunk; + + /// Client side tool/s name (ex: fsWrite, executeBash) + public string CwsprToolName; + + /// The id/s when a client side tool/s is used. + public string CwsprToolUseId; + + /// Optional - True if turned on, false if turned off + public System.Boolean? Enabled; + + /// Optional - The version of the language server + public string LanguageServerVersion; + + /// Optional - latency/s from any operation or an execution such as LLM response time. + public string Latency; + + /// Optional - latency/s from any operation or an execution like tool execution. + public string ToolCallLatency; + + public AmazonqInvokeLLM() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + /// User applied code changes generated for the task. public sealed class AmazonqIsAcceptedCodeChanges : BaseTelemetryEvent { @@ -25454,6 +28339,149 @@ public AmazonqIsReviewedChanges() } } + /// When a history file is loaded from the filesystem and open tabs are restored + public sealed class AmazonqLoadHistory : BaseTelemetryEvent + { + + /// The size of a chat history file (in bytes) + public int AmazonqHistoryFileSize; + + /// The time (in milliseconds) it takes to load chat history from filesystem + public int AmazonqTimeToLoadHistory; + + /// Optional - The version of the language server + public string LanguageServerVersion; + + /// The number of tabs automatically opened from history + public int OpenTabCount; + + public AmazonqLoadHistory() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// This metric is emitted per reload of an IDE or reinitizalize of a mcp server + public sealed class AmazonqMcpConfig : BaseTelemetryEvent + { + + /// Optional - The start URL of current SSO connection + public string CredentialStartUrl; + + /// Optional - The version of the language server + public string LanguageServerVersion; + + /// Optional - Number of servers active + public System.Int32? NumActiveServers; + + /// Optional - Number of servers in global json + public System.Int32? NumGlobalServers; + + /// Optional - Number of servers in project level json. + public System.Int32? NumProjectServers; + + /// Optional - Number of tools across servers has configuration as alwaysAllowed. + public System.Int32? NumToolsAlwaysAllowed; + + /// Optional - Number of tools across servers has configuration as denied. + public System.Int32? NumToolsDenied; + + public AmazonqMcpConfig() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// This metric is emitted per mcp server name when user reloads an IDE or does any CRUD operation on mcp config. + public sealed class AmazonqMcpServerInit : BaseTelemetryEvent + { + + /// Optional - The command of an operation + public string Command; + + /// Optional - The start URL of current SSO connection + public string CredentialStartUrl; + + /// Optional - True if turned on, false if turned off + public System.Boolean? Enabled; + + /// Optional - Time from starting the feature until ready-to-use. + public System.Int32? InitializeTime; + + /// Optional - The version of the language server + public string LanguageServerVersion; + + /// Optional - Number of tools in the operation + public System.Int32? NumTools; + + /// Optional - scope of the operation/config can be a global or workspace level scope. + public string Scope; + + /// Optional - Transport type of the MCP server + public TransportType? TransportType; + + public AmazonqMcpServerInit() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// When an error has occured in response to a prompt + public sealed class AmazonqMessageResponseError : BaseTelemetryEvent + { + + /// Optional - The start URL of current SSO connection + public string CredentialStartUrl; + + /// Optional - Number of import statements in the active editor + public System.Int32? CwsprChatActiveEditorImportCount; + + /// Optional - Total number of characters in the active editor + public System.Int32? CwsprChatActiveEditorTotalCharacters; + + /// Optional - Uniquely identifies a message with which the user interacts. + public string CwsprChatConversationId; + + /// Identifies the type of conversation + public CwsprChatConversationType CwsprChatConversationType; + + /// Optional - true if user has selected code snippet, false otherwise. + public System.Boolean? CwsprChatHasCodeSnippet; + + /// Optional - Programming language associated with the message + public string CwsprChatProgrammingLanguage; + + /// Number of characters in request + public int CwsprChatRequestLength; + + /// HTTP response code for message API invocation + public int CwsprChatResponseCode; + + /// Optional - Client error reason when processing response stream + public string CwsprChatResponseErrorReason; + + /// Identifies the specific interaction that opens the chat panel + public CwsprChatTriggerInteraction CwsprChatTriggerInteraction; + + /// Optional - Explict user intent associated with a chat message + public CwsprChatUserIntent? CwsprChatUserIntent; + + /// Optional - True if turned on, false if turned off + public System.Boolean? Enabled; + + /// Optional - The version of the language server + public string LanguageServerVersion; + + public AmazonqMessageResponseError() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + /// User modified source folder public sealed class AmazonqModifySourceFolder : BaseTelemetryEvent { @@ -25474,6 +28502,32 @@ public AmazonqModifySourceFolder() } } + /// When a user searches, exports, opens, or deletes a conversation from history + public sealed class AmazonqPerformChatHistoryAction : BaseTelemetryEvent + { + + /// Name of an action that was taken, displayed, etc. See also `userChoice`. + public string Action; + + /// Optional - The size of a chat history file (in bytes) + public System.Int32? AmazonqHistoryFileSize; + + /// Optional - The time (in milliseconds) it takes to search through all messages in chat history for a user-provided search string + public System.Int32? AmazonqTimeToSearchHistory; + + /// Optional - Filename extension (examples: .txt, .yml, .yaml, .asl.yaml, ...), or empty string if the filename does not contain dot (.) between two chars. + public string FilenameExt; + + /// Optional - The version of the language server + public string LanguageServerVersion; + + public AmazonqPerformChatHistoryAction() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + /// Captures startConversation invocation process public sealed class AmazonqStartConversationInvoke : BaseTelemetryEvent { @@ -25494,6 +28548,112 @@ public AmazonqStartConversationInvoke() } } + /// When the LLM either used a tool directly (no acceptance needed) or suggested a tool (user acceptance required) + public sealed class AmazonqToolUseSuggested : BaseTelemetryEvent + { + + /// Optional - The start URL of current SSO connection + public string CredentialStartUrl; + + /// Uniquely identifies a message with which the user interacts. + public string CwsprChatConversationId; + + /// Identifies the type of conversation + public CwsprChatConversationType CwsprChatConversationType; + + /// Client side tool/s name (ex: fsWrite, executeBash) + public string CwsprToolName; + + /// The id/s when a client side tool/s is used. + public string CwsprToolUseId; + + /// Optional - True if turned on, false if turned off + public System.Boolean? Enabled; + + /// Optional - The version of the language server + public string LanguageServerVersion; + + /// Optional - The time duration in milliseconds to complete an end to end flow + public System.Double? PerfE2ELatency; + + public AmazonqToolUseSuggested() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// Client side invocation of the Amazon Q Unit Test Generation with build and execute loop + public sealed class AmazonqUnitTestGeneration : BaseTelemetryEvent + { + + /// Optional - The number of accepted characters + public System.Int32? AcceptedCharactersCount; + + /// Optional - The number of accepted cases + public System.Int32? AcceptedCount; + + /// Optional - The number of accepted lines of code + public System.Int32? AcceptedLinesCount; + + /// Optional - Time taken to fetch the upload URL and upload the artifacts in milliseconds + public System.Int32? ArtifactsUploadDuration; + + /// Optional - The compressed payload size of source files in bytes of customer project context sent + public System.Int32? BuildZipFileBytes; + + /// Optional - Number of occurrences a metric, or some other metric-defined count. + public System.Int32? Count; + + /// Optional - The start URL of current SSO connection + public string CredentialStartUrl; + + /// Programming language associated with the message + public string CwsprChatProgrammingLanguage; + + /// Optional - Number of characters of code generated + public System.Int32? GeneratedCharactersCount; + + /// Optional - The number of generated cases + public System.Int32? GeneratedCount; + + /// Optional - The number of generated lines of code + public System.Int32? GeneratedLinesCount; + + /// True if user supplied prompt message as input else false + public bool HasUserPromptSupplied; + + /// Optional - True if user selected code snippet as input else false + public System.Boolean? IsCodeBlockSelected; + + /// Indicate if the language is supported + public bool IsSupportedLanguage; + + /// Optional - Job group name used in the operation + public string JobGroup; + + /// Optional - Job id used in the operation + public string JobId; + + /// Optional - The time duration in milliseconds to process an action on the client side + public System.Double? PerfClientLatency; + + /// The result of the operation + public Result Result; + + /// Optional - This field helps to emit the status of the operation. + public Status? Status; + + /// Optional - If the operation was an update or not + public System.Boolean? Update; + + public AmazonqUnitTestGeneration() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + /// Client side invocation of the AmazonQ Unit Test Generation public sealed class AmazonqUtgGenerateTests : BaseTelemetryEvent { @@ -25555,8 +28715,8 @@ public sealed class AmazonqUtgGenerateTests : BaseTelemetryEvent /// The result of the operation public Result Result; - /// Optional - The source of the operation - public string Source; + /// Optional - This field helps to emit the status of the operation. + public Status? Status; public AmazonqUtgGenerateTests() { @@ -25612,9 +28772,6 @@ public sealed class ApigatewayInvokeLocal : BaseTelemetryEvent /// Optional - The lambda runtime public Runtime? Runtime; - /// Optional - The source of the operation - public string Source; - public ApigatewayInvokeLocal() { this.Passive = false; @@ -25632,9 +28789,6 @@ public sealed class ApigatewayInvokeRemote : BaseTelemetryEvent /// The result of the operation public Result Result; - /// Optional - The source of the operation - public string Source; - public ApigatewayInvokeRemote() { this.Passive = false; @@ -25660,13 +28814,33 @@ public ApigatewayStartLocalServer() public sealed class AppBuilderInstallTool : BaseTelemetryEvent { - /// Optional - The source of the operation - public string Source; + /// Optional - The tool being installed + public ToolId? ToolId; + + public AppBuilderInstallTool() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// User click Convert a lambda function to SAM project + public sealed class AppbuilderLambda2sam : BaseTelemetryEvent + { + + /// Optional - Name of an action that was taken, displayed, etc. See also `userChoice`. + public string Action; + + /// Optional - The IaC being used + public string Iac; - /// Optional - The tool being installed - public ToolId? ToolId; + /// Optional - The result of the operation + public Result? Result; - public AppBuilderInstallTool() + /// Optional - The lambda runtime + public Runtime? Runtime; + + public AppbuilderLambda2sam() { this.Passive = false; this.TrackPerformance = false; @@ -25677,9 +28851,6 @@ public AppBuilderInstallTool() public sealed class AppBuilderOpenLocalInvokeWebView : BaseTelemetryEvent { - /// Optional - The source of the operation - public string Source; - public AppBuilderOpenLocalInvokeWebView() { this.Passive = false; @@ -25691,9 +28862,6 @@ public AppBuilderOpenLocalInvokeWebView() public sealed class AppBuilderOpenRemoteInvokeWebView : BaseTelemetryEvent { - /// Optional - The source of the operation - public string Source; - public AppBuilderOpenRemoteInvokeWebView() { this.Passive = false; @@ -25705,9 +28873,6 @@ public AppBuilderOpenRemoteInvokeWebView() public sealed class AppBuilderOpenTemplate : BaseTelemetryEvent { - /// Optional - The source of the operation - public string Source; - public AppBuilderOpenTemplate() { this.Passive = false; @@ -25722,9 +28887,6 @@ public sealed class AppBuilderSelectWalkthroughTemplate : BaseTelemetryEvent /// Optional - Name of an action that was taken, displayed, etc. See also `userChoice`. public string Action; - /// Optional - The source of the operation - public string Source; - public AppBuilderSelectWalkthroughTemplate() { this.Passive = false; @@ -25736,9 +28898,6 @@ public AppBuilderSelectWalkthroughTemplate() public sealed class AppBuilderStartWalkthrough : BaseTelemetryEvent { - /// Optional - The source of the operation - public string Source; - public AppBuilderStartWalkthrough() { this.Passive = false; @@ -25942,9 +29101,6 @@ public sealed class AppcomposerOpenTemplate : BaseTelemetryEvent /// Whether the user has access to CodeWhisperer Chat public bool HasChatAuth; - /// Optional - The source of the operation - public string Source; - public AppcomposerOpenTemplate() { this.Passive = false; @@ -26133,6 +29289,9 @@ public sealed class AuthAddConnection : BaseTelemetryEvent /// Optional - The start URL of current SSO connection public string CredentialStartUrl; + /// Optional - The type of credential that was selected + public CredentialType? CredentialType; + /// The id of the feature the user is interacting in. See also: `component`, `featureId`, `module`, `resourceType`. public FeatureId FeatureId; @@ -26148,9 +29307,6 @@ public sealed class AuthAddConnection : BaseTelemetryEvent /// The result of the operation public Result Result; - /// The source of the operation - public string Source; - /// Optional - The client ID of an SSO registration. public string SsoRegistrationClientId; @@ -26186,9 +29342,6 @@ public sealed class AuthAddedConnections : BaseTelemetryEvent /// The result of the operation public Result Result; - /// The source of the operation - public string Source; - public AuthAddedConnections() { this.Passive = false; @@ -26260,9 +29413,6 @@ public sealed class AuthUserState : BaseTelemetryEvent /// Optional - The id of the feature the user is interacting in. See also: `component`, `featureId`, `module`, `resourceType`. public FeatureId? FeatureId; - /// The source of the operation - public string Source; - /// Optional - The client ID of an SSO registration. public string SsoRegistrationClientId; @@ -26467,9 +29617,6 @@ public sealed class AwsLoginWithBrowser : BaseTelemetryEvent /// Optional - Length of time, in milliseconds, that an authentication session has lived for. Useful for determining how frequently a user has to reauthenticate. public System.Int32? SessionDuration; - /// The source of the operation - public string Source; - /// Optional - The client ID of an SSO registration. public string SsoRegistrationClientId; @@ -26496,9 +29643,6 @@ public sealed class AwsModifyCredentials : BaseTelemetryEvent /// Optional - The name of the AWS service acted on. These values come from the AWS SDK. To find them in the JAVA SDK search for SERVICE_NAME in each service client, or look for serviceId in metadata in the service2.json public string ServiceType; - /// The source of the operation - public string Source; - public AwsModifyCredentials() { this.Passive = false; @@ -26544,9 +29688,6 @@ public sealed class AwsOpenUrl : BaseTelemetryEvent /// The result of the operation public Result Result; - /// Optional - The source of the operation - public string Source; - /// Optional - The url associated with a metric public string Url; @@ -26782,9 +29923,6 @@ public sealed class BeanstalkDeploy : BaseTelemetryEvent /// Optional - The name of the AWS service acted on. These values come from the AWS SDK. To find them in the JAVA SDK search for SERVICE_NAME in each service client, or look for serviceId in metadata in the service2.json public string ServiceType; - /// Optional - The source of the operation - public string Source; - /// Optional - Whether or not AWS X-Ray is enabled public System.Boolean? XrayEnabled; @@ -26847,9 +29985,6 @@ public sealed class BeanstalkPublishWizard : BaseTelemetryEvent /// Optional - The name of the AWS service acted on. These values come from the AWS SDK. To find them in the JAVA SDK search for SERVICE_NAME in each service client, or look for serviceId in metadata in the service2.json public string ServiceType; - /// Optional - The source of the operation - public string Source; - public BeanstalkPublishWizard() { this.Passive = false; @@ -26929,9 +30064,6 @@ public sealed class CloudformationDeploy : BaseTelemetryEvent /// Optional - The name of the AWS service acted on. These values come from the AWS SDK. To find them in the JAVA SDK search for SERVICE_NAME in each service client, or look for serviceId in metadata in the service2.json public string ServiceType; - /// Optional - The source of the operation - public string Source; - public CloudformationDeploy() { this.Passive = false; @@ -26963,9 +30095,6 @@ public sealed class CloudformationPublishWizard : BaseTelemetryEvent /// Optional - The name of the AWS service acted on. These values come from the AWS SDK. To find them in the JAVA SDK search for SERVICE_NAME in each service client, or look for serviceId in metadata in the service2.json public string ServiceType; - /// Optional - The source of the operation - public string Source; - public CloudformationPublishWizard() { this.Passive = false; @@ -27228,9 +30357,6 @@ public sealed class CloudwatchlogsFilter : BaseTelemetryEvent /// The result of the operation public Result Result; - /// Optional - The source of the operation - public string Source; - public CloudwatchlogsFilter() { this.Passive = false; @@ -27260,9 +30386,6 @@ public sealed class CloudwatchlogsOpen : BaseTelemetryEvent /// Optional - The name of the AWS service acted on. These values come from the AWS SDK. To find them in the JAVA SDK search for SERVICE_NAME in each service client, or look for serviceId in metadata in the service2.json public string ServiceType; - /// The source of the operation - public string Source; - public CloudwatchlogsOpen() { this.Passive = false; @@ -27409,9 +30532,6 @@ public sealed class CloudwatchlogsStartLiveTail : BaseTelemetryEvent /// Session already open that matches new request public bool SessionAlreadyStarted; - /// The source of the operation - public string Source; - public CloudwatchlogsStartLiveTail() { this.Passive = false; @@ -27423,9 +30543,6 @@ public CloudwatchlogsStartLiveTail() public sealed class CloudwatchlogsStopLiveTail : BaseTelemetryEvent { - /// The source of the operation - public string Source; - public CloudwatchlogsStopLiveTail() { this.Passive = false; @@ -27808,9 +30925,6 @@ public sealed class CodeTransformJobStart : BaseTelemetryEvent /// Optional - Where credentials are stored or retrieved from public CredentialSourceId? CredentialSourceId; - /// Optional - The source of the operation - public string Source; - public CodeTransformJobStart() { this.Passive = false; @@ -27894,9 +31008,6 @@ public sealed class CodeTransformSubmitSelection : BaseTelemetryEvent /// Represents the IDE session from which users start the transformation process public string CodeTransformSessionId; - /// Optional - The source of the operation - public string Source; - /// Optional - The target of the operation public string Target; @@ -28135,9 +31246,15 @@ public CodewhispererCodeScanChatNewTab() public sealed class CodewhispererCodeScanIssueApplyFix : BaseTelemetryEvent { + /// Optional - Whether the code issue was detected by auto-review + public System.Boolean? AutoDetected; + /// Optional - Captures the type of fix that was accepted public CodeFixAction? CodeFixAction; + /// Optional - The ID of the scan job + public string CodewhispererCodeScanJobId; + /// The IDE or OS component used for the action. (Examples: S3 download to filesystem, S3 upload from editor, ...). See also `featureId` for specific feature names, `module` for low-level modules, and `resourceType`. public Component Component; @@ -28160,10 +31277,45 @@ public CodewhispererCodeScanIssueApplyFix() } } + /// Called when a code scan issue is returned from the service + public sealed class CodewhispererCodeScanIssueDetected : BaseTelemetryEvent + { + + /// Optional - Whether the code issue was detected by auto-review + public System.Boolean? AutoDetected; + + /// Optional - The ID of the scan job + public string CodewhispererCodeScanJobId; + + /// The id of the detector which produced the code scan issue + public string DetectorId; + + /// The id of a security finding from a code scan + public string FindingId; + + /// Optional - Whether the security issue includes a suggested fix + public System.Boolean? IncludesFix; + + /// Optional - The id of the rule which produced the code scan issue + public string RuleId; + + public CodewhispererCodeScanIssueDetected() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + /// Generated fix for a code scan issue. variant=refresh means the user chose to generate a fix again after one already exists. public sealed class CodewhispererCodeScanIssueGenerateFix : BaseTelemetryEvent { + /// Optional - Whether the code issue was detected by auto-review + public System.Boolean? AutoDetected; + + /// Optional - The ID of the scan job + public string CodewhispererCodeScanJobId; + /// The IDE or OS component used for the action. (Examples: S3 download to filesystem, S3 upload from editor, ...). See also `featureId` for specific feature names, `module` for low-level modules, and `resourceType`. public Component Component; @@ -28176,6 +31328,9 @@ public sealed class CodewhispererCodeScanIssueGenerateFix : BaseTelemetryEvent /// The id of a security finding from a code scan public string FindingId; + /// Optional - Whether the security issue includes a suggested fix + public System.Boolean? IncludesFix; + /// Optional - The id of the rule which produced the code scan issue public string RuleId; @@ -28193,6 +31348,9 @@ public CodewhispererCodeScanIssueGenerateFix() public sealed class CodewhispererCodeScanIssueHover : BaseTelemetryEvent { + /// Optional - Whether the code issue was detected by auto-review + public System.Boolean? AutoDetected; + /// Optional - The start URL of current SSO connection public string CredentialStartUrl; @@ -28219,6 +31377,9 @@ public CodewhispererCodeScanIssueHover() public sealed class CodewhispererCodeScanIssueIgnore : BaseTelemetryEvent { + /// Optional - Whether the code issue was detected by auto-review + public System.Boolean? AutoDetected; + /// The IDE or OS component used for the action. (Examples: S3 download to filesystem, S3 upload from editor, ...). See also `featureId` for specific feature names, `module` for low-level modules, and `resourceType`. public Component Component; @@ -28248,6 +31409,9 @@ public CodewhispererCodeScanIssueIgnore() public sealed class CodewhispererCodeScanIssueViewDetails : BaseTelemetryEvent { + /// Optional - Whether the code issue was detected by auto-review + public System.Boolean? AutoDetected; + /// Optional - The start URL of current SSO connection public string CredentialStartUrl; @@ -28277,9 +31441,6 @@ public sealed class CodewhispererEnabled : BaseTelemetryEvent /// True if turned on, false if turned off public bool Enabled; - /// The source of the operation - public string Source; - public CodewhispererEnabled() { this.Passive = true; @@ -28358,7 +31519,7 @@ public sealed class CodewhispererSecurityScan : BaseTelemetryEvent /// Optional - The number of security issues detected with suggested fixes public System.Int32? CodewhispererCodeScanIssuesWithFixes; - /// Optional - The ID of the security scan job + /// Optional - The ID of the scan job public string CodewhispererCodeScanJobId; /// How many lines of code being sent for security scan @@ -28373,10 +31534,10 @@ public sealed class CodewhispererSecurityScan : BaseTelemetryEvent /// The uncompressed payload size in bytes of the source files in customer project context sent for security scan public int CodewhispererCodeScanSrcPayloadBytes; - /// The compressed payload size of source files in bytes of customer project context sent for security scan + /// The compressed payload size of source files in bytes of customer project context sent for scan public int CodewhispererCodeScanSrcZipFileBytes; - /// The number of security issues been detected + /// The number of issues been detected public int CodewhispererCodeScanTotalIssues; /// Programming language of the CodeWhisperer recommendation @@ -28391,9 +31552,6 @@ public sealed class CodewhispererSecurityScan : BaseTelemetryEvent /// The result of the operation public Result Result; - /// Optional - The source of the operation - public string Source; - public CodewhispererSecurityScan() { this.Passive = false; @@ -28713,9 +31871,6 @@ public sealed class DeeplinkOpen : BaseTelemetryEvent /// Optional - The name of the AWS service acted on. These values come from the AWS SDK. To find them in the JAVA SDK search for SERVICE_NAME in each service client, or look for serviceId in metadata in the service2.json public string ServiceType; - /// The source of the operation - public string Source; - public DeeplinkOpen() { this.Passive = true; @@ -28894,9 +32049,6 @@ public sealed class DynamodbFetchTables : BaseTelemetryEvent /// The result of the operation public Result Result; - /// Optional - The source of the operation - public string Source; - public DynamodbFetchTables() { this.Passive = false; @@ -28914,9 +32066,6 @@ public sealed class DynamodbOpenTable : BaseTelemetryEvent /// The result of the operation public Result Result; - /// Optional - The source of the operation - public string Source; - public DynamodbOpenTable() { this.Passive = false; @@ -29972,6 +33121,26 @@ public LambdaCreateProject() } } + /// Called when creating a new Serverless Project + public sealed class LambdaCreateServerlessLandProject : BaseTelemetryEvent + { + + /// The IaC being used + public string Iac; + + /// A free-text field to record runtimes that may be separate from Lambda runtimes + public string RuntimeString; + + /// Generic name of a template + public string TemplateName; + + public LambdaCreateServerlessLandProject() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + /// called when deleting lambdas remotely public sealed class LambdaDelete : BaseTelemetryEvent { @@ -30014,9 +33183,6 @@ public sealed class LambdaDeploy : BaseTelemetryEvent /// Optional - The name of the AWS service acted on. These values come from the AWS SDK. To find them in the JAVA SDK search for SERVICE_NAME in each service client, or look for serviceId in metadata in the service2.json public string ServiceType; - /// Optional - The source of the operation - public string Source; - /// Optional - Whether or not AWS X-Ray is enabled public System.Boolean? XrayEnabled; @@ -30051,9 +33217,6 @@ public LambdaEditFunction() public sealed class LambdaGoToHandler : BaseTelemetryEvent { - /// Optional - The source of the operation - public string Source; - public LambdaGoToHandler() { this.Passive = false; @@ -30097,9 +33260,6 @@ public sealed class LambdaInvokeLocal : BaseTelemetryEvent /// Optional - The lambda runtime public Runtime? Runtime; - /// Optional - The source of the operation - public string Source; - /// Optional - A generic version metadata public string Version; @@ -30114,14 +33274,17 @@ public LambdaInvokeLocal() public sealed class LambdaInvokeRemote : BaseTelemetryEvent { + /// Optional - Name of an action that was taken, displayed, etc. See also `userChoice`. + public string Action; + /// The result of the operation public Result Result; /// Optional - The lambda runtime public Runtime? Runtime; - /// Optional - The source of the operation - public string Source; + /// Optional - A free-text field to record runtimes that may be separate from Lambda runtimes + public string RuntimeString; public LambdaInvokeRemote() { @@ -30140,9 +33303,6 @@ public sealed class LambdaPublishWizard : BaseTelemetryEvent /// Optional - The name of the AWS service acted on. These values come from the AWS SDK. To find them in the JAVA SDK search for SERVICE_NAME in each service client, or look for serviceId in metadata in the service2.json public string ServiceType; - /// Optional - The source of the operation - public string Source; - public LambdaPublishWizard() { this.Passive = false; @@ -30150,6 +33310,82 @@ public LambdaPublishWizard() } } + /// Lambda function was deployed from temp + public sealed class LambdaQuickDeploy : BaseTelemetryEvent + { + + /// Optional - Name of an action that was taken, displayed, etc. See also `userChoice`. + public string Action; + + public LambdaQuickDeploy() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// Lambda function edit operation + public sealed class LambdaQuickEditFunction : BaseTelemetryEvent + { + + /// Optional - Name of an action that was taken, displayed, etc. See also `userChoice`. + public string Action; + + public LambdaQuickEditFunction() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// user click remote debug checkbox + public sealed class LambdaRemoteDebugPrecheck : BaseTelemetryEvent + { + + /// Optional - Name of an action that was taken, displayed, etc. See also `userChoice`. + public string Action; + + /// Optional - A free-text field to record runtimes that may be separate from Lambda runtimes + public string RuntimeString; + + public LambdaRemoteDebugPrecheck() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// user start remote debugging + public sealed class LambdaRemoteDebugStart : BaseTelemetryEvent + { + + /// Optional - Name of an action that was taken, displayed, etc. See also `userChoice`. + public string Action; + + /// Optional - A free-text field to record runtimes that may be separate from Lambda runtimes + public string RuntimeString; + + public LambdaRemoteDebugStart() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// user stop remote debugging + public sealed class LambdaRemoteDebugStop : BaseTelemetryEvent + { + + /// Optional - Length of time, in milliseconds, that an authentication session has lived for. Useful for determining how frequently a user has to reauthenticate. + public System.Int32? SessionDuration; + + public LambdaRemoteDebugStop() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + /// Called when updating a Lambda function's code outside the context of a SAM template public sealed class LambdaUpdateFunctionCode : BaseTelemetryEvent { @@ -30167,6 +33403,49 @@ public LambdaUpdateFunctionCode() } } + /// Lambda URI handler was invoked + public sealed class LambdaUriHandler : BaseTelemetryEvent + { + + public LambdaUriHandler() + { + this.Passive = false; + this.TrackPerformance = false; + } + } + + /// Sets up a language server + public sealed class LanguageServerSetup : BaseTelemetryEvent + { + + /// Metric-defined identifier + public string Id; + + /// Optional - The location of the language server + public LanguageServerLocation? LanguageServerLocation; + + /// The stage of the LSP setup process + public LanguageServerSetupStage LanguageServerSetupStage; + + /// Optional - The version of the language server + public string LanguageServerVersion; + + /// Optional - The location of the manifest + public ManifestLocation? ManifestLocation; + + /// Optional - The version of the manifest schema file + public string ManifestSchemaVersion; + + /// The result of the operation + public Result Result; + + public LanguageServerSetup() + { + this.Passive = true; + this.TrackPerformance = false; + } + } + /// Called when creating a new database connection configuration to for a RDS database. In Datagrip we do not get this infromation if it is created directly, so this is only counts actions. public sealed class RdsCreateConnectionConfiguration : BaseTelemetryEvent { @@ -30636,9 +33915,6 @@ public sealed class SamBuild : BaseTelemetryEvent /// Optional - The Lambda Package type of the function public LambdaPackageType? LambdaPackageType; - /// Optional - The source of the operation - public string Source; - /// Optional - A generic version metadata public string Version; @@ -30656,9 +33932,6 @@ public sealed class SamDeploy : BaseTelemetryEvent /// The result of the operation public Result Result; - /// Optional - The source of the operation - public string Source; - /// Optional - A generic version metadata public string Version; @@ -30728,9 +34001,6 @@ public sealed class SamSync : BaseTelemetryEvent /// The result of the operation public Result Result; - /// Optional - The source of the operation - public string Source; - /// Describes which parts of an application (that we know of) were synced to the cloud. "Code" resources follow the SAM spec: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-sync.html public SyncedResources SyncedResources; @@ -31132,14 +34402,37 @@ public ThreatComposerOpened() } } - /// The user closed 'something' (specified by 'module'). Examples: a view, feature, resource, ... - public sealed class ToolkitCloseModule : BaseTelemetryEvent + /// The module has closed/terminated. Use this when the module is done being used. + public sealed class ToolkitDidCloseModule : BaseTelemetryEvent + { + + /// Free-form module name for both high-level features such as "PublishToAWS", and lower-level modules such as "ToolkitContextProvider". Use `component` for UI components, or `featureId` for specific feature names. See also `resourceType`. + public string Module; + + public ToolkitDidCloseModule() + { + this.Passive = true; + this.TrackPerformance = false; + } + } + + /// The module has loaded, i.e it has rendered/resolved/finished. You can use this metric by itself, OR after `toolkit_willOpenModule` + `traceId` to close the loop on an asynchronous operation. + public sealed class ToolkitDidLoadModule : BaseTelemetryEvent { + /// Optional - A generic number of attempts + public System.Int32? Attempts; + /// Free-form module name for both high-level features such as "PublishToAWS", and lower-level modules such as "ToolkitContextProvider". Use `component` for UI components, or `featureId` for specific feature names. See also `resourceType`. public string Module; - public ToolkitCloseModule() + /// The result of the operation + public Result Result; + + /// Optional - A generic version metadata + public string Version; + + public ToolkitDidLoadModule() { this.Passive = true; this.TrackPerformance = false; @@ -31165,9 +34458,6 @@ public sealed class ToolkitFeatureState : BaseTelemetryEvent /// The id of the feature the user is interacting in. See also: `component`, `featureId`, `module`, `resourceType`. public FeatureId FeatureId; - /// The source of the operation - public string Source; - public ToolkitFeatureState() { this.Passive = true; @@ -31206,29 +34496,6 @@ public ToolkitInit() } } - /// The Toolkit has completed initialization for the specified module. - public sealed class ToolkitInitModule : BaseTelemetryEvent - { - - /// Optional - A generic number of attempts - public System.Int32? Attempts; - - /// Free-form module name for both high-level features such as "PublishToAWS", and lower-level modules such as "ToolkitContextProvider". Use `component` for UI components, or `featureId` for specific feature names. See also `resourceType`. - public string Module; - - /// The result of the operation - public Result Result; - - /// Optional - A generic version metadata - public string Version; - - public ToolkitInitModule() - { - this.Passive = true; - this.TrackPerformance = false; - } - } - /// User invoked an action. `source` is the notification that produced the action public sealed class ToolkitInvokeAction : BaseTelemetryEvent { @@ -31245,9 +34512,6 @@ public sealed class ToolkitInvokeAction : BaseTelemetryEvent /// The result of the operation public Result Result; - /// The source of the operation - public string Source; - public ToolkitInvokeAction() { this.Passive = false; @@ -31255,26 +34519,6 @@ public ToolkitInvokeAction() } } - /// User opened 'something' (specified by 'module'). Examples: a view, feature, resource, ... - public sealed class ToolkitOpenModule : BaseTelemetryEvent - { - - /// Free-form module name for both high-level features such as "PublishToAWS", and lower-level modules such as "ToolkitContextProvider". Use `component` for UI components, or `featureId` for specific feature names. See also `resourceType`. - public string Module; - - /// The result of the operation - public Result Result; - - /// The source of the operation - public string Source; - - public ToolkitOpenModule() - { - this.Passive = true; - this.TrackPerformance = false; - } - } - /// Toolkit presented an action. `source` is the notification that produced the action. See also `toolkit_showNotification`. public sealed class ToolkitShowAction : BaseTelemetryEvent { @@ -31288,9 +34532,6 @@ public sealed class ToolkitShowAction : BaseTelemetryEvent /// The result of the operation public Result Result; - /// The source of the operation - public string Source; - public ToolkitShowAction() { this.Passive = true; @@ -31355,6 +34596,23 @@ public ToolkitViewLogs() } } + /// Indicates a module opening attempt began, not its successful completion. For load confirmation, use `toolkit_didLoadModule` with matching `traceId`. This separation handles asynchronous processes that can't be captured in a single metric. 'Module' refers to components like views, features, resources, etc. + public sealed class ToolkitWillOpenModule : BaseTelemetryEvent + { + + /// Free-form module name for both high-level features such as "PublishToAWS", and lower-level modules such as "ToolkitContextProvider". Use `component` for UI components, or `featureId` for specific feature names. See also `resourceType`. + public string Module; + + /// The result of the operation + public Result Result; + + public ToolkitWillOpenModule() + { + this.Passive = true; + this.TrackPerformance = false; + } + } + /// User clicked/activated a UI element. This does not necessarily have to be an explicit mouse click. Any user action that has the same behavior as a mouse click can use this event. public sealed class UiClick : BaseTelemetryEvent { diff --git a/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj b/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj index e4790fff8..ecd7c91b0 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj +++ b/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj @@ -21,7 +21,7 @@ ..\toolkit-telemetry.snk - + diff --git a/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.nuspec b/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.nuspec index 5a26468b6..c61bd18cb 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.nuspec +++ b/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.nuspec @@ -14,7 +14,7 @@ AWS AWSToolkit - + diff --git a/telemetry/csharp/TelemetryClient.proj b/telemetry/csharp/TelemetryClient.proj index 3ffb8114a..d47e4dfd5 100644 --- a/telemetry/csharp/TelemetryClient.proj +++ b/telemetry/csharp/TelemetryClient.proj @@ -4,7 +4,7 @@ $(MSBuildThisFileDirectory) $(BuildRoot)buildtemp\ - 3.7.354.0 + 4.0.65.0 $(BuildTemp)dotnetsdk\ $(DotNetSdkClone)generator\ $(SdkGeneratorRoot)ServiceClientGenerator\bin\Release\ServiceClientGenerator.exe diff --git a/telemetry/csharp/client-generator-inputs/sdk-versions.json b/telemetry/csharp/client-generator-inputs/sdk-versions.json index 601df25c5..7fdf15e1e 100644 --- a/telemetry/csharp/client-generator-inputs/sdk-versions.json +++ b/telemetry/csharp/client-generator-inputs/sdk-versions.json @@ -1,7 +1,7 @@ { "file-description": "This file is used by the SDK Client Generator. See telemetry/csharp/README.md for details", - "ProductVersion": "3.3.716.0", - "CoreVersion": "3.3.106.2", + "ProductVersion": "4.0.65.0", + "CoreVersion": "4.0.0.18", "DefaultToPreview": false, "ServiceVersions": { "ToolkitTelemetry": { diff --git a/telemetry/csharp/client-generator-inputs/telemetry-2017-07-25.customizations.json b/telemetry/csharp/client-generator-inputs/telemetry-2017-07-25.customizations.json index ce21277d7..e149701b9 100644 --- a/telemetry/csharp/client-generator-inputs/telemetry-2017-07-25.customizations.json +++ b/telemetry/csharp/client-generator-inputs/telemetry-2017-07-25.customizations.json @@ -1,3 +1,8 @@ { - "file-description": "This file is used by the SDK Client Generator. See telemetry/csharp/README.md for details" -} + "file-description": "This file is used by the SDK Client Generator. See telemetry/csharp/README.md for details", + "customizations": { + "AmazonToolkitTelemetryConfig": { + "customCode": "public override Amazon.Runtime.Endpoints.Endpoint DetermineServiceOperationEndpoint(Amazon.Runtime.Internal.ServiceOperationEndpointParameters parameters) { return base.DetermineServiceOperationEndpoint(parameters); }" + } + } +} \ No newline at end of file From 0d3caac3fca27c62834c5211bbb98854f9f58206 Mon Sep 17 00:00:00 2001 From: Shruti Sinha Date: Fri, 12 Sep 2025 12:16:58 -0700 Subject: [PATCH 2/7] Add new testServiceModels folder to match updated generator params --- TestServiceModels/.gitkeep | Bin 0 -> 6 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 TestServiceModels/.gitkeep diff --git a/TestServiceModels/.gitkeep b/TestServiceModels/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..be3886ae07324267dcef5c5e8da4346fd64468a8 GIT binary patch literal 6 NcmY#j;AP-q0003F05|{u literal 0 HcmV?d00001 From c834f7fb684794d0597a74f0e1c6dfecda6e978a Mon Sep 17 00:00:00 2001 From: Shruti Sinha Date: Fri, 12 Sep 2025 16:14:07 -0700 Subject: [PATCH 3/7] Use a partial config file to address the missing DetermineServiceEndpoint method --- TestServiceModels/.gitkeep | Bin 6 -> 0 bytes telemetry/TestServiceModels/.gitkeep | 0 .../AwsToolkit.Telemetry.SDK.csproj | 1 + .../AmazonToolkitTelemetryConfig.Partial.cs | 45 ++++++++++++++++++ telemetry/csharp/TelemetryClient.proj | 2 +- .../client-generator-inputs/sdk-versions.json | 2 +- .../telemetry-2017-07-25.customizations.json | 7 +-- 7 files changed, 49 insertions(+), 8 deletions(-) delete mode 100644 TestServiceModels/.gitkeep create mode 100644 telemetry/TestServiceModels/.gitkeep create mode 100644 telemetry/csharp/AwsToolkit.Telemetry.SDK/Custom/AmazonToolkitTelemetryConfig.Partial.cs diff --git a/TestServiceModels/.gitkeep b/TestServiceModels/.gitkeep deleted file mode 100644 index be3886ae07324267dcef5c5e8da4346fd64468a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6 NcmY#j;AP-q0003F05|{u diff --git a/telemetry/TestServiceModels/.gitkeep b/telemetry/TestServiceModels/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj b/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj index ecd7c91b0..1542a0ff9 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj +++ b/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj @@ -6,6 +6,7 @@ Amazon.AwsToolkit.Telemetry.SDK AWS.Toolkit.Telemetry.SDK net472 + 9.0 Amazon Web Services Amazon Web Services AWS Toolkit Telemetry diff --git a/telemetry/csharp/AwsToolkit.Telemetry.SDK/Custom/AmazonToolkitTelemetryConfig.Partial.cs b/telemetry/csharp/AwsToolkit.Telemetry.SDK/Custom/AmazonToolkitTelemetryConfig.Partial.cs new file mode 100644 index 000000000..018fd578c --- /dev/null +++ b/telemetry/csharp/AwsToolkit.Telemetry.SDK/Custom/AmazonToolkitTelemetryConfig.Partial.cs @@ -0,0 +1,45 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file 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 Amazon.Runtime; +using Amazon.Runtime.Endpoints; +using Amazon.Runtime.Internal; + +namespace Amazon.ToolkitTelemetry +{ + /// + /// Configuration for accessing Amazon ToolkitTelemetry service - Custom partial class + /// + public partial class AmazonToolkitTelemetryConfig + { + /// + /// Returns the endpoint that will be used for a particular request. + /// + /// A Container class for parameters used for endpoint resolution. + /// The resolved endpoint for the given request. + public override Amazon.Runtime.Endpoints.Endpoint DetermineServiceOperationEndpoint(ServiceOperationEndpointParameters parameters) + { + var request = new DefaultRequest(parameters.Request, ServiceId); + request.AlternateEndpoint = parameters.AlternateEndpoint; + + var requestContext = new RequestContext(false); + requestContext.ClientConfig = this; + requestContext.OriginalRequest = parameters.Request; + requestContext.Request = request; + var executionContext = new Amazon.Runtime.Internal.ExecutionContext(requestContext, null); + return new BaseEndpointResolver().GetEndpoint(executionContext); + } + } +} \ No newline at end of file diff --git a/telemetry/csharp/TelemetryClient.proj b/telemetry/csharp/TelemetryClient.proj index d47e4dfd5..a5ffb2b21 100644 --- a/telemetry/csharp/TelemetryClient.proj +++ b/telemetry/csharp/TelemetryClient.proj @@ -4,7 +4,7 @@ $(MSBuildThisFileDirectory) $(BuildRoot)buildtemp\ - 4.0.65.0 + 4.0.56.0 $(BuildTemp)dotnetsdk\ $(DotNetSdkClone)generator\ $(SdkGeneratorRoot)ServiceClientGenerator\bin\Release\ServiceClientGenerator.exe diff --git a/telemetry/csharp/client-generator-inputs/sdk-versions.json b/telemetry/csharp/client-generator-inputs/sdk-versions.json index 7fdf15e1e..58d44ab54 100644 --- a/telemetry/csharp/client-generator-inputs/sdk-versions.json +++ b/telemetry/csharp/client-generator-inputs/sdk-versions.json @@ -1,6 +1,6 @@ { "file-description": "This file is used by the SDK Client Generator. See telemetry/csharp/README.md for details", - "ProductVersion": "4.0.65.0", + "ProductVersion": "4.0.56.0", "CoreVersion": "4.0.0.18", "DefaultToPreview": false, "ServiceVersions": { diff --git a/telemetry/csharp/client-generator-inputs/telemetry-2017-07-25.customizations.json b/telemetry/csharp/client-generator-inputs/telemetry-2017-07-25.customizations.json index e149701b9..90e4c6093 100644 --- a/telemetry/csharp/client-generator-inputs/telemetry-2017-07-25.customizations.json +++ b/telemetry/csharp/client-generator-inputs/telemetry-2017-07-25.customizations.json @@ -1,8 +1,3 @@ { - "file-description": "This file is used by the SDK Client Generator. See telemetry/csharp/README.md for details", - "customizations": { - "AmazonToolkitTelemetryConfig": { - "customCode": "public override Amazon.Runtime.Endpoints.Endpoint DetermineServiceOperationEndpoint(Amazon.Runtime.Internal.ServiceOperationEndpointParameters parameters) { return base.DetermineServiceOperationEndpoint(parameters); }" - } - } + "file-description": "This file is used by the SDK Client Generator. See telemetry/csharp/README.md for details" } \ No newline at end of file From 5fc72acdd94d554a72d1d80fa12a579f0d41e5ae Mon Sep 17 00:00:00 2001 From: Shruti Sinha Date: Fri, 12 Sep 2025 17:12:00 -0700 Subject: [PATCH 4/7] create testservicemodel file as part of script --- telemetry/TestServiceModels/.gitkeep | 0 telemetry/csharp/TelemetryClient.proj | 6 +++++- 2 files changed, 5 insertions(+), 1 deletion(-) delete mode 100644 telemetry/TestServiceModels/.gitkeep diff --git a/telemetry/TestServiceModels/.gitkeep b/telemetry/TestServiceModels/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/telemetry/csharp/TelemetryClient.proj b/telemetry/csharp/TelemetryClient.proj index a5ffb2b21..ff9d63e62 100644 --- a/telemetry/csharp/TelemetryClient.proj +++ b/telemetry/csharp/TelemetryClient.proj @@ -30,7 +30,7 @@ - + @@ -52,6 +52,9 @@ + + + @@ -98,6 +101,7 @@ + \ No newline at end of file From a4864d52184115918ab7b6e8a89d2ee6c5eea5ec Mon Sep 17 00:00:00 2001 From: Shruti Sinha Date: Fri, 12 Sep 2025 17:13:27 -0700 Subject: [PATCH 5/7] minor fix --- telemetry/csharp/TelemetryClient.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/telemetry/csharp/TelemetryClient.proj b/telemetry/csharp/TelemetryClient.proj index ff9d63e62..e94136db7 100644 --- a/telemetry/csharp/TelemetryClient.proj +++ b/telemetry/csharp/TelemetryClient.proj @@ -30,7 +30,7 @@ - + From 97836856eabccd9b2e7fba466312b785a6f6289a Mon Sep 17 00:00:00 2001 From: Shruti Sinha Date: Tue, 16 Sep 2025 14:13:22 -0700 Subject: [PATCH 6/7] Bump SDK to latest version --- .../AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj | 2 +- .../AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.nuspec | 2 +- telemetry/csharp/client-generator-inputs/sdk-versions.json | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj b/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj index 1542a0ff9..b5f6edf74 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj +++ b/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.csproj @@ -22,7 +22,7 @@ ..\toolkit-telemetry.snk - + diff --git a/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.nuspec b/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.nuspec index c61bd18cb..6bb4307f7 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.nuspec +++ b/telemetry/csharp/AwsToolkit.Telemetry.SDK/AwsToolkit.Telemetry.SDK.nuspec @@ -14,7 +14,7 @@ AWS AWSToolkit - + diff --git a/telemetry/csharp/client-generator-inputs/sdk-versions.json b/telemetry/csharp/client-generator-inputs/sdk-versions.json index 58d44ab54..931257d45 100644 --- a/telemetry/csharp/client-generator-inputs/sdk-versions.json +++ b/telemetry/csharp/client-generator-inputs/sdk-versions.json @@ -1,7 +1,7 @@ { "file-description": "This file is used by the SDK Client Generator. See telemetry/csharp/README.md for details", - "ProductVersion": "4.0.56.0", - "CoreVersion": "4.0.0.18", + "ProductVersion": "4.0.92.0", + "CoreVersion": "4.0.0.28", "DefaultToPreview": false, "ServiceVersions": { "ToolkitTelemetry": { From 05d6d1a1df995da775e1d3c897869f4da0cbce62 Mon Sep 17 00:00:00 2001 From: Shruti Sinha Date: Tue, 16 Sep 2025 14:14:31 -0700 Subject: [PATCH 7/7] Bump dotnet tag to latest --- telemetry/csharp/TelemetryClient.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/telemetry/csharp/TelemetryClient.proj b/telemetry/csharp/TelemetryClient.proj index e94136db7..6e50921d5 100644 --- a/telemetry/csharp/TelemetryClient.proj +++ b/telemetry/csharp/TelemetryClient.proj @@ -4,7 +4,7 @@ $(MSBuildThisFileDirectory) $(BuildRoot)buildtemp\ - 4.0.56.0 + 4.0.92.0 $(BuildTemp)dotnetsdk\ $(DotNetSdkClone)generator\ $(SdkGeneratorRoot)ServiceClientGenerator\bin\Release\ServiceClientGenerator.exe