blob: 1aa819a1300aa68e4e0e6a53cdba67a1ad57ae96 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<title>Options Window: Java: Profiler</title>
<link rel="stylesheet" href="ide.css" title="Oracle BLAFDoc" type="text/css"/>
</head>
<body>
<p><a id="ProfilerOptions.Help" name="ProfilerOptions.Help"></a></p>
<div id="NBCSH3268"><!-- infolevel="all" infotype="General" --><a id="sthref418" name="sthref418"></a>
<h1>Options Window: Java: Profiler</h1>
<a name="BEGIN" id="BEGIN"></a>
<p>Use to configure settings that effect the behavior of the IDE when profiling applications. Choose <b>Tools</b> &gt; <b>Options</b> from the main menu, click the Java category and then click the <b>Profiler</b> tab to access this panel.
<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
<param name="content" value="http://www.oracle.com/pls/topic/lookup?ctx=nb8200&id=NBDAG719">
<param name="text" value="<html><u>How?</u></html>">
<param name="textFontSize" value="medium">
<param name="textColor" value="blue">
</object>
</p>
<table summary="Descriptions of Java profiler options in the Profiler panel of the Options window." dir="ltr" border="1" width="100%" frame="hsides" rules="groups" cellpadding="3" cellspacing="0">
<col width="32%" />
<col width="*" />
<thead>
<tr align="left" valign="top">
<th align="left" valign="bottom" id="r1c1-t20">Element</th>
<th align="left" valign="bottom" id="r1c2-t20">Description</th>
</tr>
</thead>
<tbody>
<tr align="left" valign="top">
<td align="left" id="r2c1-t20" headers="r1c1-t20">
<p>General</p>
</td>
<td align="left" headers="r2c1-t20 r1c2-t20">General profiling options.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r3c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;Profiler Window</td>
<td align="left" headers="r3c1-t20 r1c2-t20">Profiler window specific options.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r4c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Show "No data collected yet" hint before first profiling session</td>
<td align="left" headers="r4c1-t20 r1c2-t20">Select to show the hint before the first profiling session in the profiling window.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r5c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;Profiling</td>
<td align="left" headers="r5c1-t20 r1c2-t20">Profiling session specific options.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r6c1-t20" headers="r1c1-t20">
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Profiling port</p>
</td>
<td align="left" headers="r6c1-t20 r1c2-t20">Changes the communication port that the profiler listens to.
<p>The default port is 5140.</p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r7c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Manage calibration data</td>
<td align="left" headers="r7c1-t20 r1c2-t20">Click to display a dialog to calibrate the IDE with a specific Java platform.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r8c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;Miscellaneous</td>
<td align="left" headers="r8c1-t20 r1c2-t20">Other profiling options.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r9c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reset all "Do not show again" confirmations</td>
<td align="left" headers="r9c1-t20 r1c2-t20">Click to reset all remembered not to show decisions.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r10c1-t20" headers="r1c1-t20">Filters</td>
<td align="left" headers="r10c1-t20 r1c2-t20">Filters profiling options.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r11c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;Filters</td>
<td align="left" headers="r11c1-t20 r1c2-t20">Filters specific options.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r12c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use defined filters for coloring results</td>
<td align="left" headers="r12c1-t20 r1c2-t20">Select to enable coloring profiling results based on user-defined filters.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r13c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defined Filters</td>
<td align="left" headers="r13c1-t20 r1c2-t20">Defined filters specific options.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r14c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add new filter</td>
<td align="left" headers="r14c1-t20 r1c2-t20">Click to add a filter.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r15c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Edit selected filter</td>
<td align="left" headers="r15c1-t20 r1c2-t20">Click to edit the name and value of the selected filter.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r16c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delete selected filter</td>
<td align="left" headers="r16c1-t20 r1c2-t20">Click to remove the selected filter.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r17c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move selected filter up</td>
<td align="left" headers="r17c1-t20 r1c2-t20">Click to place the selected filter in the desired order.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r18c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move selected filter down</td>
<td align="left" headers="r18c1-t20 r1c2-t20">Click to place the selected filter in the desired order.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r19c1-t20" headers="r1c1-t20">Snapshots</td>
<td align="left" headers="r19c1-t20 r1c2-t20">Snapshots profiling options.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r20c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;Snapshots</td>
<td align="left" headers="r20c1-t20 r1c2-t20">Options available when a snapshot is taken during the profiling session.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r21c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When taking snapshot</td>
<td align="left" headers="r21c1-t20 r1c2-t20">Specifies the way a snapshot is viewed and/or saved after it is taken.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r22c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When taking heap dump</td>
<td align="left" headers="r22c1-t20 r1c2-t20">Specifies the way a snapshot is saved and eventually displayed in heap viewer.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r23c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On OOME heap dump</td>
<td align="left" headers="r23c1-t20 r1c2-t20">Specifies the way a snapshot is saved and eventually displayed in heap viewer when an OutOfMemoryError occurs.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r24c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;Snapshots Window</td>
<td align="left" headers="r24c1-t20 r1c2-t20">Snapshot window specific options. Choose the option from the drop down list.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r25c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Open automatically</td>
<td align="left" headers="r25c1-t20 r1c2-t20">Choose when to display the snapshots window by selecting one of the following options: <b>Never</b>, <b>On new profiling session</b>, <b>On show profiler window, On first saved snapshot</b>, <b>On each saved snapshot</b>.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r26c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close automatically</td>
<td align="left" headers="r26c1-t20 r1c2-t20">Choose when to close the snapshots window by selecting one of the following options: <b>Never</b>, <b>On close profiling session, On hide profiler window</b>.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r27c1-t20" headers="r1c1-t20">Engine</td>
<td align="left" headers="r27c1-t20 r1c2-t20">Engine profiling options.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r28c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;Methods Profiling</td>
<td align="left" headers="r28c1-t20 r1c2-t20">Methods specific profiling options.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r29c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;General (Sampled)</td>
<td align="left" headers="r29c1-t20 r1c2-t20">Use to query stacks of running threads to estimate the slowest parts of the code.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r30c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sampling frequency</td>
<td align="left" headers="r30c1-t20 r1c2-t20">Specify how often the application is sampled. The default value is 10 milliseconds.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r31c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Focused (Instrumented)</td>
<td align="left" headers="r31c1-t20 r1c2-t20">Use to instrument and profile a limited subset of an application code.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r32c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Methods tracking</td>
<td align="left" headers="r32c1-t20 r1c2-t20">Injects a "method entry" call at the beginning of each profiled method and a "method exit" call before each return when tracking methods.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r33c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exact call tree and timing</td>
<td align="left" headers="r33c1-t20 r1c2-t20">Select to calculate the time spent in the method as the difference between the timestamp that is generated for each "method entry" and corresponding "method exit".</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r34c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exact call tree, sampled timing</td>
<td align="left" headers="r34c1-t20 r1c2-t20">Select to calculate the time spent in the method as the difference between the timestamp that is generated for the "method entry" and corresponding "method exit" that fall approximately at the end of each sampling interval.
<p>You must specify a sampling interval.</p>
<p>For more about which option to choose, see the following NetBeans FAQ:</p>
<p><a href="http://wiki.netbeans.org/FaqProfilerSampledInstrumentation"><code dir="ltr">Which method of tracking methods should I use, exact or sampled?</code></a></p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r35c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exclude time spent in Thread.sleep() and Object.wait()</td>
<td align="left" headers="r35c1-t20 r1c2-t20">Select to omit profiling the Thread.sleep() and Object.wait() methods.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r36c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Profile new Threads/Runnables</td>
<td align="left" headers="r36c1-t20 r1c2-t20">Select to instrument the code for any thread or runnable started after the application enters the root instrumentation method.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r37c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Limit number of profiled threads</td>
<td align="left" headers="r37c1-t20 r1c2-t20">When selected, every time a thread that has not been previously registered enters the instrumented code, this counter is decremented. When it reaches zero, registration of new threads is stopped. Profiling data is collected only for the registered threads.
<p>For more about when to use these option, see the following NetBeans FAQ: <a href="http://wiki.netbeans.org/FaqProfilerSingleAndMultiThreaded"><code dir="ltr">How can I profile all threads in a multi-threaded application?</code></a></p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r38c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instrumentation Scheme</td>
<td align="left" headers="r38c1-t20 r1c2-t20">Use to select an instrumentation scheme to limit the number of instrumented methods. (Usually, it is best if the number of instrumented methods and the number of methods actually called by the application when it is profiled are the same or very close.)
<p>For more about instrumentation schemes, see the following NetBeans FAQ: <a href="http://wiki.netbeans.org/FaqProfilerInstrumentationSchemes"><code dir="ltr">How do I select an instrumentation scheme?</code></a></p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r39c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instrument</td>
<td align="left" headers="r39c1-t20 r1c2-t20">Instruments <code dir="ltr">Method.invoke()</code>, <code dir="ltr">Getter/setter</code> methods, and empty methods. By default, these types of methods are not instrumented.
<p>For more about instrumenting these methods, see the following NetBeans FAQ: <a href="http://wiki.netbeans.org/FaqProfilerInstrumentSpecialJavaMethods"><code dir="ltr">How do I instrument/not instrument special Java methods?</code></a></p>
</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r40c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method.invoke()</td>
<td align="left" headers="r40c1-t20 r1c2-t20">Select to follow and instrument all calls done using Java Reflection (i.e. the java.lang.reflect.Method.invoke() call).</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r41c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Getter/setter methods</td>
<td align="left" headers="r41c1-t20 r1c2-t20">Select to instrument getter/setter methods.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r42c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Empty methods</td>
<td align="left" headers="r42c1-t20 r1c2-t20">Select to instrument methods which do not contain any executable code.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r43c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;Objects Profiling</td>
<td align="left" headers="r43c1-t20 r1c2-t20">Objects specific profiling options.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r44c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Run garbage collection when getting memory results</td>
<td align="left" headers="r44c1-t20 r1c2-t20">Use to enable running garbage collection after collecting profiling data.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r45c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;Threads Profiling</td>
<td align="left" headers="r45c1-t20 r1c2-t20">Threads specific profiling options.</td>
</tr>
<tr align="left" valign="top">
<td align="left" id="r46c1-t20" headers="r1c1-t20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sample threads states</td>
<td align="left" headers="r46c1-t20 r1c2-t20">When selected, thread states are updated periodically.</td>
</tr>
</tbody>
</table>
<br />
<!-- -->
<a id="NBCSH3280" name="NBCSH3280"></a>
<hr><p><b>Related Topics</b></p>
<p><i>Developing Applications with NetBeans IDE</i>,
<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
<param name="content" value="http://www.oracle.com/pls/topic/lookup?ctx=nb8200&id=NBDAG117">
<param name="text" value="<html><u>&quot;Working with the Options Window&quot;</u></html>">
<param name="textFontSize" value="medium">
<param name="textColor" value="blue">
</object>
</p>
<p><i>Developing Applications with NetBeans IDE</i>,
<object classid="java:org.netbeans.modules.javahelp.BrowserDisplayer">
<param name="content" value="http://www.oracle.com/pls/topic/lookup?ctx=nb8200&id=NBDAG733">
<param name="text" value="<html><u>&quot;Taking a Heap Dump&quot;</u></html>">
<param name="textFontSize" value="medium">
<param name="textColor" value="blue">
</object>
</p>
<!-- -->
<!-- Start Footer -->
<table summary="" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td align="left" width="86%"><a href="legal_notice.htm">
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; and to You under the Apache License, Version 2.0.</a>
</td>
</tr>
</table>
<!-- -->
</body>
</html>