DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH dpdk] graph: make graphviz export more readable
@ 2024-08-28 13:42 Robin Jarry
  2024-08-29  5:47 ` [EXTERNAL] " Kiran Kumar Kokkilagadda
  0 siblings, 1 reply; 2+ messages in thread
From: Robin Jarry @ 2024-08-28 13:42 UTC (permalink / raw)
  To: dev, Jerin Jacob, Kiran Kumar K, Nithin Dabilpuram, Zhirun Yan

Change the color of arrows leading to sink nodes to dark orange. Remove
the node oval shape around the sink nodes and make their text dark
orange. This results in a much more readable output for large graphs.
See the link below for an example.

Link: https://f.jarry.cc/rte-graph-dot/ipv6.svg
Signed-off-by: Robin Jarry <rjarry@redhat.com>
---
 lib/graph/graph.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/graph/graph.c b/lib/graph/graph.c
index d5b8c9f918cf..dff8e690a80d 100644
--- a/lib/graph/graph.c
+++ b/lib/graph/graph.c
@@ -745,7 +745,7 @@ graph_to_dot(FILE *f, struct graph *graph)
 			if (rc < 0)
 				goto end;
 		} else if (graph_node->node->nb_edges == 0) {
-			rc = fprintf(f, " [color=darkorange]");
+			rc = fprintf(f, " [fontcolor=darkorange shape=plain]");
 			if (rc < 0)
 				goto end;
 		}
@@ -753,9 +753,12 @@ graph_to_dot(FILE *f, struct graph *graph)
 		if (rc < 0)
 			goto end;
 		for (i = 0; i < graph_node->node->nb_edges; i++) {
+			const char *node_attrs = attrs;
+			if (graph_node->adjacency_list[i]->node->nb_edges == 0)
+				node_attrs = " [color=darkorange]";
 			rc = fprintf(f, "\t\"%s\" -> \"%s\"%s;\n", node_name,
 				     graph_node->adjacency_list[i]->node->name,
-				     attrs);
+				     node_attrs);
 			if (rc < 0)
 				goto end;
 		}
-- 
2.46.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-08-29  5:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-28 13:42 [PATCH dpdk] graph: make graphviz export more readable Robin Jarry
2024-08-29  5:47 ` [EXTERNAL] " Kiran Kumar Kokkilagadda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).