diff --git a/src/EtwHeapDump/DotNetHeapDumpGraphReader.cs b/src/EtwHeapDump/DotNetHeapDumpGraphReader.cs index 4693b1ba6..17164ce9e 100644 --- a/src/EtwHeapDump/DotNetHeapDumpGraphReader.cs +++ b/src/EtwHeapDump/DotNetHeapDumpGraphReader.cs @@ -182,7 +182,7 @@ internal void SetupCallbacks(MemoryGraph memoryGraph, TraceEventDispatcher sourc } }; - source.Clr.GCGenAwareStart += delegate (GenAwareBeginTraceData data) + source.Clr.GCGenAwareBegin += delegate (GenAwareTemplateTraceData data) { m_seenStart = true; m_ignoreEvents = false; @@ -266,7 +266,7 @@ internal void SetupCallbacks(MemoryGraph memoryGraph, TraceEventDispatcher sourc } }; - source.Clr.GCGenAwareEnd += delegate (GenAwareEndTraceData data) + source.Clr.GCGenAwareEnd += delegate (GenAwareTemplateTraceData data) { m_ignoreEvents = true; if (m_nodeBlocks.Count == 0 && m_typeBlocks.Count == 0 && m_edgeBlocks.Count == 0) diff --git a/src/PerfView/GcStats.cs b/src/PerfView/GcStats.cs index cf0dffe30..c3e939316 100644 --- a/src/PerfView/GcStats.cs +++ b/src/PerfView/GcStats.cs @@ -226,6 +226,20 @@ public static void ToXml(TextWriter writer, TraceProcess stats, TraceLoadedDotNe writer.Write("{0} 0) + { + GCLOHCompactInfo lohCompactInfo = gc.LOHCompactInfos[HeapNum]; + writer.Write(" LOHTimePlan =\"{0:n3}\" ", lohCompactInfo.TimePlan); + writer.Write(" LOHTimeCompact =\"{0:n3}\" ", lohCompactInfo.TimeCompact); + writer.Write(" LOHTimeRelocate =\"{0:n3}\" ", lohCompactInfo.TimeRelocate); + writer.Write(" LOHTotalRefs =\"{0}\" ", lohCompactInfo.TotalRefs); + writer.Write(" LOHZeroRefs =\"{0}\" ", lohCompactInfo.ZeroRefs); + } } else { @@ -556,6 +579,26 @@ public static void ToXmlAttribs(TextWriter writer, TraceProcess stats, TraceLoad } writer.WriteLine(" "); } + if (gc.LargestFreeListItemsBuckets.Count > 0) + { + writer.WriteLine(" "); + for (int i = 0; i < gc.LargestFreeListItemsBuckets.Count; i++) + { + GCFitBucket bucket = gc.LargestFreeListItemsBuckets[i]; + writer.WriteLine(" ", bucket.Index, bucket.Count, bucket.Size); + } + writer.WriteLine(" "); + } + if (gc.PlugsInCondemnedBuckets.Count > 0) + { + writer.WriteLine(" "); + for (int i = 0; i < gc.PlugsInCondemnedBuckets.Count; i++) + { + GCFitBucket bucket = gc.PlugsInCondemnedBuckets[i]; + writer.WriteLine(" ", bucket.Index, bucket.Count, bucket.Size); + } + writer.WriteLine(" "); + } writer.WriteLine(" "); } diff --git a/src/PerfView/PerfViewData.cs b/src/PerfView/PerfViewData.cs index edbcbfbf7..c86640db5 100644 --- a/src/PerfView/PerfViewData.cs +++ b/src/PerfView/PerfViewData.cs @@ -3828,7 +3828,7 @@ public override void Open(Window parentWindow, StatusBar worker, Action doAfter) // For .NET, we are looking for a Gen 2 GC Start that is induced that has GCBulkNodes after it. var lastGCStartsRelMSec = new Dictionary(); - source.Clr.GCGenAwareStart += delegate (Microsoft.Diagnostics.Tracing.Parsers.Clr.GenAwareBeginTraceData data) + source.Clr.GCGenAwareBegin += delegate (Microsoft.Diagnostics.Tracing.Parsers.Clr.GenAwareTemplateTraceData data) { lastGCStartsRelMSec[data.ProcessID] = data.TimeStampRelativeMSec; }; diff --git a/src/TraceEvent/Computers/TraceManagedProcess.cs b/src/TraceEvent/Computers/TraceManagedProcess.cs index 215b46190..c2cc9862d 100644 --- a/src/TraceEvent/Computers/TraceManagedProcess.cs +++ b/src/TraceEvent/Computers/TraceManagedProcess.cs @@ -2,7 +2,7 @@ // This file is best viewed using outline mode (Ctrl-M Ctrl-O) // // This program uses code hyperlinks available as part of the HyperAddin Visual Studio plug-in. -// It is available from http://www.codeplex.com/hyperAddin +// It is available from http://www.codeplex.com/hyperAddin // using Microsoft.Diagnostics.Tracing.Parsers; using Microsoft.Diagnostics.Tracing.Analysis.GC; using Microsoft.Diagnostics.Tracing.Analysis.JIT; @@ -33,7 +33,7 @@ public static void NeedLoadedDotNetRuntimes(this TraceEventDispatcher source) // ensure there are base processes source.NeedProcesses(); - if(m_weakCurrentSource.Target != source) + if (m_weakCurrentSource.Target != source) { TraceLoadedDotNetRuntime.SetupCallbacks(source); } @@ -105,7 +105,7 @@ public static bool HasMutableTraceEventStackSource(this TraceEventDispatcher sou return map.Any(kv => kv.Value.StackSource != null); } -#region private + #region private public class DotNetRuntime { public Action OnLoaded; @@ -141,12 +141,12 @@ internal static void OnDotNetRuntimeUnloaded(this TraceProcess process) } private static WeakReference m_weakCurrentSource = new WeakReference(null); // used to ensure non-concurrent usage -#endregion + #endregion } /// /// Extension properties for TraceProcess that include necessary .NET values - /// + /// /// TODO This implementation is poor at idenitfying the ParentPID, 64bitness, and Start/End times /// public class TraceLoadedDotNetRuntime @@ -217,7 +217,7 @@ public override string ToString() return xml.Replace("/>", sb.ToString()); } -#region private + #region private internal TraceLoadedDotNetRuntime(TraceProcess proc) { @@ -239,9 +239,9 @@ internal static void SetupCallbacks(TraceEventDispatcher source) // Set additional TraceManageProcess properties // - // These parsers create state and we want to collect that so we put it on our 'parsers' list that we serialize. + // These parsers create state and we want to collect that so we put it on our 'parsers' list that we serialize. var clrRundownParser = new ClrRundownTraceEventParser(source); - // See if the source knows about the CLR Private provider, if it does, then + // See if the source knows about the CLR Private provider, if it does, then var clrPrivate = new ClrPrivateTraceEventParser(source); Dictionary processRuntimes = new Dictionary(); @@ -568,7 +568,7 @@ internal static void SetupCallbacks(TraceEventDispatcher source) } // .NET Server Threads' ThreadInfo can be either ".NET Server GC Thread (#)" or ".NET Server GC". - // Both should be accumulated to correctly compute the heap count. + // Both should be accumulated to correctly compute the heap count. if (procThread.ThreadInfo.StartsWith(".NET Server GC")) { mang.GC.m_stats.HeapCount++; @@ -595,7 +595,7 @@ internal static void SetupCallbacks(TraceEventDispatcher source) { var mang = currentManagedProcess(data); - if(!(data.ThreadID == mang.GC.m_stats.suspendThreadIDBGC || data.ThreadID == mang.GC.m_stats.suspendThreadIDGC)) + if (!(data.ThreadID == mang.GC.m_stats.suspendThreadIDBGC || data.ThreadID == mang.GC.m_stats.suspendThreadIDGC)) { // We only care about SuspendStop events that correspond to GC or PrepForGC reasons // If we had initiated one of those then we set the corresponding threadid field in @@ -617,7 +617,7 @@ internal static void SetupCallbacks(TraceEventDispatcher source) var process = data.Process(); var stats = currentManagedProcess(data); - if(data.ThreadID == stats.GC.m_stats.suspendThreadIDOther) + if (data.ThreadID == stats.GC.m_stats.suspendThreadIDOther) { stats.GC.m_stats.suspendThreadIDOther = -1; } @@ -626,7 +626,7 @@ internal static void SetupCallbacks(TraceEventDispatcher source) { // We only care about RestartEE events that correspond to GC or PrepForGC suspensions // If we had initiated one of those then we set the corresponding threadid field in - // SuspendStart and we are guaranteed that the matching RestartEE will occur on the + // SuspendStart and we are guaranteed that the matching RestartEE will occur on the // same thread. Any other RestartEE must be part of a suspension we aren't tracking. return; } @@ -645,9 +645,9 @@ internal static void SetupCallbacks(TraceEventDispatcher source) Debug.Assert(_gc.PauseDurationMSec == 0); } Debug.Assert(_gc.PauseStartRelativeMSec != 0); - // In 2.0 Concurrent GC, since we don't know the GC's type we can't tell if it's concurrent + // In 2.0 Concurrent GC, since we don't know the GC's type we can't tell if it's concurrent // or not. But we know we don't have nested GCs there so simply check if we have received the - // GCStop event; if we have it means it's a blocking GC; otherwise it's a concurrent GC so + // GCStop event; if we have it means it's a blocking GC; otherwise it's a concurrent GC so // simply add the pause time to the GC without making the GC complete. if (_gc.DurationMSec == 0) { @@ -673,9 +673,9 @@ internal static void SetupCallbacks(TraceEventDispatcher source) } } - // We don't change between a GC end and the pause resume. + // We don't change between a GC end and the pause resume. //Debug.Assert(stats.allocTickAtLastGC == stats.allocTickCurrentMB); - // Mark that we are not in suspension anymore. + // Mark that we are not in suspension anymore. stats.GC.m_stats.suspendTimeRelativeMSec = -1; stats.GC.m_stats.suspendThreadIDBGC = -1; stats.GC.m_stats.suspendThreadIDGC = -1; @@ -690,8 +690,8 @@ internal static void SetupCallbacks(TraceEventDispatcher source) if (data.AllocationKind == GCAllocationKind.Small) { - // Would this do the right thing or is it always 0 for SOH since AllocationAmount - // is an int??? + // Would this do the right thing or is it always 0 for SOH since AllocationAmount + // is an int??? stats.GC.m_stats.allocTickCurrentMB[0] += valueMB; } else @@ -835,7 +835,7 @@ internal static void SetupCallbacks(TraceEventDispatcher source) TraceGC _event = TraceGarbageCollector.GetCurrentGC(stats); if (_event != null) { - // ObjectID is supposed to be an IntPtr. But "Address" is defined as UInt64 in + // ObjectID is supposed to be an IntPtr. But "Address" is defined as UInt64 in // TraceEvent. if (_event.PinnedPlugs == null) { @@ -892,13 +892,51 @@ internal static void SetupCallbacks(TraceEventDispatcher source) } }; + source.Clr.GCLOHCompact += delegate (GCLOHCompactTraceData data) + { + var stats = currentManagedProcess(data); + TraceGC _gc = TraceGarbageCollector.GetCurrentGC(stats); + if (_gc != null) + { + for (int i = 0; i < data.Count; i++) + { + _gc.LOHCompactInfos.Add(data.Info(i)); + } + } + }; + + source.Clr.GCFitBucketInfo += delegate (GCFitBucketInfoTraceData data) + { + BucketKind bucketKind = data.BucketKind; + var stats = currentManagedProcess(data); + TraceGC _gc = TraceGarbageCollector.GetCurrentGC(stats); + if (_gc != null) + { + for (int i = 0; i < data.Count; i++) + { + if (bucketKind == BucketKind.LargestFreeListItems) + { + _gc.LargestFreeListItemsBuckets.Add(data.Buckets(i)); + } + else if (bucketKind == BucketKind.PlugsInCondemned) + { + _gc.PlugsInCondemnedBuckets.Add(data.Buckets(i)); + } + else + { + Debug.Assert(false); + } + } + } + }; + clrPrivate.GCPinPlugAtGCTime += delegate (PinPlugAtGCTimeTraceData data) { var stats = currentManagedProcess(data); TraceGC _gc = TraceGarbageCollector.GetCurrentGC(stats); if (_gc != null) { - // ObjectID is supposed to be an IntPtr. But "Address" is defined as UInt64 in + // ObjectID is supposed to be an IntPtr. But "Address" is defined as UInt64 in // TraceEvent. if (_gc.PinnedPlugs == null) { @@ -1212,6 +1250,11 @@ internal static void SetupCallbacks(TraceEventDispatcher source) 1; }; + clrRundownParser.GCSettingsRundown += delegate (GCSettingsRundownTraceData data) + { + var stats = currentManagedProcess(data); + stats.GC.m_gcSettings = new GCSettings(data.HardLimit, data.LOHThreshold, data.PhysicalMemoryConfig, data.Gen0MinBudgetConfig, data.Gen0MaxBudgetConfig, data.HighMemPercentConfig, data.BitSettings); + }; } // @@ -1316,7 +1359,7 @@ internal static void SetupCallbacks(TraceEventDispatcher source) } }; - source.Clr.MethodMemoryAllocatedForJitCode += delegate(MethodJitMemoryAllocatedForCodeTraceData data) + source.Clr.MethodMemoryAllocatedForJitCode += delegate (MethodJitMemoryAllocatedForCodeTraceData data) { var process = data.Process(); var stats = currentManagedProcess(data); @@ -1407,7 +1450,7 @@ internal static void SetupCallbacks(TraceEventDispatcher source) clrPrivate.BindingLoaderPhaseStart += delegate (BindingTraceData data) { - // Keep track if the last assembly loaded before Background JIT aborts. + // Keep track if the last assembly loaded before Background JIT aborts. var stats = currentManagedProcess(data); if (stats.JIT.m_stats.BackgroundJitAbortedAtMSec == 0) { @@ -1418,7 +1461,7 @@ internal static void SetupCallbacks(TraceEventDispatcher source) clrPrivate.BindingLoaderDeliverEventsPhaseStop += delegate (BindingTraceData data) { - // If we hit this events, we assume assembly load is successful. + // If we hit this events, we assume assembly load is successful. var stats = currentManagedProcess(data); if (stats.JIT.m_stats.BackgroundJitAbortedAtMSec != 0) @@ -1433,9 +1476,9 @@ internal static void SetupCallbacks(TraceEventDispatcher source) clrPrivate.StartupPrestubWorkerStart += delegate (StartupTraceData data) { // TODO, we want to know if we have background JIT events. Today we don't have an event - // that says 'events are enabled, its just no one used the events' We want this. + // that says 'events are enabled, its just no one used the events' We want this. // Today we turn on all CLRPrivate events to turn on listening to Backgroung JITTing and - // we use the fact that the PrestubWorker evnets are on as a proxy. + // we use the fact that the PrestubWorker evnets are on as a proxy. backgroundJITEventsOn = true; }; source.Clr.AppDomainResourceManagementThreadTerminated += delegate (ThreadTerminatedOrTransitionTraceData data) @@ -1493,7 +1536,7 @@ internal static void SetupCallbacks(TraceEventDispatcher source) private Version runtimeVersion; -#endregion + #endregion } /// @@ -1505,6 +1548,7 @@ public class TraceGarbageCollector /// Process view of GC statistics /// public GCStats Stats() { Calculate(); return m_stats; } + /// /// Process view of GC generational statistics /// @@ -1515,7 +1559,12 @@ public class TraceGarbageCollector /// public List GCs { get { return m_gcs; } } -#region private + /// + /// Settings for the GC + /// + public GCSettings GCSettings { get { return m_gcSettings; } } + + #region private internal static TraceGC GetCurrentGC(TraceLoadedDotNetRuntime proc) { if (proc.GC.GCs.Count > 0) @@ -1539,6 +1588,7 @@ internal static TraceGC GetCurrentGC(TraceLoadedDotNetRuntime proc) private int m_prvcount = 0; private int m_prvCompleted = 0; internal double NextRelativeTimeStampMsec; + internal GCSettings m_gcSettings; private void Calculate() { @@ -1610,7 +1660,7 @@ private void Calculate() m_stats.HasDetailedGCInfo = true; } - // Update the per-generation information + // Update the per-generation information m_generations[_gc.Generation].Count++; bool isInduced = ((_gc.Reason == GCReason.Induced) || (_gc.Reason == GCReason.InducedNotForced)); if (isInduced) @@ -1645,7 +1695,7 @@ private void Calculate() m_generations[_gc.Generation].MaxPauseDurationMSec = Math.Max(m_generations[_gc.Generation].MaxPauseDurationMSec, _gc.PauseDurationMSec); m_generations[_gc.Generation].MaxSuspendDurationMSec = Math.Max(m_generations[_gc.Generation].MaxSuspendDurationMSec, _gc.SuspendDurationMSec); - // And the totals + // And the totals m_stats.Count++; if (isInduced) { @@ -1676,7 +1726,7 @@ private void Calculate() m_prvcount = m_gcs.Count; } } -#endregion + #endregion } /// @@ -1693,14 +1743,14 @@ public class TraceJitCompiler /// public List Methods { get { return m_methods; } } -#region private + #region private internal JITStats m_stats = new JITStats(); internal List m_methods = new List(); internal double NextRelativeTimeStampMsec; -#endregion + #endregion } -#region internal classes + #region internal classes internal class CircularBuffer : IEnumerable where T : class { @@ -1748,13 +1798,43 @@ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() return GetEnumerator(); } } -#endregion // internal classes + #endregion // internal classes } namespace Microsoft.Diagnostics.Tracing.Analysis.GC { + public class GCSettings + { + public long HardLimit { get { return m_HardLimit; } } + public long LOHThreshold { get { return m_LOHThreshold; } } + public long PhysicalMemoryConfig { get { return m_PhysicalMemoryConfig; } } + public long Gen0MinBudgetConfig { get { return m_Gen0MinBudgetConfig; } } + public long Gen0MaxBudgetConfig { get { return m_Gen0MaxBudgetConfig; } } + public int HighMemPercentConfig { get { return m_HighMemPercentConfig; } } + public GCSettingsFlags BitSettings { get { return m_BitSettings; } } + + public GCSettings(long HardLimit, long LOHThreshold, long PhysicalMemoryConfig, long Gen0MinBudgetConfig, long Gen0MaxBudgetConfig, int HighMemPercentConfig, GCSettingsFlags BitSettings) + { + m_HardLimit = HardLimit; + m_LOHThreshold = LOHThreshold; + m_PhysicalMemoryConfig = PhysicalMemoryConfig; + m_Gen0MinBudgetConfig = Gen0MinBudgetConfig; + m_Gen0MaxBudgetConfig = Gen0MaxBudgetConfig; + m_HighMemPercentConfig = HighMemPercentConfig; + m_BitSettings = BitSettings; + } + + private long m_HardLimit; + private long m_LOHThreshold; + private long m_PhysicalMemoryConfig; + private long m_Gen0MinBudgetConfig; + private long m_Gen0MaxBudgetConfig; + private int m_HighMemPercentConfig; + private GCSettingsFlags m_BitSettings; + } + /// - /// + /// /// public class TraceGC { @@ -1812,11 +1892,11 @@ public TraceGC(int heapCount) /// /// Time relative to the start of the trace. Useful for ordering /// - public double StartRelativeMSec; // Set in Start, does not include suspension. + public double StartRelativeMSec; // Set in Start, does not include suspension. /// /// Duration of the GC, excluding the suspension time /// - public double DurationMSec; // Set in Stop This is JUST the GC time (not including suspension) That is Stop-Start. + public double DurationMSec; // Set in Stop This is JUST the GC time (not including suspension) That is Stop-Start. /// /// Duration the EE suspended the process /// @@ -1854,9 +1934,9 @@ public TraceGC(int heapCount) /// Marks if the GC is in a completed state /// public bool IsComplete; - // + // // The 2 fields below would only make sense if the type is BackgroundGC. - // + // public BGCPhase BGCCurrentPhase; public BGCRevisitInfo[][] BGCRevisitInfoArr; public double BGCFinalPauseMSec; @@ -1879,7 +1959,7 @@ public void EnsureBGCRevisitInfoAlloc() //list of workload histories per server GC heap public List ServerGcHeapHistories = new List(); /// - /// Amount of memory allocated since last GC. Requires GCAllocationTicks enabled. The + /// Amount of memory allocated since last GC. Requires GCAllocationTicks enabled. The /// data is split into small and large heaps /// public double[] AllocedSinceLastGCBasedOnAllocTickMB = { 0.0, 0.0 };// Set in HeapStats @@ -2139,7 +2219,7 @@ public double GenFragmentationMB(Gens gen) return ret; } /// - /// Percentage of heap fragmented by generation + /// Percentage of heap fragmented by generation /// /// /// @@ -2191,7 +2271,7 @@ public double GenOutMB(Gens gen) /// Memory promoted by generation (mb) /// Note that in 4.0 TotalPromotedSize is not entirely accurate (since it doesn't /// count the pins that got demoted. We could consider using the PerHeap event data - /// to compute the accurate promoted size. + /// to compute the accurate promoted size. /// In 4.5 this is accurate. /// /// @@ -2372,7 +2452,7 @@ public void GetCondemnedReasons(Dictionary ReasonsInf byte[] ReasonGroups = PerHeapCondemnedReasons[HeapIndexHighestGen].CondemnedReasonGroups; - // These 2 reasons indicate a gen number. If the number is the same as the condemned gen, we + // These 2 reasons indicate a gen number. If the number is the same as the condemned gen, we // include this reason. for (int i = (int)CondemnedReasonGroup.Alloc_Exceeded; i <= (int)CondemnedReasonGroup.Time_Tuning; i++) { @@ -2456,11 +2536,25 @@ public void GetCondemnedReasons(Dictionary ReasonsInf /// public double[] GenSizeBeforeMB = new double[(int)Gens.MaxGenCount]; /// - /// This represents the percentage time spent paused for this GC since the last GC completed. + /// This represents the percentage time spent paused for this GC since the last GC completed. /// public double PauseTimePercentageSinceLastGC; + /// + /// LOH Compaction Data + /// + public List LOHCompactInfos = new List(); + /// + /// The buckets associated with the GCFitBucketInfoTraceData with BucketType == LargestFreeListItem + /// See the document of BucketKind for more details + /// + public List LargestFreeListItemsBuckets = new List(); + /// + /// The buckets associated with the GCFitBucketInfoTraceData with BucketType == PlugsInCondemned + /// See the document of BucketKind for more details + /// + public List PlugsInCondemnedBuckets = new List(); -#region private + #region private internal void OnEnd(TraceGarbageCollector details) { IsComplete = true; @@ -2582,7 +2676,7 @@ internal static FreeListEfficiency GetFreeListEfficiency(List GCs, Trac Gens gen = Gens.Gen2; FreeListEfficiency freeList = new FreeListEfficiency(); - // I am not worried about gen0 or LOH's free list efficiency right now - it's + // I am not worried about gen0 or LOH's free list efficiency right now - it's // calculated differently. if ((gc.PerHeapHistories == null) || (gc.PerHeapHistories.Count == 0) || @@ -2694,7 +2788,7 @@ internal static double GetHeapSizePeakMB(List GCs, TraceGC gc) } /// - /// Get what's allocated into gen0 or gen3. For server GC this gets the total for + /// Get what's allocated into gen0 or gen3. For server GC this gets the total for /// all heaps. /// internal static double GetUserAllocated(List GCs, TraceGC gc, Gens gen) @@ -2740,7 +2834,7 @@ internal static double GetHeapSizeBeforeMB(List GCs, TraceGC gc) return ret; } - // Per generation stats. + // Per generation stats. internal static double GetGenSizeBeforeMB(List GCs, TraceGC gc, Gens gen) { if (gc.PerHeapHistories != null && gc.PerHeapHistories.Count > 0) @@ -2766,7 +2860,7 @@ internal static double GetGenSizeBeforeMB(List GCs, TraceGC gc, Gens ge return ((gen == Gens.Gen0) ? Gen0SizeBeforeMB : 0); } - // Find a previous HeapStats. + // Find a previous HeapStats. GCHeapStats heapStats = null; for (int j = gc.Index - 1; ; --j) { @@ -2833,13 +2927,13 @@ private static double GetUserAllocatedPerHeap(List GCs, TraceGC gc, int long prevObjSize = 0; if (gc.Index > 0) { - // If the prevous GC has that heap get its size. + // If the prevous GC has that heap get its size. var perHeapGenData = GCs[gc.Index - 1].PerHeapHistories; if (HeapIndex < perHeapGenData.Count) { prevObjSize = perHeapGenData[HeapIndex].GenData[(int)gen].ObjSizeAfter; // Note that for gen3 we need to do something extra as its after data may not be updated if the last - // GC was a gen0 GC (A GC will update its size after data up to (Generation + 1) because that's all + // GC was a gen0 GC (A GC will update its size after data up to (Generation + 1) because that's all // it would change). if ((gen == Gens.GenLargeObj) && (prevObjSize == 0) && (GCs[gc.Index - 1].Generation < (int)Gens.Gen1)) { @@ -2884,7 +2978,7 @@ private static double EstimateAllocSurv0(List GCs, TraceGC gc, int Heap { if (gc.Index > 0) { - // If the prevous GC has that heap get its size. + // If the prevous GC has that heap get its size. var perHeapGenData = GCs[gc.Index - 1].PerHeapHistories; if (HeapIndex < perHeapGenData.Count) { @@ -2975,7 +3069,7 @@ internal void BlockingGCEnd() } } - // We recorded these as the timestamps when we saw the mark events, now convert them + // We recorded these as the timestamps when we saw the mark events, now convert them // to the actual time that it took for each mark. private void ConvertMarkTimes() { @@ -3092,7 +3186,7 @@ internal void AddLOHWaitThreadInfo(int TID, double time, int reason, bool IsStar } else { - // We are currently not displaying this because it's incomplete but I am still adding + // We are currently not displaying this because it's incomplete but I am still adding // it so we could display if we want to. info.WaitStopRelativeMSec = time; } @@ -3132,13 +3226,13 @@ public PinnedPlug(ulong s, ulong e) private float[] GCCpuServerGCThreads = null; -#endregion + #endregion } /// /// Condemned reasons are organized into the following groups. - /// Each group corresponds to one or more reasons. - /// Groups are organized in the way that they mean something to users. + /// Each group corresponds to one or more reasons. + /// Groups are organized in the way that they mean something to users. /// public enum CondemnedReasonGroup { @@ -3150,8 +3244,8 @@ public enum CondemnedReasonGroup Alloc_Exceeded = 2, Time_Tuning = 3, - // The following are either true(1) or false(0). They are not - // a 1:1 mapping from + // The following are either true(1) or false(0). They are not + // a 1:1 mapping from Induced = 4, Low_Ephemeral = 5, Expand_Heap = 6, @@ -3303,7 +3397,7 @@ public class GCCondemnedReasons public byte[] CondemnedReasonGroups; public void Decode(int Version) { - // First decode the reasons that return us a generation number. + // First decode the reasons that return us a generation number. // It's the same in 4.0 and 4.5. for (Condemned_Reason_Generation i = 0; i < Condemned_Reason_Generation.Max; i++) { @@ -3407,7 +3501,7 @@ public void Decode(int Version) } } -#region private + #region private // These values right now are the same as the first 4 in CondemnedReasonGroup. private enum Condemned_Reason_Generation { @@ -3479,7 +3573,7 @@ private bool GetReasonWithCondition(Condemned_Reason_Condition Reason_Condition, return ConditionIsSet; } -#endregion + #endregion } /// @@ -3487,8 +3581,8 @@ private bool GetReasonWithCondition(Condemned_Reason_Condition Reason_Condition, /// public class MarkInfo { - // Note that in 4.5 and prior (ie, from GCMark events, not GCMarkWithType), the first stage of the time - // includes scanning sizedref handles(which can be very significant). We could distinguish that by interpreting + // Note that in 4.5 and prior (ie, from GCMark events, not GCMarkWithType), the first stage of the time + // includes scanning sizedref handles(which can be very significant). We could distinguish that by interpreting // the Join events which I haven't done yet. public double[] MarkTimes; public long[] MarkPromoted; @@ -3587,14 +3681,14 @@ public class GCHeapStats /// Approximations we do in this function for V4_5 and prior: /// On 4.0 we didn't separate free list from free obj, so we just use fragmentation (which is the sum) /// as an approximation. This makes the efficiency value a bit larger than it actually is. - /// We don't actually update in for the older gen - this means we only know the out for the younger - /// gen which isn't necessarily all allocated into the older gen. So we could see cases where the - /// out is > 0, yet the older gen's free list doesn't change. Using the younger gen's out as an + /// We don't actually update in for the older gen - this means we only know the out for the younger + /// gen which isn't necessarily all allocated into the older gen. So we could see cases where the + /// out is > 0, yet the older gen's free list doesn't change. Using the younger gen's out as an /// approximation makes the efficiency value larger than it actually is. /// /// For V4_6 this requires no approximation. /// - /// + /// /// public class FreeListEfficiency { @@ -3630,7 +3724,7 @@ public class ServerGcHistory public List SampleSpans = new List(); public List GcJoins = new List(); -#region private + #region private //list of times in msc starting from GC start when GCJoin events were fired for this heap internal void AddSampleEvent(ThreadWorkSpan sample, double pauseStartRelativeMSec) @@ -3709,8 +3803,8 @@ private WorkSpanType GetSpanType(ThreadWorkSpan span) } } - // A note about the join events - the restart events have no heap number associated so - // we add them to every heap with the ProcessorNumber so we know which heap/processor it was + // A note about the join events - the restart events have no heap number associated so + // we add them to every heap with the ProcessorNumber so we know which heap/processor it was // fired on. // Also for these restart events, the id field is always -1. internal void AddJoin(GCJoinTraceData data, double pauseStartRelativeMSec) @@ -3725,7 +3819,7 @@ internal void AddJoin(GCJoinTraceData data, double pauseStartRelativeMSec) JoinID = data.GCID, }); } -#endregion + #endregion } public enum WorkSpanType @@ -3748,7 +3842,7 @@ public GcWorkSpan(ThreadWorkSpan span) } } -// Aggregate analysis. +// Aggregate analysis. namespace Microsoft.Diagnostics.Tracing.Analysis.JIT { @@ -3907,7 +4001,7 @@ public void AddMethodToStatistics(TraceJittedMethod method) } } -#region private + #region private /// /// Legacy /// @@ -3919,7 +4013,7 @@ internal static TraceJittedMethod MethodComplete(TraceLoadedDotNetRuntime stats, { createdNewMethod = true; - // We don't have JIT start, do the best we can. + // We don't have JIT start, do the best we can. _method = stats.JIT.m_stats.LogJitStart(stats, data, methodName, 0, data.ModuleID, data.MethodID); if (stats.JIT.m_stats.IsClr4) { @@ -4116,7 +4210,7 @@ private TraceJittedMethod FindIncompleteJitEventOnThread(TraceLoadedDotNetRuntim TraceJittedMethod ret = proc.JIT.Methods[i]; if (ret.ThreadID == threadID) { - // This is a completed JIT event, not what we are looking for. + // This is a completed JIT event, not what we are looking for. if (ret.NativeSize > 0 || ret.CompileCpuTimeMSec > 0) { continue; @@ -4136,7 +4230,7 @@ private TraceJittedMethod FindIncompleteJitEventOnThread(TraceLoadedDotNetRuntim internal Dictionary backgroundJitEvents = new Dictionary(); internal Dictionary moduleNamesFromID = new Dictionary(); -#endregion + #endregion } /// @@ -4292,7 +4386,7 @@ public bool IsJitAllocSizePresent set; } -#region private + #region private internal void SetOptimizationTier(OptimizationTier optimizationTier, TraceLoadedDotNetRuntime stats) { if (optimizationTier != OptimizationTier.Unknown) @@ -4309,7 +4403,7 @@ internal void SetOptimizationTier(OptimizationTier optimizationTier, TraceLoaded internal string _blockedReason; internal int Completed = 0; internal long ModuleID = 0; -#endregion + #endregion } } @@ -4428,7 +4522,7 @@ public double GetGCPauseTimePercentage() /// Indicator of if ServerGC is enabled (1). -1 indicates that not enough events have been processed to know for sure. /// We don't necessarily have the GCSettings event (only fired at the beginning if we attach) /// So we have to detect whether we are running server GC or not. - /// Till we get our first GlobalHeapHistory event which indicates whether we use server GC + /// Till we get our first GlobalHeapHistory event which indicates whether we use server GC /// or not this remains -1. /// public int IsServerGCUsed = -1; @@ -4441,7 +4535,7 @@ public double GetGCPauseTimePercentage() /// public bool HasDetailedGCInfo; -#region private + #region private // This is the last GC in progress. We need this for server Background GC. // See comments for lastCompletedGC. @@ -4472,7 +4566,7 @@ private static TraceGC GetLastGC(TraceLoadedDotNetRuntime proc) internal double lastRestartEndTimeRelativeMSec; - // This is the BGC that's in progress as we are parsing. We need to remember this + // This is the BGC that's in progress as we are parsing. We need to remember this // so we can correctly attribute the suspension time. internal TraceGC currentBGC = null; @@ -4595,7 +4689,7 @@ internal static void ProcessPerHeapHistory(TraceLoadedDotNetRuntime proc, GCPerH FreeListRejected = (data.HasFreeListAllocated) ? data.FreeListRejected : -1, EndOfSegAllocated = (data.HasFreeListAllocated) ? data.EndOfSegAllocated : -1, CondemnedAllocated = (data.HasFreeListAllocated) ? data.CondemnedAllocated : -1, - PinnedAllocated = (data.HasFreeListAllocated) ? data.PinnedAllocated: -1, + PinnedAllocated = (data.HasFreeListAllocated) ? data.PinnedAllocated : -1, PinnedAllocatedAdvance = (data.HasFreeListAllocated) ? data.PinnedAllocatedAdvance : -1, RunningFreeListEfficiency = (data.HasFreeListAllocated) ? data.RunningFreeListEfficiency : -1, MemoryPressure = (data.HasMemoryPressure) ? data.MemoryPressure : -1, @@ -4654,14 +4748,14 @@ internal bool IsBGCThread(int threadID) return false; } - // I keep this for the purpose of server Background GC. Unfortunately for server background + // I keep this for the purpose of server Background GC. Unfortunately for server background // GC we are firing the GCEnd/GCHeaps events and Global/Perheap events in the reversed order. // This is so that the Global/Perheap events can still be attributed to the right BGC. internal TraceGC lastCompletedGC = null; internal bool gotThreadInfo = false; - // This is the server GC threads. It's built up in the 2nd server GC we see. + // This is the server GC threads. It's built up in the 2nd server GC we see. internal Dictionary serverGCThreads = new Dictionary(); @@ -4696,6 +4790,6 @@ internal void SetUpServerGcHistory(int id, TraceGC gc) } } -#endregion + #endregion } } diff --git a/src/TraceEvent/Parsers/ClrTraceEventParser.cs b/src/TraceEvent/Parsers/ClrTraceEventParser.cs index ca83ecace..750f8aa3e 100644 --- a/src/TraceEvent/Parsers/ClrTraceEventParser.cs +++ b/src/TraceEvent/Parsers/ClrTraceEventParser.cs @@ -18,7 +18,7 @@ namespace Microsoft.Diagnostics.Tracing.Parsers using System.Collections.Generic; /* Parsers defined in this file */ - // ClrTraceEventParser, ClrRundownTraceEventParser, ClrStressTraceEventParser + // ClrTraceEventParser, ClrRundownTraceEventParser, ClrStressTraceEventParser /* ClrPrivateTraceEventParser #ClrPrivateProvider */ // [SecuritySafeCritical] [System.CodeDom.Compiler.GeneratedCode("traceparsergen", "1.0")] @@ -27,7 +27,7 @@ public sealed class ClrTraceEventParser : TraceEventParser public static readonly string ProviderName = "Microsoft-Windows-DotNETRuntime"; public static readonly Guid ProviderGuid = new Guid(unchecked((int)0xe13c0d23), unchecked((short)0xccbc), unchecked((short)0x4e12), 0x93, 0x1b, 0xd9, 0xcc, 0x2e, 0xee, 0x27, 0xe4); - // Project N and the Desktop have separate guids. + // Project N and the Desktop have separate guids. public static readonly Guid NativeProviderGuid = new Guid(0x47c3ba0c, 0x77f1, 0x4eb0, 0x8d, 0x4d, 0xae, 0xf4, 0x47, 0xf1, 0x6a, 0x85); /// @@ -37,9 +37,9 @@ public sealed class ClrTraceEventParser : TraceEventParser public enum Keywords : long { None = 0, - All = ~StartEnumeration, // All does not include start-enumeration. It just is not that useful. + All = ~StartEnumeration, // All does not include start-enumeration. It just is not that useful. /// - /// Logging when garbage collections and finalization happen. + /// Logging when garbage collections and finalization happen. /// GC = 0x1, /// @@ -48,11 +48,11 @@ public enum Keywords : long GCHandle = 0x2, Binder = 0x4, /// - /// Logging when modules actually get loaded and unloaded. + /// Logging when modules actually get loaded and unloaded. /// Loader = 0x8, /// - /// Logging when Just in time (JIT) compilation occurs. + /// Logging when Just in time (JIT) compilation occurs. /// Jit = 0x10, /// @@ -76,12 +76,12 @@ public enum Keywords : long /// AppDomainResourceManagement = 0x800, /// - /// Logging of the internal workings of the Just In Time compiler. This is fairly verbose. - /// It details decisions about interesting optimization (like inlining and tail call) + /// Logging of the internal workings of the Just In Time compiler. This is fairly verbose. + /// It details decisions about interesting optimization (like inlining and tail call) /// JitTracing = 0x1000, /// - /// Log information about code thunks that transition between managed and unmanaged code. + /// Log information about code thunks that transition between managed and unmanaged code. /// Interop = 0x2000, /// @@ -89,15 +89,15 @@ public enum Keywords : long /// Contention = 0x4000, /// - /// Log exception processing. + /// Log exception processing. /// Exception = 0x8000, /// - /// Log events associated with the threadpool, and other threading events. + /// Log events associated with the threadpool, and other threading events. /// Threading = 0x10000, /// - /// Dump the native to IL mapping of any method that is JIT compiled. (V4.5 runtimes and above). + /// Dump the native to IL mapping of any method that is JIT compiled. (V4.5 runtimes and above). /// JittedMethodILToNativeMap = 0x20000, /// @@ -113,17 +113,17 @@ public enum Keywords : long /// GCHeapDump = 0x100000, /// - /// Enables allocation sampling with the 'fast'. Sample to limit to 100 allocations per second per type. + /// Enables allocation sampling with the 'fast'. Sample to limit to 100 allocations per second per type. /// This is good for most detailed performance investigations. Note that this DOES update the allocation - /// path to be slower and only works if the process start with this on. + /// path to be slower and only works if the process start with this on. /// GCSampledObjectAllocationHigh = 0x200000, /// - /// Enables events associate with object movement or survival with each GC. + /// Enables events associate with object movement or survival with each GC. /// GCHeapSurvivalAndMovement = 0x400000, /// - /// Triggers a GC. Can pass a 64 bit value that will be logged with the GC Start event so you know which GC you actually triggered. + /// Triggers a GC. Can pass a 64 bit value that will be logged with the GC Start event so you know which GC you actually triggered. /// GCHeapCollect = 0x800000, /// @@ -131,20 +131,20 @@ public enum Keywords : long /// GCHeapAndTypeNames = 0x1000000, /// - /// Enables allocation sampling with the 'slow' rate, Sample to limit to 5 allocations per second per type. + /// Enables allocation sampling with the 'slow' rate, Sample to limit to 5 allocations per second per type. /// This is reasonable for monitoring. Note that this DOES update the allocation path to be slower - /// and only works if the process start with this on. + /// and only works if the process start with this on. /// GCSampledObjectAllocationLow = 0x2000000, /// /// Turns on capturing the stack and type of object allocation made by the .NET Runtime. This is only /// supported after V4.5.3 (Late 2014) This can be very verbose and you should seriously using GCSampledObjectAllocationHigh - /// instead (and GCSampledObjectAllocationLow for production scenarios). + /// instead (and GCSampledObjectAllocationLow for production scenarios). /// GCAllObjectAllocation = GCSampledObjectAllocationHigh | GCSampledObjectAllocationLow, /// - /// This suppresses NGEN events on V4.0 (where you have NGEN PDBs), but not on V2.0 (which does not know about this - /// bit and also does not have NGEN PDBS). + /// This suppresses NGEN events on V4.0 (where you have NGEN PDBs), but not on V2.0 (which does not know about this + /// bit and also does not have NGEN PDBS). /// SupressNGen = 0x40000, /// @@ -164,11 +164,11 @@ public enum Keywords : long /// Debugger = 0x100000000, /// - /// Events intended for monitoring on an ongoing basis. + /// Events intended for monitoring on an ongoing basis. /// Monitoring = 0x200000000, /// - /// Events that will dump PDBs of dynamically generated assemblies to the ETW stream. + /// Events that will dump PDBs of dynamically generated assemblies to the ETW stream. /// Codesymbols = 0x400000000, /// @@ -191,26 +191,26 @@ public enum Keywords : long TypeDiagnostic = 0x8000000000, /// - /// Recommend default flags (good compromise on verbosity). + /// Recommend default flags (good compromise on verbosity). /// Default = GC | Type | GCHeapSurvivalAndMovement | Binder | Loader | Jit | NGen | SupressNGen | StopEnumeration | Security | AppDomainResourceManagement | Exception | Threading | Contention | Stack | JittedMethodILToNativeMap | ThreadTransfer | GCHeapAndTypeNames | Codesymbols | Compilation, /// - /// What is needed to get symbols for JIT compiled code. + /// What is needed to get symbols for JIT compiled code. /// JITSymbols = Jit | StopEnumeration | JittedMethodILToNativeMap | SupressNGen | Loader, /// - /// This provides the flags commonly needed to take a heap .NET Heap snapshot with ETW. + /// This provides the flags commonly needed to take a heap .NET Heap snapshot with ETW. /// GCHeapSnapshot = GC | GCHeapCollect | GCHeapDump | GCHeapAndTypeNames | Type, }; public ClrTraceEventParser(TraceEventSource source) : base(source) { - // Subscribe to the GCBulkType events and remember the TypeID -> TypeName mapping. + // Subscribe to the GCBulkType events and remember the TypeID -> TypeName mapping. ClrTraceEventParserState state = State; AddCallbackForEvents(delegate (GCBulkTypeTraceData data) { @@ -220,7 +220,7 @@ public ClrTraceEventParser(TraceEventSource source) : base(source) string typeName = value.TypeName; // The GCBulkType events are logged after the event that needed it. It really // should be before, but we compensate by setting the startTime to 0 - // Ideally the CLR logs the types before they are used. + // Ideally the CLR logs the types before they are used. state.SetTypeIDToName(data.ProcessID, value.TypeID, 0, typeName); } }); @@ -231,7 +231,7 @@ public ClrTraceEventParser(TraceEventSource source) : base(source) /// Fetch the state object associated with this parser and cast it to /// the ClrTraceEventParserState type. This state object contains any /// information that you need from one event to another to decode events. - /// (typically ID->Name tables). + /// (typically ID->Name tables). /// internal ClrTraceEventParserState State { @@ -247,7 +247,7 @@ internal ClrTraceEventParserState State } } - public event Action GCGenAwareStart + public event Action GCGenAwareBegin { add { @@ -261,7 +261,7 @@ public event Action GCGenAwareStart } } - public event Action GCGenAwareEnd + public event Action GCGenAwareEnd { add { @@ -275,6 +275,34 @@ public event Action GCGenAwareEnd } } + public event Action GCLOHCompact + { + add + { + // action, eventid, taskid, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName + RegisterTemplate(GCLOHCompactTemplate(value)); + } + remove + { + source.UnregisterEventTemplate(value, 208, ProviderGuid); + source.UnregisterEventTemplate(value, 208, GCTaskGuid); + } + } + + public event Action GCFitBucketInfo + { + add + { + // action, eventid, taskid, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName + RegisterTemplate(GCFitBucketInfoTemplate(value)); + } + remove + { + source.UnregisterEventTemplate(value, 209, ProviderGuid); + source.UnregisterEventTemplate(value, 209, GCTaskGuid); + } + } + public event Action GCStart { add @@ -1987,7 +2015,8 @@ public event Action JitInstrumentationDa source.UnregisterEventTemplate(value, 12, JitInstrumentationDataTaskGuid); } } - public event Action ExecutionCheckpointExecutionCheckpoint { + public event Action ExecutionCheckpointExecutionCheckpoint + { add { RegisterTemplate(ExecutionCheckpointTemplate(value)); @@ -2085,13 +2114,21 @@ static private MethodJitMemoryAllocatedForCodeTraceData MethodMemoryAllocatedFor { // action, eventid, taskid, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName return new MethodJitMemoryAllocatedForCodeTraceData(action, 146, 9, "Method", Guid.Empty, 103, "MemoryAllocatedForJitCode", ProviderGuid, ProviderName); } - static private GenAwareBeginTraceData GenAwareBeginTemplate(Action action) + static private GenAwareTemplateTraceData GenAwareBeginTemplate(Action action) + { // action, eventid, taskid, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName + return new GenAwareTemplateTraceData(action, 206, 1, "GC", GCTaskGuid, 206, "GenAwareBegin", ProviderGuid, ProviderName); + } + static private GenAwareTemplateTraceData GenAwareEndTemplate(Action action) + { // action, eventid, taskid, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName + return new GenAwareTemplateTraceData(action, 207, 1, "GC", GCTaskGuid, 207, "GenAwareEnd", ProviderGuid, ProviderName); + } + static private GCLOHCompactTraceData GCLOHCompactTemplate(Action action) { // action, eventid, taskid, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName - return new GenAwareBeginTraceData(action, 206, 1, "GC", GCTaskGuid, 1, "GenAwareStart", ProviderGuid, ProviderName); + return new GCLOHCompactTraceData(action, 208, 1, "GC", GCTaskGuid, 208, "LOHCompact", ProviderGuid, ProviderName); } - static private GenAwareEndTraceData GenAwareEndTemplate(Action action) + static private GCFitBucketInfoTraceData GCFitBucketInfoTemplate(Action action) { // action, eventid, taskid, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName - return new GenAwareEndTraceData(action, 207, 1, "GC", GCTaskGuid, 2, "GenAwareEnd", ProviderGuid, ProviderName); + return new GCFitBucketInfoTraceData(action, 209, 1, "GC", GCTaskGuid, 209, "FitBucketInfo", ProviderGuid, ProviderName); } static private R2RGetEntryPointStartTraceData R2RGetEntryPointStartTemplate(Action action) { // action, eventid, taskid, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName @@ -2131,7 +2168,7 @@ protected internal override void EnumerateTemplates(Func m_target; #endregion } - public sealed class GenAwareBeginTraceData : TraceEvent + public sealed class GenAwareTemplateTraceData : TraceEvent { public int Count { get { return GetInt32At(0); } } public int ClrInstanceID { get { return GetInt16At(4); } } #region Private - internal GenAwareBeginTraceData(Action target, int eventID, int task, string taskName, Guid taskGuid, int opcode, string opcodeName, Guid providerGuid, string providerName) + internal GenAwareTemplateTraceData(Action target, int eventID, int task, string taskName, Guid taskGuid, int opcode, string opcodeName, Guid providerGuid, string providerName) : base(eventID, task, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName) { m_target = target; @@ -2555,7 +2594,7 @@ protected internal override void Validate() protected internal override Delegate Target { get { return m_target; } - set { m_target = (Action)value; } + set { m_target = (Action)value; } } public override StringBuilder ToXml(StringBuilder sb) { @@ -2590,16 +2629,93 @@ public override object PayloadValue(int index) } } - private event Action m_target; + private event Action m_target; #endregion } - public sealed class GenAwareEndTraceData : TraceEvent + + public sealed class GCLOHCompactInfo { - public int Count { get { return GetInt32At(0); } } - public int ClrInstanceID { get { return GetInt16At(4); } } + /// + /// The time spent on planing the LOH for compaction + /// + public int TimePlan { get { return m_timePlan; } } + + /// + /// The time spent on copying objects during LOH compaction + /// + public int TimeCompact { get { return m_timeCompact; } } + + /// + /// The time spent on relocating pointers during LOH compaction + /// + public int TimeRelocate { get { return m_timeRelocate; } } + + /// + /// The total number of pointers found in the LOH during LOH compaction + /// + public long TotalRefs { get { return m_totalRefs; } } + + /// + /// The total number of pointers found pointing to null in the LOH during LOH compaction + /// + public long ZeroRefs { get { return m_zeroRefs; } } + + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + return ToXml(sb).ToString(); + } + + public StringBuilder ToXml(StringBuilder sb) + { + sb.Append(" "); + return sb; + } + + #region private + internal GCLOHCompactInfo(int timePlan, int timeCompact, int timeRelocate, long totalRefs, long zeroRefs) + { + m_timePlan = timePlan; + m_timeCompact = timeCompact; + m_timeRelocate = timeRelocate; + m_totalRefs = totalRefs; + m_zeroRefs = zeroRefs; + } + + private int m_timePlan; + private int m_timeCompact; + private int m_timeRelocate; + private long m_totalRefs; + private long m_zeroRefs; + #endregion + } + + public sealed class GCLOHCompactTraceData : TraceEvent + { + public int ClrInstanceID { get { return GetInt16At(0); } } + + public int Count { get { return GetInt16At(2); } } + + public GCLOHCompactInfo Info(int heapIndex) + { + Debug.Assert(0 <= heapIndex && heapIndex < Count); + int baseAddress = 4 + SizeOfGCLOHCompactInfo * heapIndex; + int timePlan = GetInt32At(baseAddress); + int timeCompact = GetInt32At(baseAddress + 4); + int timeRelocate = GetInt32At(baseAddress + 8); + long totalRefs = (PointerSize == 8) ? GetInt64At(baseAddress + 16) : (long)GetInt32At(baseAddress + 12); + long zeroRefs = (PointerSize == 8) ? GetInt64At(baseAddress + 24) : (long)GetInt32At(baseAddress + 16); + return new GCLOHCompactInfo(timePlan, timeCompact, timeRelocate, totalRefs, zeroRefs); + } #region Private - internal GenAwareEndTraceData(Action target, int eventID, int task, string taskName, Guid taskGuid, int opcode, string opcodeName, Guid providerGuid, string providerName) + internal GCLOHCompactTraceData(Action target, int eventID, int task, string taskName, Guid taskGuid, int opcode, string opcodeName, Guid providerGuid, string providerName) : base(eventID, task, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName) { m_target = target; @@ -2610,19 +2726,24 @@ protected internal override void Dispatch() } protected internal override void Validate() { - Debug.Assert(!(Version == 0 && EventDataLength != 6)); + Debug.Assert(!(Version == 0 && EventDataLength != 4 + SizeOfGCLOHCompactInfo * Count)); } protected internal override Delegate Target { get { return m_target; } - set { m_target = (Action)value; } + set { m_target = (Action)value; } } public override StringBuilder ToXml(StringBuilder sb) { Prefix(sb); - XmlAttrib(sb, "Count", Count); XmlAttrib(sb, "ClrInstanceID", ClrInstanceID); - sb.Append("/>"); + XmlAttrib(sb, "Count", Count); + sb.AppendLine(">"); + for (int i = 0; i < Count; i++) + { + Info(i).ToXml(sb).AppendLine(); + } + sb.Append(""); return sb; } @@ -2631,7 +2752,7 @@ public override string[] PayloadNames get { if (payloadNames == null) - payloadNames = new string[] { "Count", "ClrInstanceID" }; + payloadNames = new string[] { "ClrInstanceID", "Count" }; return payloadNames; } } @@ -2641,16 +2762,213 @@ public override object PayloadValue(int index) switch (index) { case 0: - return Count; + return ClrInstanceID; case 1: + return Count; + default: + Debug.Assert(false, "Bad field index"); + return null; + } + } + + // + // + // + // + // + // + // + private int SizeOfGCLOHCompactInfo + { + get + { + return PointerSize == 8 ? 32 : 20; + } + } + + private event Action m_target; + #endregion + } + + public sealed class GCFitBucket + { + #region private + internal GCFitBucket(int index, int count, long size) + { + m_index = index; + m_count = count; + m_size = size; + } + + /// + /// The index of the bucket. This is required because bucket of zero size is not reported. + /// + public int Index { get { return m_index; } } + + /// + /// The number of items in the bucket. + /// + public int Count { get { return m_count; } } + + /// + /// The total size of items in the bucket. + /// + public long Size { get { return m_size; } } + + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + return ToXml(sb).ToString(); + } + + public StringBuilder ToXml(StringBuilder sb) + { + sb.Append(" "); + return sb; + } + + private int m_index; + private int m_count; + private long m_size; + #endregion + } + + /// + /// BucketKind is used to describe the type of the GCFitBucketInfo events. + /// + public enum BucketKind + { + /// + /// When the BucketKind is LargestFreeListItems, the free list items in Gen2 are counted and reported + /// The counting has a couple of heuristics that avoid spending too much time counting. + /// + LargestFreeListItems = 0, + + /// + /// When the BucketKind is PlugsInCondemned, the buckets in the associated GCFitBucketInfo events + /// represents plugs that we found during the plan phase of a Gen1 GC where it is planned to fit in the + /// current (i.e. condemned) generation. + /// + PlugsInCondemned = 1 + } + + public sealed class GCFitBucketInfoTraceData : TraceEvent + { + public int ClrInstanceID { get { return GetInt16At(0); } } + + /// + /// The kind of the buckets (see the comments for the enum BucketKind for more information) + /// + public BucketKind BucketKind { get { return (BucketKind)GetInt16At(2); } } + + /// + /// The total size of all buckets. + /// + public long TotalSize { get { return GetInt64At(4); } } + + /// + /// The number of buckets. + /// + public int Count { get { return GetInt16At(12); } } + + public GCFitBucket Buckets(int bucketIndex) + { + Debug.Assert(0 <= bucketIndex && bucketIndex < Count); + int baseAddress = 14 + SizeOfGCFitBucket * bucketIndex; + int index = GetInt32At(baseAddress); + int count = GetInt32At(baseAddress + 4); + long size = (PointerSize == 8) ? GetInt64At(baseAddress + 8) : (long)GetInt32At(baseAddress + 8); + return new GCFitBucket(index, count, size); + } + + + #region Private + internal GCFitBucketInfoTraceData(Action action, int eventID, int task, string taskName, Guid taskGuid, int opcode, string opcodeName, Guid providerGuid, string providerName) + : base(eventID, task, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName) + { + Action = action; + } + protected internal override void Dispatch() + { + Action(this); + } + protected internal override Delegate Target + { + get { return Action; } + set { Action = (Action)value; } + } + protected internal override void Validate() + { + int size = 14 + Count * SizeOfGCFitBucket; + Debug.Assert(!(Version == 0 && EventDataLength != size)); + Debug.Assert(!(Version > 0 && EventDataLength < size)); + } + public override StringBuilder ToXml(StringBuilder sb) + { + Prefix(sb); + XmlAttrib(sb, "ClrInstanceID", ClrInstanceID); + XmlAttrib(sb, "BucketKind", BucketKind); + XmlAttrib(sb, "TotalSize", TotalSize); + XmlAttrib(sb, "Count", Count); + sb.AppendLine(">"); + for (int i = 0; i < Count; i++) + { + Buckets(i).ToXml(sb).AppendLine(); + } + sb.Append(""); + return sb; + } + + public override string[] PayloadNames + { + get + { + if (payloadNames == null) + { + payloadNames = new string[] { "ClrInstanceID", "BucketKind", "TotalSize", "Count" }; + } + + return payloadNames; + } + } + + public override object PayloadValue(int index) + { + switch (index) + { + case 0: return ClrInstanceID; + case 1: + return BucketKind; + case 2: + return TotalSize; + case 3: + return Count; + default: Debug.Assert(false, "Bad field index"); return null; } } - private event Action m_target; + // + // + // + // + // + private int SizeOfGCFitBucket + { + get + { + return PointerSize == 8 ? 16 : 12; + } + } + + private event Action Action; #endregion } public sealed class GCStartTraceData : TraceEvent @@ -2679,7 +2997,7 @@ protected internal override Delegate Target } protected internal override void Validate() { - Debug.Assert(!(Version == 0 && EventDataLength < 8)); // FIXed manually to be < 8 + Debug.Assert(!(Version == 0 && EventDataLength < 8)); // FIXed manually to be < 8 Debug.Assert(!(Version == 1 && EventDataLength != 18)); Debug.Assert(!(Version > 1 && EventDataLength < 18)); } @@ -2874,7 +3192,7 @@ public sealed class GCHeapStatsTraceData : TraceEvent public long TotalPromoted { get { return TotalPromotedSize0 + TotalPromotedSize1 + TotalPromotedSize2 + TotalPromotedSize3 + TotalPromotedSize4; } } /// /// Note that this field is derived from the TotalPromotedSize* fields. If nothing was promoted, it is possible - /// that this could give a number that is smaller than what GC/Start or GC/Stop would indicate. + /// that this could give a number that is smaller than what GC/Start or GC/Stop would indicate. /// public int Depth { @@ -3184,7 +3502,7 @@ protected internal override Delegate Target } protected internal override void Validate() { - Debug.Assert(!(Version == 0 && EventDataLength < 2)); // HAND_MODIFIED + Debug.Assert(!(Version == 0 && EventDataLength < 2)); // HAND_MODIFIED Debug.Assert(!(Version == 1 && EventDataLength != 10)); Debug.Assert(!(Version > 1 && EventDataLength < 10)); } @@ -3313,6 +3631,7 @@ public sealed class GCAllocationTickTraceData : TraceEvent public string TypeName { get { if (Version >= 2) { return GetUnicodeStringAt(18 + PointerSize); } return ""; } } public int HeapIndex { get { if (Version >= 2) { return GetInt32At(SkipUnicodeString(18 + PointerSize)); } return 0; } } public Address Address { get { if (Version >= 3) { return GetAddressAt(SkipUnicodeString(HostOffset(22, 1)) + 4); } return 0; } } + public long ObjectSize { get { if (Version >= 4) { return GetInt64At(SkipUnicodeString(HostOffset(22, 1)) + 4 + PointerSize); } return 0; } } #region Private internal GCAllocationTickTraceData(Action action, int eventID, int task, string taskName, Guid taskGuid, int opcode, string opcodeName, Guid providerGuid, string providerName) : base(eventID, task, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName) @@ -3349,6 +3668,10 @@ public override StringBuilder ToXml(StringBuilder sb) if (Version >= 3) { XmlAttribHex(sb, "Address", Address); + if (Version >= 4) + { + XmlAttribHex(sb, "ObjectSize", ObjectSize); + } } } sb.Append("/>"); @@ -3361,7 +3684,7 @@ public override string[] PayloadNames { if (payloadNames == null) { - payloadNames = new string[] { "AllocationAmount", "AllocationKind", "ClrInstanceID", "AllocationAmount64", "TypeID", "TypeName", "HeapIndex", "Address" }; + payloadNames = new string[] { "AllocationAmount", "AllocationKind", "ClrInstanceID", "AllocationAmount64", "TypeID", "TypeName", "HeapIndex", "Address", "ObjectSize" }; } return payloadNames; @@ -3388,6 +3711,8 @@ public override object PayloadValue(int index) return HeapIndex; case 7: return Address; + case 8: + return ObjectSize; default: Debug.Assert(false, "Bad field index"); return null; @@ -3399,7 +3724,7 @@ public override object PayloadValue(int index) public long GetAllocAmount(ref bool seenBadAllocTick) { - // We get bad values in old runtimes. once we see a bad value 'fix' all values. + // We get bad values in old runtimes. once we see a bad value 'fix' all values. // TODO warn the user... long amount = AllocationAmount64; // AllocationAmount is truncated for allocation larger than 2Gb, use 64-bit value if available. @@ -3415,7 +3740,7 @@ public long GetAllocAmount(ref bool seenBadAllocTick) if (seenBadAllocTick) { - // Clap this between 90K and 110K (for small objs) and 90K to 2Meg (for large obects). + // Clap this between 90K and 110K (for small objs) and 90K to 2Meg (for large obects). amount = Math.Max(amount, 90 * OneKB); amount = Math.Min(amount, (AllocationKind == GCAllocationKind.Small) ? 110 * OneKB : 2 * OneMB); } @@ -3707,8 +4032,8 @@ public sealed class GCBulkTypeTraceData : TraceEvent public int ClrInstanceID { get { return GetInt16At(4); } } /// - /// Returns the edge at the given zero-based index (index less than Count). The returned BulkTypeValues - /// points the the data in GCBulkRootEdgeTraceData so it cannot live beyond that lifetime. + /// Returns the edge at the given zero-based index (index less than Count). The returned BulkTypeValues + /// points the the data in GCBulkRootEdgeTraceData so it cannot live beyond that lifetime. /// public GCBulkTypeValues Values(int index) { return new GCBulkTypeValues(this, OffsetForIndexInValuesArray(index)); } @@ -3731,9 +4056,9 @@ protected internal override Delegate Target } protected internal override void Validate() { - m_lastIdx = 0xFFFF; // Invalidate the cache + m_lastIdx = 0xFFFF; // Invalidate the cache Debug.Assert(!(Version == 0 && EventDataLength != OffsetForIndexInValuesArray(Count))); - Debug.Assert(Count == 0 || Values(Count - 1).TypeParameterCount < 256); // This just makes the asserts in the BulkType kick in + Debug.Assert(Count == 0 || Values(Count - 1).TypeParameterCount < 256); // This just makes the asserts in the BulkType kick in } public override StringBuilder ToXml(StringBuilder sb) { @@ -3809,12 +4134,12 @@ private int OffsetForIndexInValuesArray(int targetIdx) Debug.Assert(6 <= offset); while (idx < targetIdx) { - // Get to to type parameter count + // Get to to type parameter count int typeParamCountOffset = SkipUnicodeString(offset + 25); // fetch it int typeParamCount = GetInt32At(typeParamCountOffset); Debug.Assert(typeParamCount < 256); - // skip the count and the type parameters. + // skip the count and the type parameters. offset = typeParamCount * 8 + 4 + typeParamCountOffset; idx++; } @@ -3835,7 +4160,7 @@ private int OffsetForIndexInValuesArray(int targetIdx) /// /// This structure just POINTS at the data in the BulkTypeTraceData. It can only be used as long as - /// the BulkTypeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. + /// the BulkTypeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. /// public struct GCBulkTypeValues { @@ -3873,7 +4198,7 @@ public int TypeParameterCount } int ret = m_data.GetInt32At(m_typeParamCountOffset); - Debug.Assert(0 <= ret && ret <= 128); // Not really true, but it deserves investigation. + Debug.Assert(0 <= ret && ret <= 128); // Not really true, but it deserves investigation. return ret; } } @@ -3911,7 +4236,7 @@ internal GCBulkTypeValues(TraceEvent data, int baseOffset) { m_data = data; m_baseOffset = (ushort)baseOffset; m_typeParamCountOffset = 0; Debug.Assert(CorElementType < 64); - Debug.Assert(0 <= CorElementType && CorElementType <= 128); // Sanity checks. Not really true, but it deserves investigation. + Debug.Assert(0 <= CorElementType && CorElementType <= 128); // Sanity checks. Not really true, but it deserves investigation. Debug.Assert(0 <= TypeParameterCount && TypeParameterCount < 128); Debug.Assert((TypeID & 0xFF00000000000001L) == 0); Debug.Assert((ModuleID & 0xFF00000000000003L) == 0); @@ -3932,7 +4257,7 @@ public sealed class GCBulkRootEdgeTraceData : TraceEvent /// /// Returns the edge at the given zero-based index (index less than Count). The returned GCBulkRootEdgeValues - /// points the the data in GCBulkRootEdgeTraceData so it cannot live beyond that lifetime. + /// points the the data in GCBulkRootEdgeTraceData so it cannot live beyond that lifetime. /// public GCBulkRootEdgeValues Values(int index) { return new GCBulkRootEdgeValues(this, 10 + index * HostOffset(13, 2)); } #region Private @@ -3952,7 +4277,7 @@ protected internal override Delegate Target } protected internal override void Validate() { - // The != 12 was added because I think we accidentally used the same event ID for a update of the runtime. + // The != 12 was added because I think we accidentally used the same event ID for a update of the runtime. Debug.Assert(!(Version == 0 && EventDataLength != (Count * HostOffset(13, 2)) + 10 && EventDataLength != 12)); Debug.Assert(!(Version > 0 && EventDataLength < (Count * HostOffset(13, 2)) + 10)); } @@ -4007,7 +4332,7 @@ public override object PayloadValue(int index) /// /// This structure just POINTS at the data in the GCBulkEdgeTraceData. It can only be used as long as - /// the GCBulkEdgeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. + /// the GCBulkEdgeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. /// public struct GCBulkRootEdgeValues { @@ -4052,8 +4377,8 @@ public sealed class GCBulkRootConditionalWeakTableElementEdgeTraceData : TraceEv public int ClrInstanceID { get { return GetInt16At(8); } } /// - /// Returns the range at the given zero-based index (index less than Count). The returned GCBulkRootConditionalWeakTableElementEdgeValues - /// points the the data in GCBulkRootConditionalWeakTableElementEdgeTraceData so it cannot live beyond that lifetime. + /// Returns the range at the given zero-based index (index less than Count). The returned GCBulkRootConditionalWeakTableElementEdgeValues + /// points the the data in GCBulkRootConditionalWeakTableElementEdgeTraceData so it cannot live beyond that lifetime. /// public GCBulkRootConditionalWeakTableElementEdgeValues Values(int index) { @@ -4130,7 +4455,7 @@ public override object PayloadValue(int index) /// /// This structure just POINTS at the data in the GCBulkRootConditionalWeakTableElementEdgeTraceData. It can only be used as long as - /// the GCBulkRootConditionalWeakTableElementEdgeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. + /// the GCBulkRootConditionalWeakTableElementEdgeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. /// public struct GCBulkRootConditionalWeakTableElementEdgeValues { @@ -4173,13 +4498,13 @@ public sealed class GCBulkNodeTraceData : TraceEvent public int ClrInstanceID { get { return GetInt16At(8); } } /// - /// Returns the node at the given zero-based index (idx less than Count). The returned GCBulkNodeNodes - /// points the the data in GCBulkNodeTraceData so it cannot live beyond that lifetime. + /// Returns the node at the given zero-based index (idx less than Count). The returned GCBulkNodeNodes + /// points the the data in GCBulkNodeTraceData so it cannot live beyond that lifetime. /// public GCBulkNodeValues Values(int index) { return new GCBulkNodeValues(this, 10 + index * HostOffset(28, 1)); } /// - /// This unsafe interface may go away. Use the 'Nodes(idx)' instead + /// This unsafe interface may go away. Use the 'Nodes(idx)' instead /// public unsafe GCBulkNodeUnsafeNodes* UnsafeNodes(int arrayIdx, GCBulkNodeUnsafeNodes* buffer) { @@ -4279,7 +4604,7 @@ public override object PayloadValue(int index) /// /// This structure just POINTS at the data in the GCBulkNodeTraceData. It can only be used as long as - /// the GCBulkNodeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. + /// the GCBulkNodeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. /// public struct GCBulkNodeValues { @@ -4343,8 +4668,8 @@ public sealed class GCBulkEdgeTraceData : TraceEvent public int ClrInstanceID { get { return GetInt16At(8); } } /// - /// Returns the 'idx' th edge. - /// The returned GCBulkEdgeEdges cannot live beyond the TraceEvent that it comes from. + /// Returns the 'idx' th edge. + /// The returned GCBulkEdgeEdges cannot live beyond the TraceEvent that it comes from. /// public GCBulkEdgeValues Values(int index) { return new GCBulkEdgeValues(this, 10 + (index * HostOffset(8, 1))); } @@ -4419,7 +4744,7 @@ public override object PayloadValue(int index) /// /// This structure just POINTS at the data in the GCBulkNodeTraceData. It can only be used as long as - /// the GCBulkNodeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. + /// the GCBulkNodeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. /// public struct GCBulkEdgeValues { @@ -4535,8 +4860,8 @@ public sealed class GCBulkSurvivingObjectRangesTraceData : TraceEvent public int ClrInstanceID { get { return GetInt16At(8); } } /// - /// Returns the range at the given zero-based index (index less than Count). The returned GCBulkSurvivingObjectRangesValues - /// points the the data in GCBulkSurvivingObjectRangesTraceData so it cannot live beyond that lifetime. + /// Returns the range at the given zero-based index (index less than Count). The returned GCBulkSurvivingObjectRangesValues + /// points the the data in GCBulkSurvivingObjectRangesTraceData so it cannot live beyond that lifetime. /// public GCBulkSurvivingObjectRangesValues Values(int index) { return new GCBulkSurvivingObjectRangesValues(this, 10 + (index * HostOffset(12, 1))); } #region Private @@ -4610,7 +4935,7 @@ public override object PayloadValue(int index) /// /// This structure just POINTS at the data in the GCBulkEdgeTraceData. It can only be used as long as - /// the GCBulkEdgeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. + /// the GCBulkEdgeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. /// public struct GCBulkSurvivingObjectRangesValues { @@ -4650,8 +4975,8 @@ public sealed class GCBulkMovedObjectRangesTraceData : TraceEvent public int ClrInstanceID { get { return GetInt16At(8); } } /// - /// Returns the range at the given zero-based index (index less than Count). The returned GCBulkSurvivingObjectRangesValues - /// points the the data in GCBulkSurvivingObjectRangesTraceData so it cannot live beyond that lifetime. + /// Returns the range at the given zero-based index (index less than Count). The returned GCBulkSurvivingObjectRangesValues + /// points the the data in GCBulkSurvivingObjectRangesTraceData so it cannot live beyond that lifetime. /// public GCBulkMovedObjectRangesValues Values(int index) { return new GCBulkMovedObjectRangesValues(this, 10 + (index * HostOffset(16, 2))); } #region Private @@ -4725,7 +5050,7 @@ public override object PayloadValue(int index) /// /// This structure just POINTS at the data in the GCBulkEdgeTraceData. It can only be used as long as - /// the GCBulkEdgeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. + /// the GCBulkEdgeTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. /// public struct GCBulkMovedObjectRangesValues { @@ -4990,7 +5315,7 @@ public override object PayloadValue(int index) #endregion } /// - /// We keep Heap history for every Generation in 'Gens' + /// We keep Heap history for every Generation in 'Gens' /// public enum Gens { @@ -4999,7 +5324,7 @@ public enum Gens Gen2, GenLargeObj, GenPinObj, - MaxGenCount, + MaxGenCount, } /// @@ -5058,9 +5383,9 @@ public enum gc_concurrent_compact_reason : int /// +0x0cc mechanisms : [2] Uint4B : 204 (expand), 208 (compact) /// +0x0d4 gen_condemn_reasons : Uint4B : 212 /// +0x0d8 heap_index : Uint4B : 216 - /// + /// /// clrInstanceId : byte : 220 - /// + /// /// Version 0, PreciseVersion 0.2: .NET 4.0 /// 0:000> dt -r2 clr!WKS::gc_history_per_heap /// +0x000 gen_data : [5] WKS::gc_generation_data @@ -5078,17 +5403,17 @@ public enum gc_concurrent_compact_reason : int /// +0x0cc mechanisms : [3] Uint4B : 204 (expand), 208 (compact), 212 (concurrent_compact) /// +0x0d8 gen_condemn_reasons : Uint4B : 216 /// +0x0dc heap_index : Uint4B : 220 - /// + /// /// clrInstanceId : byte : 224 - /// + /// /// vm\gcrecord.h /// Etw_GCDataPerHeapSpecial(...) /// ... /// EventDataDescCreate(EventData[0], gc_data_per_heap, datasize); /// EventDataDescCreate(EventData[1], ClrInstanceId, sizeof(ClrInstanceId)); - /// + /// /// Version 1: ??? - /// + /// /// Version 2, PreciseVersion 2.1: .NET 4.5 (x86) /// 0:000> dt -r2 WKS::gc_history_per_heap /// clr!WKS::gc_history_per_heap @@ -5109,13 +5434,13 @@ public enum gc_concurrent_compact_reason : int /// +0x0d0 mem_pressure : Uint4B : 208 /// +0x0d4 mechanisms : [2] Uint4B : 212 (expand), 216 (compact) /// +0x0dc heap_index : Uint4B : 220 - /// + /// /// vm\gcrecord.h /// Etw_GCDataPerHeapSpecial(...) /// ... /// EventDataDescCreate(EventData[0], gc_data_per_heap, datasize); /// EventDataDescCreate(EventData[1], ClrInstanceId, sizeof(ClrInstanceId)); - /// + /// /// Version 2, PreciseVersion 2.2: .NET 4.5.2 (x86) /// 0:000> dt -r2 WKS::gc_history_per_heap /// clr!WKS::gc_history_per_heap @@ -5137,47 +5462,47 @@ public enum gc_concurrent_compact_reason : int /// +0x0d4 mechanisms : [2] Uint4B : 212 (expand), 216 (compact) /// +0x0dc heap_index : Uint4B : 220 /// +0x0e0 extra_gen0_committed : Uint8B : 224 - /// + /// /// vm\gcrecord.h /// Etw_GCDataPerHeapSpecial(...) /// ... /// EventDataDescCreate(EventData[0], gc_data_per_heap, datasize); /// EventDataDescCreate(EventData[1], ClrInstanceId, sizeof(ClrInstanceId)); - /// + /// /// Version 3: .NET 4.6 (x86) /// 0:000> dt -r2 WKS::gc_history_per_heap /// clr!WKS::gc_history_per_heap - /// +0x000 gen_data : [4] - /// WKS::gc_generation_data - /// +0x000 size_before : Uint4B/8B - /// +0x004 free_list_space_before : Uint4B/8B - /// +0x008 free_obj_space_before : Uint4B/8B - /// +0x00c size_after : Uint4B/8B + /// +0x000 gen_data : [4] + /// WKS::gc_generation_data + /// +0x000 size_before : Uint4B/8B + /// +0x004 free_list_space_before : Uint4B/8B + /// +0x008 free_obj_space_before : Uint4B/8B + /// +0x00c size_after : Uint4B/8B /// +0x010 free_list_space_after : Uint4B/8B /// +0x014 free_obj_space_after : Uint4B/8B /// +0x018 in : Uint4B/8B /// +0x01c pinned_surv : Uint4B/8B /// +0x020 npinned_surv : Uint4B/8B /// +0x024 new_allocation : Uint4B/8B - /// +0x0a0 maxgen_size_info : WKS::maxgen_size_increase - /// +0x000 free_list_allocated : Uint4B/8B - /// +0x004 free_list_rejected : Uint4B/8B - /// +0x008 end_seg_allocated : Uint4B/8B - /// +0x00c condemned_allocated : Uint4B/8B - /// +0x010 pinned_allocated : Uint4B/8B - /// +0x014 pinned_allocated_advance : Uint4B/8B - /// +0x018 running_free_list_efficiency : Uint4B/8B - /// +0x0bc gen_to_condemn_reasons : WKS::gen_to_condemn_tuning - /// +0x000 condemn_reasons_gen : Uint4B - /// +0x004 condemn_reasons_condition : Uint4B - /// +0x0c4 mechanisms : [2] Uint4B - /// +0x0cc machanism_bits : Uint4B - /// +0x0d0 heap_index : Uint4B - /// +0x0d4 extra_gen0_committed : Uint4B/8B - /// + /// +0x0a0 maxgen_size_info : WKS::maxgen_size_increase + /// +0x000 free_list_allocated : Uint4B/8B + /// +0x004 free_list_rejected : Uint4B/8B + /// +0x008 end_seg_allocated : Uint4B/8B + /// +0x00c condemned_allocated : Uint4B/8B + /// +0x010 pinned_allocated : Uint4B/8B + /// +0x014 pinned_allocated_advance : Uint4B/8B + /// +0x018 running_free_list_efficiency : Uint4B/8B + /// +0x0bc gen_to_condemn_reasons : WKS::gen_to_condemn_tuning + /// +0x000 condemn_reasons_gen : Uint4B + /// +0x004 condemn_reasons_condition : Uint4B + /// +0x0c4 mechanisms : [2] Uint4B + /// +0x0cc machanism_bits : Uint4B + /// +0x0d0 heap_index : Uint4B + /// +0x0d4 extra_gen0_committed : Uint4B/8B + /// /// pal\src\eventprovider\lttng\eventprovdotnetruntime.cpp /// FireEtXplatGCPerHeapHistory_V3(...) - /// + /// /// tracepoint( /// DotNETRuntime, /// GCPerHeapHistory_V3, x86 offsets @@ -5203,9 +5528,9 @@ public enum gc_concurrent_compact_reason : int /// Arg15_Struct_Len_, : ?? not really sent /// (const int*) Arg15_Struct_Pointer_ : [58 - 98), ... /// ); - /// + /// /// Version 3 is now setup to allow "add to the end" scenarios - /// + /// /// public sealed class GCPerHeapHistoryTraceData : TraceEvent { @@ -5552,7 +5877,7 @@ public int HeapIndex else if (Version >= 3) { Debug.Assert(ret < Environment.ProcessorCount); // This is really GCGlobalHeapHistoryTraceData.NumHeaps, but we don't have access to that here - // It is VERY unlikely that we make more heaps than there are processors. + // It is VERY unlikely that we make more heaps than there are processors. } if (ret < 0) @@ -5645,14 +5970,14 @@ public int MemoryPressure /// /// genNumber is a number from 0 to maxGenData-1. These are for generation 0, 1, 2, 3 = Large Object Heap - /// genNumber = 4 is that second pass for Gen 0. + /// genNumber = 4 is that second pass for Gen 0. /// public GCPerHeapHistoryGenData GenData(Gens genNumber) { if (Version == 0 || Version == 2) { Debug.Assert((int)genNumber < maxGenData); - // each GenData structure contains 10 pointers sized integers + // each GenData structure contains 10 pointers sized integers return new GCPerHeapHistoryGenData(Version, GetIntPtrArray(SizeOfGenData * (int)genNumber, EntriesInGenData)); } else if (Version >= 3) @@ -5692,7 +6017,7 @@ private bool ParseMinorVersion(out int mversion) if (Version == 0) { size = (SizeOfGenData * 5) + 25; - // For silverlight, there is one less mechanism. It only affects the layout of gen_condemended_reasons. + // For silverlight, there is one less mechanism. It only affects the layout of gen_condemended_reasons. if (base.EventDataLength == (size - sizeof(int))) { mversion = 1; // Silverlight @@ -6076,9 +6401,9 @@ public enum GCExpandMechanism : uint /// +0x01c new_allocation : Uint4B/8B /// +0x020 surv : Uint4B/8B /// +0x024 growth : Uint4B/8B - /// + /// /// Version 1: ??? - /// + /// /// Version 2, PreciseVersion 2.1: .NET 4.5 (x86), .NET 4.5.2 (x86) /// [5] WKS::gc_generation_data /// +0x000 size_before : Uint4B/8B @@ -6091,13 +6416,13 @@ public enum GCExpandMechanism : uint /// +0x01c out : Uint4B/8B /// +0x020 new_allocation : Uint4B/8B /// +0x024 surv : Uint4B/8B - /// + /// /// Version 3: .NET 4.6 (x86) - /// [4] WKS::gc_generation_data - /// +0x000 size_before : Uint4B/8B - /// +0x004 free_list_space_before : Uint4B/8B - /// +0x008 free_obj_space_before : Uint4B/8B - /// +0x00c size_after : Uint4B/8B + /// [4] WKS::gc_generation_data + /// +0x000 size_before : Uint4B/8B + /// +0x004 free_list_space_before : Uint4B/8B + /// +0x008 free_obj_space_before : Uint4B/8B + /// +0x00c size_after : Uint4B/8B /// +0x010 free_list_space_after : Uint4B/8B /// +0x014 free_obj_space_after : Uint4B/8B /// +0x018 in : Uint4B/8B @@ -6147,7 +6472,7 @@ public long SizeAfter } } /// - /// Size occupied by objects at the beginning of the GC, discounting fragmentation. + /// Size occupied by objects at the beginning of the GC, discounting fragmentation. /// Only exits on 4.5 RC and beyond. /// public long ObjSpaceBefore @@ -6536,7 +6861,7 @@ internal GCPerHeapHistoryGenData(int version, long[] genDataArray) /// /// Version 0: ??? - /// + /// /// Version 1: Silverlight (x86), .NET 4.0, .NET 4.5, .NET 4.5.2 /// VM\gc.cpp /// 0:041> dt -r3 WKS::gc_history_global @@ -6545,7 +6870,7 @@ internal GCPerHeapHistoryGenData(int version, long[] genDataArray) /// +0x004 num_heaps : Uint4B /// +0x008 condemned_generation : Int4B /// +0x00c gen0_reduction_count : Int4B - /// +0x010 reason : + /// +0x010 reason : /// reason_alloc_soh = 0n0 /// reason_induced = 0n1 /// reason_lowmemory = 0n2 @@ -6557,7 +6882,7 @@ internal GCPerHeapHistoryGenData(int version, long[] genDataArray) /// reason_gcstress = 0n8 /// reason_max = 0n9 /// +0x014 global_mechanims_p : Uint4B - /// + /// /// FireEtwGCGlobalHeapHistory_V1(gc_data_global.final_youngest_desired, // upcast on 32bit to __int64 /// gc_data_global.num_heaps, /// gc_data_global.condemned_generation, @@ -6571,7 +6896,7 @@ internal GCPerHeapHistoryGenData(int version, long[] genDataArray) /// +0x004 num_heaps : Uint4B /// +0x008 condemned_generation : Int4B /// +0x00c gen0_reduction_count : Int4B - /// +0x010 reason : + /// +0x010 reason : /// reason_alloc_soh = 0n0 /// reason_induced = 0n1 /// reason_lowmemory = 0n2 @@ -6588,7 +6913,7 @@ internal GCPerHeapHistoryGenData(int version, long[] genDataArray) /// +0x014 pause_mode : Int4B /// +0x018 mem_pressure : Uint4B /// +0x01c global_mechanims_p : Uint4B - /// + /// /// FireEtwGCGlobalHeapHistory_V2(gc_data_global.final_youngest_desired, // upcast on 32bit to __int64 /// gc_data_global.num_heaps, /// gc_data_global.condemned_generation, @@ -6596,9 +6921,9 @@ internal GCPerHeapHistoryGenData(int version, long[] genDataArray) /// gc_data_global.reason, /// gc_data_global.global_mechanims_p, /// GetClrInstanceId()); - /// gc_data_global.pause_mode, + /// gc_data_global.pause_mode, /// gc_data_global.mem_pressure); - /// + /// /// public sealed class GCGlobalHeapHistoryTraceData : TraceEvent { @@ -6618,6 +6943,10 @@ public sealed class GCGlobalHeapHistoryTraceData : TraceEvent public bool HasCondemnReasons0 { get { return (Version >= 3); } } public int CondemnReasons1 { get { if (Version >= 3) { return GetInt32At(42); } return 0; } } public bool HasCondemnReasons1 { get { return (Version >= 3); } } + public bool HasCount { get { return (Version >= 4); } } + public int Count { get { if (Version >= 4) { return GetInt32At(46); } return 0; } } + public int[] Times { get { if (Version >= 4) { return GetInt32ArrayAt(50, Count); } return null; } } + #region Private internal GCGlobalHeapHistoryTraceData(Action action, int eventID, int task, string taskName, Guid taskGuid, int opcode, string opcodeName, Guid providerGuid, string providerName) : base(eventID, task, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName) @@ -6651,6 +6980,11 @@ public override StringBuilder ToXml(StringBuilder sb) XmlAttrib(sb, "Reason", Reason); XmlAttrib(sb, "GlobalMechanisms", GlobalMechanisms); XmlAttrib(sb, "ClrInstanceID", ClrInstanceID); + if (Version >= 4) + { + XmlAttrib(sb, "Count", Count); + XmlAttrib(sb, "Times", string.Join(",", Times ?? Array.Empty())); + } sb.Append("/>"); return sb; } @@ -6661,7 +6995,7 @@ public override string[] PayloadNames { if (payloadNames == null) { - payloadNames = new string[] { "FinalYoungestDesired", "NumHeaps", "CondemnedGeneration", "Gen0ReductionCount", "Reason", "GlobalMechanisms", "ClrInstanceID", "PauseMode", "MemoryPressure", "CondemnReasons0", "CondemnReasons1" }; + payloadNames = new string[] { "FinalYoungestDesired", "NumHeaps", "CondemnedGeneration", "Gen0ReductionCount", "Reason", "GlobalMechanisms", "ClrInstanceID", "PauseMode", "MemoryPressure", "CondemnReasons0", "CondemnReasons1", "Count" }; } return payloadNames; @@ -6735,6 +7069,16 @@ public override object PayloadValue(int index) return null; } + case 11: + if (HasCount) + { + return Count; + } + else + { + return null; + } + default: Debug.Assert(false, "Bad field index"); return null; @@ -7078,7 +7422,7 @@ public sealed class PinObjectAtGCTimeTraceData : TraceEvent public Address HandleID { get { return GetAddressAt(0); } } public Address ObjectID { get { return GetAddressAt(HostOffset(4, 1)); } } public long ObjectSize { get { return GetInt64At(HostOffset(8, 2)); } } - // TODO you can remove the length test after 2104. It was an old internal case + // TODO you can remove the length test after 2104. It was an old internal case public string TypeName { get { if (HostOffset(16, 2) < EventDataLength) { return GetUnicodeStringAt(HostOffset(16, 2)); } return ""; } } public int ClrInstanceID { get { return GetInt16At(SkipUnicodeString(HostOffset(16, 2))); } } @@ -7294,7 +7638,7 @@ public int Count { int len = EventDataLength; int ret = GetInt32At(0); - // V4.5.1 uses this same event for somethings else. Ignore it by setting the count to 0. + // V4.5.1 uses this same event for somethings else. Ignore it by setting the count to 0. if (EventDataLength < ret * 40 + 6) { ret = 0; @@ -7306,8 +7650,8 @@ public int Count public int ClrInstanceID { get { return GetInt16At(4); } } /// - /// Returns the CCW at the given zero-based index (index less than Count). The returned GCBulkRootCCWValues - /// points the the data in GCBulkRootCCWTraceData so it cannot live beyond that lifetime. + /// Returns the CCW at the given zero-based index (index less than Count). The returned GCBulkRootCCWValues + /// points the the data in GCBulkRootCCWTraceData so it cannot live beyond that lifetime. /// public GCBulkRootCCWValues Values(int index) { return new GCBulkRootCCWValues(this, 6 + index * ValueSize); } #region Private @@ -7327,7 +7671,7 @@ protected internal override Delegate Target } protected internal override void Validate() { - Debug.Assert(!(Version == 0 && EventDataLength != 0 + (Count * ValueSize) + 6 && Count != 0)); // The Count==0 fixes a old bad event using the same ID. + Debug.Assert(!(Version == 0 && EventDataLength != 0 + (Count * ValueSize) + 6 && Count != 0)); // The Count==0 fixes a old bad event using the same ID. Debug.Assert(!(Version > 0 && EventDataLength < (Count * ValueSize) + 6)); } public override StringBuilder ToXml(StringBuilder sb) @@ -7374,7 +7718,7 @@ public override object PayloadValue(int index) private event Action Action; /// - /// Computes the size of one GCBulkRootCCWValues structure. + /// Computes the size of one GCBulkRootCCWValues structure. /// TODO FIX NOW Can rip out and make a constant 44 after 6/2014 /// private int ValueSize @@ -7384,7 +7728,7 @@ private int ValueSize if (m_valueSize == 0) { m_valueSize = 44; - // Project N rounds up on 64 bit It did go out for build in 4/2014 but soon we won't care. + // Project N rounds up on 64 bit It did go out for build in 4/2014 but soon we won't care. if (EventDataLength == (Count * 48) + 6) { Debug.Assert(PointerSize == 8); @@ -7401,7 +7745,7 @@ private int ValueSize /// /// This structure just POINTS at the data in the GCBulkRootCCWTraceData. It can only be used as long as - /// the GCBulkRootCCWTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. + /// the GCBulkRootCCWTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. /// public struct GCBulkRootCCWValues { @@ -7456,7 +7800,7 @@ public int Count { int len = EventDataLength; int ret = GetInt32At(0); - // V4.5.1 uses this same event for somethings else. Ignore it by setting the count to 0. + // V4.5.1 uses this same event for somethings else. Ignore it by setting the count to 0. if (EventDataLength < ret * 40 + 6) { ret = 0; @@ -7468,8 +7812,8 @@ public int Count public int ClrInstanceID { get { return GetInt16At(4); } } /// - /// Returns the edge at the given zero-based index (index less than Count). The returned GCBulkRCWValues - /// points the the data in GCBulkRCWTraceData so it cannot live beyond that lifetime. + /// Returns the edge at the given zero-based index (index less than Count). The returned GCBulkRCWValues + /// points the the data in GCBulkRCWTraceData so it cannot live beyond that lifetime. /// public GCBulkRCWValues Values(int index) { return new GCBulkRCWValues(this, 6 + index * 40); } @@ -7490,7 +7834,7 @@ protected internal override Delegate Target } protected internal override void Validate() { - Debug.Assert(!(Version == 0 && EventDataLength != 0 + (Count * 40) + 6 && Count != 0)); // The Count==0 fixes a old bad event using the same ID. + Debug.Assert(!(Version == 0 && EventDataLength != 0 + (Count * 40) + 6 && Count != 0)); // The Count==0 fixes a old bad event using the same ID. Debug.Assert(!(Version > 0 && EventDataLength < 0 + (Count * 40) + 6)); } public override StringBuilder ToXml(StringBuilder sb) @@ -7541,7 +7885,7 @@ public override object PayloadValue(int index) /// /// This structure just POINTS at the data in the GCBulkRCWTraceData. It can only be used as long as - /// the GCBulkRCWTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. + /// the GCBulkRCWTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. /// public struct GCBulkRCWValues { @@ -7592,9 +7936,9 @@ public sealed class GCBulkRootStaticVarTraceData : TraceEvent public int ClrInstanceID { get { return GetInt16At(12); } } /// - /// Returns 'idx'th static root. - /// The returned GCBulkRootStaticVarStatics cannot live beyond the TraceEvent that it comes from. - /// The implementation is highly tuned for sequential access. + /// Returns 'idx'th static root. + /// The returned GCBulkRootStaticVarStatics cannot live beyond the TraceEvent that it comes from. + /// The implementation is highly tuned for sequential access. /// public GCBulkRootStaticVarValues Values(int index) { @@ -7609,7 +7953,7 @@ internal GCBulkRootStaticVarTraceData(Action actio } protected internal override void Dispatch() { - m_lastIdx = 0xFFFF; // Invalidate the cache + m_lastIdx = 0xFFFF; // Invalidate the cache Action(this); } protected internal override Delegate Target @@ -7619,9 +7963,9 @@ protected internal override Delegate Target } protected internal override void Validate() { - m_lastIdx = 0xFFFF; // Invalidate the cache + m_lastIdx = 0xFFFF; // Invalidate the cache Debug.Assert(!(EventDataLength != OffsetForIndexInValuesArray(Count))); - Debug.Assert(Count == 0 || (int)Values(Count - 1).Flags < 256); // This just makes the asserts in the BulkType kick in + Debug.Assert(Count == 0 || (int)Values(Count - 1).Flags < 256); // This just makes the asserts in the BulkType kick in } public override StringBuilder ToXml(StringBuilder sb) { @@ -7694,7 +8038,7 @@ private int OffsetForIndexInValuesArray(int targetIdx) Debug.Assert(m_lastIdx == targetIdx && m_lastOffset == offset); // No truncation return offset; } - // These remember the last offset of the element in Statics to optimize a linear scan. + // These remember the last offset of the element in Statics to optimize a linear scan. private ushort m_lastIdx; private ushort m_lastOffset; @@ -7704,7 +8048,7 @@ private int OffsetForIndexInValuesArray(int targetIdx) /// /// This structure just POINTS at the data in the GCBulkRootStaticVarTraceData. It can only be used as long as - /// the GCBulkRootStaticVarTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. + /// the GCBulkRootStaticVarTraceData is alive which (unless you cloned it) is only for the lifetime of the callback. /// public struct GCBulkRootStaticVarValues { @@ -7737,7 +8081,7 @@ internal GCBulkRootStaticVarValues(TraceEvent data, int baseOffset) Debug.Assert((GCRootID & 0xFF00000000000003L) == 0); Debug.Assert((ObjectID & 0xFF00000000000003L) == 0); Debug.Assert((TypeID & 0xFF00000000000001L) == 0); - Debug.Assert(((int)Flags & 0xFFFFFFF0) == 0); // We don't use the upper bits presently so we can assert they are not used as a validity check. + Debug.Assert(((int)Flags & 0xFFFFFFF0) == 0); // We don't use the upper bits presently so we can assert they are not used as a validity check. } private TraceEvent m_data; @@ -8056,7 +8400,7 @@ public override string[] PayloadNames { if (payloadNames == null) { - payloadNames = new string[] { "MinWorkerThreads", "MaxWorkerThreads", "MinIOCompletionThreads", "MaxIOCompletionThreads", "ClrInstanceID"}; + payloadNames = new string[] { "MinWorkerThreads", "MaxWorkerThreads", "MinIOCompletionThreads", "MaxIOCompletionThreads", "ClrInstanceID" }; } return payloadNames; @@ -9585,6 +9929,106 @@ public override object PayloadValue(int index) #endregion } + [Flags] + public enum GCSettingsFlags : int + { + GCSettingsConcurrent = 0x00000001, + GCSettingsLargePages = 0x00000002, + GCSettingsFrozenSegs = 0x00000004, + GCSettingsHardLimitConfig = 0x00000008, + GCSettingsNoAffinitize = 0x00000010, + }; + + public sealed class GCSettingsRundownTraceData : TraceEvent + { + public long HardLimit { get { return GetInt64At(0); } } + public long LOHThreshold { get { return GetInt64At(8); } } + public long PhysicalMemoryConfig { get { return GetInt64At(16); } } + public long Gen0MinBudgetConfig { get { return GetInt64At(24); } } + public long Gen0MaxBudgetConfig { get { return GetInt64At(32); } } + public int HighMemPercentConfig { get { return GetInt32At(40); } } + public GCSettingsFlags BitSettings { get { return (GCSettingsFlags)GetInt32At(44); } } + public int ClrInstanceID { get { return GetInt16At(48); } } + + #region Private + internal GCSettingsRundownTraceData(Action action, int eventID, int task, string taskName, Guid taskGuid, int opcode, string opcodeName, Guid providerGuid, string providerName) + : base(eventID, task, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName) + { + Action = action; + } + protected internal override void Dispatch() + { + Action(this); + } + protected internal override Delegate Target + { + get { return Action; } + set { Action = (Action)value; } + } + protected internal override void Validate() + { + Debug.Assert(Version != 0 || EventDataLength == 50); + Debug.Assert(Version > 0 || EventDataLength >= 50); + } + public override StringBuilder ToXml(StringBuilder sb) + { + Prefix(sb); + XmlAttrib(sb, "HardLimit", HardLimit); + XmlAttrib(sb, "LOHThreshold", LOHThreshold); + XmlAttrib(sb, "PhysicalMemoryConfig", PhysicalMemoryConfig); + XmlAttrib(sb, "Gen0MinBudgetConfig", Gen0MinBudgetConfig); + XmlAttrib(sb, "Gen0MaxBudgetConfig", Gen0MaxBudgetConfig); + XmlAttrib(sb, "HighMemPercentConfig", HighMemPercentConfig); + XmlAttrib(sb, "BitSettings", BitSettings); + XmlAttrib(sb, "ClrInstanceID", ClrInstanceID); + sb.AppendLine(">"); + sb.Append(""); + return sb; + } + + public override string[] PayloadNames + { + get + { + if (payloadNames == null) + { + payloadNames = new string[] { "HardLimit", "LOHThreshold", "PhysicalMemoryConfig", "Gen0MinBudgetConfig", "Gen0MaxBudgetConfig", "HighMemPercentConfig", "BitSettings", "ClrInstanceID" }; + } + + return payloadNames; + } + } + + public override object PayloadValue(int index) + { + switch (index) + { + case 0: + return HardLimit; + case 1: + return LOHThreshold; + case 2: + return PhysicalMemoryConfig; + case 3: + return Gen0MinBudgetConfig; + case 4: + return Gen0MaxBudgetConfig; + case 5: + return HighMemPercentConfig; + case 6: + return BitSettings; + case 7: + return ClrInstanceID; + default: + Debug.Assert(false, "Bad field index"); + return null; + } + } + + private event Action Action; + #endregion + } + public sealed class MethodILToNativeMapTraceData : TraceEvent { private const int ILProlog = -2; // Returned by ILOffset to represent the prologue of the method @@ -9594,7 +10038,7 @@ public sealed class MethodILToNativeMapTraceData : TraceEvent public long ReJITID { get { return GetInt64At(8); } } public int MethodExtent { get { return GetByteAt(16); } } public int CountOfMapEntries { get { return GetInt16At(17); } } - // May also return the special values ILProlog (-2) and ILEpilog (-3) + // May also return the special values ILProlog (-2) and ILEpilog (-3) public int ILOffset(int index) { return GetInt32At(index * 4 + 19); } public int NativeOffset(int index) { return GetInt32At((CountOfMapEntries + index) * 4 + 19); } public int ClrInstanceID { get { return GetInt16At(CountOfMapEntries * 8 + 19); } } @@ -9685,7 +10129,7 @@ public sealed class ClrStackWalkTraceData : TraceEvent public int FrameCount { get { return GetInt32At(4); } } /// /// Fetches the instruction pointer of a eventToStack frame 0 is the deepest frame, and the maximum should - /// be a thread offset routine (if you get a complete eventToStack). + /// be a thread offset routine (if you get a complete eventToStack). /// /// The index of the frame to fetch. 0 is the CPU EIP, 1 is the Caller of that /// routine ... @@ -11229,7 +11673,7 @@ public sealed class ModuleLoadUnloadTraceData : TraceEvent public string NativePdbBuildPath { get { if (Version >= 2) { return GetUnicodeStringAt(GetNativePdbSigStart + 20); } return ""; } } /// - /// This is simply the file name part of the ModuleILPath. It is a convenience method. + /// This is simply the file name part of the ModuleILPath. It is a convenience method. /// public string ModuleILFileName { get { return System.IO.Path.GetFileName(ModuleILPath); } } #region Private @@ -12572,7 +13016,8 @@ protected internal override void Validate() Debug.Assert(!(Version == 0 && EventDataLength != SkipUnicodeString(2) + 8)); Debug.Assert(!(Version > 0 && EventDataLength < SkipUnicodeString(2) + 8)); } - protected internal override Delegate Target { + protected internal override Delegate Target + { get { return Action; } set { Action = (Action)value; } } @@ -12586,7 +13031,8 @@ public override StringBuilder ToXml(StringBuilder sb) return sb; } - public override string[] PayloadNames { + public override string[] PayloadNames + { get { if (payloadNames == null) @@ -12745,7 +13191,7 @@ public enum TypeFlags None = 0, Delegate = 0x1, Finalizable = 0x2, - ExternallyImplementedCOMObject = 0x4, // RCW. + ExternallyImplementedCOMObject = 0x4, // RCW. Array = 0x8, ModuleBaseAddress = 0x10, @@ -12796,6 +13242,7 @@ public enum GCSegmentType SmallObjectHeap = 0x0, LargeObjectHeap = 0x1, ReadOnlyHeap = 0x2, + PinnedObjectHeap = 0x3, } public enum GCAllocationKind { @@ -12805,9 +13252,9 @@ public enum GCAllocationKind } public enum GCType { - NonConcurrentGC = 0x0, // A 'blocking' GC. + NonConcurrentGC = 0x0, // A 'blocking' GC. BackgroundGC = 0x1, // A Gen 2 GC happening while code continues to run - ForegroundGC = 0x2, // A Gen 0 or Gen 1 blocking GC which is happening when a Background GC is in progress. + ForegroundGC = 0x2, // A Gen 0 or Gen 1 blocking GC which is happening when a Background GC is in progress. } public enum GCReason { @@ -12962,6 +13409,7 @@ public sealed class ClrRundownTraceEventParser : TraceEventParser public static readonly Guid ProviderGuid = new Guid(unchecked((int)0xa669021c), unchecked((short)0xc450), unchecked((short)0x4609), 0xa0, 0x35, 0x5a, 0xf5, 0x9a, 0xf4, 0xdf, 0x18); public enum Keywords : long { + GC = 0x1, Loader = 0x8, Jit = 0x10, NGen = 0x20, @@ -12970,16 +13418,16 @@ public enum Keywords : long ForceEndRundown = 0x100, AppDomainResourceManagement = 0x800, /// - /// Log events associated with the threadpool, and other threading events. + /// Log events associated with the threadpool, and other threading events. /// Threading = 0x10000, /// - /// Dump the native to IL mapping of any method that is JIT compiled. (V4.5 runtimes and above). + /// Dump the native to IL mapping of any method that is JIT compiled. (V4.5 runtimes and above). /// JittedMethodILToNativeMap = 0x20000, /// - /// This suppresses NGEN events on V4.0 (where you have NGEN PDBs), but not on V2.0 (which does not know about this - /// bit and also does not have NGEN PDBS). + /// This suppresses NGEN events on V4.0 (where you have NGEN PDBs), but not on V2.0 (which does not know about this + /// bit and also does not have NGEN PDBS). /// SupressNGen = 0x40000, /// @@ -12988,7 +13436,7 @@ public enum Keywords : long PerfTrack = 0x20000000, Stack = 0x40000000, /// - /// Dump PDBs for dynamically generated modules. + /// Dump PDBs for dynamically generated modules. /// CodeSymbolsRundown = 0x80000000, /// @@ -12996,7 +13444,7 @@ public enum Keywords : long /// Compilation = 0x1000000000, - Default = ForceEndRundown + NGen + Jit + SupressNGen + JittedMethodILToNativeMap + Loader + CodeSymbolsRundown + + Default = GC + ForceEndRundown + NGen + Jit + SupressNGen + JittedMethodILToNativeMap + Loader + CodeSymbolsRundown + Compilation, }; @@ -13300,7 +13748,8 @@ public event Action TieredCompilationRundown source.UnregisterEventTemplate(value, 11, TieredCompilationRundownTaskGuid); } } - public event Action ExecutionCheckpointRundownExecutionCheckpointDCEnd { + public event Action ExecutionCheckpointRundownExecutionCheckpointDCEnd + { add { source.RegisterEventTemplate(ExecutionCheckpointDCEndTemplate(value)); @@ -13310,6 +13759,17 @@ public event Action ExecutionCheckpointRundownExec source.UnregisterEventTemplate(value, 300, ExecutionCheckpointRundownTaskGuid); } } + public event Action GCSettingsRundown + { + add + { + source.RegisterEventTemplate(GCSettingsRundownTemplate(value)); + } + remove + { + source.UnregisterEventTemplate(value, 10, GCTaskGuid); + } + } #region Event ID Definitions private const TraceEventID ClrStackWalkEventID = (TraceEventID)0; @@ -13406,12 +13866,17 @@ static private ExecutionCheckpointTraceData ExecutionCheckpointDCEndTemplate(Act return new ExecutionCheckpointTraceData(action, 300, 35, "ExecutionCheckpointRundown", ExecutionCheckpointRundownTaskGuid, 11, "ExecutionCheckpointDCEnd", ProviderGuid, ProviderName); } + static private GCSettingsRundownTraceData GCSettingsRundownTemplate(Action action) + { // action, eventid, taskid, taskName, taskGuid, opcode, opcodeName, providerGuid, providerName + return new GCSettingsRundownTraceData(action, 10, 40, "GC", GCTaskGuid, 10, "SettingsRundown", ProviderGuid, ProviderName); + } + static private volatile TraceEvent[] s_templates; protected internal override void EnumerateTemplates(Func eventsToObserve, Action callback) { if (s_templates == null) { - var templates = new TraceEvent[24]; + var templates = new TraceEvent[25]; templates[0] = new MethodILToNativeMapTraceData(null, 149, 1, "Method", MethodTaskGuid, 41, "ILToNativeMapDCStart", ProviderGuid, ProviderName); templates[1] = new MethodILToNativeMapTraceData(null, 150, 1, "Method", MethodTaskGuid, 42, "ILToNativeMapDCStop", ProviderGuid, ProviderName); templates[2] = new ClrStackWalkTraceData(null, 0, 11, "ClrStack", ClrStackTaskGuid, 82, "Walk", ProviderGuid, ProviderName); @@ -13437,8 +13902,8 @@ protected internal override void EnumerateTemplates(Func internal class ClrTraceEventParserState : IFastSerializable { @@ -13642,7 +14108,7 @@ internal string TypeIDToName(int processID, Address typeId, long timeQPC) return ret; } - #region private + #region private void IFastSerializable.ToStream(Serializer serializer) { @@ -13693,7 +14159,7 @@ void IFastSerializable.FromStream(Deserializer deserializer) private DeferedRegion lazyTypeIDToName; private HistoryDictionary _typeIDToName; - #endregion // private + #endregion // private } #endregion // private types diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/gcevents.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/gcevents.baseline.txt new file mode 100644 index 000000000..29a9b88bb --- /dev/null +++ b/src/TraceEvent/TraceEvent.Tests/inputs/gcevents.baseline.txt @@ -0,0 +1,73 @@ +EVENT 0.000: Windows Kernel/EventTrace PID=179356; TID=179388; PName=Process(179356); ProceNum=0; DataLen=392; BufferSize=65,536; Version=83,951,626; ProviderVersion=19,045; NumberOfProcessors=8; EndTime=23/03/14 00:46:50.70...; TimerResolution=156,250; MaxFileSize=800; LogFileMode=134,217,730; BuffersWritten=5; StartBuffers=1; PointerSize=8; EventsLost=0; CPUSpeed=3,408; BootTime=23/03/07 16:58:36.50...; PerfFreq=10,000,000; StartTime=23/03/14 00:46:36.69...; ReservedFlags=1; BuffersLost=0; SessionName=PerfViewSession; LogFileName=C:\Dev\runtime\CoreL...; UtcOffsetMinutes=480; +EVENT 8,184.674: Microsoft-Windows-DotNETRuntime/Runtime/Start PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=203; ClrInstanceID=8; Sku=CoreClr; BclMajorVersion=8; BclMinorVersion=0; BclBuildNumber=0; BclQfeNumber=0; VMMajorVersion=42; VMMinorVersion=42; VMBuildNumber=42; VMQfeNumber=42,424; StartupFlags=8388611; StartupMode=None; CommandLine=; ComObjectGuid=00000000-0000-0000-0...; RuntimeDllPath=C:\Dev\runtime\artif...; +EVENT 8,185.741: Microsoft-Windows-DotNETRuntime/GC/CreateSegment PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=22; Address=0x1b0f1000028; Size=0x01ffffd8; Type=PinnedObjectHeap; ClrInstanceID=8; +EVENT 8,185.743: Microsoft-Windows-DotNETRuntime/GC/CreateSegment PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=22; Address=0x1b0f3000028; Size=0x003fffd8; Type=SmallObjectHeap; ClrInstanceID=8; +EVENT 8,185.744: Microsoft-Windows-DotNETRuntime/GC/CreateSegment PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=22; Address=0x1b0f3400028; Size=0x003fffd8; Type=SmallObjectHeap; ClrInstanceID=8; +EVENT 8,185.745: Microsoft-Windows-DotNETRuntime/GC/CreateSegment PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=22; Address=0x1b0f3800028; Size=0x003fffd8; Type=SmallObjectHeap; ClrInstanceID=8; +EVENT 8,185.747: Microsoft-Windows-DotNETRuntime/GC/CreateSegment PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=22; Address=0x1b0f3c00028; Size=0x01ffffd8; Type=LargeObjectHeap; ClrInstanceID=8; +EVENT 8,199.580: Microsoft-Windows-DotNETRuntime/GC/FinalizersStart PID=179596; TID=177072; PName=Process(179596); ProceNum=7; DataLen=2; ClrInstanceID=8; +EVENT 8,199.585: Microsoft-Windows-DotNETRuntime/GC/FinalizersStop PID=179596; TID=177072; PName=Process(179596); ProceNum=7; DataLen=6; Count=0; ClrInstanceID=8; +EVENT 8,215.606: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=179596; TID=168672; PName=Process(179596); ProceNum=6; DataLen=74; AllocationAmount=109,120; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=109,120; TypeID=0x7ffb485e1c08; TypeName=System.String; HeapIndex=0; Address=0x1b0f3818b30; ObjectSize=32; +EVENT 8,224.960: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=179596; TID=168672; PName=Process(179596); ProceNum=6; DataLen=98; AllocationAmount=109,440; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=109,440; TypeID=0x7ffb486cf828; TypeName=System.Text.StringBu...; HeapIndex=0; Address=0x1b0f3833850; ObjectSize=48; +EVENT 8,225.472: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=179596; TID=168672; PName=Process(179596); ProceNum=6; DataLen=74; AllocationAmount=110,496; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=110,496; TypeID=0x7ffb485e1c08; TypeName=System.String; HeapIndex=0; Address=0x1b0f384e8d8; ObjectSize=88; +EVENT 8,229.584: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=179596; TID=168672; PName=Process(179596); ProceNum=6; DataLen=128; AllocationAmount=107,664; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=107,664; TypeID=0x7ffb48635478; TypeName=System.Diagnostics.T...; HeapIndex=0; Address=0x1b0f3868e88; ObjectSize=24; +EVENT 8,229.863: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=179596; TID=168672; PName=Process(179596); ProceNum=6; DataLen=74; AllocationAmount=110,384; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=110,384; TypeID=0x7ffb486e2cd8; TypeName=System.Char[]; HeapIndex=0; Address=0x1b0f3882068; ObjectSize=16,024; +EVENT 11,607.358: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=10; Reason=SuspendForGC; Count=0; ClrInstanceID=8; +EVENT 11,607.367: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=2; ClrInstanceID=8; +EVENT 11,607.371: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=6; Reason=Induced; ClrInstanceID=8; +EVENT 11,607.432: Microsoft-Windows-DotNETRuntime/GC/Start PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=26; Count=1; Reason=Induced; Depth=1; Type=NonConcurrentGC; ClrInstanceID=8; ClientSequenceNumber=0; +EVENT 11,607.466: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=18; HeapNum=0; ClrInstanceID=8; Type=0; Promoted=24; +EVENT 11,607.467: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=18; HeapNum=0; ClrInstanceID=8; Type=1; Promoted=0; +EVENT 11,607.477: Microsoft-Windows-DotNETRuntime/GC/PinObjectAtGCTime PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=54; HandleID=0x1b0f0a815f8; ObjectID=0x1b0f3800208; ObjectSize=24; TypeName=System.Object; ClrInstanceID=8; +EVENT 11,607.481: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=18; HeapNum=0; ClrInstanceID=8; Type=2; Promoted=904; +EVENT 11,607.589: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=18; HeapNum=0; ClrInstanceID=8; Type=3; Promoted=293,544; +EVENT 11,607.590: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=18; HeapNum=0; ClrInstanceID=8; Type=6; Promoted=0; +EVENT 11,607.765: Microsoft-Windows-DotNETRuntime/GC/FitBucketInfo PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=158; ClrInstanceID=8; BucketKind=PlugsInCondemned; TotalSize=310,848; Count=9; +EVENT 11,608.126: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=82; FinalYoungestDesired=4,677,560; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=Induced; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=8; PauseMode=Interactive; MemoryPressure=59; CondemnReasons0=0; CondemnReasons1=0; Count=8; +EVENT 11,608.130: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=486; ClrInstanceID=8; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=5; CondemnReasons1=0; CompactMechanisms=compact_high_frag; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=0; Count=5; MemoryPressure=; +EVENT 11,608.135: Microsoft-Windows-DotNETRuntime/GC/Stop PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=10; Count=1; Depth=1; ClrInstanceID=8; +EVENT 11,608.136: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=110; TotalHeapSize=657,192; TotalPromoted=310,952; Depth=0; GenerationSize0=584; TotalPromotedSize0=310,952; GenerationSize1=314,184; TotalPromotedSize1=0; GenerationSize2=0; TotalPromotedSize2=0; GenerationSize3=326,056; TotalPromotedSize3=0; FinalizationPromotedSize=13,948; FinalizationPromotedCount=6; PinnedObjectCount=1; SinkBlockCount=0; GCHandleCount=53; ClrInstanceID=8; GenerationSize4=16,368; TotalPromotedSize4=0; +EVENT 11,608.140: Microsoft-Windows-DotNETRuntime/GC/RestartEEStart PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=2; ClrInstanceID=8; +EVENT 11,608.145: Microsoft-Windows-DotNETRuntime/GC/RestartEEStop PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=2; ClrInstanceID=8; +EVENT 11,608.167: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=10; Reason=SuspendForGC; Count=1; ClrInstanceID=8; +EVENT 11,608.173: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=2; ClrInstanceID=8; +EVENT 11,608.175: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=6; Reason=Induced; ClrInstanceID=8; +EVENT 11,608.181: Microsoft-Windows-DotNETRuntime/GC/Start PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=26; Count=2; Reason=Induced; Depth=2; Type=NonConcurrentGC; ClrInstanceID=8; ClientSequenceNumber=0; +EVENT 11,608.204: Microsoft-Windows-DotNETRuntime/GC/PinObjectAtGCTime PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=54; HandleID=0x1b0f0a815f8; ObjectID=0x1b0f3800208; ObjectSize=24; TypeName=System.Object; ClrInstanceID=8; +EVENT 11,608.686: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=82; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=2; Gen0ReductionCount=0; Reason=Induced; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=8; PauseMode=Interactive; MemoryPressure=59; CondemnReasons0=0; CondemnReasons1=0; Count=8; +EVENT 11,608.688: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=486; ClrInstanceID=8; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=10; CondemnReasons1=1; CompactMechanisms=compact_loh_forced; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=0; Count=5; MemoryPressure=; +EVENT 11,608.690: Microsoft-Windows-DotNETRuntime/GC/LOHCompact PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=36; ClrInstanceID=8; Count=1; +EVENT 11,608.693: Microsoft-Windows-DotNETRuntime/GC/Stop PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=10; Count=2; Depth=2; ClrInstanceID=8; +EVENT 11,608.694: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=110; TotalHeapSize=436,504; TotalPromoted=419,624; Depth=1; GenerationSize0=584; TotalPromotedSize0=104; GenerationSize1=0; TotalPromotedSize1=310,848; GenerationSize2=310,848; TotalPromotedSize2=0; GenerationSize3=108,704; TotalPromotedSize3=108,672; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=1; SinkBlockCount=0; GCHandleCount=53; ClrInstanceID=8; GenerationSize4=16,368; TotalPromotedSize4=0; +EVENT 11,608.704: Microsoft-Windows-DotNETRuntime/GC/RestartEEStart PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=2; ClrInstanceID=8; +EVENT 11,608.709: Microsoft-Windows-DotNETRuntime/GC/RestartEEStop PID=179596; TID=168672; PName=Process(179596); ProceNum=4; DataLen=2; ClrInstanceID=8; +EVENT 11,608.761: Microsoft-Windows-DotNETRuntime/GC/FinalizersStart PID=179596; TID=177072; PName=Process(179596); ProceNum=7; DataLen=2; ClrInstanceID=8; +EVENT 11,608.782: Microsoft-Windows-DotNETRuntime/GC/FinalizeObject PID=179596; TID=177072; PName=Process(179596); ProceNum=7; DataLen=18; TypeName=; ObjectID=0x1b0f3015020; TypeID=0x7ffb487311c0; ClrInstanceID=8; +EVENT 11,608.884: Microsoft-Windows-DotNETRuntime/GC/FinalizeObject PID=179596; TID=177072; PName=Process(179596); ProceNum=7; DataLen=18; TypeName=; ObjectID=0x1b0f30155b8; TypeID=0x7ffb487311c0; ClrInstanceID=8; +EVENT 11,608.885: Microsoft-Windows-DotNETRuntime/GC/FinalizeObject PID=179596; TID=177072; PName=Process(179596); ProceNum=7; DataLen=18; TypeName=; ObjectID=0x1b0f3015b58; TypeID=0x7ffb487311c0; ClrInstanceID=8; +EVENT 11,608.887: Microsoft-Windows-DotNETRuntime/GC/FinalizeObject PID=179596; TID=177072; PName=Process(179596); ProceNum=7; DataLen=18; TypeName=; ObjectID=0x1b0f30160f8; TypeID=0x7ffb487311c0; ClrInstanceID=8; +EVENT 11,608.888: Microsoft-Windows-DotNETRuntime/GC/FinalizeObject PID=179596; TID=177072; PName=Process(179596); ProceNum=7; DataLen=18; TypeName=; ObjectID=0x1b0f30166a0; TypeID=0x7ffb487311c0; ClrInstanceID=8; +EVENT 11,608.890: Microsoft-Windows-DotNETRuntime/GC/FinalizersStop PID=179596; TID=177072; PName=Process(179596); ProceNum=7; DataLen=6; Count=6; ClrInstanceID=8; +EVENT 11,608.894: Microsoft-Windows-DotNETRuntime/GC/FinalizersStart PID=179596; TID=177072; PName=Process(179596); ProceNum=7; DataLen=2; ClrInstanceID=8; +EVENT 11,608.895: Microsoft-Windows-DotNETRuntime/GC/FinalizersStop PID=179596; TID=177072; PName=Process(179596); ProceNum=7; DataLen=6; Count=0; ClrInstanceID=8; +COUNT Microsoft-Windows-DotNETRuntime/GC/AllocationTick:12 +COUNT Microsoft-Windows-DotNETRuntime/GC/CreateSegment:7 +COUNT Microsoft-Windows-DotNETRuntime/GC/FinalizeObject:6 +COUNT Microsoft-Windows-DotNETRuntime/GC/FinalizersStart:3 +COUNT Microsoft-Windows-DotNETRuntime/GC/FinalizersStop:3 +COUNT Microsoft-Windows-DotNETRuntime/GC/FitBucketInfo:1 +COUNT Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory:2 +COUNT Microsoft-Windows-DotNETRuntime/GC/HeapStats:2 +COUNT Microsoft-Windows-DotNETRuntime/GC/LOHCompact:1 +COUNT Microsoft-Windows-DotNETRuntime/GC/MarkWithType:13 +COUNT Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory:2 +COUNT Microsoft-Windows-DotNETRuntime/GC/PinObjectAtGCTime:2 +COUNT Microsoft-Windows-DotNETRuntime/GC/RestartEEStart:2 +COUNT Microsoft-Windows-DotNETRuntime/GC/RestartEEStop:2 +COUNT Microsoft-Windows-DotNETRuntime/GC/Start:2 +COUNT Microsoft-Windows-DotNETRuntime/GC/Stop:2 +COUNT Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart:2 +COUNT Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop:2 +COUNT Microsoft-Windows-DotNETRuntime/GC/Triggered:2 +COUNT Microsoft-Windows-DotNETRuntime/Runtime/Start:1 +COUNT Windows Kernel/EventTrace:1 diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/gcevents.etl.zip b/src/TraceEvent/TraceEvent.Tests/inputs/gcevents.etl.zip new file mode 100644 index 000000000..4fcf6c0b4 Binary files /dev/null and b/src/TraceEvent/TraceEvent.Tests/inputs/gcevents.etl.zip differ diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/gcrundownevents.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/gcrundownevents.baseline.txt new file mode 100644 index 000000000..b1340634d --- /dev/null +++ b/src/TraceEvent/TraceEvent.Tests/inputs/gcrundownevents.baseline.txt @@ -0,0 +1,35 @@ +EVENT 0.000: Windows Kernel/EventTrace PID=179356; TID=179388; PName=Process(179356); ProceNum=0; DataLen=428; BufferSize=65,536; Version=83,951,626; ProviderVersion=19,045; NumberOfProcessors=8; EndTime=23/03/14 00:46:53.75...; TimerResolution=156,250; MaxFileSize=0; LogFileMode=134,217,729; BuffersWritten=2; StartBuffers=1; PointerSize=8; EventsLost=0; CPUSpeed=3,408; BootTime=23/03/07 16:58:36.50...; PerfFreq=10,000,000; StartTime=23/03/14 00:46:51.19...; ReservedFlags=1; BuffersLost=0; SessionName=PerfViewSessionRundo...; LogFileName=C:\Dev\runtime\CoreL...; UtcOffsetMinutes=480; +EVENT 40.384: Microsoft-Windows-DotNETRuntimeRundown/Runtime/Start PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=203; ClrInstanceID=8; Sku=CoreClr; BclMajorVersion=8; BclMinorVersion=0; BclBuildNumber=0; BclQfeNumber=0; VMMajorVersion=42; VMMinorVersion=42; VMBuildNumber=42; VMQfeNumber=42,424; StartupFlags=8388611; StartupMode=None; CommandLine=; ComObjectGuid=00000000-0000-0000-0...; RuntimeDllPath=C:\Dev\runtime\artif...; +EVENT 40.391: Microsoft-Windows-DotNETRuntimeRundown/Method/DCStopInit PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=2; ClrInstanceID=8; +EVENT 40.398: Microsoft-Windows-DotNETRuntimeRundown/Loader/ModuleDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=516; ModuleID=140,717,225,230,336; AssemblyID=1,859,436,735,792; ModuleFlags=Manifest, ReadyToRun...; ModuleILPath=C:\Dev\runtime\artif...; ModuleNativePath=; ManagedPdbSignature=a158dfa6-93cb-599e-5...; ManagedPdbAge=1; ManagedPdbBuildPath=C:\Dev\runtime\artif...; NativePdbSignature=3ca7f0dd-07b4-a058-9...; NativePdbAge=1; NativePdbBuildPath=System.Private.CoreL...; ModuleILFileName=System.Private.CoreL...; +EVENT 40.401: Microsoft-Windows-DotNETRuntimeRundown/Loader/DomainModuleDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=226; ModuleID=140,717,225,230,336; AssemblyID=1,859,436,735,792; AppDomainID=1,859,436,368,288; ModuleFlags=Manifest, ReadyToRun...; ModuleILPath=C:\Dev\runtime\artif...; ModuleNativePath=; ClrInstanceID=8; +EVENT 40.417: Microsoft-Windows-DotNETRuntimeRundown/Loader/AssemblyDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=210; AssemblyID=1,859,436,735,792; AppDomainID=1,859,436,368,288; AssemblyFlags=ReadyToRun; FullyQualifiedAssemblyName=System.Private.CoreL...; BindingID=0; ClrInstanceID=8; +EVENT 40.421: Microsoft-Windows-DotNETRuntimeRundown/Loader/ModuleDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=374; ModuleID=140,717,227,974,696; AssemblyID=1,859,436,732,624; ModuleFlags=Manifest; ModuleILPath=C:\Dev\runtime\artif...; ModuleNativePath=; ManagedPdbSignature=45508c9a-2474-4804-9...; ManagedPdbAge=1; ManagedPdbBuildPath=C:\Dev\runtime\artif...; NativePdbSignature=00000000-0000-0000-0...; NativePdbAge=0; NativePdbBuildPath=; ModuleILFileName=CoreLab.dll; +EVENT 40.422: Microsoft-Windows-DotNETRuntimeRundown/Loader/DomainModuleDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=196; ModuleID=140,717,227,974,696; AssemblyID=1,859,436,732,624; AppDomainID=1,859,436,368,288; ModuleFlags=Manifest; ModuleILPath=C:\Dev\runtime\artif...; ModuleNativePath=; ClrInstanceID=8; +EVENT 40.427: Microsoft-Windows-DotNETRuntimeRundown/Loader/AssemblyDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=180; AssemblyID=1,859,436,732,624; AppDomainID=1,859,436,368,288; AssemblyFlags=None; FullyQualifiedAssemblyName=CoreLab, Version=8.0...; BindingID=0; ClrInstanceID=8; +EVENT 40.430: Microsoft-Windows-DotNETRuntimeRundown/Loader/ModuleDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=400; ModuleID=140,717,227,980,880; AssemblyID=1,859,436,734,928; ModuleFlags=Manifest; ModuleILPath=C:\Dev\runtime\artif...; ModuleNativePath=; ManagedPdbSignature=66dd103e-0044-6ae9-0...; ManagedPdbAge=1; ManagedPdbBuildPath=D:\a\_work\1\s\artif...; NativePdbSignature=00000000-0000-0000-0...; NativePdbAge=0; NativePdbBuildPath=; ModuleILFileName=System.Runtime.dll; +EVENT 40.432: Microsoft-Windows-DotNETRuntimeRundown/Loader/DomainModuleDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=210; ModuleID=140,717,227,980,880; AssemblyID=1,859,436,734,928; AppDomainID=1,859,436,368,288; ModuleFlags=Manifest; ModuleILPath=C:\Dev\runtime\artif...; ModuleNativePath=; ClrInstanceID=8; +EVENT 40.437: Microsoft-Windows-DotNETRuntimeRundown/Loader/AssemblyDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=194; AssemblyID=1,859,436,734,928; AppDomainID=1,859,436,368,288; AssemblyFlags=None; FullyQualifiedAssemblyName=System.Runtime, Vers...; BindingID=0; ClrInstanceID=8; +EVENT 40.440: Microsoft-Windows-DotNETRuntimeRundown/Loader/ModuleDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=458; ModuleID=140,717,229,414,624; AssemblyID=1,859,437,039,472; ModuleFlags=Manifest; ModuleILPath=C:\Dev\runtime\artif...; ModuleNativePath=; ManagedPdbSignature=b422ce1c-00df-bc38-4...; ManagedPdbAge=1; ManagedPdbBuildPath=D:\a\_work\1\s\artif...; NativePdbSignature=6353f8e9-f11b-85f9-8...; NativePdbAge=1; NativePdbBuildPath=System.Console.ni.pd...; ModuleILFileName=System.Console.dll; +EVENT 40.441: Microsoft-Windows-DotNETRuntimeRundown/Loader/DomainModuleDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=210; ModuleID=140,717,229,414,624; AssemblyID=1,859,437,039,472; AppDomainID=1,859,436,368,288; ModuleFlags=Manifest; ModuleILPath=C:\Dev\runtime\artif...; ModuleNativePath=; ClrInstanceID=8; +EVENT 40.445: Microsoft-Windows-DotNETRuntimeRundown/Loader/AssemblyDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=194; AssemblyID=1,859,437,039,472; AppDomainID=1,859,436,368,288; AssemblyFlags=ReadyToRun; FullyQualifiedAssemblyName=System.Console, Vers...; BindingID=0; ClrInstanceID=8; +EVENT 40.448: Microsoft-Windows-DotNETRuntimeRundown/Loader/ModuleDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=458; ModuleID=140,717,229,420,792; AssemblyID=1,859,437,042,064; ModuleFlags=Manifest; ModuleILPath=C:\Dev\runtime\artif...; ModuleNativePath=; ManagedPdbSignature=cff31a61-9694-cc67-7...; ManagedPdbAge=1; ManagedPdbBuildPath=D:\a\_work\1\s\artif...; NativePdbSignature=a0f42b84-4138-30ab-f...; NativePdbAge=1; NativePdbBuildPath=System.Threading.ni....; ModuleILFileName=System.Threading.dll; +EVENT 40.463: Microsoft-Windows-DotNETRuntimeRundown/Loader/DomainModuleDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=214; ModuleID=140,717,229,420,792; AssemblyID=1,859,437,042,064; AppDomainID=1,859,436,368,288; ModuleFlags=Manifest; ModuleILPath=C:\Dev\runtime\artif...; ModuleNativePath=; ClrInstanceID=8; +EVENT 40.467: Microsoft-Windows-DotNETRuntimeRundown/Loader/AssemblyDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=198; AssemblyID=1,859,437,042,064; AppDomainID=1,859,436,368,288; AssemblyFlags=ReadyToRun; FullyQualifiedAssemblyName=System.Threading, Ve...; BindingID=0; ClrInstanceID=8; +EVENT 40.503: Microsoft-Windows-DotNETRuntimeRundown/Loader/AppDomainDCStop PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=34; AppDomainID=1,859,436,368,288; AppDomainFlags=Default, Executable; AppDomainName=clrhost; AppDomainIndex=1; ClrInstanceID=8; +EVENT 40.504: Microsoft-Windows-DotNETRuntimeRundown/Method/DCStopComplete PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=2; ClrInstanceID=8; +EVENT 554.487: Microsoft-Windows-DotNETRuntimeRundown/Runtime/Start PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=203; ClrInstanceID=8; Sku=CoreClr; BclMajorVersion=8; BclMinorVersion=0; BclBuildNumber=0; BclQfeNumber=0; VMMajorVersion=42; VMMinorVersion=42; VMBuildNumber=42; VMQfeNumber=42,424; StartupFlags=8388611; StartupMode=None; CommandLine=; ComObjectGuid=00000000-0000-0000-0...; RuntimeDllPath=C:\Dev\runtime\artif...; +EVENT 554.500: Microsoft-Windows-DotNETRuntimeRundown/TieredCompilationRundown/SettingsDCStart PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=6; ClrInstanceID=8; Flags=QuickJit, QuickJitFo...; +EVENT 554.503: Microsoft-Windows-DotNETRuntimeRundown/Method/DCStopInit PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=2; ClrInstanceID=8; +EVENT 555.061: Microsoft-Windows-DotNETRuntimeRundown/GC/SettingsRundown PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=50; HardLimit=0; LOHThreshold=85,000; PhysicalMemoryConfig=0; Gen0MinBudgetConfig=0; Gen0MaxBudgetConfig=0; HighMemPercentConfig=0; BitSettings=GCSettingsConcurrent...; ClrInstanceID=8; +EVENT 555.064: Microsoft-Windows-DotNETRuntimeRundown/Method/DCStopComplete PID=179596; TID=179828; PName=Process(179596); ProceNum=0; DataLen=2; ClrInstanceID=8; +COUNT Microsoft-Windows-DotNETRuntimeRundown/GC/SettingsRundown:1 +COUNT Microsoft-Windows-DotNETRuntimeRundown/Loader/AppDomainDCStop:1 +COUNT Microsoft-Windows-DotNETRuntimeRundown/Loader/AssemblyDCStop:7 +COUNT Microsoft-Windows-DotNETRuntimeRundown/Loader/DomainModuleDCStop:7 +COUNT Microsoft-Windows-DotNETRuntimeRundown/Loader/ModuleDCStop:7 +COUNT Microsoft-Windows-DotNETRuntimeRundown/Method/DCStopComplete:2 +COUNT Microsoft-Windows-DotNETRuntimeRundown/Method/DCStopInit:2 +COUNT Microsoft-Windows-DotNETRuntimeRundown/Runtime/Start:2 +COUNT Microsoft-Windows-DotNETRuntimeRundown/TieredCompilationRundown/SettingsDCStart:1 +COUNT Windows Kernel/EventTrace:1 diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/gcrundownevents.etl.zip b/src/TraceEvent/TraceEvent.Tests/inputs/gcrundownevents.etl.zip new file mode 100644 index 000000000..c2d70a059 Binary files /dev/null and b/src/TraceEvent/TraceEvent.Tests/inputs/gcrundownevents.etl.zip differ diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.0.x64.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.0.x64.baseline.txt index e85c3ee4a..12649f718 100644 --- a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.0.x64.baseline.txt +++ b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.0.x64.baseline.txt @@ -223,11 +223,11 @@ EVENT 2,666.020: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderDeliverEve EVENT 2,666.409: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStart PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=38; AppDomainID=1; LoadContextID=3; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=NULL; ClrInstanceID=11; EVENT 2,666.435: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStop PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=46; AppDomainID=1; LoadContextID=3; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=mscorlib; ClrInstanceID=11; EVENT 2,680.911: Windows Kernel/UdpIp/Recv PID=4; TID=-1; PName=System; ProceNum=0; DataLen=32; context=0x3200000004; saddr=10.199.101.77; sport=137; size=50; daddr=10.199.101.255; dport=137; dsize=0; -EVENT 2,761.591: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=10; AllocationAmount=110,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; -EVENT 2,761.690: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; -EVENT 2,761.762: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; -EVENT 2,761.849: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; -EVENT 2,761.925: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; +EVENT 2,761.591: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=10; AllocationAmount=110,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0 +EVENT 2,761.690: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0 +EVENT 2,761.762: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0 +EVENT 2,761.849: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0 +EVENT 2,761.925: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0 EVENT 2,770.495: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=10; Reason=SuspendForGC; Count=0; ClrInstanceID=11; EVENT 2,770.508: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=2; ClrInstanceID=11; EVENT 2,770.520: Microsoft-Windows-DotNETRuntime/GC/Start PID=3896; TID=2784; PName=test; ProceNum=1; DataLen=18; Count=1; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=11; ClientSequenceNumber=0; @@ -492,7 +492,7 @@ COUNT MSNT_SystemTrace/Image/KernelBase:1 COUNT MSNT_SystemTrace/SystemConfig/Platform:1 COUNT Microsoft-Windows-DNS-Client/EventID(1001):3 COUNT Microsoft-Windows-DNS-Client/EventID(1019):1 -COUNT Microsoft-Windows-DotNETRuntime/GC/AllocationTick:49110 +COUNT Microsoft-Windows-DotNETRuntime/GC/AllocationTick:49110; ObjectSize=0 COUNT Microsoft-Windows-DotNETRuntime/GC/CreateSegment:4 COUNT Microsoft-Windows-DotNETRuntime/GC/FinalizersStart:71 COUNT Microsoft-Windows-DotNETRuntime/GC/FinalizersStop:71 diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.0.x86.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.0.x86.baseline.txt index ff119e423..8f3b9ef67 100644 --- a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.0.x86.baseline.txt +++ b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.0.x86.baseline.txt @@ -227,11 +227,11 @@ EVENT 1,561.013: Microsoft-Windows-DotNETRuntime/Loader/DomainModuleLoad PID=326 EVENT 1,561.020: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderDeliverEventsPhaseStop PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=38; AppDomainID=1; LoadContextID=3; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=test; ClrInstanceID=11; EVENT 1,561.350: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStart PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=38; AppDomainID=1; LoadContextID=3; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=NULL; ClrInstanceID=11; EVENT 1,561.368: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStop PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=46; AppDomainID=1; LoadContextID=3; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=mscorlib; ClrInstanceID=11; -EVENT 1,577.109: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=10; AllocationAmount=110,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; -EVENT 1,577.188: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; -EVENT 1,577.242: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; -EVENT 1,577.296: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; -EVENT 1,577.351: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; +EVENT 1,577.109: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=10; AllocationAmount=110,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0 +EVENT 1,577.188: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0 +EVENT 1,577.242: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0 +EVENT 1,577.296: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0 +EVENT 1,577.351: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0 EVENT 1,588.937: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=10; Reason=SuspendForGC; Count=0; ClrInstanceID=11; EVENT 1,588.951: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=2; ClrInstanceID=11; EVENT 1,588.963: Microsoft-Windows-DotNETRuntime/GC/Start PID=3264; TID=4076; PName=test; ProceNum=0; DataLen=18; Count=1; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=11; ClientSequenceNumber=0; @@ -492,7 +492,7 @@ COUNT MSNT_SystemTrace/Image/KernelBase:1 COUNT MSNT_SystemTrace/SystemConfig/Platform:1 COUNT Microsoft-Windows-DNS-Client/EventID(1001):3 COUNT Microsoft-Windows-DNS-Client/EventID(1019):1 -COUNT Microsoft-Windows-DotNETRuntime/GC/AllocationTick:49110 +COUNT Microsoft-Windows-DotNETRuntime/GC/AllocationTick:49110; ObjectSize=0 COUNT Microsoft-Windows-DotNETRuntime/GC/CreateSegment:4 COUNT Microsoft-Windows-DotNETRuntime/GC/FinalizersStart:71 COUNT Microsoft-Windows-DotNETRuntime/GC/FinalizersStop:71 diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.2.x64.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.2.x64.baseline.txt index 3db5801e8..5180957a5 100644 --- a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.2.x64.baseline.txt +++ b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.2.x64.baseline.txt @@ -102,7 +102,7 @@ EVENT 341.410: Microsoft-Windows-DotNETRuntime/GC/TerminateConcurrentThread PID= EVENT 341.487: Windows Kernel/Thread/Stop PID=3988; TID=3840; PName=PerfView; ProceNum=6; DataLen=72; StackBase=0xfffff88006daa000; StackLimit=0xfffff88006da4000; UserStackBase=0x10120000; UserStackLimit=0x1011e000; StartAddr=0x000000ff; Win32StartAddr=0x7476a8c0; TebBase=0xff61f000; SubProcessTag=0; BasePriority=8; PagePriority=5; IoPriority=2; ThreadFlags=0; ThreadName=; ParentThreadID=-1; ParentProcessID=-1; EVENT 346.933: KernelTraceControl/MetaData/EventInfo PID=3988; TID=3992; PName=PerfView; ProceNum=6; DataLen=1762; EVENT 346.933: KernelTraceControl/MetaData/EventMapInfo PID=3988; TID=3992; PName=PerfView; ProceNum=6; DataLen=124; -EVENT 346.933: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3988; TID=3992; PName=PerfView; ProceNum=6; DataLen=146; AllocationAmount=107,620; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=107,620; TypeID=0x08c3d188; TypeName=System.Windows.Media...; HeapIndex=0; Address=0x1118b854; +EVENT 346.933: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3988; TID=3992; PName=PerfView; ProceNum=6; DataLen=146; AllocationAmount=107,620; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=107,620; TypeID=0x08c3d188; TypeName=System.Windows.Media...; HeapIndex=0; Address=0x1118b854; ObjectSize=0; EVENT 814.484: Windows Kernel/UdpIp/Recv PID=2108; TID=-1; PName=svchost; ProceNum=2; DataLen=32; context=0xad0000083c; saddr=10.128.0.117; sport=60,441; size=173; daddr=239.255.255.250; dport=1,900; dsize=0; EVENT 983.170: Windows Kernel/Thread/Stop PID=840; TID=3048; PName=svchost; ProceNum=4; DataLen=72; StackBase=0xfffff88005efc000; StackLimit=0xfffff88005ef6000; UserStackBase=0x95cef10000; UserStackLimit=0x95cef08000; StartAddr=0x000000ff; Win32StartAddr=0x7f9cfac23a8; TebBase=0x7f738544000; SubProcessTag=13; BasePriority=8; PagePriority=5; IoPriority=2; ThreadFlags=0; ThreadName=; ParentThreadID=-1; ParentProcessID=-1; EVENT 983.686: Microsoft-Windows-Kernel-File/Create PID=3988; TID=3992; PName=PerfView; ProceNum=6; DataLen=260; IrpPtr=0xfffffa8300c0dcd8; FileObject=0xfffffa8303243950; CreateOptions=2097152; CreateDisposition=OPEN_EXISTING; FileAttributes=0; ShareAccess=ReadWrite, Delete; FileName=\\DfsClient\;Z:00000...; @@ -218,7 +218,7 @@ EVENT 3,008.875: Microsoft-Windows-DotNETRuntime/Method/JittingStarted PID=3676; EVENT 3,009.006: Microsoft-Windows-DotNETRuntime/Method/LoadVerbose PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=162; MethodID=8,767,616,859,176; ModuleID=8,767,614,955,552; MethodStartAddress=0x7f95eb10510; MethodSize=18; MethodToken=100,664,085; MethodFlags=Jitted; MethodNamespace=System.String; MethodName=Substring; MethodSignature=instance class Syste...; ClrInstanceID=9; ReJITID=0; OptimizationTier=Unknown; EVENT 3,009.025: Microsoft-Windows-DotNETRuntime/Method/JittingStarted PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=162; MethodID=8,767,616,859,192; ModuleID=8,767,614,955,552; MethodToken=100,664,086; MethodILSize=144; MethodNamespace=System.String; MethodName=Substring; MethodSignature=instance class Syste...; ClrInstanceID=9; EVENT 3,009.672: Microsoft-Windows-DotNETRuntime/Method/LoadVerbose PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=174; MethodID=8,767,616,859,192; ModuleID=8,767,614,955,552; MethodStartAddress=0x7f95eb10540; MethodSize=459; MethodToken=100,664,086; MethodFlags=Jitted; MethodNamespace=System.String; MethodName=Substring; MethodSignature=instance class Syste...; ClrInstanceID=9; ReJITID=0; OptimizationTier=Unknown; -EVENT 3,027.444: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3988; TID=3992; PName=PerfView; ProceNum=6; DataLen=76; AllocationAmount=106,916; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,916; TypeID=0x087c2cb4; TypeName=InvokeOnRenderCallba...; HeapIndex=0; Address=0x111a585c; +EVENT 3,027.444: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3988; TID=3992; PName=PerfView; ProceNum=6; DataLen=76; AllocationAmount=106,916; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,916; TypeID=0x087c2cb4; TypeName=InvokeOnRenderCallba...; HeapIndex=0; Address=0x111a585c; ObjectSize=0; EVENT 3,056.623: Microsoft-Windows-DotNETRuntime/Loader/AppDomainLoad PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=46; AppDomainID=7,944,432; AppDomainFlags=268435459; AppDomainName=DefaultDomain; AppDomainIndex=1; ClrInstanceID=9; EVENT 3,078.702: Microsoft-Windows-DotNETRuntime/GC/FinalizersStart PID=3676; TID=3656; PName=Test.x64; ProceNum=2; DataLen=2; ClrInstanceID=9; EVENT 3,078.704: Microsoft-Windows-DotNETRuntime/GC/FinalizersStop PID=3676; TID=3656; PName=Test.x64; ProceNum=2; DataLen=6; Count=0; ClrInstanceID=9; @@ -234,9 +234,9 @@ EVENT 3,079.921: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderDeliverEve EVENT 3,110.112: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStart PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=38; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=NULL; ClrInstanceID=9; EVENT 3,110.122: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStop PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=46; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=mscorlib; ClrInstanceID=9; EVENT 3,120.929: Microsoft-Windows-DotNETRuntime/GarbageCollection/IncreaseMemoryPressure PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=10; BytesAllocated=1,936; ClrInstanceID=9; -EVENT 3,210.316: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=66; AllocationAmount=102,760; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=102,760; TypeID=0x7f95eab6088; TypeName=System.Object; HeapIndex=0; Address=0x02567fc8; -EVENT 3,210.813: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=66; AllocationAmount=106,912; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=106,912; TypeID=0x7f95eab6088; TypeName=System.Object; HeapIndex=0; Address=0x02581fc8; -EVENT 3,211.301: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=66; AllocationAmount=106,912; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=106,912; TypeID=0x7f95eab6088; TypeName=System.Object; HeapIndex=0; Address=0x0259bfc8; +EVENT 3,210.316: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=66; AllocationAmount=102,760; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=102,760; TypeID=0x7f95eab6088; TypeName=System.Object; HeapIndex=0; Address=0x02567fc8; ObjectSize=0; +EVENT 3,210.813: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=66; AllocationAmount=106,912; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=106,912; TypeID=0x7f95eab6088; TypeName=System.Object; HeapIndex=0; Address=0x02581fc8; ObjectSize=0; +EVENT 3,211.301: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=66; AllocationAmount=106,912; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=106,912; TypeID=0x7f95eab6088; TypeName=System.Object; HeapIndex=0; Address=0x0259bfc8; ObjectSize=0; EVENT 3,228.703: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=10; Reason=SuspendForGC; Count=0; ClrInstanceID=9; EVENT 3,228.763: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=2; ClrInstanceID=9; EVENT 3,228.764: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; Reason=AllocSmall; ClrInstanceID=9; @@ -256,7 +256,7 @@ EVENT 3,228.861: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3676; EVENT 3,228.890: Microsoft-Windows-DotNETRuntime/GC/MarkCards PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 3,228.894: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 3,229.985: Microsoft-Windows-DotNETRuntime/GC/BulkSurvivingObjectRanges PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=458; Index=0; Count=28; ClrInstanceID=9; -EVENT 3,230.087: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,230.087: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,230.089: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=433; ClrInstanceID=9; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=0; Count=; MemoryPressure=0; EVENT 3,230.092: Microsoft-Windows-DotNETRuntime/GC/GenerationRange PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=27; Generation=3; RangeStart=0x12551000; RangeUsedLength=0x00008f68; RangeReservedLength=0x07fff000; ClrInstanceID=9; EVENT 3,230.112: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=10; Count=1; Depth=0; ClrInstanceID=9; @@ -278,7 +278,7 @@ EVENT 3,248.987: Microsoft-Windows-DotNETRuntime/GC/MarkHandles PID=3676; TID=36 EVENT 3,248.990: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 3,249.011: Microsoft-Windows-DotNETRuntime/GC/MarkCards PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 3,249.017: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; -EVENT 3,249.033: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,249.033: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,249.034: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=433; ClrInstanceID=9; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=0; Count=; MemoryPressure=0; EVENT 3,249.047: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=10; Count=2; Depth=0; ClrInstanceID=9; EVENT 3,249.048: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=94; TotalHeapSize=58,744; TotalPromoted=0; Depth=0; GenerationSize0=24; TotalPromotedSize0=0; GenerationSize1=21,984; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=36,712; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=34; ClrInstanceID=9; GenerationSize4=0; TotalPromotedSize4=0; @@ -298,7 +298,7 @@ EVENT 3,267.276: Microsoft-Windows-DotNETRuntime/GC/MarkHandles PID=3676; TID=36 EVENT 3,267.279: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 3,267.296: Microsoft-Windows-DotNETRuntime/GC/MarkCards PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 3,267.302: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; -EVENT 3,267.312: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,267.312: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,267.312: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=433; ClrInstanceID=9; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=0; Count=; MemoryPressure=0; EVENT 3,267.325: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=10; Count=3; Depth=0; ClrInstanceID=9; EVENT 3,267.326: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=94; TotalHeapSize=58,744; TotalPromoted=0; Depth=0; GenerationSize0=24; TotalPromotedSize0=0; GenerationSize1=21,984; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=36,712; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=34; ClrInstanceID=9; GenerationSize4=0; TotalPromotedSize4=0; @@ -317,7 +317,7 @@ EVENT 3,286.355: Microsoft-Windows-DotNETRuntime/GC/MarkHandles PID=3676; TID=36 EVENT 3,286.358: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 3,286.378: Microsoft-Windows-DotNETRuntime/GC/MarkCards PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 3,286.393: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; -EVENT 3,286.399: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,286.399: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,286.400: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=433; ClrInstanceID=9; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=0; Count=; MemoryPressure=0; EVENT 3,286.412: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=10; Count=4; Depth=0; ClrInstanceID=9; EVENT 3,286.413: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=94; TotalHeapSize=58,744; TotalPromoted=0; Depth=0; GenerationSize0=24; TotalPromotedSize0=0; GenerationSize1=21,984; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=36,712; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=34; ClrInstanceID=9; GenerationSize4=0; TotalPromotedSize4=0; @@ -336,7 +336,7 @@ EVENT 3,305.287: Microsoft-Windows-DotNETRuntime/GC/MarkHandles PID=3676; TID=36 EVENT 3,305.290: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 3,305.303: Microsoft-Windows-DotNETRuntime/GC/MarkCards PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 3,305.308: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=6; HeapNum=0; ClrInstanceID=9; -EVENT 3,305.317: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,305.317: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,305.317: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=433; ClrInstanceID=9; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=0; Count=; MemoryPressure=0; EVENT 3,305.331: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=10; Count=5; Depth=0; ClrInstanceID=9; EVENT 3,305.331: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3676; TID=3680; PName=Test.x64; ProceNum=7; DataLen=94; TotalHeapSize=58,744; TotalPromoted=0; Depth=0; GenerationSize0=24; TotalPromotedSize0=0; GenerationSize1=21,984; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=36,712; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=34; ClrInstanceID=9; GenerationSize4=0; TotalPromotedSize4=0; diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.2.x86.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.2.x86.baseline.txt index bd10d5a31..019ba1bb7 100644 --- a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.2.x86.baseline.txt +++ b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.2.x86.baseline.txt @@ -150,7 +150,7 @@ EVENT 747.424: Microsoft-Windows-DotNETRuntime/Method/JittingStarted PID=3988; T EVENT 747.544: Microsoft-Windows-DotNETRuntime/Method/LoadVerbose PID=3988; TID=3992; PName=PerfView; ProceNum=4; DataLen=170; MethodID=146,654,372; ModuleID=25,571,344; MethodStartAddress=0x0a34d750; MethodSize=171; MethodToken=100,681,403; MethodFlags=Jitted; MethodNamespace=System.IO.FileInfo; MethodName=Init; MethodSignature=instance void (clas...; ClrInstanceID=11; ReJITID=0; OptimizationTier=Unknown; EVENT 818.270: Windows Kernel/Thread/Stop PID=712; TID=1980; PName=svchost; ProceNum=2; DataLen=72; StackBase=0xfffff880057c7000; StackLimit=0xfffff880057c1000; UserStackBase=0x1480e00000; UserStackLimit=0x1480df8000; StartAddr=0x000000ff; Win32StartAddr=0x7f9d030c7b0; TebBase=0x7f739176000; SubProcessTag=0; BasePriority=8; PagePriority=5; IoPriority=2; ThreadFlags=0; ThreadName=; ParentThreadID=-1; ParentProcessID=-1; EVENT 1,552.909: KernelTraceControl/MetaData/EventMapInfo PID=3988; TID=3992; PName=PerfView; ProceNum=2; DataLen=124; -EVENT 1,552.909: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3988; TID=3992; PName=PerfView; ProceNum=2; DataLen=94; AllocationAmount=103,468; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=103,468; TypeID=0x08f52600; TypeName=System.Windows.Media...; HeapIndex=0; Address=0x03c9abe8; +EVENT 1,552.909: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3988; TID=3992; PName=PerfView; ProceNum=2; DataLen=94; AllocationAmount=103,468; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=103,468; TypeID=0x08f52600; TypeName=System.Windows.Media...; HeapIndex=0; Address=0x03c9abe8; ObjectSize=0; EVENT 1,771.375: Windows Kernel/UdpIp/Send PID=2108; TID=-1; PName=svchost; ProceNum=2; DataLen=32; context=0x1870000083c; saddr=10.128.0.55; sport=1,900; size=391; daddr=10.128.0.77; dport=64,174; dsize=0; EVENT 2,572.409: Windows Kernel/UdpIp/Send PID=2108; TID=-1; PName=svchost; ProceNum=2; DataLen=32; context=0x1ac0000083c; saddr=127.0.0.1; sport=1,900; size=428; daddr=239.255.255.250; dport=1,900; dsize=0; EVENT 2,572.455: Windows Kernel/UdpIp/Recv PID=2108; TID=-1; PName=svchost; ProceNum=2; DataLen=32; context=0x1ac0000083c; saddr=127.0.0.1; sport=1,900; size=428; daddr=239.255.255.250; dport=1,900; dsize=0; @@ -238,10 +238,10 @@ EVENT 2,851.384: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStart EVENT 2,851.390: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStop PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=46; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=mscorlib; ClrInstanceID=11; EVENT 2,856.818: Microsoft-Windows-DotNETRuntime/GarbageCollection/IncreaseMemoryPressure PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=10; BytesAllocated=1,328; ClrInstanceID=11; EVENT 2,900.624: Windows Kernel/UdpIp/RecvIPV6 PID=2108; TID=-1; PName=svchost; ProceNum=6; DataLen=56; size=482; dport=1,900; sport=1,900; seqnum=0; connid=0x00000000; -EVENT 2,902.453: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=98; AllocationAmount=102,640; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=102,640; TypeID=0x04e03214; TypeName=System.Globalization...; HeapIndex=0; Address=0x027f7fd4; -EVENT 2,903.996: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=58; AllocationAmount=106,808; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,808; TypeID=0x00d86050; TypeName=System.Object; HeapIndex=0; Address=0x02811fe4; -EVENT 2,905.510: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=98; AllocationAmount=106,784; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,784; TypeID=0x04e03214; TypeName=System.Globalization...; HeapIndex=0; Address=0x0282bfe0; -EVENT 2,907.056: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=98; AllocationAmount=106,816; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,816; TypeID=0x04e03214; TypeName=System.Globalization...; HeapIndex=0; Address=0x02845fd0; +EVENT 2,902.453: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=98; AllocationAmount=102,640; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=102,640; TypeID=0x04e03214; TypeName=System.Globalization...; HeapIndex=0; Address=0x027f7fd4; ObjectSize=0; +EVENT 2,903.996: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=58; AllocationAmount=106,808; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,808; TypeID=0x00d86050; TypeName=System.Object; HeapIndex=0; Address=0x02811fe4; ObjectSize=0; +EVENT 2,905.510: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=98; AllocationAmount=106,784; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,784; TypeID=0x04e03214; TypeName=System.Globalization...; HeapIndex=0; Address=0x0282bfe0; ObjectSize=0; +EVENT 2,907.056: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=98; AllocationAmount=106,816; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,816; TypeID=0x04e03214; TypeName=System.Globalization...; HeapIndex=0; Address=0x02845fd0; ObjectSize=0; EVENT 2,963.399: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=10; Reason=SuspendForGC; Count=0; ClrInstanceID=11; EVENT 2,963.407: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=2; ClrInstanceID=11; EVENT 2,963.410: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=11; @@ -261,7 +261,7 @@ EVENT 2,964.140: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3644; EVENT 2,964.160: Microsoft-Windows-DotNETRuntime/GC/MarkCards PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 2,964.161: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 2,964.230: Microsoft-Windows-DotNETRuntime/GC/BulkSurvivingObjectRanges PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=334; Index=0; Count=27; ClrInstanceID=11; -EVENT 2,964.284: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 2,964.284: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 2,964.286: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=233; ClrInstanceID=11; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=0; Count=; MemoryPressure=0; EVENT 2,964.289: Microsoft-Windows-DotNETRuntime/GC/GenerationRange PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=23; Generation=3; RangeStart=0x037e1000; RangeUsedLength=0x000047b8; RangeReservedLength=0x00fff000; ClrInstanceID=11; EVENT 2,964.293: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=10; Count=1; Depth=0; ClrInstanceID=11; @@ -281,7 +281,7 @@ EVENT 3,027.199: Microsoft-Windows-DotNETRuntime/GC/MarkHandles PID=3644; TID=37 EVENT 3,027.200: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,027.207: Microsoft-Windows-DotNETRuntime/GC/MarkCards PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,027.208: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; -EVENT 3,027.218: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,027.218: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,027.219: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=233; ClrInstanceID=11; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=0; Count=; MemoryPressure=0; EVENT 3,027.223: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=10; Count=2; Depth=0; ClrInstanceID=11; EVENT 3,027.224: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=94; TotalHeapSize=32,512; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=14,128; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=18,360; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=34; ClrInstanceID=11; GenerationSize4=0; TotalPromotedSize4=0; @@ -299,7 +299,7 @@ EVENT 3,090.046: Microsoft-Windows-DotNETRuntime/GC/MarkHandles PID=3644; TID=37 EVENT 3,090.047: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,090.053: Microsoft-Windows-DotNETRuntime/GC/MarkCards PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,090.054: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; -EVENT 3,090.061: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,090.061: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,090.062: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=233; ClrInstanceID=11; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=0; Count=; MemoryPressure=0; EVENT 3,090.066: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=10; Count=3; Depth=0; ClrInstanceID=11; EVENT 3,090.066: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=94; TotalHeapSize=32,512; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=14,128; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=18,360; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=34; ClrInstanceID=11; GenerationSize4=0; TotalPromotedSize4=0; @@ -316,7 +316,7 @@ EVENT 3,150.537: Microsoft-Windows-DotNETRuntime/GC/MarkHandles PID=3644; TID=37 EVENT 3,150.538: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,150.544: Microsoft-Windows-DotNETRuntime/GC/MarkCards PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,150.545: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; -EVENT 3,150.552: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,150.552: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,150.553: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=233; ClrInstanceID=11; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=0; Count=; MemoryPressure=0; EVENT 3,150.557: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=10; Count=4; Depth=0; ClrInstanceID=11; EVENT 3,150.557: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=94; TotalHeapSize=32,512; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=14,128; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=18,360; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=34; ClrInstanceID=11; GenerationSize4=0; TotalPromotedSize4=0; @@ -333,7 +333,7 @@ EVENT 3,209.883: Microsoft-Windows-DotNETRuntime/GC/MarkHandles PID=3644; TID=37 EVENT 3,209.883: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,209.889: Microsoft-Windows-DotNETRuntime/GC/MarkCards PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,209.890: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=11; -EVENT 3,209.897: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,209.897: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,209.897: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=233; ClrInstanceID=11; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=0; Count=; MemoryPressure=0; EVENT 3,209.901: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=10; Count=5; Depth=0; ClrInstanceID=11; EVENT 3,209.902: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3644; TID=3708; PName=Test.x86; ProceNum=2; DataLen=94; TotalHeapSize=32,512; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=14,128; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=18,360; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=34; ClrInstanceID=11; GenerationSize4=0; TotalPromotedSize4=0; diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.x64.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.x64.baseline.txt index dab4df0c9..33029d462 100644 --- a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.x64.baseline.txt +++ b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.x64.baseline.txt @@ -111,7 +111,7 @@ EVENT 286.630: Microsoft-Windows-Kernel-File/Create PID=1808; TID=728; PName=MsM EVENT 316.037: Windows Kernel/UdpIp/RecvIPV6 PID=652; TID=-1; PName=svchost; ProceNum=2; DataLen=56; size=624; dport=3,702; sport=61,249; seqnum=0; connid=0x00000000; EVENT 316.144: Windows Kernel/UdpIp/RecvIPV6 PID=1100; TID=-1; PName=svchost; ProceNum=2; DataLen=56; size=624; dport=3,702; sport=61,249; seqnum=0; connid=0x00000000; EVENT 350.541: Windows Kernel/UdpIp/Recv PID=652; TID=-1; PName=svchost; ProceNum=2; DataLen=32; context=0xad0000028c; saddr=10.128.0.71; sport=52,466; size=173; daddr=239.255.255.250; dport=1,900; dsize=0; -EVENT 401.216: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=5076; TID=1256; PName=PerfView; ProceNum=5; DataLen=110; AllocationAmount=106,936; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,936; TypeID=0x70eb74e4; TypeName=MS.Internal.TextForm...; HeapIndex=0; Address=0x00000000; +EVENT 401.216: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=5076; TID=1256; PName=PerfView; ProceNum=5; DataLen=110; AllocationAmount=106,936; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,936; TypeID=0x70eb74e4; TypeName=MS.Internal.TextForm...; HeapIndex=0; Address=0x00000000; ObjectSize=0; EVENT 405.018: Microsoft-Windows-Kernel-File/Create PID=1808; TID=728; PName=MsMpEng; ProceNum=3; DataLen=242; IrpPtr=0xfffffa83012442d8; FileObject=0xfffffa8301282470; CreateOptions=4210688; CreateDisposition=OPEN_EXISTING; FileAttributes=0; ShareAccess=ReadWrite, Delete; FileName=C:\Users\brianrob\Ap...; EVENT 405.060: Microsoft-Windows-Kernel-File/Create PID=1808; TID=728; PName=MsMpEng; ProceNum=3; DataLen=242; IrpPtr=0xfffffa83012442d8; FileObject=0xfffffa8322f43880; CreateOptions=FILE_ATTRIBUTE_ARCHI...; CreateDisposition=OPEN_EXISTING; FileAttributes=0; ShareAccess=ReadWrite, Delete; FileName=C:\Users\brianrob\Ap...; EVENT 437.584: Windows Kernel/UdpIp/Send PID=652; TID=-1; PName=svchost; ProceNum=5; DataLen=32; context=0x1870000028c; saddr=10.128.0.55; sport=1,900; size=391; daddr=10.128.0.80; dport=53,914; dsize=0; @@ -156,7 +156,7 @@ EVENT 3,408.208: Microsoft-Windows-Immersive-Shell/ImmersiveShellAppManagerOnShe EVENT 3,408.683: Microsoft-Windows-Immersive-Shell/ImmersiveShellAppManagerSetActiveProcess/Start PID=3208; TID=3740; PName=explorer; ProceNum=3; DataLen=0; EVENT 3,408.729: Microsoft-Windows-Immersive-Shell/ImmersiveShellAppManagerSetActiveProcess/Stop PID=3208; TID=3740; PName=explorer; ProceNum=3; DataLen=0; EVENT 3,844.178: Windows Kernel/UdpIp/SendIPV6 PID=652; TID=-1; PName=svchost; ProceNum=5; DataLen=56; size=406; dport=53,911; sport=1,900; seqnum=0; connid=0x00000000; -EVENT 3,844.956: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=5076; TID=1256; PName=PerfView; ProceNum=2; DataLen=54; AllocationAmount=107,160; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=107,160; TypeID=0x7353afb0; TypeName=System.String; HeapIndex=0; Address=0x00000000; +EVENT 3,844.956: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=5076; TID=1256; PName=PerfView; ProceNum=2; DataLen=54; AllocationAmount=107,160; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=107,160; TypeID=0x7353afb0; TypeName=System.String; HeapIndex=0; Address=0x00000000; ObjectSize=0; EVENT 3,937.758: Windows Kernel/UdpIp/Send PID=652; TID=-1; PName=svchost; ProceNum=5; DataLen=32; context=0x1870000028c; saddr=10.128.0.55; sport=1,900; size=391; daddr=10.128.0.80; dport=53,914; dsize=0; EVENT 6,044.480: KernelTraceControl/MetaData/EventMapInfo PID=1664; TID=1924; PName=cmd; ProceNum=4; DataLen=96; EVENT 6,044.480: Microsoft-Windows-Kernel-Process/ProcessStart/Start PID=1664; TID=1924; PName=cmd; ProceNum=4; DataLen=174; ProcessID=3,404; CreateTime=20/07/28 23:45:21.05...; ParentProcessID=1,664; SessionID=1; Flags=0; ImageName=\Device\Mup\clrmain\...; @@ -206,9 +206,9 @@ EVENT 6,074.013: Microsoft-Windows-DotNETRuntime/Loader/DomainModuleLoad PID=340 EVENT 6,074.017: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderDeliverEventsPhaseStop PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=38; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=Test; ClrInstanceID=9; EVENT 6,074.283: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStart PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=38; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=NULL; ClrInstanceID=9; EVENT 6,074.302: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStop PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=46; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=mscorlib; ClrInstanceID=9; -EVENT 6,077.889: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=58; AllocationAmount=102,856; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=102,856; TypeID=0x7ff1b14b4c0; TypeName=System.Object; HeapIndex=0; Address=0x00000000; -EVENT 6,078.416: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=58; AllocationAmount=107,016; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=107,016; TypeID=0x7ff1b14b4c0; TypeName=System.Object; HeapIndex=0; Address=0x00000000; -EVENT 6,078.871: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=58; AllocationAmount=107,016; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=107,016; TypeID=0x7ff1b14b4c0; TypeName=System.Object; HeapIndex=0; Address=0x00000000; +EVENT 6,077.889: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=58; AllocationAmount=102,856; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=102,856; TypeID=0x7ff1b14b4c0; TypeName=System.Object; HeapIndex=0; Address=0x00000000; ObjectSize=0; +EVENT 6,078.416: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=58; AllocationAmount=107,016; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=107,016; TypeID=0x7ff1b14b4c0; TypeName=System.Object; HeapIndex=0; Address=0x00000000; ObjectSize=0; +EVENT 6,078.871: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=58; AllocationAmount=107,016; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=107,016; TypeID=0x7ff1b14b4c0; TypeName=System.Object; HeapIndex=0; Address=0x00000000; ObjectSize=0; EVENT 6,097.030: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=10; Reason=SuspendForGC; Count=0; ClrInstanceID=9; EVENT 6,097.036: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=2; ClrInstanceID=9; EVENT 6,097.052: Microsoft-Windows-DotNETRuntime/GC/Start PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=18; Count=1; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=9; ClientSequenceNumber=0; @@ -216,7 +216,7 @@ EVENT 6,097.081: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=34 EVENT 6,097.081: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 6,097.098: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 6,097.132: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; -EVENT 6,097.152: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 6,097.152: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 6,097.154: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=425; ClrInstanceID=9; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=0; EVENT 6,097.154: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=10; Count=1; Depth=0; ClrInstanceID=9; EVENT 6,097.155: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=94; TotalHeapSize=56,320; TotalPromoted=18,688; Depth=0; GenerationSize0=24; TotalPromotedSize0=18,688; GenerationSize1=21,912; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=34,360; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=5; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=9; GenerationSize4=0; TotalPromotedSize4=0; @@ -231,7 +231,7 @@ EVENT 6,115.404: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=34 EVENT 6,115.404: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 6,115.406: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 6,115.440: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; -EVENT 6,115.449: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 6,115.449: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 6,115.450: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=425; ClrInstanceID=9; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=0; EVENT 6,115.450: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=10; Count=2; Depth=0; ClrInstanceID=9; EVENT 6,115.451: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=94; TotalHeapSize=56,320; TotalPromoted=0; Depth=0; GenerationSize0=24; TotalPromotedSize0=0; GenerationSize1=21,912; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=34,360; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=9; GenerationSize4=0; TotalPromotedSize4=0; @@ -246,7 +246,7 @@ EVENT 6,134.037: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=34 EVENT 6,134.037: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 6,134.039: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 6,134.052: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; -EVENT 6,134.059: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 6,134.059: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 6,134.059: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=425; ClrInstanceID=9; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=0; EVENT 6,134.060: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=10; Count=3; Depth=0; ClrInstanceID=9; EVENT 6,134.060: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=94; TotalHeapSize=56,320; TotalPromoted=0; Depth=0; GenerationSize0=24; TotalPromotedSize0=0; GenerationSize1=21,912; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=34,360; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=9; GenerationSize4=0; TotalPromotedSize4=0; @@ -261,7 +261,7 @@ EVENT 6,152.862: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=34 EVENT 6,152.863: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 6,152.864: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 6,152.877: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; -EVENT 6,152.884: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 6,152.884: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 6,152.884: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=425; ClrInstanceID=9; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=0; EVENT 6,152.885: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=10; Count=4; Depth=0; ClrInstanceID=9; EVENT 6,152.886: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=94; TotalHeapSize=56,320; TotalPromoted=0; Depth=0; GenerationSize0=24; TotalPromotedSize0=0; GenerationSize1=21,912; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=34,360; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=9; GenerationSize4=0; TotalPromotedSize4=0; @@ -276,7 +276,7 @@ EVENT 6,171.130: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=34 EVENT 6,171.130: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 6,171.131: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; EVENT 6,171.142: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=6; HeapNum=0; ClrInstanceID=9; -EVENT 6,171.147: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 6,171.147: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=30; FinalYoungestDesired=4,194,304; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=9; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 6,171.148: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=425; ClrInstanceID=9; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=0; EVENT 6,171.149: Microsoft-Windows-DotNETRuntime/GC/Stop PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=10; Count=5; Depth=0; ClrInstanceID=9; EVENT 6,171.149: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=3404; TID=3556; PName=Test; ProceNum=4; DataLen=94; TotalHeapSize=56,320; TotalPromoted=0; Depth=0; GenerationSize0=24; TotalPromotedSize0=0; GenerationSize1=21,912; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=34,360; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=9; GenerationSize4=0; TotalPromotedSize4=0; diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.x86.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.x86.baseline.txt index 12353d638..9bd552b40 100644 --- a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.x86.baseline.txt +++ b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.5.x86.baseline.txt @@ -104,7 +104,7 @@ EVENT 276.492: Windows Kernel/DiskIO/WriteInit PID=4; TID=2104; PName=System; Pr EVENT 276.511: Windows Kernel/DiskIO/WriteInit PID=4; TID=2104; PName=System; ProceNum=0; DataLen=12; Irp=0xfffffa830089ab80; EVENT 276.939: Windows Kernel/DiskIO/Write PID=4; TID=2104; PName=System; ProceNum=0; DataLen=52; DiskNumber=0; IrpFlags=MountCompletion, Ass...; Priority=Verylow; TransferSize=8,192; ByteOffset=792,809,472; Irp=0xfffffa830093f010; ElapsedTimeMSec=0.447; DiskServiceTimeMSec=0.447; FileKey=0xfffff8a006620140; FileName=C:\Users\brianrob\Ap...; EVENT 277.401: Windows Kernel/DiskIO/Write PID=4; TID=2104; PName=System; ProceNum=0; DataLen=52; DiskNumber=0; IrpFlags=MountCompletion, Ass...; Priority=Verylow; TransferSize=4,096; ByteOffset=827,834,368; Irp=0xfffffa830089ab80; ElapsedTimeMSec=0.890; DiskServiceTimeMSec=0.890; FileKey=0xfffff8a006620140; FileName=C:\Users\brianrob\Ap...; -EVENT 573.648: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=5076; TID=1256; PName=PerfView; ProceNum=0; DataLen=100; AllocationAmount=106,988; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,988; TypeID=0x70eb7a24; TypeName=MS.Internal.TextForm...; HeapIndex=0; Address=0x00000000; +EVENT 573.648: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=5076; TID=1256; PName=PerfView; ProceNum=0; DataLen=100; AllocationAmount=106,988; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,988; TypeID=0x70eb7a24; TypeName=MS.Internal.TextForm...; HeapIndex=0; Address=0x00000000; ObjectSize=0; EVENT 738.665: Windows Kernel/UdpIp/Recv PID=652; TID=-1; PName=svchost; ProceNum=2; DataLen=32; context=0xad0000028c; saddr=10.128.2.9; sport=59,581; size=173; daddr=239.255.255.250; dport=1,900; dsize=0; EVENT 952.001: Microsoft-Windows-Immersive-Shell/ImmersiveShellAppManagerOnShellHookMessage/Start PID=3208; TID=3740; PName=explorer; ProceNum=3; DataLen=4; Message=19; EVENT 952.008: Microsoft-Windows-Immersive-Shell/ImmersiveShellAppManagerSetActiveProcess/Start PID=3208; TID=3740; PName=explorer; ProceNum=3; DataLen=0; @@ -182,10 +182,10 @@ EVENT 3,327.426: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStart EVENT 3,327.431: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStop PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=46; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=mscorlib; ClrInstanceID=11; EVENT 3,327.490: Microsoft-Windows-DotNETRuntime/Method/JittingStarted PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=122; MethodID=6,043,540; ModuleID=6,042,084; MethodToken=100,663,297; MethodILSize=93; MethodNamespace=Test.Program; MethodName=Main; MethodSignature=void (class System....; ClrInstanceID=11; EVENT 3,328.139: Microsoft-Windows-DotNETRuntime/Method/LoadVerbose PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=134; MethodID=6,043,540; ModuleID=6,042,084; MethodStartAddress=0x00770050; MethodSize=268; MethodToken=100,663,297; MethodFlags=Jitted; MethodNamespace=Test.Program; MethodName=Main; MethodSignature=void (class System....; ClrInstanceID=11; ReJITID=0; OptimizationTier=Unknown; -EVENT 3,330.336: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=94; AllocationAmount=102,896; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=102,896; TypeID=0x734ee948; TypeName=System.Globalization...; HeapIndex=0; Address=0x00000000; -EVENT 3,331.974: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=54; AllocationAmount=106,800; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,800; TypeID=0x7353b350; TypeName=System.Object; HeapIndex=0; Address=0x00000000; -EVENT 3,333.486: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=94; AllocationAmount=106,788; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,788; TypeID=0x734ee948; TypeName=System.Globalization...; HeapIndex=0; Address=0x00000000; -EVENT 3,335.055: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=94; AllocationAmount=106,808; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,808; TypeID=0x734ee948; TypeName=System.Globalization...; HeapIndex=0; Address=0x00000000; +EVENT 3,330.336: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=94; AllocationAmount=102,896; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=102,896; TypeID=0x734ee948; TypeName=System.Globalization...; HeapIndex=0; Address=0x00000000; ObjectSize=0; +EVENT 3,331.974: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=54; AllocationAmount=106,800; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,800; TypeID=0x7353b350; TypeName=System.Object; HeapIndex=0; Address=0x00000000; ObjectSize=0; +EVENT 3,333.486: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=94; AllocationAmount=106,788; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,788; TypeID=0x734ee948; TypeName=System.Globalization...; HeapIndex=0; Address=0x00000000; ObjectSize=0; +EVENT 3,335.055: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=94; AllocationAmount=106,808; AllocationKind=Small; ClrInstanceID=11; AllocationAmount64=106,808; TypeID=0x734ee948; TypeName=System.Globalization...; HeapIndex=0; Address=0x00000000; ObjectSize=0; EVENT 3,390.592: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=10; Reason=SuspendForGC; Count=0; ClrInstanceID=11; EVENT 3,390.599: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=2; ClrInstanceID=11; EVENT 3,390.608: Microsoft-Windows-DotNETRuntime/GC/Start PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=18; Count=1; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=11; ClientSequenceNumber=0; @@ -193,7 +193,7 @@ EVENT 3,390.654: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=42 EVENT 3,390.655: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,390.660: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,390.686: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; -EVENT 3,390.705: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,390.705: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,390.705: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=225; ClrInstanceID=11; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=0; EVENT 3,390.706: Microsoft-Windows-DotNETRuntime/GC/Stop PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=10; Count=1; Depth=0; ClrInstanceID=11; EVENT 3,390.706: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=94; TotalHeapSize=31,164; TotalPromoted=11,948; Depth=0; GenerationSize0=12; TotalPromotedSize0=11,948; GenerationSize1=13,956; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,184; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=5; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=11; GenerationSize4=0; TotalPromotedSize4=0; @@ -206,7 +206,7 @@ EVENT 3,452.317: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=42 EVENT 3,452.317: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,452.319: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,452.325: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; -EVENT 3,452.336: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,452.336: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,452.336: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=225; ClrInstanceID=11; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=0; EVENT 3,452.337: Microsoft-Windows-DotNETRuntime/GC/Stop PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=10; Count=2; Depth=0; ClrInstanceID=11; EVENT 3,452.337: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=94; TotalHeapSize=31,164; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=13,956; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,184; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=11; GenerationSize4=0; TotalPromotedSize4=0; @@ -219,7 +219,7 @@ EVENT 3,513.567: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=42 EVENT 3,513.567: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,513.569: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,513.574: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; -EVENT 3,513.579: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,513.579: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,513.580: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=225; ClrInstanceID=11; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=0; EVENT 3,513.580: Microsoft-Windows-DotNETRuntime/GC/Stop PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=10; Count=3; Depth=0; ClrInstanceID=11; EVENT 3,513.581: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=94; TotalHeapSize=31,164; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=13,956; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,184; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=11; GenerationSize4=0; TotalPromotedSize4=0; @@ -232,7 +232,7 @@ EVENT 3,574.733: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=42 EVENT 3,574.734: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,574.735: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,574.741: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; -EVENT 3,574.746: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,574.746: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,574.747: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=225; ClrInstanceID=11; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=0; EVENT 3,574.747: Microsoft-Windows-DotNETRuntime/GC/Stop PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=10; Count=4; Depth=0; ClrInstanceID=11; EVENT 3,574.748: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=94; TotalHeapSize=31,164; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=13,956; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,184; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=11; GenerationSize4=0; TotalPromotedSize4=0; @@ -245,7 +245,7 @@ EVENT 3,641.603: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=42 EVENT 3,641.603: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,641.605: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; EVENT 3,641.611: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=11; -EVENT 3,641.616: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 3,641.616: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=30; FinalYoungestDesired=4,194,300; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=11; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 3,641.617: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=225; ClrInstanceID=11; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=0; EVENT 3,641.617: Microsoft-Windows-DotNETRuntime/GC/Stop PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=10; Count=5; Depth=0; ClrInstanceID=11; EVENT 3,641.633: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=4200; TID=2940; PName=Test.x86; ProceNum=0; DataLen=94; TotalHeapSize=31,164; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=13,956; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,184; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=11; GenerationSize4=0; TotalPromotedSize4=0; diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.6.2.x86.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.6.2.x86.baseline.txt index 682143724..a3c384104 100644 --- a/src/TraceEvent/TraceEvent.Tests/inputs/net.4.6.2.x86.baseline.txt +++ b/src/TraceEvent/TraceEvent.Tests/inputs/net.4.6.2.x86.baseline.txt @@ -298,7 +298,7 @@ EVENT 656.471: Microsoft-JScript/Jscript_GC_TransferSweptObjects/Stop PID=17836; EVENT 656.484: Microsoft-JScript/Jscript_GC_IdleCollect PID=17836; TID=6692; PName=MicrosoftEdgeCP; ProceNum=1; DataLen=8; RecyclerID=0x1d42abba028; EVENT 656.532: Microsoft-JScript/Jscript_GC_IdleCollect/Start PID=17836; TID=6692; PName=MicrosoftEdgeCP; ProceNum=1; DataLen=8; RecyclerID=0x1d42abba028; EVENT 670.166: KernelTraceControl/MetaData/EventMapInfo PID=3580; TID=11584; PName=devenv; ProceNum=3; DataLen=124; -EVENT 670.166: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3580; TID=11584; PName=devenv; ProceNum=3; DataLen=114; AllocationAmount=107,540; AllocationKind=Small; ClrInstanceID=42; AllocationAmount64=107,540; TypeID=0x6a264140; TypeName=System.Threading.Can...; HeapIndex=0; Address=0x49452de8; +EVENT 670.166: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3580; TID=11584; PName=devenv; ProceNum=3; DataLen=114; AllocationAmount=107,540; AllocationKind=Small; ClrInstanceID=42; AllocationAmount64=107,540; TypeID=0x6a264140; TypeName=System.Threading.Can...; HeapIndex=0; Address=0x49452de8; ObjectSize=0; EVENT 670.761: Microsoft-Windows-DotNETRuntime/GC/FinalizersStart PID=20484; TID=14784; PName=PerfView; ProceNum=2; DataLen=2; ClrInstanceID=10; EVENT 670.767: Microsoft-Windows-DotNETRuntime/GC/FinalizersStop PID=20484; TID=14784; PName=PerfView; ProceNum=2; DataLen=6; Count=0; ClrInstanceID=10; EVENT 670.852: Microsoft-IE/Mshtml_CWindow_Script/Start PID=17836; TID=6692; PName=MicrosoftEdgeCP; ProceNum=3; DataLen=12; CDoc=0x1dc2c938000; Nesting=1; @@ -361,7 +361,7 @@ EVENT 766.888: Windows Kernel/Process/Stop PID=20484; TID=-1; PName=PerfView; Pr EVENT 772.207: Microsoft-IE/Mshtml_CWindow_Script/Start PID=17836; TID=6692; PName=MicrosoftEdgeCP; ProceNum=1; DataLen=12; CDoc=0x1dc2c938000; Nesting=1; EVENT 777.508: Microsoft-IE/Mshtml_CWindow_Script/Stop PID=17836; TID=6692; PName=MicrosoftEdgeCP; ProceNum=1; DataLen=12; CDoc=0x1dc2c938000; Nesting=1; EVENT 777.517: Microsoft-JScript/Jscript_GC_IdleCollect PID=17836; TID=6692; PName=MicrosoftEdgeCP; ProceNum=1; DataLen=8; RecyclerID=0x1d42abba028; -EVENT 796.786: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3764; TID=2848; PName=devenv; ProceNum=2; DataLen=48; AllocationAmount=103,844; AllocationKind=Small; ClrInstanceID=42; AllocationAmount64=103,844; TypeID=0x6a29af68; TypeName=bucket[]; HeapIndex=0; Address=0x80435998; +EVENT 796.786: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=3764; TID=2848; PName=devenv; ProceNum=2; DataLen=48; AllocationAmount=103,844; AllocationKind=Small; ClrInstanceID=42; AllocationAmount64=103,844; TypeID=0x6a29af68; TypeName=bucket[]; HeapIndex=0; Address=0x80435998; ObjectSize=0; EVENT 801.132: Windows Kernel/Process/Start PID=5920; TID=-1; PName=test; ProceNum=3; DataLen=111; ProcessID=5,920; ParentID=5,124; ImageFileName=test.exe; PageDirectoryBase=0x695db000; Flags=Wow64; SessionID=2; ExitStatus=259; UniqueProcessKey=0xffffe001b80e9080; CommandLine=test.exe; PackageFullName=; ApplicationID=; EVENT 835.706: Windows Kernel/UdpIp/SendIPV6 PID=96; TID=-1; PName=svchost; ProceNum=3; DataLen=56; size=361; dport=62,385; sport=3,389; seqnum=0; connid=0x00000000; EVENT 836.241: Windows Kernel/Image/Load PID=5920; TID=24420; PName=test; ProceNum=1; DataLen=150; ImageBase=0x00e40000; ImageSize=32,768; ImageChecksum=0; TimeDateStamp=1,464,303,716; DefaultBase=0x40000000004000; BuildTime=16/05/26 23:01:56.00...; FileName=C:\temp\perfview\tes...; @@ -421,9 +421,9 @@ EVENT 1,035.474: Microsoft-Windows-DotNETRuntime/Loader/DomainModuleLoad PID=592 EVENT 1,035.479: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderDeliverEventsPhaseStop PID=5920; TID=24420; PName=test; ProceNum=3; DataLen=38; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=test; ClrInstanceID=10; EVENT 1,039.285: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStart PID=5920; TID=24420; PName=test; ProceNum=3; DataLen=38; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=NULL; ClrInstanceID=10; EVENT 1,039.309: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStop PID=5920; TID=24420; PName=test; ProceNum=3; DataLen=46; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=mscorlib; ClrInstanceID=10; -EVENT 1,041.785: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=5920; TID=24420; PName=test; ProceNum=0; DataLen=58; AllocationAmount=108,556; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=108,556; TypeID=0x6a29c494; TypeName=System.Byte[]; HeapIndex=0; Address=0x02577e88; -EVENT 1,041.876: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=5920; TID=24420; PName=test; ProceNum=0; DataLen=58; AllocationAmount=104,508; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=104,508; TypeID=0x6a29c494; TypeName=System.Byte[]; HeapIndex=0; Address=0x0258fefc; -EVENT 1,041.998: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=58; AllocationAmount=104,152; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=104,152; TypeID=0x6a29c494; TypeName=System.Byte[]; HeapIndex=0; Address=0x025a7f70; +EVENT 1,041.785: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=5920; TID=24420; PName=test; ProceNum=0; DataLen=58; AllocationAmount=108,556; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=108,556; TypeID=0x6a29c494; TypeName=System.Byte[]; HeapIndex=0; Address=0x02577e88; ObjectSize=0; +EVENT 1,041.876: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=5920; TID=24420; PName=test; ProceNum=0; DataLen=58; AllocationAmount=104,508; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=104,508; TypeID=0x6a29c494; TypeName=System.Byte[]; HeapIndex=0; Address=0x0258fefc; ObjectSize=0; +EVENT 1,041.998: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=58; AllocationAmount=104,152; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=104,152; TypeID=0x6a29c494; TypeName=System.Byte[]; HeapIndex=0; Address=0x025a7f70; ObjectSize=0; EVENT 1,049.560: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=10; Reason=SuspendForGC; Count=0; ClrInstanceID=10; EVENT 1,049.572: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=2; ClrInstanceID=10; EVENT 1,049.575: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=10; @@ -438,7 +438,7 @@ EVENT 1,053.341: Microsoft-Windows-DotNETRuntime/GC/PinObjectAtGCTime PID=5920; EVENT 1,053.351: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=18; HeapNum=0; ClrInstanceID=10; Type=2; Promoted=1,000; EVENT 1,053.372: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=18; HeapNum=0; ClrInstanceID=10; Type=3; Promoted=3,834; EVENT 1,053.531: Microsoft-Windows-DotNETRuntime/GC/BulkSurvivingObjectRanges PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=154; Index=0; Count=12; ClrInstanceID=10; -EVENT 1,053.558: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 1,053.558: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 1,053.562: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=218; ClrInstanceID=10; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=5,241,192; Count=4; MemoryPressure=; EVENT 1,053.564: Microsoft-Windows-DotNETRuntime/GC/GenerationRange PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=23; Generation=3; RangeStart=0x03561000; RangeUsedLength=0x000044b8; RangeReservedLength=0x00fff000; ClrInstanceID=10; EVENT 1,053.568: Microsoft-Windows-DotNETRuntime/GC/Stop PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=10; Count=1; Depth=0; ClrInstanceID=10; @@ -451,7 +451,7 @@ EVENT 1,054.755: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=5920; TID= EVENT 1,054.757: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=10; EVENT 1,054.763: Microsoft-Windows-DotNETRuntime/GC/Start PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=26; Count=2; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=10; ClientSequenceNumber=0; EVENT 1,054.784: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=18; HeapNum=0; ClrInstanceID=10; Type=0; Promoted=0; -EVENT 1,054.815: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 1,054.815: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 1,054.818: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=218; ClrInstanceID=10; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=5,306,728; Count=4; MemoryPressure=; EVENT 1,054.824: Microsoft-Windows-DotNETRuntime/GC/Stop PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=10; Count=2; Depth=0; ClrInstanceID=10; EVENT 1,054.825: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=94; TotalHeapSize=23,376; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=5,760; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,592; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=10; GenerationSize4=0; TotalPromotedSize4=0; @@ -461,7 +461,7 @@ EVENT 1,056.079: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=5920; TID EVENT 1,056.086: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=2; ClrInstanceID=10; EVENT 1,056.088: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=10; EVENT 1,056.107: Microsoft-Windows-DotNETRuntime/GC/Start PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=26; Count=3; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=10; ClientSequenceNumber=0; -EVENT 1,056.140: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 1,056.140: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 1,056.143: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=218; ClrInstanceID=10; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=5,306,728; Count=4; MemoryPressure=; EVENT 1,056.149: Microsoft-Windows-DotNETRuntime/GC/Stop PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=10; Count=3; Depth=0; ClrInstanceID=10; EVENT 1,056.151: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=94; TotalHeapSize=23,376; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=5,760; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,592; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=10; GenerationSize4=0; TotalPromotedSize4=0; @@ -471,7 +471,7 @@ EVENT 1,057.425: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=5920; TID EVENT 1,057.432: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=2; ClrInstanceID=10; EVENT 1,057.434: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=10; EVENT 1,057.440: Microsoft-Windows-DotNETRuntime/GC/Start PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=26; Count=4; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=10; ClientSequenceNumber=0; -EVENT 1,057.481: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 1,057.481: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 1,057.485: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=218; ClrInstanceID=10; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=5,306,728; Count=4; MemoryPressure=; EVENT 1,057.493: Microsoft-Windows-DotNETRuntime/GC/Stop PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=10; Count=4; Depth=0; ClrInstanceID=10; EVENT 1,057.496: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=94; TotalHeapSize=23,376; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=5,760; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,592; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=10; GenerationSize4=0; TotalPromotedSize4=0; @@ -479,7 +479,7 @@ EVENT 1,057.498: Microsoft-Windows-DotNETRuntime/GC/RestartEEStart PID=5920; TID EVENT 1,057.501: Microsoft-Windows-DotNETRuntime/GC/RestartEEStop PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=2; ClrInstanceID=10; EVENT 1,058.701: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=10; EVENT 1,058.707: Microsoft-Windows-DotNETRuntime/GC/Start PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=26; Count=5; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=10; ClientSequenceNumber=0; -EVENT 1,058.741: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 1,058.741: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 1,058.744: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=218; ClrInstanceID=10; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=5,306,728; Count=4; MemoryPressure=; EVENT 1,058.749: Microsoft-Windows-DotNETRuntime/GC/Stop PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=10; Count=5; Depth=0; ClrInstanceID=10; EVENT 1,058.751: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=5920; TID=24420; PName=test; ProceNum=2; DataLen=94; TotalHeapSize=23,376; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=5,760; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,592; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=10; GenerationSize4=0; TotalPromotedSize4=0; diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/netcore.3.1.x64.twocontainers.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/netcore.3.1.x64.twocontainers.baseline.txt index e71ea47ec..103ac28e5 100644 --- a/src/TraceEvent/TraceEvent.Tests/inputs/netcore.3.1.x64.twocontainers.baseline.txt +++ b/src/TraceEvent/TraceEvent.Tests/inputs/netcore.3.1.x64.twocontainers.baseline.txt @@ -232,7 +232,7 @@ EVENT 917.408: Microsoft-Windows-DirectComposition/DEVICE_COMMIT PID=2028; TID=3 EVENT 974.670: Microsoft-Windows-DotNETRuntime/GarbageCollection/IncreaseMemoryPressure PID=9728; TID=9584; PName=PerfView; ProceNum=0; DataLen=10; BytesAllocated=750; ClrInstanceID=9; EVENT 979.789: Microsoft-Windows-DotNETRuntime/GarbageCollection/IncreaseMemoryPressure PID=9728; TID=9584; PName=PerfView; ProceNum=0; DataLen=10; BytesAllocated=750; ClrInstanceID=9; EVENT 981.798: Microsoft-Windows-DotNETRuntime/GarbageCollection/IncreaseMemoryPressure PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=10; BytesAllocated=750; ClrInstanceID=9; -EVENT 982.185: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=136; AllocationAmount=106,916; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=106,916; TypeID=0x6dcfc3e0; TypeName=System.Windows.Threa...; HeapIndex=0; Address=0x045bbfe0; +EVENT 982.185: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=136; AllocationAmount=106,916; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=106,916; TypeID=0x6dcfc3e0; TypeName=System.Windows.Threa...; HeapIndex=0; Address=0x045bbfe0; ObjectSize=0; EVENT 982.293: Microsoft-Windows-DotNETRuntime/GarbageCollection/IncreaseMemoryPressure PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=10; BytesAllocated=750; ClrInstanceID=9; EVENT 982.642: Microsoft-Windows-DotNETRuntime/GarbageCollection/IncreaseMemoryPressure PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=10; BytesAllocated=750; ClrInstanceID=9; EVENT 990.016: System.Threading.Tasks.TplEventSource/TraceOperation/Stop PID=9728; TID=9584; PName=PerfView; ProceNum=0; DataLen=8; TaskID=130; Status=Canceled; @@ -243,7 +243,7 @@ EVENT 1,180.500: Microsoft-Windows-DotNETRuntime/ThreadPool/IODequeue PID=3000; EVENT 1,181.698: Microsoft-Windows-DotNETRuntime/AppDomainResourceManagement/ThreadCreated PID=3000; TID=9688; PName=WaAppAgent; ProceNum=1; DataLen=30; ManagedThreadID=2,686,275,651,008; AppDomainID=2,685,790,043,728; Flags=4; ManagedThreadIndex=31; OSThreadID=9,688; ClrInstanceID=11; EVENT 1,203.059: System.Threading.Tasks.TplEventSource/TraceOperation/Stop PID=9728; TID=9584; PName=PerfView; ProceNum=0; DataLen=8; TaskID=141; Status=Canceled; EVENT 1,222.470: System.Threading.Tasks.TplEventSource/TraceOperation/Stop PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=8; TaskID=143; Status=Canceled; -EVENT 1,226.714: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=108; AllocationAmount=108,160; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=108,160; TypeID=0x6d2b1924; TypeName=MS.Internal.TextForm...; HeapIndex=0; Address=0x045d5fdc; +EVENT 1,226.714: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=108; AllocationAmount=108,160; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=108,160; TypeID=0x6d2b1924; TypeName=MS.Internal.TextForm...; HeapIndex=0; Address=0x045d5fdc; ObjectSize=0; EVENT 1,596.750: Windows Kernel/DiskIO/FlushInit PID=4; TID=5660; PName=System; ProceNum=1; DataLen=12; Irp=0xffffb20363c15d00; EVENT 1,599.768: Windows Kernel/DiskIO/FlushInit PID=4; TID=5012; PName=System; ProceNum=1; DataLen=12; Irp=0xffffb20366bf20e0; EVENT 1,646.204: Windows Kernel/DiskIO/FlushBuffers PID=-1; TID=464341; PName=; ProceNum=0; DataLen=28; DiskNumber=0; IrpFlags=Nocache, Write; Irp=0xffffb20366bf20e0; ElapsedTimeMSec=46.434; @@ -257,7 +257,7 @@ EVENT 1,908.258: Windows Kernel/Process/Start PID=8584; TID=-1; PName=cscript; P EVENT 1,912.410: Microsoft-Windows-Kernel-EventTracing/ETW_TASK_PROVIDER/ETW_OPCODE_REGISTER PID=8584; TID=2724; PName=cscript; ProceNum=0; DataLen=16; ProviderName=3595ab5c-042a-4c8e-b...; EVENT 1,912.432: Microsoft-Windows-Kernel-EventTracing/ETW_TASK_PROVIDER/ETW_OPCODE_REGISTER PID=8584; TID=2724; PName=cscript; ProceNum=0; DataLen=16; ProviderName=305fc87b-002a-5e26-d...; EVENT 1,912.454: Microsoft-Windows-Kernel-EventTracing/ETW_TASK_PROVIDER/ETW_OPCODE_REGISTER PID=8584; TID=2724; PName=cscript; ProceNum=0; DataLen=16; ProviderName=901d2afa-4ff6-46d7-8...; -EVENT 1,914.322: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=98; AllocationAmount=106,800; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=106,800; TypeID=0x6fd25460; TypeName=System.Threading.Exe...; HeapIndex=0; Address=0x045efff4; +EVENT 1,914.322: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=98; AllocationAmount=106,800; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=106,800; TypeID=0x6fd25460; TypeName=System.Threading.Exe...; HeapIndex=0; Address=0x045efff4; ObjectSize=0; EVENT 1,915.901: Microsoft-Windows-Kernel-Process/ProcessStart/Start PID=8584; TID=2724; PName=cscript; ProceNum=0; DataLen=142; ProcessID=9,956; CreateTime=20/09/02 18:52:53.00...; ParentProcessID=8,584; SessionID=0; Flags=0; ImageName=\Device\HarddiskVolu...; ImageChecksum=885,928; TimeDateStamp=-1,400,355,427; PackageFullName=; PackageRelativeAppId=; EVENT 1,915.902: Windows Kernel/Process/Start PID=9956; TID=-1; PName=conhost; ProceNum=0; DataLen=192; ProcessID=9,956; ParentID=8,584; ImageFileName=conhost.exe; PageDirectoryBase=0x1700b5000; Flags=None; SessionID=0; ExitStatus=259; UniqueProcessKey=0xffffb2038f0bf080; CommandLine=\??\C:\windows\syste...; PackageFullName=; ApplicationID=; EVENT 1,918.800: Microsoft-Windows-Kernel-EventTracing/ETW_TASK_PROVIDER/ETW_OPCODE_REGISTER PID=9956; TID=680; PName=conhost; ProceNum=0; DataLen=16; ProviderName=3595ab5c-042a-4c8e-b...; @@ -292,7 +292,7 @@ EVENT 2,327.916: Windows Kernel/DiskIO/FlushInit PID=4; TID=9920; PName=System; EVENT 2,334.286: Windows Kernel/DiskIO/FlushBuffers PID=-1; TID=63693; PName=; ProceNum=0; DataLen=28; DiskNumber=0; IrpFlags=None; Irp=0xffffb20367a87950; ElapsedTimeMSec=6.369; EVENT 2,334.776: Windows Kernel/DiskIO/FlushInit PID=4; TID=9920; PName=System; ProceNum=0; DataLen=12; Irp=0xffffb20366578920; EVENT 2,337.779: Windows Kernel/DiskIO/FlushBuffers PID=-1; TID=26345; PName=; ProceNum=0; DataLen=28; DiskNumber=0; IrpFlags=Nocache, Write; Irp=0xffffb203632975c0; ElapsedTimeMSec=2.635; -EVENT 2,498.320: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=56; AllocationAmount=107,012; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=107,012; TypeID=0x6fd63e40; TypeName=System.Int64; HeapIndex=0; Address=0x04609fdc; +EVENT 2,498.320: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=56; AllocationAmount=107,012; AllocationKind=Small; ClrInstanceID=9; AllocationAmount64=107,012; TypeID=0x6fd63e40; TypeName=System.Int64; HeapIndex=0; Address=0x04609fdc; ObjectSize=0; EVENT 2,533.332: Windows Kernel/TcpIp/Recv PID=1136; TID=-1; PName=svchost; ProceNum=0; DataLen=28; daddr=167.220.2.117; saddr=10.0.0.4; dport=22,251; sport=3,389; size=38; connid=0x2000000000; seqnum=32; EVENT 2,553.391: Microsoft-Windows-DirectComposition/ATLAS_ENTRY_MARK_AVAILABLE PID=5532; TID=4548; PName=explorer; ProceNum=1; DataLen=8; Id=226,890,576; EVENT 2,553.394: Microsoft-Windows-DirectComposition/ATLAS_UTILIZATION PID=5532; TID=4548; PName=explorer; ProceNum=1; DataLen=24; Id=102,432,544; Width=704; Height=576; BitDepth=32; PercentUsed=16.16852; @@ -346,7 +346,7 @@ EVENT 2,578.899: Microsoft-Windows-DirectComposition/ATLAS_USE_INFO PID=5532; TI EVENT 2,578.929: Microsoft-Windows-DirectComposition/BEGIN_DRAW/Start PID=5532; TID=4548; PName=explorer; ProceNum=1; DataLen=32; channelHandle=19; resourceType=37; resourcePointer=290,404,464; left=0; top=0; right=234; bottom=24; EVENT 2,581.182: Microsoft-Windows-DirectComposition/BEGIN_DRAW/Start PID=5532; TID=4548; PName=explorer; ProceNum=0; DataLen=32; channelHandle=19; resourceType=37; resourcePointer=290,404,560; left=0; top=0; right=245; bottom=24; EVENT 2,583.180: Microsoft-Windows-DirectComposition/BEGIN_DRAW/Start PID=5532; TID=4548; PName=explorer; ProceNum=0; DataLen=32; channelHandle=19; resourceType=37; resourcePointer=290,405,136; left=0; top=0; right=210; bottom=24; -EVENT 2,601.320: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=9; PauseMode=Interactive; MemoryPressure=8; CondemnReasons0=; CondemnReasons1=; +EVENT 2,601.320: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=9; PauseMode=Interactive; MemoryPressure=8; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 2,601.325: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=218; ClrInstanceID=9; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=1,875,604; PinnedAllocated=4,640; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=20; CondemnReasons1=16; CompactMechanisms=compact_low_ephemera...; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=3,121,172; Count=4; MemoryPressure=; EVENT 2,601.328: Microsoft-Windows-DotNETRuntime/GC/GenerationRange PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=23; Generation=3; RangeStart=0x04f11000; RangeUsedLength=0x0004af70; RangeReservedLength=0x00fff000; ClrInstanceID=9; EVENT 2,601.332: Microsoft-Windows-DotNETRuntime/GC/Stop PID=9728; TID=9584; PName=PerfView; ProceNum=1; DataLen=10; Count=2; Depth=1; ClrInstanceID=9; @@ -361,7 +361,7 @@ EVENT 2,601.905: Microsoft-Windows-DotNETRuntime/GarbageCollection/DecreaseMemor EVENT 2,603.592: Microsoft-Windows-DirectComposition/ATLAS_ENTRY_MARK_FOR_DISPOSE PID=5532; TID=4548; PName=explorer; ProceNum=1; DataLen=8; Id=226,892,880; EVENT 2,603.597: Microsoft-Windows-DirectComposition/ATLAS_ENTRY_MARK_FOR_DISPOSE PID=5532; TID=4548; PName=explorer; ProceNum=1; DataLen=8; Id=226,888,528; EVENT 2,604.310: System.Diagnostics.Eventing.FrameworkEventSource/ThreadTransfer/Receive PID=2112; TID=5132; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=14; id=2,848,228,556,912; kind=1; info=; -EVENT 2,607.379: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=2112; TID=5132; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=66; AllocationAmount=104,696; AllocationKind=Small; ClrInstanceID=6; AllocationAmount64=104,696; TypeID=0x7ffbdb424e60; TypeName=System.String; HeapIndex=0; Address=0x29727d4b838; +EVENT 2,607.379: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=2112; TID=5132; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=66; AllocationAmount=104,696; AllocationKind=Small; ClrInstanceID=6; AllocationAmount64=104,696; TypeID=0x7ffbdb424e60; TypeName=System.String; HeapIndex=0; Address=0x29727d4b838; ObjectSize=0; EVENT 2,624.752: Windows Kernel/TcpIp/Recv PID=1136; TID=-1; PName=svchost; ProceNum=0; DataLen=28; daddr=167.220.2.117; saddr=10.0.0.4; dport=22,251; sport=3,389; size=38; connid=0x26c00000000; seqnum=620; EVENT 2,631.993: Microsoft-Windows-DotNETRuntime/GC/FinalizersStart PID=9728; TID=8628; PName=PerfView; ProceNum=1; DataLen=2; ClrInstanceID=9; EVENT 2,632.016: Microsoft-Windows-DotNETRuntime/GC/FinalizeObject PID=9728; TID=8628; PName=PerfView; ProceNum=1; DataLen=10; TypeName=System.Runtime.Compi...; ObjectID=0x041854bc; TypeID=0x6fd5f5e0; ClrInstanceID=9; @@ -403,7 +403,7 @@ EVENT 2,728.217: Microsoft-Windows-DotNETRuntime/GC/Start PID=2112; TID=5132; PN EVENT 2,728.426: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=2112; TID=5132; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=18; HeapNum=0; ClrInstanceID=6; Type=0; Promoted=72,640; EVENT 2,734.441: Microsoft-Windows-DotNETRuntime/GC/BulkSurvivingObjectRanges PID=2112; TID=5132; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=202; Index=0; Count=12; ClrInstanceID=6; EVENT 2,735.520: Microsoft-Windows-DotNETRuntime/GC/BulkMovedObjectRanges PID=2112; TID=5132; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=48922; Index=0; Count=2,038; ClrInstanceID=6; -EVENT 2,752.345: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=2112; TID=5132; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=2; Gen0ReductionCount=0; Reason=Induced; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=6; PauseMode=Interactive; MemoryPressure=69; CondemnReasons0=; CondemnReasons1=; +EVENT 2,752.345: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=2112; TID=5132; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=2; Gen0ReductionCount=0; Reason=Induced; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=6; PauseMode=Interactive; MemoryPressure=69; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 2,752.396: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=2112; TID=5132; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=406; ClrInstanceID=6; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=10; CondemnReasons1=8,193; CompactMechanisms=compact_high_frag; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=5,422,528; Count=4; MemoryPressure=; EVENT 2,752.402: Microsoft-Windows-DotNETRuntime/GC/Stop PID=2112; TID=5132; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=10; Count=12,436; Depth=2; ClrInstanceID=6; EVENT 2,752.405: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=2112; TID=5132; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=94; TotalHeapSize=2,938,040; TotalPromoted=2,897,504; Depth=2; GenerationSize0=24; TotalPromotedSize0=115,880; GenerationSize1=118,424; TotalPromotedSize1=320; GenerationSize2=2,491,280; TotalPromotedSize2=2,453,376; GenerationSize3=328,312; TotalPromotedSize3=327,928; FinalizationPromotedSize=107,740; FinalizationPromotedCount=446; PinnedObjectCount=12; SinkBlockCount=27; GCHandleCount=882; ClrInstanceID=6; GenerationSize4=0; TotalPromotedSize4=0; @@ -496,7 +496,7 @@ EVENT 4,209.555: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=2112; TID=828; EVENT 4,209.575: Microsoft-Windows-DotNETRuntime/GC/Start PID=2112; TID=828; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=26; Count=12,437; Reason=Induced; Depth=2; Type=NonConcurrentGC; ClrInstanceID=6; ClientSequenceNumber=0; EVENT 4,212.229: Microsoft-Windows-DotNETRuntime/GC/BulkSurvivingObjectRanges PID=2112; TID=828; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=202; Index=0; Count=12; ClrInstanceID=6; EVENT 4,212.329: Microsoft-Windows-DotNETRuntime/GC/BulkSurvivingObjectRanges PID=2112; TID=828; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=25514; Index=0; Count=1,594; ClrInstanceID=6; -EVENT 4,212.372: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=2112; TID=828; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=2; Gen0ReductionCount=0; Reason=Induced; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=6; PauseMode=Interactive; MemoryPressure=69; CondemnReasons0=; CondemnReasons1=; +EVENT 4,212.372: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=2112; TID=828; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=2; Gen0ReductionCount=0; Reason=Induced; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=6; PauseMode=Interactive; MemoryPressure=69; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 4,212.394: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=2112; TID=828; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=406; ClrInstanceID=6; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=10; CondemnReasons1=8,193; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=5,292,400; Count=4; MemoryPressure=; EVENT 4,212.397: Microsoft-Windows-DotNETRuntime/GC/Stop PID=2112; TID=828; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=10; Count=12,437; Depth=2; ClrInstanceID=6; EVENT 4,212.433: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=2112; TID=828; PName=WindowsAzureGuestAgent; ProceNum=0; DataLen=94; TotalHeapSize=3,068,168; TotalPromoted=2,790,120; Depth=2; GenerationSize0=24; TotalPromotedSize0=4,064; GenerationSize1=243,416; TotalPromotedSize1=4,800; GenerationSize2=2,496,416; TotalPromotedSize2=2,453,328; GenerationSize3=328,312; TotalPromotedSize3=327,928; FinalizationPromotedSize=384; FinalizationPromotedCount=4; PinnedObjectCount=12; SinkBlockCount=27; GCHandleCount=884; ClrInstanceID=6; GenerationSize4=0; TotalPromotedSize4=0; diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/netfx.4.6.1080.0.netfxrel3stage.x64.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/netfx.4.6.1080.0.netfxrel3stage.x64.baseline.txt index 82c88f719..4e4155ab5 100644 --- a/src/TraceEvent/TraceEvent.Tests/inputs/netfx.4.6.1080.0.netfxrel3stage.x64.baseline.txt +++ b/src/TraceEvent/TraceEvent.Tests/inputs/netfx.4.6.1080.0.netfxrel3stage.x64.baseline.txt @@ -249,11 +249,11 @@ EVENT 965.356: Microsoft-Windows-DotNETRuntime/Loader/DomainModuleLoad PID=22316 EVENT 965.371: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderDeliverEventsPhaseStop PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=38; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=test; ClrInstanceID=8; EVENT 967.113: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStart PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=38; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=NULL; ClrInstanceID=8; EVENT 967.150: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStop PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=46; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=mscorlib; ClrInstanceID=8; -EVENT 1,000.576: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=66; AllocationAmount=108,808; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=108,808; TypeID=0x7fff5578e7c8; TypeName=System.Byte[]; HeapIndex=0; Address=0x022d7f80; -EVENT 1,000.735: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=66; AllocationAmount=105,536; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=105,536; TypeID=0x7fff5578e7c8; TypeName=System.Byte[]; HeapIndex=0; Address=0x022efc38; -EVENT 1,000.838: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=66; AllocationAmount=105,136; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=105,136; TypeID=0x7fff5578e7c8; TypeName=System.Byte[]; HeapIndex=0; Address=0x02307d08; -EVENT 1,001.146: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=66; AllocationAmount=104,736; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=104,736; TypeID=0x7fff5578e7c8; TypeName=System.Byte[]; HeapIndex=0; Address=0x0231fdd8; -EVENT 1,001.262: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=66; AllocationAmount=104,336; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=104,336; TypeID=0x7fff5578e7c8; TypeName=System.Byte[]; HeapIndex=0; Address=0x02337ea8; +EVENT 1,000.576: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=66; AllocationAmount=108,808; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=108,808; TypeID=0x7fff5578e7c8; TypeName=System.Byte[]; HeapIndex=0; Address=0x022d7f80; ObjectSize=0; +EVENT 1,000.735: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=66; AllocationAmount=105,536; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=105,536; TypeID=0x7fff5578e7c8; TypeName=System.Byte[]; HeapIndex=0; Address=0x022efc38; ObjectSize=0; +EVENT 1,000.838: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=66; AllocationAmount=105,136; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=105,136; TypeID=0x7fff5578e7c8; TypeName=System.Byte[]; HeapIndex=0; Address=0x02307d08; ObjectSize=0; +EVENT 1,001.146: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=66; AllocationAmount=104,736; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=104,736; TypeID=0x7fff5578e7c8; TypeName=System.Byte[]; HeapIndex=0; Address=0x0231fdd8; ObjectSize=0; +EVENT 1,001.262: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=66; AllocationAmount=104,336; AllocationKind=Small; ClrInstanceID=8; AllocationAmount64=104,336; TypeID=0x7fff5578e7c8; TypeName=System.Byte[]; HeapIndex=0; Address=0x02337ea8; ObjectSize=0; EVENT 1,014.171: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=10; Reason=SuspendForGC; Count=0; ClrInstanceID=8; EVENT 1,014.190: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=2; ClrInstanceID=8; EVENT 1,014.197: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=8; @@ -268,7 +268,7 @@ EVENT 1,014.342: Microsoft-Windows-DotNETRuntime/GC/PinObjectAtGCTime PID=22316; EVENT 1,014.356: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=18; HeapNum=0; ClrInstanceID=8; Type=2; Promoted=1,764; EVENT 1,014.425: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=18; HeapNum=0; ClrInstanceID=8; Type=3; Promoted=5,982; EVENT 1,014.609: Microsoft-Windows-DotNETRuntime/GC/BulkSurvivingObjectRanges PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=202; Index=0; Count=12; ClrInstanceID=8; -EVENT 1,015.481: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=8; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 1,015.481: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=8; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 1,015.510: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=406; ClrInstanceID=8; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=6,818,816; Count=4; MemoryPressure=; EVENT 1,015.514: Microsoft-Windows-DotNETRuntime/GC/GenerationRange PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=27; Generation=3; RangeStart=0x122c1000; RangeUsedLength=0x00008948; RangeReservedLength=0x07fff000; ClrInstanceID=8; EVENT 1,015.518: Microsoft-Windows-DotNETRuntime/GC/Stop PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=10; Count=1; Depth=0; ClrInstanceID=8; @@ -280,7 +280,7 @@ EVENT 1,018.320: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=22316; TID EVENT 1,018.323: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=8; EVENT 1,018.341: Microsoft-Windows-DotNETRuntime/GC/Start PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=26; Count=2; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=8; ClientSequenceNumber=0; EVENT 1,018.367: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=18; HeapNum=0; ClrInstanceID=8; Type=0; Promoted=0; -EVENT 1,018.432: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=8; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 1,018.432: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=8; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 1,018.447: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=406; ClrInstanceID=8; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=6,818,816; Count=4; MemoryPressure=; EVENT 1,018.452: Microsoft-Windows-DotNETRuntime/GC/Stop PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=10; Count=2; Depth=0; ClrInstanceID=8; EVENT 1,018.455: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=94; TotalHeapSize=44,360; TotalPromoted=0; Depth=0; GenerationSize0=24; TotalPromotedSize0=0; GenerationSize1=9,168; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=35,144; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=8; GenerationSize4=0; TotalPromotedSize4=0; @@ -290,7 +290,7 @@ EVENT 1,020.624: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=22316; TI EVENT 1,020.631: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=2; ClrInstanceID=8; EVENT 1,020.633: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=8; EVENT 1,020.649: Microsoft-Windows-DotNETRuntime/GC/Start PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=26; Count=3; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=8; ClientSequenceNumber=0; -EVENT 1,020.717: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=8; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 1,020.717: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=8; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 1,020.730: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=406; ClrInstanceID=8; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=6,818,816; Count=4; MemoryPressure=; EVENT 1,020.735: Microsoft-Windows-DotNETRuntime/GC/Stop PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=10; Count=3; Depth=0; ClrInstanceID=8; EVENT 1,020.737: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=94; TotalHeapSize=44,360; TotalPromoted=0; Depth=0; GenerationSize0=24; TotalPromotedSize0=0; GenerationSize1=9,168; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=35,144; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=8; GenerationSize4=0; TotalPromotedSize4=0; @@ -300,7 +300,7 @@ EVENT 1,022.876: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=22316; TI EVENT 1,022.884: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=2; ClrInstanceID=8; EVENT 1,022.885: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=8; EVENT 1,022.931: Microsoft-Windows-DotNETRuntime/GC/Start PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=26; Count=4; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=8; ClientSequenceNumber=0; -EVENT 1,023.001: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=8; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 1,023.001: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=8; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 1,023.013: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=406; ClrInstanceID=8; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=6,818,816; Count=4; MemoryPressure=; EVENT 1,023.019: Microsoft-Windows-DotNETRuntime/GC/Stop PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=10; Count=4; Depth=0; ClrInstanceID=8; EVENT 1,023.021: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=94; TotalHeapSize=44,360; TotalPromoted=0; Depth=0; GenerationSize0=24; TotalPromotedSize0=0; GenerationSize1=9,168; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=35,144; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=8; GenerationSize4=0; TotalPromotedSize4=0; @@ -308,7 +308,7 @@ EVENT 1,023.023: Microsoft-Windows-DotNETRuntime/GC/RestartEEStart PID=22316; TI EVENT 1,023.026: Microsoft-Windows-DotNETRuntime/GC/RestartEEStop PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=2; ClrInstanceID=8; EVENT 1,025.029: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=8; EVENT 1,025.043: Microsoft-Windows-DotNETRuntime/GC/Start PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=26; Count=5; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=8; ClientSequenceNumber=0; -EVENT 1,025.100: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=8; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 1,025.100: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=6,291,456; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion, CardBundl...; ClrInstanceID=8; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 1,025.112: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=406; ClrInstanceID=8; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=6,818,816; Count=4; MemoryPressure=; EVENT 1,025.117: Microsoft-Windows-DotNETRuntime/GC/Stop PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=10; Count=5; Depth=0; ClrInstanceID=8; EVENT 1,025.119: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=22316; TID=11268; PName=test; ProceNum=2; DataLen=94; TotalHeapSize=44,360; TotalPromoted=0; Depth=0; GenerationSize0=24; TotalPromotedSize0=0; GenerationSize1=9,168; TotalPromotedSize1=0; GenerationSize2=24; TotalPromotedSize2=0; GenerationSize3=35,144; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=8; GenerationSize4=0; TotalPromotedSize4=0; diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/netfx.4.6.1080.0.netfxrel3stage.x86.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/netfx.4.6.1080.0.netfxrel3stage.x86.baseline.txt index c33f2b7c5..890b8972a 100644 --- a/src/TraceEvent/TraceEvent.Tests/inputs/netfx.4.6.1080.0.netfxrel3stage.x86.baseline.txt +++ b/src/TraceEvent/TraceEvent.Tests/inputs/netfx.4.6.1080.0.netfxrel3stage.x86.baseline.txt @@ -236,11 +236,11 @@ EVENT 370.754: Microsoft-Windows-DotNETRuntime/Loader/DomainModuleLoad PID=8400; EVENT 370.758: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderDeliverEventsPhaseStop PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=38; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=test; ClrInstanceID=10; EVENT 371.136: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStart PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=38; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=NULL; ClrInstanceID=10; EVENT 371.148: Microsoft-Windows-DotNETRuntimePrivate/Binding/LoaderPhaseStop PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=46; AppDomainID=1; LoadContextID=4; FromLoaderCache=0; DynamicLoad=0; AssemblyCodebase=NULL; AssemblyName=mscorlib; ClrInstanceID=10; -EVENT 372.610: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=58; AllocationAmount=108,256; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=108,256; TypeID=0x6f8735fc; TypeName=System.Byte[]; HeapIndex=0; Address=0x02497e44; -EVENT 372.655: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=58; AllocationAmount=104,288; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=104,288; TypeID=0x6f8735fc; TypeName=System.Byte[]; HeapIndex=0; Address=0x024afeb8; -EVENT 372.698: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=58; AllocationAmount=103,932; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=103,932; TypeID=0x6f8735fc; TypeName=System.Byte[]; HeapIndex=0; Address=0x024c7f2c; -EVENT 372.740: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=58; AllocationAmount=104,612; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=104,612; TypeID=0x6f8735fc; TypeName=System.Byte[]; HeapIndex=0; Address=0x024dffa0; -EVENT 372.785: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=58; AllocationAmount=105,292; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=105,292; TypeID=0x6f8735fc; TypeName=System.Byte[]; HeapIndex=0; Address=0x024f7c08; +EVENT 372.610: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=58; AllocationAmount=108,256; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=108,256; TypeID=0x6f8735fc; TypeName=System.Byte[]; HeapIndex=0; Address=0x02497e44; ObjectSize=0; +EVENT 372.655: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=58; AllocationAmount=104,288; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=104,288; TypeID=0x6f8735fc; TypeName=System.Byte[]; HeapIndex=0; Address=0x024afeb8; ObjectSize=0; +EVENT 372.698: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=58; AllocationAmount=103,932; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=103,932; TypeID=0x6f8735fc; TypeName=System.Byte[]; HeapIndex=0; Address=0x024c7f2c; ObjectSize=0; +EVENT 372.740: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=58; AllocationAmount=104,612; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=104,612; TypeID=0x6f8735fc; TypeName=System.Byte[]; HeapIndex=0; Address=0x024dffa0; ObjectSize=0; +EVENT 372.785: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=58; AllocationAmount=105,292; AllocationKind=Small; ClrInstanceID=10; AllocationAmount64=105,292; TypeID=0x6f8735fc; TypeName=System.Byte[]; HeapIndex=0; Address=0x024f7c08; ObjectSize=0; EVENT 375.131: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=10; Reason=SuspendForGC; Count=0; ClrInstanceID=10; EVENT 375.142: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=2; ClrInstanceID=10; EVENT 375.144: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=10; @@ -255,7 +255,7 @@ EVENT 375.194: Microsoft-Windows-DotNETRuntime/GC/PinObjectAtGCTime PID=8400; TI EVENT 375.200: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=18; HeapNum=0; ClrInstanceID=10; Type=2; Promoted=964; EVENT 375.218: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=18; HeapNum=0; ClrInstanceID=10; Type=3; Promoted=3,834; EVENT 375.305: Microsoft-Windows-DotNETRuntime/GC/BulkSurvivingObjectRanges PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=154; Index=0; Count=12; ClrInstanceID=10; -EVENT 375.328: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 375.328: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 375.332: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=218; ClrInstanceID=10; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=5,241,260; Count=4; MemoryPressure=; EVENT 375.333: Microsoft-Windows-DotNETRuntime/GC/GenerationRange PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=23; Generation=3; RangeStart=0x03481000; RangeUsedLength=0x000044b8; RangeReservedLength=0x00fff000; ClrInstanceID=10; EVENT 375.336: Microsoft-Windows-DotNETRuntime/GC/Stop PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=10; Count=1; Depth=0; ClrInstanceID=10; @@ -267,7 +267,7 @@ EVENT 376.133: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=8400; TID=88 EVENT 376.135: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=10; EVENT 376.139: Microsoft-Windows-DotNETRuntime/GC/Start PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=26; Count=2; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=10; ClientSequenceNumber=0; EVENT 376.149: Microsoft-Windows-DotNETRuntime/GC/MarkWithType PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=18; HeapNum=0; ClrInstanceID=10; Type=0; Promoted=0; -EVENT 376.168: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 376.168: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 376.170: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=218; ClrInstanceID=10; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=5,306,796; Count=4; MemoryPressure=; EVENT 376.174: Microsoft-Windows-DotNETRuntime/GC/Stop PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=10; Count=2; Depth=0; ClrInstanceID=10; EVENT 376.175: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=94; TotalHeapSize=23,308; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=5,692; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,592; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=10; GenerationSize4=0; TotalPromotedSize4=0; @@ -277,7 +277,7 @@ EVENT 376.958: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=8400; TID=8 EVENT 376.964: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=2; ClrInstanceID=10; EVENT 376.966: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=10; EVENT 376.972: Microsoft-Windows-DotNETRuntime/GC/Start PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=26; Count=3; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=10; ClientSequenceNumber=0; -EVENT 377.006: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 377.006: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 377.009: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=218; ClrInstanceID=10; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=5,306,796; Count=4; MemoryPressure=; EVENT 377.014: Microsoft-Windows-DotNETRuntime/GC/Stop PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=10; Count=3; Depth=0; ClrInstanceID=10; EVENT 377.016: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=94; TotalHeapSize=23,308; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=5,692; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,592; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=10; GenerationSize4=0; TotalPromotedSize4=0; @@ -287,7 +287,7 @@ EVENT 377.787: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStart PID=8400; TID=8 EVENT 377.791: Microsoft-Windows-DotNETRuntime/GC/SuspendEEStop PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=2; ClrInstanceID=10; EVENT 377.793: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=10; EVENT 377.807: Microsoft-Windows-DotNETRuntime/GC/Start PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=26; Count=4; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=10; ClientSequenceNumber=0; -EVENT 377.830: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 377.830: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 377.833: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=218; ClrInstanceID=10; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=5,306,796; Count=4; MemoryPressure=; EVENT 377.837: Microsoft-Windows-DotNETRuntime/GC/Stop PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=10; Count=4; Depth=0; ClrInstanceID=10; EVENT 377.838: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=94; TotalHeapSize=23,308; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=5,692; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,592; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=10; GenerationSize4=0; TotalPromotedSize4=0; @@ -295,7 +295,7 @@ EVENT 377.839: Microsoft-Windows-DotNETRuntime/GC/RestartEEStart PID=8400; TID=8 EVENT 377.840: Microsoft-Windows-DotNETRuntime/GC/RestartEEStop PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=2; ClrInstanceID=10; EVENT 378.484: Microsoft-Windows-DotNETRuntime/GC/Triggered PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=6; Reason=AllocSmall; ClrInstanceID=10; EVENT 378.487: Microsoft-Windows-DotNETRuntime/GC/Start PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=26; Count=5; Reason=AllocSmall; Depth=0; Type=NonConcurrentGC; ClrInstanceID=10; ClientSequenceNumber=0; -EVENT 378.507: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; +EVENT 378.507: Microsoft-Windows-DotNETRuntime/GC/GlobalHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=38; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=0; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Promotion; ClrInstanceID=10; PauseMode=Interactive; MemoryPressure=0; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 378.509: Microsoft-Windows-DotNETRuntime/GC/PerHeapHistory PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=218; ClrInstanceID=10; FreeListAllocated=0; FreeListRejected=0; EndOfSegAllocated=0; CondemnedAllocated=0; PinnedAllocated=0; PinnedAllocatedAdvance=0; RunningFreeListEfficiency=0; CondemnReasons0=0; CondemnReasons1=0; CompactMechanisms=not_specified; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=5,306,796; Count=4; MemoryPressure=; EVENT 378.513: Microsoft-Windows-DotNETRuntime/GC/Stop PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=10; Count=5; Depth=0; ClrInstanceID=10; EVENT 378.514: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=8400; TID=8896; PName=test; ProceNum=2; DataLen=94; TotalHeapSize=23,308; TotalPromoted=0; Depth=0; GenerationSize0=12; TotalPromotedSize0=0; GenerationSize1=5,692; TotalPromotedSize1=0; GenerationSize2=12; TotalPromotedSize2=0; GenerationSize3=17,592; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=20; ClrInstanceID=10; GenerationSize4=0; TotalPromotedSize4=0; diff --git a/src/TraceEvent/TraceEvent.Tests/inputs/sl.5.x86.baseline.txt b/src/TraceEvent/TraceEvent.Tests/inputs/sl.5.x86.baseline.txt index e8b3f2301..d1a059d5e 100644 --- a/src/TraceEvent/TraceEvent.Tests/inputs/sl.5.x86.baseline.txt +++ b/src/TraceEvent/TraceEvent.Tests/inputs/sl.5.x86.baseline.txt @@ -133,7 +133,7 @@ EVENT 178.581: Microsoft-JScript/MethodRundown/DCEndComplete PID=6416; TID=18968 EVENT 178.594: Microsoft-Windows-DotNETRuntimePrivate/GC/Settings PID=6416; TID=18968; PName=iexplore; ProceNum=0; DataLen=22; SegmentSize=16,777,216; LargeObjectSegmentSize=16,777,216; ServerGC=False; ClrInstanceID=101; EVENT 178.663: Microsoft-Windows-DotNETRuntime/Method/JittingStarted PID=11636; TID=19564; PName=PerfView; ProceNum=3; DataLen=160; MethodID=89,894,928; ModuleID=16,615,016; MethodToken=100,663,481; MethodILSize=46; MethodNamespace=Utilities.Command; MethodName=Quote; MethodSignature=class System.String ...; ClrInstanceID=10; EVENT 178.760: KernelTraceControl/MetaData/EventMapInfo PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=124; -EVENT 178.760: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=101; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; +EVENT 178.760: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=101; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0; EVENT 178.812: Microsoft-Windows-DotNETRuntime/Method/LoadVerbose PID=11636; TID=19564; PName=PerfView; ProceNum=3; DataLen=172; MethodID=89,894,928; ModuleID=16,615,016; MethodStartAddress=0x05a22d58; MethodSize=67; MethodToken=100,663,481; MethodFlags=Jitted; MethodNamespace=Utilities.Command; MethodName=Quote; MethodSignature=class System.String ...; ClrInstanceID=10; ReJITID=0; OptimizationTier=Unknown; EVENT 179.437: Microsoft-Windows-DotNETRuntime/Method/JittingStarted PID=11636; TID=19564; PName=PerfView; ProceNum=3; DataLen=142; MethodID=89,877,400; ModuleID=16,596,924; MethodToken=100,666,501; MethodILSize=34; MethodNamespace=PerfView.AppLog; MethodName=get_VersionNumber; MethodSignature=class System.String ...; ClrInstanceID=10; EVENT 179.632: Microsoft-Windows-DotNETRuntime/Method/LoadVerbose PID=11636; TID=19564; PName=PerfView; ProceNum=3; DataLen=154; MethodID=89,877,400; ModuleID=16,596,924; MethodStartAddress=0x05a22db0; MethodSize=84; MethodToken=100,666,501; MethodFlags=Jitted; MethodNamespace=PerfView.AppLog; MethodName=get_VersionNumber; MethodSignature=class System.String ...; ClrInstanceID=10; ReJITID=0; OptimizationTier=Unknown; @@ -149,20 +149,20 @@ EVENT 180.185: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=6416 EVENT 180.186: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=101; EVENT 180.192: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=101; EVENT 180.206: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=101; -EVENT 180.275: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=30; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=101; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 180.275: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=30; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=101; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 180.276: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=221; ClrInstanceID=101; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=1,048,580; CondemnReasons1=; CompactMechanisms=compact_low_ephemera...; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=88; EVENT 180.277: Microsoft-Windows-DotNETRuntime/GC/Stop PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=10; Count=259; Depth=1; ClrInstanceID=101; EVENT 180.279: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=94; TotalHeapSize=4,137,452; TotalPromoted=18,152; Depth=1; GenerationSize0=12; TotalPromotedSize0=10,688; GenerationSize1=10,700; TotalPromotedSize1=7,464; GenerationSize2=3,179,564; TotalPromotedSize2=0; GenerationSize3=947,176; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=0; ClrInstanceID=101; GenerationSize4=0; TotalPromotedSize4=0; EVENT 180.280: Microsoft-Windows-DotNETRuntime/GC/RestartEEStart PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=2; ClrInstanceID=101; EVENT 180.288: Microsoft-Windows-DotNETRuntime/GC/RestartEEStop PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=2; ClrInstanceID=101; -EVENT 180.679: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=6416; TID=11624; PName=iexplore; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=101; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; +EVENT 180.679: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=6416; TID=11624; PName=iexplore; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=101; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0; EVENT 180.688: Microsoft-Windows-DotNETRuntime/Method/LoadVerbose PID=11636; TID=19564; PName=PerfView; ProceNum=3; DataLen=310; MethodID=89,886,128; ModuleID=89,881,896; MethodStartAddress=0x05a22e40; MethodSize=317; MethodToken=100,663,472; MethodFlags=Jitted; MethodNamespace=Microsoft.Diagnostic...; MethodName=WriteEvent; MethodSignature=instance void (int3...; ClrInstanceID=10; ReJITID=0; OptimizationTier=Unknown; EVENT 180.716: PerfView/CommandLineParameters PID=11636; TID=19564; PName=PerfView; ProceNum=3; DataLen=190; commandLine= "/DataFile:PerfView...; currentDirectory=C:\temp; version=1.9.0.0; -EVENT 181.301: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=6416; TID=11624; PName=iexplore; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=101; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; -EVENT 181.948: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=6416; TID=11624; PName=iexplore; ProceNum=3; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=101; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; +EVENT 181.301: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=6416; TID=11624; PName=iexplore; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=101; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0; +EVENT 181.948: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=6416; TID=11624; PName=iexplore; ProceNum=3; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=101; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0; EVENT 182.075: Windows Kernel/DiskIO/ReadInit PID=2192; TID=3140; PName=MsMpEng; ProceNum=0; DataLen=12; Irp=0xffffe000d6d6b010; EVENT 182.268: Windows Kernel/DiskIO/ReadInit PID=1556; TID=12364; PName=SettingSyncHost; ProceNum=1; DataLen=12; Irp=0xffffe000d3fc4010; -EVENT 182.473: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=6416; TID=19976; PName=iexplore; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=101; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; +EVENT 182.473: Microsoft-Windows-DotNETRuntime/GC/AllocationTick PID=6416; TID=19976; PName=iexplore; ProceNum=0; DataLen=10; AllocationAmount=106,496; AllocationKind=Small; ClrInstanceID=101; AllocationAmount64=0; TypeID=0x00000000; TypeName=; HeapIndex=0; Address=0x00000000; ObjectSize=0; EVENT 182.739: Windows Kernel/DiskIO/Read PID=1556; TID=12364; PName=SettingSyncHost; ProceNum=0; DataLen=52; DiskNumber=0; IrpFlags=Nocache, MountComple...; Priority=Normal; TransferSize=65,536; ByteOffset=8,622,645,248; Irp=0xffffe000d3fc4010; ElapsedTimeMSec=0.471; DiskServiceTimeMSec=0.471; FileKey=0xffffe000d0280970; FileName=C:\pagefile.sys; EVENT 182.993: Windows Kernel/Memory/HardFault PID=1556; TID=12364; PName=SettingSyncHost; ProceNum=1; DataLen=40; ElapsedTimeMSec=0.741; ReadOffset=206,282,752; VirtualAddress=0x1fb89f0dd70; FileKey=0xffffe000d0280970; ByteCount=65,536; FileName=C:\pagefile.sys; EVENT 183.293: Windows Kernel/DiskIO/ReadInit PID=1556; TID=12364; PName=SettingSyncHost; ProceNum=3; DataLen=12; Irp=0xffffe000d1bb5180; @@ -180,7 +180,7 @@ EVENT 217.354: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=6416 EVENT 217.355: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=6416; TID=19976; PName=iexplore; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=101; EVENT 217.361: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=6416; TID=19976; PName=iexplore; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=101; EVENT 217.374: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=6416; TID=19976; PName=iexplore; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=101; -EVENT 217.426: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=6416; TID=19976; PName=iexplore; ProceNum=2; DataLen=30; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=101; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 217.426: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=6416; TID=19976; PName=iexplore; ProceNum=2; DataLen=30; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=101; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 217.427: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=6416; TID=19976; PName=iexplore; ProceNum=2; DataLen=221; ClrInstanceID=101; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=1,048,580; CondemnReasons1=; CompactMechanisms=compact_low_ephemera...; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=88; EVENT 217.443: Microsoft-Windows-DotNETRuntime/GC/Stop PID=6416; TID=19976; PName=iexplore; ProceNum=2; DataLen=10; Count=260; Depth=1; ClrInstanceID=101; EVENT 217.444: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=6416; TID=19976; PName=iexplore; ProceNum=2; DataLen=94; TotalHeapSize=4,130,560; TotalPromoted=3,796; Depth=0; GenerationSize0=12; TotalPromotedSize0=3,796; GenerationSize1=3,808; TotalPromotedSize1=0; GenerationSize2=3,179,564; TotalPromotedSize2=0; GenerationSize3=947,176; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=0; ClrInstanceID=101; GenerationSize4=0; TotalPromotedSize4=0; @@ -193,7 +193,7 @@ EVENT 250.383: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=6416 EVENT 250.385: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=6416; TID=11624; PName=iexplore; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=101; EVENT 250.390: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=6416; TID=11624; PName=iexplore; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=101; EVENT 250.403: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=6416; TID=11624; PName=iexplore; ProceNum=2; DataLen=6; HeapNum=0; ClrInstanceID=101; -EVENT 250.479: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=6416; TID=11624; PName=iexplore; ProceNum=2; DataLen=30; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=101; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 250.479: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=6416; TID=11624; PName=iexplore; ProceNum=2; DataLen=30; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=101; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 250.480: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=6416; TID=11624; PName=iexplore; ProceNum=2; DataLen=221; ClrInstanceID=101; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=1,048,580; CondemnReasons1=; CompactMechanisms=compact_low_ephemera...; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=88; EVENT 250.481: Microsoft-Windows-DotNETRuntime/GC/Stop PID=6416; TID=11624; PName=iexplore; ProceNum=2; DataLen=10; Count=261; Depth=1; ClrInstanceID=101; EVENT 250.482: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=6416; TID=11624; PName=iexplore; ProceNum=2; DataLen=94; TotalHeapSize=4,141,580; TotalPromoted=14,816; Depth=1; GenerationSize0=12; TotalPromotedSize0=11,088; GenerationSize1=11,100; TotalPromotedSize1=3,728; GenerationSize2=3,183,292; TotalPromotedSize2=0; GenerationSize3=947,176; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=0; ClrInstanceID=101; GenerationSize4=0; TotalPromotedSize4=0; @@ -263,7 +263,7 @@ EVENT 279.292: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=6416 EVENT 279.293: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=6416; TID=11624; PName=iexplore; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=101; EVENT 279.300: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=6416; TID=11624; PName=iexplore; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=101; EVENT 279.314: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=6416; TID=11624; PName=iexplore; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=101; -EVENT 279.387: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=6416; TID=11624; PName=iexplore; ProceNum=0; DataLen=30; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=101; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 279.387: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=6416; TID=11624; PName=iexplore; ProceNum=0; DataLen=30; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=101; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 279.388: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=6416; TID=11624; PName=iexplore; ProceNum=0; DataLen=221; ClrInstanceID=101; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=1,048,580; CondemnReasons1=; CompactMechanisms=compact_low_ephemera...; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=88; EVENT 279.393: Microsoft-Windows-DotNETRuntime/GC/Stop PID=6416; TID=11624; PName=iexplore; ProceNum=0; DataLen=10; Count=262; Depth=1; ClrInstanceID=101; EVENT 279.394: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=6416; TID=11624; PName=iexplore; ProceNum=0; DataLen=94; TotalHeapSize=4,151,864; TotalPromoted=21,372; Depth=1; GenerationSize0=12; TotalPromotedSize0=11,160; GenerationSize1=11,172; TotalPromotedSize1=10,212; GenerationSize2=3,193,504; TotalPromotedSize2=0; GenerationSize3=947,176; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=0; ClrInstanceID=101; GenerationSize4=0; TotalPromotedSize4=0; @@ -274,7 +274,7 @@ EVENT 319.316: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkStackRoots PID=6416 EVENT 319.317: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkFinalizeQueueRoots PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=101; EVENT 319.323: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkHandles PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=101; EVENT 319.334: Microsoft-Windows-DotNETRuntimePrivate/GC/MarkCards PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=6; HeapNum=0; ClrInstanceID=101; -EVENT 319.395: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=30; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=101; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; +EVENT 319.395: Microsoft-Windows-DotNETRuntimePrivate/GC/GlobalHeapHistory PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=30; FinalYoungestDesired=5,242,880; NumHeaps=1; CondemnedGeneration=1; Gen0ReductionCount=0; Reason=AllocSmall; GlobalMechanisms=Compaction, Promotio...; ClrInstanceID=101; PauseMode=; MemoryPressure=; CondemnReasons0=; CondemnReasons1=; Count=; EVENT 319.396: Microsoft-Windows-DotNETRuntimePrivate/GC/PerHeapHistory PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=221; ClrInstanceID=101; FreeListAllocated=; FreeListRejected=; EndOfSegAllocated=; CondemnedAllocated=; PinnedAllocated=; PinnedAllocatedAdvance=; RunningFreeListEfficiency=; CondemnReasons0=1,048,580; CondemnReasons1=; CompactMechanisms=compact_low_ephemera...; ExpandMechanisms=not_specified; ConcurrentCompactMechanisms=; HeapIndex=0; ExtraGen0Commit=; Count=; MemoryPressure=88; EVENT 319.410: Microsoft-Windows-DotNETRuntime/GC/Stop PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=10; Count=263; Depth=1; ClrInstanceID=101; EVENT 319.412: Microsoft-Windows-DotNETRuntime/GC/HeapStats PID=6416; TID=21828; PName=iexplore; ProceNum=0; DataLen=94; TotalHeapSize=4,143,800; TotalPromoted=3,096; Depth=0; GenerationSize0=12; TotalPromotedSize0=3,096; GenerationSize1=3,108; TotalPromotedSize1=0; GenerationSize2=3,193,504; TotalPromotedSize2=0; GenerationSize3=947,176; TotalPromotedSize3=0; FinalizationPromotedSize=0; FinalizationPromotedCount=0; PinnedObjectCount=0; SinkBlockCount=0; GCHandleCount=0; ClrInstanceID=101; GenerationSize4=0; TotalPromotedSize4=0; diff --git a/src/TraceEvent/TraceEvent.cs b/src/TraceEvent/TraceEvent.cs index 52eda0cc7..d97331ecd 100644 --- a/src/TraceEvent/TraceEvent.cs +++ b/src/TraceEvent/TraceEvent.cs @@ -1730,6 +1730,19 @@ protected internal byte[] GetByteArrayAt(int offset, int size) return res; } /// + /// Give an offset to a int array of size 'size' in the payload bytes, return a int[] that contains + /// those bytes. + /// + protected internal int[] GetInt32ArrayAt(int offset, int size) + { + int[] res = new int[size]; + for (int i = 0; i < size; i++) + { + res[i] = GetInt32At(offset + i * 4); + } + return res; + } + /// /// Returns a byte value that was serialized at 'offset' in the payload bytes /// protected internal int GetByteAt(int offset)