- System requirements
- Profiler architecture
- Running the profiler
- Profiler activation
- Running applications with the profiler
- Connect to profiled application
- Troubleshoot connection problems
- Solving performance problems
- CPU profiling
- Threads
- 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
- Compiling probe classes
- Probe registration, activity modes
- Probe unregistration
- 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)
- Filters
- Snapshot directory customization
- Export of profiling results to HTML, CSV, XML, plain text
- Profiler Java API
- Profiler HTTP API
- Command line tool to control profiling
- Settings
- FAQ: How to profile in my scenario?
Compiling probe classes
After you have written your probe classes,
compile them with Java compiler (javac
) as regular Java classes.
Please add yjp-probe-api-redist.jar
to the compiler class path
to make classes in package com.yourkit.probe
accessible.
Unlike compile time, you do not need to add yjp-probe-api-redist.jar
to class path in runtime.
All necessary classes in com.yourkit.probe
will be automatically
loaded by the profiler agent.
Optionally, you can put compiled classes to a JAR file. The probe classes are self-explanatory, so there is no need in any additional description in the JAR file manifest.