in common_components/monitoring/json_to_dot.py [0:0]
def main():
""" Main for converting a dependency graph into a graphviz DOT formatted graph"""
parser = argparse.ArgumentParser(description='Convert JSON performance graph to DOT graph')
parser.add_argument('json_graph', nargs='?', type=argparse.FileType('r'),
default=sys.stdin)
parser.add_argument('dot_graph', nargs='?', type=argparse.FileType('w'),
default=sys.stdout)
parser.add_argument('--lr',
help='Left to right graph instead of top to bottom',
action='store_true')
parser.add_argument('--seconds_per_block',
type=int, default=1,
help='Seconds per incremental in graph output')
parser.add_argument('--debug',
help='Enable debug style DOT graph',
action='store_true')
args = parser.parse_args()
# Read in JSON
data = json.load(sys.stdin)
# Convert to a dictionary from a list
nodes = json_to_dot_dict(data)
# Find real nodes, trim names
find_real(nodes)
trim_names(nodes)
find_critical_path(nodes)
# Reader as a DOT graph
render_dot(nodes,
left_right=args.lr,
seconds_per_block=args.seconds_per_block,
debug=args.debug)