示例#1
0
 public EtwProfiler(EtwProfilerConfig config)
 {
     this.config         = config;
     runMode             = config.PerformExtraBenchmarksRun ? RunMode.ExtraRun : RunMode.NoOverhead;
     benchmarkToEtlFile  = new Dictionary <BenchmarkCase, string>();
     benchmarkToCounters = new Dictionary <BenchmarkCase, PreciseMachineCounter[]>();
     CreationTime        = DateTime.Now;
 }
示例#2
0
        protected Session(string sessionName, DiagnoserActionParameters details, EtwProfilerConfig config, DateTime creationTime)
        {
            Details           = details;
            Config            = config;
            FilePath          = ArtifactFileNameHelper.GetTraceFilePath(details, creationTime, FileExtension).EnsureFolderExists();
            TraceEventSession = new TraceEventSession(sessionName, FilePath)
            {
                BufferSizeMB          = config.BufferSizeInMb,
                CpuSampleIntervalMSec = config.CpuSampleIntervalInMilliseconds,
            };

            Console.CancelKeyPress += OnConsoleCancelKeyPress;
            AppDomain.CurrentDomain.ProcessExit += OnProcessExit;
        }
示例#3
0
        protected Session(string sessionName, DiagnoserActionParameters details, EtwProfilerConfig config, DateTime creationTime)
        {
            Details  = details;
            Config   = config;
            FilePath = EnsureFolderExists(GetFilePath(details, creationTime));

            TraceEventSession = new TraceEventSession(sessionName, FilePath)
            {
                BufferSizeMB          = config.BufferSizeInMb,
                CpuSampleIntervalMSec = config.CpuSampleIntervalInMiliseconds
            };

            Console.CancelKeyPress            += OnConsoleCancelKeyPress;
            NativeWindowsConsoleHelper.OnExit += OnConsoleCancelKeyPress;
        }
示例#4
0
 public KernelSession(DiagnoserActionParameters details, EtwProfilerConfig config, DateTime creationTime)
     : base(KernelTraceEventParser.KernelSessionName, details, config, creationTime)
 {
 }
示例#5
0
 public UserSession(DiagnoserActionParameters details, EtwProfilerConfig config, DateTime creationTime)
     : base(GetSessionName(details.BenchmarkCase), details, config, creationTime)
 {
 }
示例#6
0
 public HeapSession(DiagnoserActionParameters details, EtwProfilerConfig config, DateTime creationTime)
     : base(FullNameProvider.GetBenchmarkName(details.BenchmarkCase) + "Heap", details, config, creationTime)
 {
 }