Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

Version 1 Next »

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.

Note the unit performance bars are relative to the Workflow performance. A unit profile bar going fully to the right to red does not necessarily mean a bad thing - it just means that it consumes most of the workflow execution time of memory used.


Example of the profiler set to profile memory consumption:

  • No labels