[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