示例#1
0
 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
             });
         }
     }
 }
示例#2
0
 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);
 }