private void ProfilerTrsReadCallback(ProfilerTrs arg) { _profilingPaused = false; _resumeTimeMilliseconds = arg.Value; CpuUtilizationHistory.RecordProfilingResumed(); foreach (var thread in Threads.Collection) { thread.CpuUtilizationHistory.RecordProfilingResumed(); } }
/// <summary> /// Create a data container for the specified profiling session file (but don't load the data at the moment). /// </summary> /// <param name="filePath">The profiling session file path and name.</param> /// <param name="cpuCoreCount"> /// The target system CPU core count /// </param> public DataContainer(string filePath, int cpuCoreCount) { if (string.IsNullOrEmpty(filePath)) { throw new ArgumentException(nameof(filePath)); } _filePath = filePath; CpuUtilizationHistory = new CpuUtilizationHistory(cpuCoreCount); var rootFunc = new Function { Name = "<ROOT>", Signature = "<EMPTY>" }; Functions.Add(rootFunc.InternalId, rootFunc); }
private void CpuReadCallback(Cpu arg) { CpuUtilizationHistory.RecordCpuUsage(arg.Timestamp, arg.Duration); }