dotTrace 2016.1 Help

Blocking GC

The Blocking GC filter value is used to indicate time intervals where garbage collection was performed.

Select the Blocking GC filter value to analyze garbage collections: GC reasons and threads and methods that toggled collections. For example, if you see a significant blocking GC time, it makes sense to switch the Analysis Subject filter to Memory Allocation and determine the threads with the largest amount of allocated memory. Most likely, these are threads that triggered GCs. Another indirect way to determine the method that triggers GCs is to select the thread in the Threads diagram, the Running state in Thread State and the Blocking GC value in the Blocking GC filter. Most likely, this method will be shown on top of the Top Methods in the Call Stack window.

For example, if you see a significant blocking GC time, it makes sense to switch the Analysis Subject filter to Memory Allocation and determine the threads with the largest amounts of allocated memory. Most likely, these are threads that triggered GCs.

When the Blocking GC value is selected, the Filters window contains the Blocking GC: Depth sub-filter that allows you to refine the resulting filter.

Blocking GC: Depth

The Blocking GC: Depth sub-filter shows distribution of blocking GC time between Gen0, Gen1, and Gen2 heaps collections.

Note that Gen1 collection always implies the collection of the Gen0 heap segment as well. The Gen2 GC (also known as full GC) includes the Gen1 and Gen0 collections. Thus, the time used to perform a Gen0 collection within a Gen1 collection will be aggregated to the Gen1 GC time. The Gen2 GC time will include the times of the Gen0 and Gen1 collections it triggers.

garbage_collection_depth_1

pos_1 Heap segment name.

pos_2 Total time spent on blocking GCs of the corresponding depth summed up for all selected threads.

pos_3 The percentage of time spent on blocking GCs of the corresponding depth relative to the total selected time.

To apply the Blocking GC: Depth filter:

  • Check the desired heap segment name in the filter.

After you select a heap segment, other filters will show data only for the time intervals where GCs of the selected depth took place.

garbage_collection_depth_2
Last modified: 19 August 2016