[EXTERNAL] [PATCH dpdk] graph: make graphviz export more readable

Kiran Kumar Kokkilagadda kirankumark at marvell.com
Thu Aug 29 07:47:55 CEST 2024



> -----Original Message-----
> From: Robin Jarry <rjarry at redhat.com>
> Sent: Wednesday, August 28, 2024 7:12 PM
> To: dev at dpdk.org; Jerin Jacob <jerinj at marvell.com>; Kiran Kumar Kokkilagadda
> <kirankumark at marvell.com>; Nithin Kumar Dabilpuram
> <ndabilpuram at marvell.com>; Zhirun Yan <yanzhirun_163 at 163.com>
> Subject: [EXTERNAL] [PATCH dpdk] graph: make graphviz export more readable
> 
> 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. 
> 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://urldefense.proofpoint.com/v2/url?u=https-3A__f.jarry.cc_rte-
> 2Dgraph-
> 2Ddot_ipv6.svg&d=DwIDAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=owEKckYY4FTmil1
> Z6oBURwkTThyuRbLAY9LdfiaT6HA&m=D41w8N-
> HiTO9kFbxr3kWwW4TVmWav2Zozr9byDbHSj7TRx6egfC1ut70K2HKJQ0y&s=0gZZ
> VRoev4w7I_KowoRkSn40vymIJgyxS8vBPgEk90c&e=
> Signed-off-by: Robin Jarry <rjarry at redhat.com>
> ---

Acked-by: Kiran Kumar Kokkilagadda <kirankumark at marvell.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



More information about the dev mailing list