/// <summary> /// Constructs a new processor for the provided data files. /// </summary> /// <param name="preprocessor">The preprocessor to use (copies everything)</param> public EventProcessor(EventProcessor preprocessor) { // Copy stuff we already calculated this.TraceLog = preprocessor.TraceLog; this.Counters = preprocessor.Counters; this.Start = preprocessor.Start; this.End = preprocessor.End; this.Duration = preprocessor.Duration; this.Interval = preprocessor.Interval; this.Count = preprocessor.Count; this.CoreCount = preprocessor.CoreCount; this.Process = preprocessor.Process; this.Threads = preprocessor.Threads; this.Frames = preprocessor.Frames; this.Faults = preprocessor.Faults; this.Switches = preprocessor.Switches; this.Lifetimes = preprocessor.Lifetimes; this.LockAcquisitions = preprocessor.LockAcquisitions; // A last switch per core for (int i = 0; i < this.CoreCount; ++i) this.LookupLastSwitch.Add(i, null); }
/// <summary> /// Constructs a new processor for the provided data files. /// </summary> /// <param name="preprocessor">Preprocessor to use</param> public DataLocalityProcessor(EventProcessor preprocessor) : base(preprocessor) { }
/// <summary> /// Constructs a new processor for the provided data files. /// </summary> /// <param name="preprocessor">Preprocessor to use</param> public SwitchProcessor(EventProcessor preprocessor) : base(preprocessor) { }
/// <summary> /// Constructs a new processor for the provided data files. /// </summary> /// <param name="preprocessor">Preprocessor to use</param> public LockProcessor(EventProcessor preprocessor) : base(preprocessor) { }