- 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
- Compiling probe classes
- Probe registration, activity modes
- Probe unregistration
- 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
Probe unregistration
Registered probe can be unregistered in runtime. This means that all methods which have been instrumented with the probe's callbacks will be returned to their original state.
We strongly recommend to change the probe's activity mode to Off instead.
Probe unregistration is only possible using the profiler API:
invoke static method unregisterProbes()
of class com.yourkit.probes.Probes
:
public static void unregisterProbes(final String... probeClassNames);
public static void unregisterProbes(final Class... probeClasses);
Examples
import com.yourkit.probes.*;
// ...
Probes.unregisterProbes(MyProbe.class);
Probes.unregisterProbes("com.foo.Probe1", "com.foo.Probe2");