Introduction
The Workflow Profiler is a tool to visualize Workflow and Unit performance. Both execution speed and memory consumption are profiled and visualized graphically.
Key design features of the profiler are:
- Minimal memory footprint (it uses <1k per profile entry).
- Minimal performance impact (less than 2% cpu speed if activated).
- Since sampling performance was always there, there is no additional runtime overhead for that, just memory profiling needed to be added.
- Only uses CPU time when the panel is active.
Lorem: Ipsum | ||
Lorem: Ipsum | ||
Lorem: Ipsum |
Settings
Profile Type: Timing / Memory
Toggles between timing and memory profiling.
Workflow Reference Time
Enter a value in milliseconds which is used to draw the workflow timing bar - the default is 20ms, meaning 50 executions per second.
If you increase this value, the workflow timing profile bar gets recalculated and will be smaller.
If you decrease this value, the workflow timing profile bar gets recalculated and will be larger.
Workflow Profile
Shows the workflow name and the total execution time or memory consumption, depending on the profile type setting.
Note the workflow memory performance bar is calculated relative to the total memory assigned to the JVM. It should always be pretty small.
Unit Profiles List
For each unit in the acrive workflow, there is an entry describing the unit's performance, either execution time or memory consumption.
Variable and Published Input / Output units are excluded from that list.
The list is selectable and supports multiple and disjoint selections. If one or more units are selected in the list, the corresponding units
are selected in the workflow view, and vice versa.
Example of the profiler set to profile memory consumption: