From 49a6be058f15286f26767d9002edd54e14045fa5 Mon Sep 17 00:00:00 2001 From: Thorsten Vitt Date: Wed, 6 Mar 2019 21:03:46 +0100 Subject: [PATCH] Log graphs & metadata that take long to render --- src/macrogen/visualize.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/macrogen/visualize.py b/src/macrogen/visualize.py index 014efe4..5134585 100644 --- a/src/macrogen/visualize.py +++ b/src/macrogen/visualize.py @@ -1,5 +1,6 @@ from typing import Sequence -from datetime import date +from datetime import date, timedelta +from time import perf_counter from multiprocessing.pool import Pool from pathlib import Path @@ -173,12 +174,18 @@ def render_file(filename): Renders the given dot file to an svg file using dot. """ graph = AGraph(filename=filename) + starttime = perf_counter() try: resultfn = filename[:-3] + 'svg' graph.draw(resultfn, format='svg', prog='dot') return resultfn except: logger.exception('Failed to render %s', filename) + finally: + duration = timedelta(seconds=perf_counter()-starttime) + if duration > timedelta(seconds=5): + logger.warning('Rendering %s with %d nodes and %d edges took %s', + filename, graph.number_of_nodes(), graph.number_of_edges(), duration) def render_all():