aboutsummaryrefslogtreecommitdiffstats
path: root/lib/MGA/Mirrors/Controller/Graph.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/MGA/Mirrors/Controller/Graph.pm')
-rw-r--r--lib/MGA/Mirrors/Controller/Graph.pm7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/MGA/Mirrors/Controller/Graph.pm b/lib/MGA/Mirrors/Controller/Graph.pm
index 5d39b53..a2b6ad6 100644
--- a/lib/MGA/Mirrors/Controller/Graph.pm
+++ b/lib/MGA/Mirrors/Controller/Graph.pm
@@ -42,7 +42,12 @@ sub index :Path :Args(0) {
$graph->add_node($_, shape => 'box', cluster => $node{$_}{country});
}
}
- $graph->add_edge($from, $to);
+ # Minimum bandwidth of both nodes
+ my $bandwidth = ($node{$from}{bandwidth} < $node{$to}{bandwidth}) ? $node{$from}{bandwidth} : $node{$to}{bandwidth};
+ $bandwidth = 1 if (!$bandwidth);
+ my $thickness = log($bandwidth) / log(3) - 16; # Scale line thickness from bandwidth
+ $thickness = ($thickness < 1) ? 1 : $thickness;
+ $graph->add_edge($from => $to, penwidth => $thickness);
}
}
$c->stash->{graphviz}->{graph} = $graph;