| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> |
| <html> |
| <head> |
| <title>NetBeans IDE - Java Profiler Features</title> |
| <link rel="stylesheet" href="../../netbeans.css" TYPE="text/css"> |
| <link rel="stylesheet" href="../../features.css" type="text/css" > |
| <meta name="description" content="NetBeans IDE - Java features"> |
| <meta http-equiv="content-language" CONTENT="en"> |
| <meta name="author" content="Ruth Kusterer" /> |
| </head> |
| |
| <body> |
| <h1><a name="profiler"></a>Profiler</h1> |
| |
| <p><a href="../../images_www/v7/1/screenshots/profiler.png"><img |
| src="../../images_www/v7/1/screenshots/profiler-cut.png" |
| alt="NetBeans IDE with Java profiler" |
| width="649" height="196" border="0"/><br /><span |
| class="font-11"><br>Click image for fullscreen preview</span></a> |
| </p> |
| |
| <p><strong>The NetBeans profiler provides expert assistance |
| for optimizing your application's speed and memory usage, |
| and makes it easier to build reliable and scalable Java SE, JavaFX and Java EE applications. </strong> |
| </p> |
| |
| <h2>Task-Based Profiling</h2> |
| <p> |
| Select from several common profiling tasks, such as standard CPU |
| or memory profiling, or simple monitoring. |
| The options have been preset to default values by experts; |
| you can customize settings for a specific application. |
| </p> |
| <p> |
| You precisely control the amount of overhead the profiler imposes, |
| and therefore analyze the application while it runs at almost full speed. |
| You can store analysis data for offline processing: Save and export snapshots |
| of collected results as CSV, HTML, or XML files. |
| </p> |
| <table class='features-table' > |
| <tr> |
| <td> |
| <h2>Heap Walker</h2> |
| <p> |
| Use the Heap Walker to evaluate the Java heap contents |
| and to identify unnecessary references that cause memory leaks. |
| You can browse classes and instances of classes on the heap, |
| fields of each instance or class, and references to each instance. |
| Use jHat compatible OQL queries to analyze the contents of a heapdump: |
| Benefit from basic syntax highlighting and code completion for OQL. |
| </p> |
| </td> |
| <td class='screenshots-col'> |
| <img alt="netbeans profiler heapwalker" src="../../images_www/v6/features/profiler-heapwalker_p150.png" width="150" height="81" class="box"> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <h2>Profiling Points</h2> |
| <p> |
| Place profiling points in your source code |
| to more precisely control the collection of profiling results, |
| similar to debugger breakpoints. |
| </p> |
| <p> |
| You use profiling points to automatically trigger actions |
| when certain conditions are met, such as execution of a line of code, |
| time elapsed, or memory used. Profiling points can trigger heap dumps, |
| the reseting of results collected, the running of a load generator script, |
| and the taking of a results snapshot. |
| </p> |
| |
| </td> |
| <td class='screenshots-col'> |
| <img alt="netbeans profiling points" src="../../images_www/screenshots/6.0/javaSE_profiler_profiling_points2_150px.png" width="150" height="56" class="box" > |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <h2>Identifying CPU Bottlenecks</h2> |
| <p> |
| The NetBeans profiler can be set up to report only on particular methods or the entire application. |
| A graph categorizes where CPU time has been spent. Click on the graph sections |
| to drill down from high-level categories to more detailed profiling information. |
| </p> |
| <p> |
| Profile an entire application, or a subset, under a realistic workload. |
| You can do load testing by starting JMeter scripts |
| at the beginning of a profiling session. |
| </p> |
| |
| <h2>Tracking Memory Usage</h2> |
| <p> |
| Pinpoint leaking objects based on their special pattern of allocations |
| and garbage collections, or lack thereof. |
| Object liveness profiling tracks both object creation and garbage collection events. |
| Watch the number, age, allocation paths, and other characteristics of objects |
| currently in memory and compare memory snapshots. |
| </p> |
| |
| </td> |
| <td class='screenshots-col'> |
| <img alt="profiler drill-down" src="../../images_www/screenshots/6.0/javaSE_profiler_drilldown_150px.png" width="150" height="132" class="box"> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| <h2>Monitoring Threads Status</h2> |
| <p> |
| On the Threads Timeline, the NetBeans profiler displays the current |
| and past status of all threads in an application. |
| Thread Details give you detailed information about one or more selected threads, |
| including a list of all state changes in the thread life. |
| </p> |
| |
| <h2>Remote Profiling</h2> |
| <p> |
| Profile an application that is running on a different system than your NetBeans IDE. |
| The profiler's remote pack can be installed on a remote system, |
| allowing you to profile an application that is started on that system. |
| </p> |
| |
| <h2>Attach Profiler</h2> |
| <p> |
| Attach the profiler to any Java application, |
| even applications that are not started by the IDE. |
| If the Java application and the IDE are both run with JDK 6, |
| you can even attach the profiler dynamically, |
| allowing you to do profiling of an application that is already running. |
| </p> |
| </td> |
| <td class='screenshots-col'> |
| <img alt="profiler threads" src="../../images_www/v6/features/profiler-threads.png" width="150" height="88" class="box"> |
| </td> |
| </tr> |
| </table> |
| <p> </p> |
| <p><img alt="-" src="../../images_www/v6/arrow-button.gif" width="15" height="12"> <a href="../../kb/trails/java-se.html">Java SE And Base IDE Learning Trail</a></p> |
| |
| </body> |
| </html> |