sks-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Sks-devel] Peering status of limited peers


From: Phil Pennock
Subject: [Sks-devel] Peering status of limited peers
Date: Mon, 12 Aug 2013 20:00:06 -0400

Kristian and I have been talking about identifying those SKS servers
which have limited connectivity.  He's going to follow up tomorrow with
more details from the canonical pool definitions.  In the meantime, for
your horror and entertainment, how I generated a graph and a link to the
graph.

It looks as though my graph-dot URL end-point is slightly buggy,
generating dir=both edges in the .dot files for both A->B and B->A,
which results in two double-headed arrows.  Duh.  I'll fix that another
time.  For now, I hack around that.

% fetch http://sks.spodhuis.org/sks-peers/graph-dot

% perl < graph-dot -ane 'BEGIN { print "digraph sks {\n"; sub munge { if (not 
exists $_[0]->{$_[1]}) { $_[0]->{$_[1]} = [] } push @{ $_[0]->{$_[1]} }, $_[2] 
} }; if (1../->/) { if (/keycount=(\d+)/ and $1 > 1) { $okay{$F[0]} = 1; 
$node{$F[0]} = $_ } ;next }; next unless $F[1] eq "->"; next unless exists 
$okay{$F[0]} and exists $okay{$F[2]}; next unless /dir=both/; munge \%out, 
$F[0], $F[2]; $lines{"$F[0];$F[2]"} = $_; END { foreach my $s (keys %out) { if 
(scalar @{$out{$s}} >= 7) { $skip{$s} = 1; $color="green" } else { $color="red" 
}; $node{$s} =~ s/\];$/ color="${color}"];/ } ; foreach my $s (sort keys %node) 
{ print $node{$s} }; foreach my $s (sort keys %out) { foreach my $p 
(@{$out{$s}}) { if (not (exists $skip{$s} and exists $skip{$p}) and not exists 
$done{"$p;$s"}) { print $lines{"$s;$p"}; $done{"$s;$p"} = 1; } } } ;print 
"}\n"; }'  > limited-graph.dot

% fdp -Tpng limited-graph.dot > limited-graph.png

The resulting PNG is available from:

  http://people.spodhuis.org/phil.pennock/tmp/sks-degree7.png

It's 4035x2505 and very readable.  600kB.

Nodes without a non-zero keycount are dropped.  Edges which are not
mutual are dropped (you only really peer if both sides agree you peer);
thus there's a bias against recently added peerings, if one side does
not have stats being regenerated after adding peers.

Nodes with a green border have at least 7 peers.  Nodes with a red
border do not.  I'm not debugging what happened to stinkfoot.org right
now.  The only edges shown are those where at least one of the nodes is
coloured red.

Alas, if things get a little messier if green is defined as 10:

  http://people.spodhuis.org/phil.pennock/tmp/sks-degree10.png

Perhaps of use for people wanting to explore the connectivity.

-Phil

Attachment: pgpBRm611zTIb.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]