From 036802bb117e35343a2595f2cdd34315e79dc160 Mon Sep 17 00:00:00 2001 From: Jerome Laban Date: Tue, 4 Feb 2025 17:28:50 -0500 Subject: [PATCH 1/2] chore: Update telemetry for skipped failures and target frameworks --- UnoCheck/CheckCommand.cs | 16 ++++++++++++---- UnoCheck/Telemetry/TelemetryClient.cs | 16 ++++++++++++++-- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/UnoCheck/CheckCommand.cs b/UnoCheck/CheckCommand.cs index d3003ce1..6b7b490b 100644 --- a/UnoCheck/CheckCommand.cs +++ b/UnoCheck/CheckCommand.cs @@ -20,7 +20,7 @@ public class CheckCommand : AsyncCommand public override async Task ExecuteAsync(CommandContext context, CheckSettings settings) { var sw = Stopwatch.StartNew(); - TelemetryClient.TrackStartCheck(); + TelemetryClient.TrackStartCheck(settings.Frameworks); Util.Verbose = settings.Verbose; Util.LogFile = settings.LogFile; @@ -70,9 +70,10 @@ public override async Task ExecuteAsync(CommandContext context, CheckSettin var results = new Dictionary(); var consoleStatus = AnsiConsole.Status(); - var skippedChecks = new List(); + var skippedChecks = new List(); + var skippedFix = new List(); - AnsiConsole.Markup($"[bold blue]{Icon.Thinking} Synchronizing configuration...[/]"); + AnsiConsole.Markup($"[bold blue]{Icon.Thinking} Synchronizing configuration...[/]"); var channel = ManifestChannel.Default; if (settings.Preview) @@ -239,6 +240,11 @@ public override async Task ExecuteAsync(CommandContext context, CheckSettin || (!settings.NonInteractive && AnsiConsole.Confirm($"[bold]{Icon.Bell} Attempt to fix?[/]")) ); + if(!doFix && !isRetry) + { + skippedFix.Add(checkup.Id); + } + if (doFix && !isRetry) { var isAdmin = Util.IsAdmin(); @@ -302,7 +308,9 @@ public override async Task ExecuteAsync(CommandContext context, CheckSettin if (hasErrors) { - TelemetryClient.TrackCheckFail(sw.Elapsed, string.Join(",", erroredChecks.Select(c => c.Checkup.Id))); + TelemetryClient.TrackCheckFail( + sw.Elapsed, + string.Join(",", erroredChecks.Select(c => skippedFix.Contains(c.Checkup.Id) ? "~" : "" + c.Checkup.Id))); AnsiConsole.Console.WriteLine(); diff --git a/UnoCheck/Telemetry/TelemetryClient.cs b/UnoCheck/Telemetry/TelemetryClient.cs index 6dc5452e..e7d20f63 100644 --- a/UnoCheck/Telemetry/TelemetryClient.cs +++ b/UnoCheck/Telemetry/TelemetryClient.cs @@ -1,6 +1,7 @@ using Newtonsoft.Json; using System; using System.Collections.Generic; +using System.Linq; using System.Text; using Uno.DevTools.Telemetry; @@ -26,13 +27,24 @@ public static void Init() } } - public static void TrackStartCheck() + public static void TrackStartCheck(string[] requestedFrameworks) { try { + // Remove strings that are not of the format net8.0 or net8.0-XXXXX, using a regex + var frameworks = string.Join( + ",", + requestedFrameworks + .OrderBy(s => s) + .Where(f => System.Text.RegularExpressions.Regex.IsMatch(f, @"^net\d+(\.0)(?:-[a-zA-Z0-9.]+)*$")) + .Select(s => s[..32]) + .Take(10)); + _telemetry.TrackEvent( "check-start", - [], + [ + ("RequestedFrameworks", frameworks), + ], [] ); } From ef8c456d96081679640a0755d107c0a77a3a762e Mon Sep 17 00:00:00 2001 From: Jerome Laban Date: Wed, 5 Feb 2025 10:17:57 -0500 Subject: [PATCH 2/2] chore: Adjust ignore report --- UnoCheck/CheckCommand.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UnoCheck/CheckCommand.cs b/UnoCheck/CheckCommand.cs index 6b7b490b..648c142f 100644 --- a/UnoCheck/CheckCommand.cs +++ b/UnoCheck/CheckCommand.cs @@ -310,7 +310,7 @@ public override async Task ExecuteAsync(CommandContext context, CheckSettin { TelemetryClient.TrackCheckFail( sw.Elapsed, - string.Join(",", erroredChecks.Select(c => skippedFix.Contains(c.Checkup.Id) ? "~" : "" + c.Checkup.Id))); + string.Join(",", erroredChecks.Select(c => (skippedFix.Contains(c.Checkup.Id) ? "~" : "") + c.Checkup.Id))); AnsiConsole.Console.WriteLine();