public void BuildStatistics(ISelectedTimeFrame timeFrame) { _profilingDataProvider.BuildStatistics(timeFrame); foreach (var thread in SessionThreads.Values) { UpdateSessionThreadData(thread); } }
public void UpdateDataForTimeFrame(ISelectedTimeFrame timeFrame) { if (!SelectedTimeFrame.Equals(timeFrame)) { SessionModel.BuildStatistics(timeFrame); SelectedTimeFrame = timeFrame; } }
public void BuildStatisticsRaw(ISelectedTimeFrame timeFrame) { ApplicationStatistics = new ApplicationStatistics(); ThreadsStatisticsRaw = new Dictionary <ulong, IThreadStatisticsRaw>(); _applicationData = new StatisticsData(); foreach (var thread in _sessionThreads.Values) { if (thread.InternalId == Thread.FakeThreadId) { continue; } var threadStatistics = new ThreadStatisticsData { CpuUtilization = thread.CpuUtilization }; foreach (var s in PDataContainer.Samples[thread.InternalId]) { if (s.TimeMilliseconds >= timeFrame.Start) { if (s.TimeMilliseconds > timeFrame.End) { break; } ProcessSample(threadStatistics, s); } } ThreadsStatisticsRaw.Add(thread.InternalId, BuildThreadStatisticsRaw(threadStatistics)); } ApplicationStatistics = BuildApplicationStatistics(); }