private GarbageCollectionArgs BuildGcArgs(GCDetails info) { int number = info.Number; int generation = info.Generation; double startRelativeMSec = (double)info.TimeStamp.Ticks; // TODO: translate in term of milli-seconds GarbageCollectionReason reason = (GarbageCollectionReason)info.Reason; GarbageCollectionType type = (GarbageCollectionType)info.Type; bool isCompacting = false; long gen0Size = info.Heaps.Gen0Size; long gen1Size = info.Heaps.Gen1Size; long gen2Size = info.Heaps.Gen2Size; long lohSize = info.Heaps.LOHSize; // we don't do the difference and PauseDuration accumulate all supension/pause durations double pauseDuration = info.PauseDuration; double suspensionDuration = 0; double finalPauseDuration = 0; // these are not available (yet) with EventPipes long[] objSizeBefore = new long[4] { 0, 0, 0, 0 }; long[] objSizeAfter = new long[4] { 0, 0, 0, 0 }; return(new GarbageCollectionArgs( _pid, startRelativeMSec, number, generation, reason, type, isCompacting, gen0Size, gen1Size, gen2Size, lohSize, objSizeBefore, objSizeAfter, suspensionDuration, pauseDuration, finalPauseDuration)); }
public GarbageCollectionStarted(ulong osThreadId, ulong timestamp, GarbageCollectionReason reason, GarbageCollectionGenerations generations) { OsThreadId = osThreadId; Timestamp = timestamp; Reason = reason; Generations = generations; }
public GarbageCollectionStartEvent( DateTime timestamp, int number, int generation, GarbageCollectionType type, GarbageCollectionReason reason) { Timestamp = timestamp; Number = number; Generation = generation; Type = type; Reason = reason; }
public GarbageCollectionInfo( DateTimeOffset startTimestamp, TimeSpan duration, int generation, int number, GarbageCollectionType type, GarbageCollectionReason reason) { StartTimestamp = startTimestamp; Duration = duration; Generation = generation; Number = number; Type = type; Reason = reason; }
public GarbageCollectionArgs(int processId, double startRelativeMSec, int number, int generation, GarbageCollectionReason reason, GarbageCollectionType type, bool isCompacting, long gen0Size, long gen1Size, long gen2Size, long lohSize, long[] objSizeBefore, long[] objSizeAfter, double suspensionDuration, double pauseDuration, double finalPauseDuration) { ProcessId = processId; StartRelativeMSec = startRelativeMSec; Number = number; Generation = generation; Reason = reason; Type = type; IsCompacting = isCompacting; Gen0Size = gen0Size; Gen1Size = gen1Size; Gen2Size = gen2Size; LohSize = lohSize; ObjSizeBefore = objSizeBefore; ObjSizeAfter = objSizeAfter; SuspensionDuration = suspensionDuration; PauseDuration = pauseDuration; BgcFinalPauseDuration = finalPauseDuration; }