Fully featured low overhead profiler for Java EE and Java SE platforms.
Monitoring and profiling solution for Gradle, Maven, Ant, JUnit and TestNG.
Easy to use performance and memory profiler for .NET framework.

Automatically trigger actions on event

The triggers allow you to configure actions to be automatically performed on following events:

  • execution of particular method
  • high CPU usage
  • high memory usage
  • out of memory exception
  • JVM start
  • JVM exit
  • timer

The possible actions include:

  • log events to console, file, agent log or data storage
  • control profiling
  • capture snapshots

Triggers in user interface

When you are connected to the profiled application, click corresponding toolbar button to view or change the triggers:

How to specify triggers on startup

To specify triggers to be applied from profiled application start, use startup option triggers=<path> which points to a file with trigger description (see below).

If the option is not specified, the trigger description is read from <user home>/.yjp/triggers.txt, where user home corresponds to the account under which a profiled application is launched.

By default, that file does not exist, thus no triggers are applied.

Setting triggers via API

To get or set the triggers programmatically, use the following profiler API methods:

  • Controller.getTriggers()
  • Controller.setTriggers(String triggersDescription, boolean append)

The triggers description format

The trigger description file is a text file in UTF-8. It contains the list of events and corresponding actions. The lines describing the actions start with space characters.

event_name [parameters...]
    action_name [parameters...]
    action_name [parameters...]
    ...
event_name [parameters...]
    action_name [parameters...]
    action_name [parameters...]
    ...
...

Instead of manually forming the description, please use the "Edit Triggers" dialog (see above): configure necessary triggers and actions, then use export actions in popup menu.