private void UpdateAggregationEntries() { if (!_fileRecordInfoList.Any()) { return; } AggregationEntries.Clear(); _supressCollectionChanged = true; foreach (var recordInfo in _fileRecordInfoList) { var localSession = _recordManager.LoadData(recordInfo.FullPath); var frametimes = localSession.Runs.SelectMany(r => r.CaptureData.MsBetweenPresents).ToList(); var metricAnalysis = _statisticProvider .GetMetricAnalysis(frametimes, SelectedSecondMetric.ConvertToString(), SelectedThirdMetric.ConvertToString()); AggregationEntries.Add(new AggregationEntry() { GameName = recordInfo.GameName, CreationDate = recordInfo.CreationDate, CreationTime = recordInfo.CreationTime, AverageValue = metricAnalysis.Average, SecondMetricValue = metricAnalysis.Second, ThirdMetricValue = metricAnalysis.Third, MetricAnalysis = metricAnalysis }); } _supressCollectionChanged = false; OnAggregationEntriesChanged(); }
private void AddAggregationEntry(IFileRecordInfo recordInfo, Session session) { if (recordInfo != null) { if (_fileRecordInfoList.Any()) { if (!_fileRecordInfoList.All(info => info.ProcessName == recordInfo.ProcessName)) { return; } } _fileRecordInfoList.Add(recordInfo); } else { return; } List <double> frametimes = session?.FrameTimes; if (session == null) { var localSession = RecordManager.LoadData(recordInfo.FullPath); frametimes = localSession?.FrameTimes; } var metricAnalysis = _statisticProvider .GetMetricAnalysis(frametimes, SelectedSecondMetric.ConvertToString(), SelectedThirdMetric.ConvertToString()); AggregationEntries.Add(new AggregationEntry() { GameName = recordInfo.GameName, CreationDate = recordInfo.CreationDate, CreationTime = recordInfo.CreationTime, AverageValue = metricAnalysis.Average, SecondMetricValue = metricAnalysis.Second, ThirdMetricValue = metricAnalysis.Third, MetricAnalysis = metricAnalysis, FileRecordInfo = recordInfo }); }
private void AddAggregationEntry(IFileRecordInfo recordInfo, ISession session) { if (recordInfo == null) { return; } if (_fileRecordInfoList.Any()) { if (!_fileRecordInfoList.All(info => info.ProcessName == recordInfo.ProcessName)) { return; } } _fileRecordInfoList.Add(recordInfo); session = session ?? _recordManager.LoadData(recordInfo.FullPath); var frametimes = session.Runs.SelectMany(r => r.CaptureData.MsBetweenPresents).ToList(); var metricAnalysis = _statisticProvider .GetMetricAnalysis(frametimes, SelectedSecondMetric.ConvertToString(), SelectedThirdMetric.ConvertToString()); AggregationEntries.Add(new AggregationEntry() { GameName = recordInfo.GameName, CreationDate = recordInfo.CreationDate, CreationTime = recordInfo.CreationTime, AverageValue = metricAnalysis.Average, SecondMetricValue = metricAnalysis.Second, ThirdMetricValue = metricAnalysis.Third, MetricAnalysis = metricAnalysis, FileRecordInfo = recordInfo }); }