39 instantiations of CrashTelemetry
Microsoft.Build (1)
BackEnd\BuildManager\BuildManager.cs (1)
1267
var telemetry = new
CrashTelemetry
Microsoft.Build.Framework (1)
Telemetry\CrashTelemetryRecorder.cs (1)
208
CrashTelemetry crashTelemetry =
new
();
Microsoft.Build.Framework.UnitTests (37)
CrashTelemetry_Tests.cs (37)
21
CrashTelemetry telemetry =
new
();
44
CrashTelemetry telemetry =
new
();
65
CrashTelemetry t1 =
new
();
66
CrashTelemetry t2 =
new
();
84
CrashTelemetry telemetry =
new
();
105
CrashTelemetry telemetry =
new
()
137
CrashTelemetry telemetry =
new
()
157
CrashTelemetry telemetry =
new
()
187
CrashTelemetry telemetry =
new
();
198
CrashTelemetry telemetry =
new
();
217
CrashTelemetry telemetry =
new
();
237
CrashTelemetry telemetry =
new
();
256
CrashTelemetry telemetry =
new
();
318
CrashTelemetry telemetry =
new
()
342
CrashTelemetry telemetry =
new
()
449
CrashTelemetry telemetry =
new
();
468
CrashTelemetry telemetry =
new
();
485
CrashTelemetry telemetry =
new
();
551
CrashTelemetry telemetry =
new
();
570
CrashTelemetry telemetry =
new
()
587
CrashTelemetry telemetry =
new
()
602
CrashTelemetry telemetry =
new
()
623
CrashTelemetry telemetry =
new
();
663
CrashTelemetry telemetry =
new
()
693
CrashTelemetry telemetry =
new
()
733
CrashTelemetry telemetry =
new
()
776
CrashTelemetry telemetry =
new
()
795
CrashTelemetry telemetry =
new
()
868
CrashTelemetry telemetry =
new
();
902
CrashTelemetry telemetry =
new
();
917
CrashTelemetry telemetry =
new
();
928
CrashTelemetry telemetry =
new
();
950
CrashTelemetry telemetry =
new
();
968
CrashTelemetry t1 =
new
();
969
CrashTelemetry t2 =
new
();
986
CrashTelemetry t1 =
new
();
987
CrashTelemetry t2 =
new
();
156 references to CrashTelemetry
Microsoft.Build (1)
BackEnd\BuildManager\BuildManager.cs (1)
1267
var
telemetry = new CrashTelemetry
Microsoft.Build.Framework (13)
Telemetry\BuildCheckTelemetry.cs (1)
34
string? sanitizedMessage =
CrashTelemetry
.TruncateMessage(exception.Message);
Telemetry\CrashTelemetryRecorder.cs (11)
53
CrashTelemetry
crashTelemetry = CreateCrashTelemetry(exception, exitType, isUnhandled, isCritical);
82
CrashTelemetry
crashTelemetry = CreateCrashTelemetry(exception, exitType, isUnhandled, isCritical);
111
CrashTelemetry
? crashTelemetry = KnownTelemetry.CrashTelemetry;
145
private static void PostFaultEvent(
CrashTelemetry
crashTelemetry)
191
: base(
CrashTelemetry
.TruncateMessage(original.Message) ?? original.GetType().FullName,
195
?
CrashTelemetry
.SanitizeFilePathsInText(original.StackTrace)
202
private static
CrashTelemetry
CreateCrashTelemetry(
208
CrashTelemetry
crashTelemetry = new();
217
/// Emits a pre-populated <see cref="
CrashTelemetry
"/> for an EndBuild hang.
220
/// The caller is responsible for populating the <see cref="
CrashTelemetry
"/> with
224
public static void EmitEndBuildHangDiagnostics(
CrashTelemetry
crashTelemetry)
Telemetry\KnownTelemetry.cs (1)
33
public static
CrashTelemetry
? CrashTelemetry { get; set; }
Microsoft.Build.Framework.UnitTests (142)
CrashTelemetry_Tests.cs (142)
21
CrashTelemetry
telemetry = new();
44
CrashTelemetry
telemetry = new();
65
CrashTelemetry
t1 = new();
66
CrashTelemetry
t2 = new();
84
CrashTelemetry
telemetry = new();
105
CrashTelemetry
telemetry = new()
121
props[nameof(
CrashTelemetry
.ExceptionType)].ShouldBe("System.InvalidOperationException");
122
props[nameof(
CrashTelemetry
.InnerExceptionType)].ShouldBe("System.ArgumentException");
123
props[nameof(
CrashTelemetry
.ExitType)].ShouldBe("Unexpected");
124
props[nameof(
CrashTelemetry
.IsCritical)].ShouldBe("False");
125
props[nameof(
CrashTelemetry
.IsUnhandled)].ShouldBe("True");
126
props[nameof(
CrashTelemetry
.StackHash)].ShouldBe("ABC123");
127
props[nameof(
CrashTelemetry
.StackTop)].ShouldBe("at Foo.Bar()");
128
props[nameof(
CrashTelemetry
.HResult)].ShouldBe("-2147024809");
129
props[nameof(
CrashTelemetry
.BuildEngineVersion)].ShouldBe("17.0.0");
130
props[nameof(
CrashTelemetry
.BuildEngineFrameworkName)].ShouldBe(".NET 10.0");
131
props[nameof(
CrashTelemetry
.BuildEngineHost)].ShouldBe("VS");
137
CrashTelemetry
telemetry = new()
144
props.ShouldContainKey(nameof(
CrashTelemetry
.ExceptionType));
145
props.ShouldContainKey(nameof(
CrashTelemetry
.IsUnhandled));
146
props.ShouldNotContainKey(nameof(
CrashTelemetry
.InnerExceptionType));
147
props.ShouldNotContainKey(nameof(
CrashTelemetry
.InnerExceptionStackTrace));
148
props.ShouldNotContainKey(nameof(
CrashTelemetry
.InnerExceptionMessage));
149
props.ShouldNotContainKey(nameof(
CrashTelemetry
.LoggerEventType));
150
props.ShouldNotContainKey(nameof(
CrashTelemetry
.StackHash));
151
props.ShouldNotContainKey(nameof(
CrashTelemetry
.BuildEngineHost));
157
CrashTelemetry
telemetry = new()
172
props[nameof(
CrashTelemetry
.ExceptionType)].ShouldBe("System.InvalidOperationException");
173
props[nameof(
CrashTelemetry
.ExitType)].ShouldBe("Unexpected");
174
props[nameof(
CrashTelemetry
.IsCritical)].ShouldBe(true);
175
props[nameof(
CrashTelemetry
.IsUnhandled)].ShouldBe(false);
176
props[nameof(
CrashTelemetry
.StackHash)].ShouldBe("DEF456");
177
props[nameof(
CrashTelemetry
.StackTop)].ShouldBe("at Foo.Baz()");
178
props[nameof(
CrashTelemetry
.HResult)].ShouldBe(-1);
179
props[nameof(
CrashTelemetry
.BuildEngineVersion)].ShouldBe("17.0.0");
180
props[nameof(
CrashTelemetry
.BuildEngineFrameworkName)].ShouldBe(".NET 10.0");
181
props[nameof(
CrashTelemetry
.BuildEngineHost)].ShouldBe("CLI");
187
CrashTelemetry
telemetry = new();
198
CrashTelemetry
telemetry = new();
217
CrashTelemetry
telemetry = new();
237
CrashTelemetry
telemetry = new();
256
CrashTelemetry
telemetry = new();
286
string? result =
CrashTelemetry
.ExtractOriginNamespace(ex);
302
CrashOriginKind result =
CrashTelemetry
.ClassifyOrigin(originNamespace);
311
string? result =
CrashTelemetry
.ExtractOriginNamespace(ex);
318
CrashTelemetry
telemetry = new()
331
props[nameof(
CrashTelemetry
.CrashOrigin)].ShouldBe("MSBuild");
332
props[nameof(
CrashTelemetry
.CrashOriginNamespace)].ShouldBe("Microsoft.Build.BackEnd");
333
props[nameof(
CrashTelemetry
.InnermostExceptionType)].ShouldBe("System.IO.IOException");
334
props[nameof(
CrashTelemetry
.InnerExceptionStackTrace)].ShouldBe(" at SomeLogger.HandleEvent()");
335
props[nameof(
CrashTelemetry
.InnerExceptionMessage)].ShouldBe("Cannot access a disposed object.");
336
props[nameof(
CrashTelemetry
.LoggerEventType)].ShouldBe("BuildFinishedEventArgs");
342
CrashTelemetry
telemetry = new()
355
props[nameof(
CrashTelemetry
.CrashOrigin)].ShouldBe("ThirdParty");
356
props[nameof(
CrashTelemetry
.CrashOriginNamespace)].ShouldBe("Microsoft.VisualStudio.RemoteControl");
357
props[nameof(
CrashTelemetry
.InnermostExceptionType)].ShouldBe("System.OutOfMemoryException");
358
props[nameof(
CrashTelemetry
.InnerExceptionStackTrace)].ShouldBe(" at SomeComponent.DoWork()");
359
props[nameof(
CrashTelemetry
.InnerExceptionMessage)].ShouldBe("Insufficient memory.");
360
props[nameof(
CrashTelemetry
.LoggerEventType)].ShouldBe("BuildMessageEventArgs");
371
string? caller =
CrashTelemetry
.ExtractStackCaller(ex);
385
string? caller =
CrashTelemetry
.ExtractStackCaller(ex);
396
string? caller =
CrashTelemetry
.ExtractStackCaller(ex);
406
string? caller =
CrashTelemetry
.ExtractStackCaller(ex);
424
string? caller =
CrashTelemetry
.ExtractStackCaller(ex);
438
string? caller =
CrashTelemetry
.ExtractStackCaller(ex);
449
CrashTelemetry
telemetry = new();
468
CrashTelemetry
telemetry = new();
485
CrashTelemetry
telemetry = new();
502
CrashTelemetry
.TruncateMessage(null).ShouldBeNull();
503
CrashTelemetry
.TruncateMessage("").ShouldBeNull();
510
string? result =
CrashTelemetry
.TruncateMessage(longMessage);
520
string? result =
CrashTelemetry
.TruncateMessage(message);
533
string? result =
CrashTelemetry
.TruncateMessage(message);
544
string? result =
CrashTelemetry
.TruncateMessage(message);
551
CrashTelemetry
telemetry = new();
570
CrashTelemetry
telemetry = new()
580
props[nameof(
CrashTelemetry
.StackCaller)].ShouldBe("at Microsoft.Build.BackEnd.RequestBuilder.BuildProject(String projectFile)");
581
props[nameof(
CrashTelemetry
.ExceptionMessage)].ShouldBe("All submissions not yet complete.");
587
CrashTelemetry
telemetry = new()
596
props.ShouldNotContainKey(nameof(
CrashTelemetry
.StackCaller));
602
CrashTelemetry
telemetry = new()
611
props[nameof(
CrashTelemetry
.StackCaller)].ShouldBe("at Microsoft.Build.BackEnd.RequestBuilder.BuildProject(String projectFile)");
623
CrashTelemetry
telemetry = new();
640
CrashTelemetry
.ExtractFullStackTrace(ex).ShouldBeNull();
654
string? result =
CrashTelemetry
.ExtractFullStackTrace(ex);
656
result!.Length.ShouldBeLessThanOrEqualTo(
CrashTelemetry
.MaxStackTraceLength);
663
CrashTelemetry
telemetry = new()
670
props[nameof(
CrashTelemetry
.FullStackTrace)].ShouldBe(" at Foo.Bar()\n at Baz.Qux()");
677
string result =
CrashTelemetry
.SanitizeFilePathsInText(input);
686
string result =
CrashTelemetry
.SanitizeFilePathsInText(input);
693
CrashTelemetry
telemetry = new()
712
props[nameof(
CrashTelemetry
.ExitType)].ShouldBe("EndBuildHang");
713
props[nameof(
CrashTelemetry
.EndBuildWaitPhase)].ShouldBe("WaitingForSubmissions");
714
props[nameof(
CrashTelemetry
.EndBuildWaitDurationMs)].ShouldBe("60000");
715
props[nameof(
CrashTelemetry
.PendingSubmissionCount)].ShouldBe("3");
716
props[nameof(
CrashTelemetry
.SubmissionsWithResultNoLogging)].ShouldBe("1");
717
props[nameof(
CrashTelemetry
.ThreadExceptionRecorded)].ShouldBe("False");
718
props[nameof(
CrashTelemetry
.UnmatchedProjectStartedCount)].ShouldBe("2");
719
props[nameof(
CrashTelemetry
.LoggingServiceState)].ShouldBe("Initialized");
720
props[nameof(
CrashTelemetry
.LoggingEventQueueDepth)].ShouldBe("42");
721
props[nameof(
CrashTelemetry
.IsShuttingDown)].ShouldBe("False");
722
props[nameof(
CrashTelemetry
.IsCancellationRequested)].ShouldBe("False");
723
props[nameof(
CrashTelemetry
.WorkQueueDepth)].ShouldBe("5");
724
props[nameof(
CrashTelemetry
.SubmissionDetails)].ShouldBe("1:True:True:False:False;2:True:False:False:False;3:False:False:False:False");
725
props[nameof(
CrashTelemetry
.RegisteredLoggerTypeNames)].ShouldBe("Microsoft.Build.Logging.ConsoleLogger;Microsoft.Build.Logging.BinaryLogger");
726
props.ShouldNotContainKey(nameof(
CrashTelemetry
.ActiveNodeIds));
727
props.ShouldNotContainKey(nameof(
CrashTelemetry
.ActiveNodeDetails));
733
CrashTelemetry
telemetry = new()
755
props[nameof(
CrashTelemetry
.EndBuildWaitPhase)].ShouldBe("WaitingForNodes");
756
props[nameof(
CrashTelemetry
.EndBuildWaitDurationMs)].ShouldBe(30000L);
757
props[nameof(
CrashTelemetry
.PendingSubmissionCount)].ShouldBe(0);
758
props[nameof(
CrashTelemetry
.SubmissionsWithResultNoLogging)].ShouldBe(0);
759
props[nameof(
CrashTelemetry
.ThreadExceptionRecorded)].ShouldBe(true);
760
props[nameof(
CrashTelemetry
.UnmatchedProjectStartedCount)].ShouldBe(0);
761
props[nameof(
CrashTelemetry
.LoggingServiceState)].ShouldBe("ShuttingDown");
762
props[nameof(
CrashTelemetry
.LoggingEventQueueDepth)].ShouldBe(0);
763
props[nameof(
CrashTelemetry
.IsShuttingDown)].ShouldBe(true);
764
props[nameof(
CrashTelemetry
.IsCancellationRequested)].ShouldBe(false);
765
props[nameof(
CrashTelemetry
.WorkQueueDepth)].ShouldBe(0);
766
props.ShouldNotContainKey(nameof(
CrashTelemetry
.SubmissionDetails));
767
props[nameof(
CrashTelemetry
.RegisteredLoggerTypeNames)].ShouldBe("Microsoft.Build.Logging.ConsoleLogger");
768
props[nameof(
CrashTelemetry
.ActiveNodeIds)].ShouldBe("2,3,5,7,9");
769
props[nameof(
CrashTelemetry
.EnableNodeReuse)].ShouldBe(true);
770
props[nameof(
CrashTelemetry
.ActiveNodeDetails)].ShouldBe("2:10:MyProject.csproj;3:idle;5:12:OtherProject.csproj;7:idle;9:error");
776
CrashTelemetry
telemetry = new()
783
props.ShouldContainKey(nameof(
CrashTelemetry
.EndBuildWaitPhase));
784
props.ShouldNotContainKey(nameof(
CrashTelemetry
.PendingSubmissionCount));
785
props.ShouldNotContainKey(nameof(
CrashTelemetry
.ThreadExceptionRecorded));
795
CrashTelemetry
telemetry = new()
824
string? result =
CrashTelemetry
.TruncateMessage(message);
839
string? result =
CrashTelemetry
.TruncateMessage(message);
851
string result =
CrashTelemetry
.SanitizeFilePathsInText(input);
860
string result =
CrashTelemetry
.SanitizeFilePathsInText(input);
868
CrashTelemetry
telemetry = new();
902
CrashTelemetry
telemetry = new();
917
CrashTelemetry
telemetry = new();
928
CrashTelemetry
telemetry = new();
950
CrashTelemetry
telemetry = new();
968
CrashTelemetry
t1 = new();
969
CrashTelemetry
t2 = new();
986
CrashTelemetry
t1 = new();
987
CrashTelemetry
t2 = new();