[Babel-users] Aggregating and visualising data from multiple Babel routers

Gabriel Kerneis gabriel at kerneis.info
Thu Jul 3 19:35:40 UTC 2014


Le 2014-07-03 16:11, Baptiste Jonglez a écrit :
> I just wrote a proof-of-concept in Python, to get a feeling on how 
> this
> can be done.  A first version of the code is available here:
>
>   http://ze.polyno.me/babel/babelcli.py

Nice.

Caveat: I didnt read the code, and may have not fully understood your 
explanations. But it looks like you are taking the opposite view to what 
I had in mind.

For me, only routes are "reliable", because they are the only thing 
which give you accurate information about paths between nodes (thanks to 
router-ids). Neighbours, on the other hand, are identified by their 
interfaces, and there is no explicit relationship between a neighbour 
and a router-id (but you can try to guess it using routes with a null 
reference metric). You could even imagine a neighbour relaying packets 
but announcing no route at all (hence "hidden", without any way to infer 
its router-id).

So my approach would be to collect all router-ids, and build edges 
between every couple of router-ids, based on routes, keeping only the 
lowest metric for each couple (distinguishing between routes with a 
refmetric of 0 and others). Then, you can enrich information based on 
neighbours if you manage to link them to a router-id. Yes indeed, some 
of the "edges" that you get in fact contain more hops that you don't 
know about, and showing them with a different style as you do is 
probably a good idea.

This is still a bit confused in my head, I hope it makes sense (it 
certainly helped to write it down). Please, prove me wrong or ask more 
questions. It would also helped if you described (your understanding of) 
"the same method as babelweb".

> - we currently rebuild the whole graph at each update: it's possible 
> to be
>   way more efficient

And way more buggy. I tried, trust me, you don't want to go down that 
route except if you monitor thousands of nodes and need sub-second 
latency for your graph updates. (Or maybe I'm just not a good enough 
programmer. But remember Knuth.)

Best,
-- 
Gabriel



More information about the Babel-users mailing list