static void Go(ProgramArguments programArguments) { LogManager logger = new LogManager(); logger.StartLogging(); bool noCabs = false; try { StackHashUtilities.SystemInformation.DisableSleep(); AtomFeed atomFeed = new AtomFeed(programArguments.ProxySettings, 5, 300000, programArguments.LogXml, true, programArguments.IPAddress, 11); if (!atomFeed.Login(programArguments.UserName, programArguments.Password)) { DiagnosticsHelper.LogMessage(DiagSeverity.Information, "Failed to logon - check your username and password"); return; } else { DiagnosticsHelper.LogMessage(DiagSeverity.Information, "Logged on successfully."); } // ATOM GetProducts. AtomProductCollection atomProducts = atomFeed.GetProducts(); foreach (AtomProduct atomProduct in atomProducts) { } foreach (AtomProduct atomProduct in atomProducts) { DiagnosticsHelper.LogMessage(DiagSeverity.Information, atomProduct.Product.ToString()); // ATOM GetFiles. AtomFileCollection atomFiles = atomFeed.GetFiles(atomProduct); int totalEvents = 0; foreach (AtomFile atomFile in atomFiles) { // String eventsLink = @"https://winqual.microsoft.com/Services/wer/user/events.aspx?fileid=" + fileId.ToString(); // AtomFile atomFile = new AtomFile(new StackHashFile(), eventsLink); DiagnosticsHelper.LogMessage(DiagSeverity.Information, atomFile.File.ToString()); // ATOM GetEvents. AtomEventCollection atomEvents = atomFeed.GetEvents(atomFile); foreach (AtomEvent atomEvent in atomEvents) { totalEvents++; DiagnosticsHelper.LogMessage(DiagSeverity.Information, atomEvent.Event.ToString()); // ATOM events. StackHashEventInfoCollection eventInfos = GetEventInfoAtom(atomFeed, atomEvent, 90); StackHashEventInfoCollection normalizedEventInfos = new StackHashEventInfoCollection(); bool stop = false; foreach (StackHashEventInfo eventInfo in eventInfos) { DiagnosticsHelper.LogMessage(DiagSeverity.Information, eventInfo.ToString()); if (eventInfos.GetEventInfoMatchCount(eventInfo) != 1) { DiagnosticsHelper.LogMessage(DiagSeverity.Information, "*** DUPLICATE HIT"); DiagnosticsHelper.LogMessage(DiagSeverity.Information, eventInfo.ToString()); stop = true; } StackHashEventInfo normalizedEventInfo = eventInfo.Normalize(); DiagnosticsHelper.LogMessage(DiagSeverity.Information, "N: " + normalizedEventInfo.ToString()); normalizedEventInfos.Add(normalizedEventInfo); if (normalizedEventInfos.GetEventInfoMatchCount(normalizedEventInfo) != 1) { DiagnosticsHelper.LogMessage(DiagSeverity.Information, "*** NORMALIZATION ERROR"); DiagnosticsHelper.LogMessage(DiagSeverity.Information, normalizedEventInfo.ToString()); stop = true; } } if (stop) { return; } if (!noCabs) { // ATOM GetCabs. StackHashCabCollection atomCabs = GetCabInfoAtom(atomFeed, atomEvent); foreach (StackHashCab cab in atomCabs) { DiagnosticsHelper.LogMessage(DiagSeverity.Information, cab.ToString()); } } } } DiagnosticsHelper.LogMessage(DiagSeverity.Information, String.Format("TOTAL EVENTS: {0}", totalEvents)); } } catch (System.Exception ex) { DiagnosticsHelper.LogMessage(DiagSeverity.Information, "Error: " + ex.ToString()); } finally { StackHashUtilities.SystemInformation.EnableSleep(); logger.StopLogging(); } }