The function graph player is responsible for managing a tree of function and operation nodes. It is based on the Graphstream framework.
The tree root is an executor with a CPU/memory state when relevant and the tree leaves are the thread states.
By scanning the analyzed JZR recording, the graph player will shape a dynamic node tree.
It is then up to the function graph player client to either take snapshot pictures of the tree at periodic/critical moments or to play visually the tree evolution giving such the movie of what is happening (real time) or what did happen (post mortem).
Another graph player usage is the generation of profiling pictures starting from analyzed actions, which will be automatically included in the JZR report.
The graph player default configuration is available in the analyzer/config/setup/default_setup.xml
of your Jeyzer installation.
Configuration is then overridden to adapt for example the generated images for the JZR report sheets and control the graph node display.
The tree of functions and operations can be a merged tree of all actions (see the below list of modes) or the individual representation of each one.
Each tree node will be sized (or will dynamically grow) based on the function/operation occurrence frequency.
The rendering of the node tree is defined through CSS files.
5 node graph modes are supported :
- Graph mode : adapted for histograms or global views.
Child nodes can point back to a parent node. - Tree mode : adapted for profiling.
Child nodes are branch nodes. - Tree merged mode : adapted for simplified profiling.
Child nodes are branch nodes.
Merging is performed based on the node name. - Radial merged mode is adapted for simple statistical view.
All child nodes link to root node and are merged based on their node name. - Radial mode is adapted for simple statistical view.
All child nodes link to root node.
Tree mode and Tree merged mode allow the display of thread states.
For the tree mode, ATBI nodes can be displayed if stack count and stack section size are greater than the configurable threshold.
Graph pictures
Graphs pictures are generated in the ${JEYZER_OUTPUT_DIR}/graph
directory by default and embedded in the JZR sheets.
Graph node picture access in the JZR sheets is performed through a clover symbol cell link.
Graph node picture resolution (unit = pixel) and display in Excel (unit = cell) is set by configuration.
10 pictures maximum get generated per JZR sheet by default.
Those are deleted unless specified by configuration.
Display conditions
Some configurable conditions apply to trigger the graph picture generation of an action (or stack) :
- Number of distinct operations and functions – meaning the number of possible tree nodes – must be greater than a configurable threshold (4 by default).
- Action size (or number of similar stacks) is greater than a configurable threshold (10 by default).
The creation of each node is is also condition based : each node must represent a stack which is present at least more than a configurable threshold (3 by default).