public ProcessTracker(Process p, QpcTimeStamp getTimeStamp) { activePTSetIndex = -1; touchedTimeStamp = getTimeStamp; process = p; pid = p.Id; name = Utils.ExtensionMethods.TryGet(() => p.ProcessName); basePriority = Utils.ExtensionMethods.TryGet(() => p.BasePriority); mainModule = Utils.ExtensionMethods.TryGet(() => p.MainModule); if (mainModule != null) { mainModuleFilePath = Utils.ExtensionMethods.TryGet(() => mainModule.FileName); mainModuleFileVersion = Utils.ExtensionMethods.TryGet(() => mainModule.FileVersionInfo); } availableItemsToTrack = TrackedValues.TestAvailableItems(p); prevTrackedValues = default(TrackedValues); trackedValues = TrackedValues.TryGetFrom(p, getTimeStamp, availableItemsToTrack, prevTrackedValues); }
public void UpdateFrom(Process p, QpcTimeStamp getTimeStamp) { touchedTimeStamp = getTimeStamp; prevTrackedValues = trackedValues; trackedValues = TrackedValues.TryGetFrom(p, getTimeStamp, availableItemsToTrack, prevTrackedValues); }