public unsafe void Parse(EtwTraceNativeComponents.EVENT_RECORD *rawData)
 {
     if (rawData->EventHeader.Opcode == 17)
     {
         GCPerHeapHistoryTraceEvent gcperHeapHistoryTraceEvent = new GCPerHeapHistoryTraceEvent(GCPrivateEventsParser.providerGuid, "Microsoft-Windows-DotNETRuntimePrivate", rawData);
         List <long[]> list;
         if (!this.processData.TryGetValue(rawData->EventHeader.ProcessId, out list))
         {
             list = new List <long[]>();
             this.processData.Add(rawData->EventHeader.ProcessId, list);
         }
         long[] array = new long[4];
         for (Gens gens = Gens.Gen0; gens <= Gens.GenLargeObj; gens++)
         {
             long fragmentation = gcperHeapHistoryTraceEvent.GenData(gens).Fragmentation;
             array[(int)gens] = fragmentation;
         }
         list.Add(array);
     }
 }
Exemple #2
0
 internal GCPerHeapHistoryGenData(GCPerHeapHistoryTraceEvent container, int offset)
 {
     this.container   = container;
     this.startOffset = offset;
 }