Hi Paul,
So, the admin looks at the graph above, sees there's an disconnection between two intermediary devices and can actually do something about it. Is a network connection broken? Or maybe he just set the address wrong in the DNS? Etc.Actually it's oversimplified. There is no such thing as disconnect in nanomsg. It may be endpoint which has no underlying transports. But if DNS SRV is implemented right, that thing is even more subtle.
Distinguish the user and admin roles here:For the user TCP disconnect basically doesn't exist; it's totally invisible and it should be.
However, from the admin point of view you want to know whether particular TCP connection is broken, so that you can fix the underlying problem.
Also admins do not look at the graphs in the first place. They get SMSes or Emails when monitoring system get's error. And only if it's not clear from monitoring data what's wrong, the graphs are helpful. So the statistical data is a primary thing to implement. And then graphs, on top of it.
Sorry for the wording, I've used "graph" instead of more generic "monitoring data".
I am not going to disucss implementatation details here, but the idea is that admins store the actual info about topology setup in a distributed database (such as DNS) and that the library translates topology://market-data-feed" into actual endpoint(s) to connect to by querying the database.So do you thing the DNS database alone is enough to build the graph? (except actual connection counts of course)
Definitely not. DNS (or alternative) stores rules to build the graph rather than the graph itself.
Thus, I would argue, the graph should be built from monitoring data alone. Martin