- Running the profiler
- Profiler activation
- Running applications with the profiler
- Connect to profiled application
- Troubleshoot connection problems
- Solving performance problems
- CPU profiling
- Deadlock detector
- Memory profiling
- Garbage collection
- Monitor profiling
- Exception profiling
- Probes: monitor events of various kinds
- Events in user interface
- Event inspections
- Built-in probes
- Probe classes
- Monitoring method invocation events
- Data storage
- Performance Charts
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Summary, snapshot annotation, automatic deobfuscation
- IDE integration
- Time measurement (CPU time, wall time)
- Snapshot directory customization
- Export of profiling results to HTML, CSV, XML, plain text
- Profiler API
- Command line tool to control profiling
- FAQ: How to profile in my scenario?
Probes: monitor events of various kinds
What is it for?
Get almost unlimited analysis capabilities by recording events specific to your particular application, and automatically recognize problems typical to wide range of applications.
Customizable to fit your needs...
Gather information about your application according to your own rules by setting up your custom probes.
... and available out of the box
Recognize typical problems with the help of built-in probes which are ready to use out of the box. Also, as the source code of the built-in probes is available, use it as a good example should you decide creating custom probes.
What kind of events can be monitored?
Enter or exit particular method
Bytecode instrumentation engine will inject calls to your probes to the methods which you specified. The probes are written in Java. You can access method parameters, method return value, the object for which the method is called, as well as intercept uncaught exceptions thrown in the method. This provides virtually unlimited capabilities to monitor applications. Read more...
Class loading probe monitors class load and unload events
Please also consider triggers. They provide a wider range of events to monitor than probes do. However, triggered actions should be chosen from a predefined set, while probes can implement any necessary functionality.
What kind of information can be recorded on event?
Data storage allows you to uniformly record the following information for each event:
- Where it happened: stack trace, thread
- When it happened
- If applicable, event duration and consumed CPU time
- Event-specific numerical or text information. For example, this can be the number of bytes written to a stream, or the URL of processed HTTP request etc. - you can record whatever you want.
Although it is intended to use data storage to gather information, if you wish you can also store it your own way, e.g. write it to your application's log, to a file or simply write to console.
How to access the recorded information?
Probes UI provides rich set of tools to analyze the gathered information, or to export it for external processing.