private void RunTraceLog(EtwTraceCollector.TraceLogCollection state) { try { if (this.ExecuteTraceLogCommand(state.GetArguments())) { Thread.Sleep(state.SleepTimeInMs); } } finally { string arguments = string.Format("-stop \"{0}\"", state.TraceName); if (!this.ExecuteTraceLogCommand(arguments)) { Log.LogErrorMessage("tracelog.exe exited with a non-zero error code for {0}", new object[] { state.TraceName }); } } }
internal bool Initialize() { Log.LogInformationMessage("Starting ETW data collection for server {0}", new object[] { Environment.MachineName }); using (Dictionary <string, string> .Enumerator enumerator = this.etlFilePaths.GetEnumerator()) { if (enumerator.MoveNext()) { KeyValuePair <string, string> keyValuePair = enumerator.Current; if (!string.IsNullOrEmpty(this.traceLogFilePath) && !keyValuePair.Key.Equals("NT Kernel Logger")) { string defaultArgs = string.Format("-start \"{0}\" -guid \"{1}\" ", keyValuePair.Key, this.guidFileLocation); EtwTraceCollector.TraceLogCollection state = new EtwTraceCollector.TraceLogCollection(keyValuePair.Value, 15000, keyValuePair.Key, " -matchanykw 0x00000001", defaultArgs); this.RunTraceLog(state); } return(true); } } return(false); }