public static void CaptureBobsBuddyException(Exception ex, TestInput input, int turn, List <string> debugLog) { if (BobsBuddyExceptionsSent >= MaxBobsBuddyExceptions) { return; } if (input == null) { return; } BobsBuddyExceptionsSent++; // Clean up data input.RemoveSelfReferencesFromMinions(); var data = new BobsBuddyData() { ShortId = "", Turn = turn, ThreadCount = BobsBuddyInvoker.ThreadCount, Input = input, Log = ReverseAndClone(debugLog) }; var bbEvent = new SentryEvent(ex) { Level = ErrorLevel.Warning, Extra = data, }; bbEvent.Message = $"BobsBuddy {BobsBuddyUtils.VersionString}: {bbEvent.Message}"; bbEvent.Fingerprint.Add(BobsBuddyUtils.VersionString); BobsBuddyEvents.Enqueue(bbEvent); }
public static void QueueBobsBuddyTerminalCase(TestInput testInput, TestOutput output, string result, int turn, List <string> debugLog, Region region) { if (BobsBuddyEventsSent >= MaxBobsBuddyEvents) { return; } if (!Helper.IsSigned) { return; } // Clean up data testInput.RemoveSelfReferencesFromMinions(); output.ClearListsForReporting(); //ignoring for some temporary debugging var msg = new SentryMessage($"BobsBuddy {BobsBuddyUtils.VersionString}: Incorrect Terminal Case: {result}"); var data = new BobsBuddyData() { ShortId = "", Turn = turn, Result = result, ThreadCount = BobsBuddyInvoker.ThreadCount, Iterations = output.simulationCount, ExitCondition = output.myExitCondition.ToString(), Input = testInput, Output = output, Log = ReverseAndClone(debugLog), Region = region, CanRemoveLichKing = BobsBuddyInvoker.CanRemoveLichKing }; var bbEvent = new SentryEvent(msg) { Level = ErrorLevel.Warning, Extra = data, }; bbEvent.Tags.Add("region", data.Region.ToString()); bbEvent.Fingerprint.Add(result); bbEvent.Fingerprint.Add(BobsBuddyUtils.VersionString); BobsBuddyEvents.Enqueue(bbEvent); }