private void GatherTraceData() { using (ITraceProcessor trace = TraceProcessor.Create(EtlPath)) { IPendingResult <IProcessDataSource> pendingProcessData = trace.UseProcesses(); IPendingResult <IThreadDataSource> pendingThreadData = trace.UseThreads(); IPendingResult <ICpuSampleDataSource> pendingCpuSampleData = trace.UseCpuSamplingData(); IPendingResult <ICpuSchedulingDataSource> pendingCpuSchedulingData = trace.UseCpuSchedulingData(); trace.Process(); GatherProcessData(pendingProcessData.Result); GatherThreadData(pendingThreadData.Result); GatherCpuSampleData(pendingCpuSampleData.Result); GatherCpuSchedulingData(pendingCpuSchedulingData.Result); } }