public IPerformanceMetricReader GetReader()
        {
            using (var source = new ETWTraceEventSource(_etlPath))
            {
                if (source.EventsLost > 0)
                    throw new Exception($"Events were lost in trace '{_etlPath}'");

                var evaluationContext = new EtwPerformanceMetricEvaluationContext(_etlPath, source, _tests, _project.RunId);
                try
                {
                    source.Process();
                    return evaluationContext;
                }
                catch
                {
                    evaluationContext.Dispose();
                    throw;
                }
            }
        }
        public IPerformanceMetricReader GetReader()
        {
            using (var source = new ETWTraceEventSource(_etlPath))
            {
                if (source.EventsLost > 0)
                {
                    throw new Exception($"Events were lost in trace '{_etlPath}'");
                }

                var evaluationContext = new EtwPerformanceMetricEvaluationContext(_etlPath, source, _tests, _project.RunId);
                try
                {
                    source.Process();
                    return(evaluationContext);
                }
                catch
                {
                    evaluationContext.Dispose();
                    throw;
                }
            }
        }