Ejemplo n.º 1
0
 public void BuildStatistics(ISelectedTimeFrame timeFrame)
 {
     _profilingDataProvider.BuildStatistics(timeFrame);
     foreach (var thread in SessionThreads.Values)
     {
         UpdateSessionThreadData(thread);
     }
 }
Ejemplo n.º 2
0
 public void UpdateDataForTimeFrame(ISelectedTimeFrame timeFrame)
 {
     if (!SelectedTimeFrame.Equals(timeFrame))
     {
         SessionModel.BuildStatistics(timeFrame);
         SelectedTimeFrame = timeFrame;
     }
 }
Ejemplo n.º 3
0
        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();
        }