dotTrace Web 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 amount 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.

Note that to simplify analysis, the Process Overview diagram shows blocking GC intervals with a separate bar.

Blocking GC: Depth

What the Filter Shows

The Blocking GC: Depth sub-filter shows distribution of blocking GC time spent on Gen0, Gen1, and Gen2 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 Gen1 and Gen0 collections. Thus, the time used to perform Gen0 collection within Gen1 collection will be aggregated to the Gen1 GC time. 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.

How the Filter Is Applied

To apply the Blocking GC: Depth filter:

  • Check the desired heap segment name in the filter.

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

garbage_collection_depth_2
Last modified: 5 December 2014
comments powered by Disqus