Exemplo n.º 1
0
 internal unsafe TraceEvent(Guid providerGuid, string providerName, EtwTraceNativeComponents.EVENT_RECORD *rawData)
 {
     this.providerGuid = providerGuid;
     this.providerName = providerName;
     this.eventRecord  = rawData;
     this.userData     = rawData->UserData;
 }
Exemplo n.º 2
0
            private unsafe void RawDispatch(EtwTraceNativeComponents.EVENT_RECORD *rawData)
            {
                IParser parser;

                this.parserCollection.TryGetValue(rawData->EventHeader.ProviderId, out parser);
                if (parser != null)
                {
                    parser.Parse(rawData);
                }
            }
 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);
     }
 }
Exemplo n.º 4
0
 internal unsafe GCPerHeapHistoryTraceEvent(Guid providerGuid, string providerName, EtwTraceNativeComponents.EVENT_RECORD *rawData) : base(providerGuid, providerName, rawData)
 {
 }