Iterating graph dumping tools in AvalancheSchedulerSvc and HiveDataBroker
Summary
This iteration of the graph dumping debug functionality in Gaudi fixes minor issues and adds an alternative representation logic.
Commit overview
- FIX: Added an encoding step to account for reserved characters in GraphML dumping.
- Support for characters &, <, > and " to appear in algorithm names.
- FIX: Added support for edge labels in GraphML.
- Results in a unused parameter warning, fixed in the following commit.
- MINOR: Tweaked addNode and addEdge headers.
- Affects usage of the GraphDumper.h file, which should be internal only.
- MAJOR: Added an alternative graph dumping implementation to AvalancheSchedulerSvc.
- The existing graph dumping functionality in AvalancheSchedulerSvc adds a node for each data dependency. The added graph dumping functionality represents data dependencies as edge labels.
- The "Data Dependency Graph" naming has been kept for the current implementation. The added implementation is referred to as "Algorithm Dependency Graph".
- The added implementation is enabled / controlled by new properties added to AvalancheSchedulerSvc to avoid breaking current uses.
- FIX: Generalized value used in GraphML as graph ID.
- For consistency with / abstraction from the previous naming scheme.
- FIX: Fixed edge directions in HiveDataBroker graph dumping.
- Looking at dependencies from the perspective of producers generating outputs which consumers take as inputs.
- MAJOR: Aligned HiveDataBroker graph dumping with AvalancheSchedulerSvc for consistency.
- The existing graph dumping functionality in HiveDataBroker differs from the original "Data Dependency Graph" dumping tool in AvalancheSchedulerSvc.
- The existing functionality has been renamed to "Algorithm Dependency Graph" for consistency.
- A second functionality with equivalent logic to the "Data Dependency Graph" functionality in AvalancheSchedulerSvc has been added.
- Internal IDs have been changed to adopt the naming scheme in the AvalancheSchedulerSvc functionalities.
Other considerations
The /GaudiHive/tests/src/test_GraphDumper.cpp test has been updated to reflect fixes and minor changes.