## Enabled profiling features |

| On this tab of the profiling settings dialog, you can adjust profiling features of JProfiler in order to speed up program execution and reduce memory consumption.

| Disabled profiling features Disable call tree collection When you record CPU data or allocations, JProfiler collects information about the call tree. You might want to record allocations without the overhead of recording the allocation call stacks: If you don't need the allocation view in the heap walker, the allocation call tree and the stack trace information in the monitor usage views, you can switch off call tree collection. This will speed up profiling considerably and reduce memory usage. Disable monitor contention views if you are not interested in monitor contention events, you may switch data collection off by selecting this checkbox to lower the memory consumption of the profiled application. If monitor contention views are enabled, the following settings govern the level of detail for the monitor contention views: Monitor contention threshold Select the minimum time threshold in microseconds (µs) for which a monitor contention (i.e. when a thread is blocking) is displayed in the monitor usage history view. Monitor waiting threshold Select the minimum time threshold in microseconds (µs) for which a monitor wait state (i.e. when a thread is waiting) is displayed in the monitor usage history view.

| Allocation call tree The information depth of the allocation call tree and the allocation hot spots view is governed by this setting. Live objects By default, only live objects can be displayed by the allocation views. Class-resolution is enabled. Live and GCed objects without class resolution Live and garbage collected objects can be displayed by the allocation views, depending on the selection in the allocation options dialog. Class-resolution is disabled, i.e. class selection in the allocation options dialog will not work in this setting, only the cumulated allocations of all classes and array types can be displayed. This setting consumes more memory than the first setting and adds a considerable performance overhead. Live and GCed objects Live and garbage collected objects can be displayed by the allocation views, depending on the selection in the allocation options dialog. Class-resolution is enabled. This setting consumes more memory than the other settings and adds adds a considerable performance overhead. Select record object allocation time if you would like to be able to use the time view in the heap walker sort objects by allocation time in the reference graph and the data view of the heap walker. See allocation times for the current objects in the reference graph and the data view of the heap walker. This setting consumes more memory for recorded objects.

| Call tree By default, JProfiler does not resolve line numbers in call trees. If you enable `show line numbers for sampling and dynamic instrumentation`, line number resolution will be enabled for the call tree collections modes of "Sampling" and "Dynamic instrumentation". For "Full instrumentation", line number resolution is not available. If the aggregation level is set to "methods" and a method calls another method multiple times in different lines of code, line number resolution will show these invocations as separate method nodes in the call tree and the allocation call tree. Backtraces in the hotspot views will also show line numbers. Note that a line number can only be shown if the call to a method originates in an unfiltered class.