Open EthnTuttle opened 1 year ago
I think exporting prometheus metrics is the best solution we have. after a metric is exported you manipulate it if you want (https://prometheus.io/docs/prometheus/latest/querying/examples/) and then using something like grafana create graphs and dashboards
From the Discord: https://discord.com/channels/990354215060795454/1118572639875764304
There was talk of creating a read-only client for the DB. From some research last night, I don't think we need Prometheus as that's just duplicating storage. I think the solution would be a read only client that a Grafana plugin integrates with.
I think exporting prometheus metrics is the best solution we have. after a metric is exported you manipulate it if you want (https://prometheus.io/docs/prometheus/latest/querying/examples/) and then using something like grafana create graphs and dashboards
Don't these seem quite involved for the graph and chart prototyping environment we are looking for? My understanding is we want a pipeline to quickly iterate and know what observability metrics are useful in administering a federation as a guardian. Pipeline should just have a quick and dirty graphing experience, (like jupyter nodebooks?)
After we prototype, have a good handle on the data necessary and some idea on how to visually chart a graph, we'd then go through design and dev iterations to add them to Fedimint Admin UI dashboard .
Example, suppose we start with graph of federation balances over time, it might eventually show up within Fedimint Admin UI dashboard like below
@douglaz has a PR working toward enabling a metrics daemon. Will be good to follow it in relation to this topic. https://github.com/fedimint/fedimint/pull/2673/files
From @justinmoon
One thing I would really like is a simple way to build little dashboard from a federation or gateway rockdb.
I would love to just have a jupyter notebook that I could easily write little scripts to measure things like:
@elsirion mentioned promethius, too, but I'm not very familiar with it
What I'd like to avoid is really long development cycles where someone thinks of a graph while prototyping dashboard in figma, then it's implemented in admin API, then implemented in frontend, then deployed. The feedback loop there will be really slow that way.