The task graph profiler that gathers profile data and communicates via graphviz.
More...
#include <htgs/core/graph/profile/TaskGraphProfiler.hpp>
|
void | computeAverages () |
| Computes the averages for all profile data.
|
|
std::unordered_map< std::string, std::string > * | genColorMap (int colorFlag) |
| Generates the color map. More...
|
|
The task graph profiler that gathers profile data and communicates via graphviz.
A TaskGraphConf uses this class to gather all profile data for visually outputting the task graph as a dot file. DOTGEN flags are used to specify options to enable/disable features for the graph.
- Note
- To enable profiling you must add the directive PROFILE prior to compilation. If PROFILE is not defined, then a basic visualization is done showing just the graph structure.
◆ TaskGraphProfiler()
htgs::TaskGraphProfiler::TaskGraphProfiler |
( |
int |
flags | ) |
|
|
inline |
Constructs the task graph profiler.
- Parameters
-
flags | the DOTGEN flags to enable/disable features |
◆ buildProfile()
Builds a profile for the graph, (called after execution is done)
- Parameters
-
graphConf | the graph that is profiled |
◆ genColorMap()
std::unordered_map<std::string, std::string>* htgs::TaskGraphProfiler::genColorMap |
( |
int |
colorFlag | ) |
|
|
inlineprivate |
Generates the color map.
The map is structured as TaskDotID string -> Color string.
- Parameters
-
colorFlag | selects which profile data to use when generating colors. |
- Returns
- the color map
◆ genDotProfile()
std::string htgs::TaskGraphProfiler::genDotProfile |
( |
std::string |
curDotGraph, |
|
|
int |
colorFlag |
|
) |
| |
|
inline |
Generates the dot profile for the graph.
Only the tasks that have been defined within the current dot graph will have their profiles included. The color flag is used to identify which profiling to use when coloring the nodes.
- Parameters
-
curDotGraph | the current dot graph that includes all tasks and edges used for the graph. |
colorFlag | specifies which profile data to use when generating the color map, 0 = no color map |
- Returns
- the dot graph with labeling for profiling if profiling is enabled.
- Note
- The directive PROFILE must be defined to enable outputting profile data.
◆ getProfileUtils()
Gets the profile utility class to obtain color codes based on the total execution time.
- Returns
- the profile utility class
◆ getTaskManagerProfiles()
Gets the task manager profiles for all tasks in all graphs and sub-graphs.
- Returns
- all of the task managers within the graph and its sub-graphs
The documentation for this class was generated from the following file: