knightss27 / grafana-network-weathermap

A fully featured and customizable network weathermap plugin for Grafana (9.0+).
https://grafana.com/grafana/plugins/knightss27-weathermap-panel/
Apache License 2.0
141 stars 7 forks source link

Link bandwidth visualizations. #4

Open hy-ntyni opened 2 years ago

hy-ntyni commented 2 years ago

Hi,

thanks for grafana-network-weathermap, very much appreciated!

One feature we'd love to see in it is improving visibility of the link bandwidth. We have a somewhat heterogenous network with link speeds ranging from 1Gbps to 100Gbps, so obviously the same percentage of link usage can mean very different data streams for us.

I'm thinking of making faster links appear as thicker arrows, and slower ones as thinner. I suppose the scale could be configured globally, ideally showing up as a separate legend item like the current traffic load color map.

If that's too much, even making link arrow width configurable per link would allow tuning these manually for the most important links.

Is this something you'd be willing to consider and/or review PRs for?

knightss27 commented 2 years ago

I would be happy to add a per-link configuration option for those that want to change the width.

I wonder how you are thinking a legend might look if there were to be a scale for link sizes? That would definitely be possible to implement though would need to be planned out to work well, especially as if you have 1-100Gbps I would imagine you don't necessarily want a 1:1 correlation in link size, though you are right that there could be a similar interface for the color/load that allows you to section some range of bandwidth into some link width.

hy-ntyni commented 2 years ago

Yeah I was thinking of a set of discrete link speed values, much like the current color legend. I think setting the thresholds manually would be fine. If there was automatic scaling I suppose it should be logarithmic by default or something like that but it seems tricky to make that neat.

Maybe something like this:

link-legend

knightss27 commented 2 years ago

I've added per-link configuration to be released with v0.3.2. This took a little longer than expected as I had to refactor a bunch of link-related stuff to make this work properly (mainly all the calculations for fitting links next to each other). Since this refactor was the harder part, I am planning to add scaling sizes with v0.3.3.

image

sirjeannot commented 1 year ago

Representing link bandwidth is doable with arrow thickness. I'm generating json config file from other sources, making this change didn't take much time. The only thing missing would be asymetrical bandwidth but... there aren't many of these so it's not really needed.