Пример #1
0
 private static void Record(ref SystemWorkloadManagerLogEntry lastEntry, SystemWorkloadManagerLogEntryType type, ResourceKey resource, WorkloadClassification classification, ResourceLoad load, int slots, bool delayed)
 {
     if ((SystemWorkloadManagerBlackBox.active == null || SystemWorkloadManagerBlackBox.active.Contains(classification)) && (lastEntry == null || lastEntry.CurrentEvent.Load.State != load.State || lastEntry.CurrentEvent.Slots != slots || lastEntry.CurrentEvent.Delayed != delayed))
     {
         SystemWorkloadManagerEvent currentEvent = new SystemWorkloadManagerEvent(load, slots, delayed);
         lock (SystemWorkloadManagerBlackBox.history)
         {
             while (SystemWorkloadManagerBlackBox.history.Count >= SystemWorkloadManagerBlackBox.maxHistoryDepth)
             {
                 SystemWorkloadManagerBlackBox.history.Dequeue();
             }
             if (lastEntry == null)
             {
                 lastEntry = new SystemWorkloadManagerLogEntry(type, resource, classification, currentEvent, null);
                 SystemWorkloadManagerBlackBox.history.Enqueue(lastEntry);
             }
             else
             {
                 lastEntry = new SystemWorkloadManagerLogEntry(type, resource, classification, currentEvent, lastEntry.CurrentEvent);
                 SystemWorkloadManagerBlackBox.history.Enqueue(lastEntry);
             }
         }
     }
 }
 public SystemWorkloadManagerLogEntry(SystemWorkloadManagerLogEntryType type, ResourceKey resource, WorkloadClassification classification, SystemWorkloadManagerEvent currentEvent, SystemWorkloadManagerEvent previousEvent)
 {
     this.Type           = type;
     this.Resource       = resource;
     this.Classification = classification;
     this.CurrentEvent   = currentEvent;
     this.PreviousEvent  = previousEvent;
 }
 internal void Update(SystemWorkloadManagerEvent currentEvent)
 {
     this.CurrentEvent = currentEvent;
 }