Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic Graphing ability #35

Open
EthnTuttle opened this issue Jun 14, 2023 · 4 comments
Open

Dynamic Graphing ability #35

EthnTuttle opened this issue Jun 14, 2023 · 4 comments

Comments

@EthnTuttle
Copy link
Collaborator

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:

  • graph of federation balances over time
  • lightning payment success rate over time
  • what percent of epochs does guardian N get into over time
  • average size of lightning payment over time
  • how frequently do lightning payments enter refund case

@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
Copy link
Collaborator

douglaz commented Jun 14, 2023

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
Copy link
Collaborator Author

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
Copy link
Collaborator

okjodom commented Jun 19, 2023

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
Copy link
Collaborator Author

@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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants