- System requirements
- Profiler architecture
- Profiler installation
- Uninstall profiler
- Running the profiler
- Profiler activation
- Welcome screen
- Start profiling
- Profiling overhead
- Snapshots
- Solving performance problems
- CPU profiling
- Thread profiling
- Virtual threads support
- Object allocation profiling
- Memory profiling
- Monitor profiling
- Exception profiling
- Telemetry
- Probes: monitor events of various kinds
- Events in user interface
- Event inspections
- Built-in probes
- Probe classes
- Monitoring method invocation events
- Probe class annotation @MethodPattern
- Callback onEnter()
- Callback onReturn()
- Callback onExit()
- Callbacks onUncaughtException() and onUncaughtExceptionExt()
- Parameter annotation @Param
- Parameter annotation @Params
- Parameter annotation @This
- Parameter annotation @ClassRef
- Parameter annotation @MethodName
- Parameter annotation @MethodTimeMs
- Parameter annotation @MethodTimeNs
- Parameter annotation @MethodParameterTypes
- Parameter annotation @MethodSignature
- Parameter annotation @OnEnterResult
- Parameter annotation @ReturnValue
- Parameter annotation @ThrownException
- Probe application rules
- Data storage
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Automatic deobfuscation
- Summary
- Filters
- Profiler command line
- Export of profiling results to external formats
- Profiler Java API
- Profiler HTTP API
- Settings
- Troubleshooting and FAQ
Callback method parameter annotation @Params
Callback parameter annotated with @Params
provides the values of all parameters passed to the instrumented method.
In which callbacks can be used
Parameter annotated with @Params
can be used in any callback.
Declaration type
Parameter annotated with @Params
must be declared as java.lang.Object[]
.
Description
Parameter annotated with @Params
will be assigned with a newly created array
with length equal to the number of method parameters.
First parameter is stored in the array at index 0, second parameter - at index 1 etc.
If instrumented method has no parameters, parameter annotated with @Params
will be assigned with an empty array.
Parameters of reference types will be stored as is. Parameters of primitive types will be stored boxed.
Note, that each time a callback with parameter annotated with @Params
is invoked, a new array is created.
For performance considerations,
use @Param({number}) instead whenever possible.