private void OnGCHeapStats(GCHeapStatsTraceData data)
        {
            if (data.ProcessID != _processId)
            {
                return;
            }

            NotifyGarbageCollection(data);
        }
Beispiel #2
0
        private void ClrOnGcHeapStats(GCHeapStatsTraceData heapStats)
        {
            DateTime now        = DateTime.Now;
            int      currentPID = Process.GetCurrentProcess().Id;

            if (heapStats.ProcessID == currentPID)
            {
                gen0series.Add(new SeriesPoint(now, heapStats.GenerationSize0));
                gen1series.Add(new SeriesPoint(now, heapStats.GenerationSize1));
                gen2series.Add(new SeriesPoint(now, heapStats.GenerationSize2));
                gen3series.Add(new SeriesPoint(now, heapStats.GenerationSize3));
            }
        }
 private void ClrOnGCHeapStats(GCHeapStatsTraceData a)
 {
     if (a.ProcessID == _currentProcessId)
     {
         if (!_isMetricAlreadyCaptured)
         {
             lock (_lock)
                 _isMetricAlreadyCaptured = true;
         }
         _gen0Size = (ulong)a.GenerationSize0;
         _gen1Size = (ulong)a.GenerationSize1;
         _gen2Size = (ulong)a.GenerationSize2;
         _gen3Size = (ulong)a.GenerationSize3;
     }
 }
Beispiel #4
0
        private void ClrOnGcHeapStats(GCHeapStatsTraceData evt)
        {
            if (!IsTargetProcess(evt))
            {
                return;
            }

            heapStatsData.Add(new ClrEtwHeapStatsData()
            {
                Index           = evt.EventIndex,
                TimeStamp       = evt.TimeStamp,
                GenerationSize0 = evt.GenerationSize0,
                GenerationSize1 = evt.GenerationSize1,
                GenerationSize2 = evt.GenerationSize2,
                GenerationSize3 = evt.GenerationSize3,
                Description     = $"TID: {evt.ThreadID}"
            });
        }
Beispiel #5
0
 private static void ClrOnGcHeapStats(GCHeapStatsTraceData data)
 {
     Console.WriteLine($"[{data.ProcessName}]     Heapstats - {data.GenerationSize0:N0}|{data.GenerationSize1:N0}|{data.GenerationSize2:N0}|{data.GenerationSize3}");
 }
Beispiel #6
0
 private static void OnGCStats(object sender, GCHeapStatsTraceData e)
 {
     Console.WriteLine($"   LOH: {e.GenerationSize3,11}\r\n   gen2:{e.GenerationSize2,11}\r\n   gen1:{e.GenerationSize1,11}\r\n   gen0:{e.GenerationSize0,11}\r\n");
 }
        private void NotifyGarbageCollection(GCHeapStatsTraceData stats)
        {
            var listeners = GCStats;

            listeners?.Invoke(this, stats);
        }