fedimint / ui

MIT License
24 stars 40 forks source link

Dynamic Graphing ability #35

Open EthnTuttle opened 1 year ago

EthnTuttle commented 1 year ago

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.

douglaz commented 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

EthnTuttle commented 1 year ago

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.

okjodom commented 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

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

image

EthnTuttle commented 1 year ago

@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