-
Notifications
You must be signed in to change notification settings - Fork 375
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
feat: add gnostats
, a node cluster data visualizer
#2666
base: master
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #2666 +/- ##
==========================================
- Coverage 60.16% 60.15% -0.01%
==========================================
Files 561 562 +1
Lines 74999 75455 +456
==========================================
+ Hits 45122 45393 +271
- Misses 26502 26663 +161
- Partials 3375 3399 +24
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Following up here on our discussion on Slack, I just thought of something: should we implement an authentication mechanism for any node that push stat to the hub using its ID keypair? For example, through a handshake that would prove that the node's identity is not spoofed. I see two possible simple implementations to set this up:
What do you think? |
I've thought about this authentication 👀 The ultimate case we're gonna have is you as the operator can start the I like the solution with nonce signing (I've found these systems to work in the past fine), but it would require the |
I'm not sure yet on how certain things work on Gno. For example, I don't know if the moniker is completely arbitrary or if it is registered/reserved somewhere. And does the If so, then personally, I would find it better to prove that the gnostats node is indeed in possession of the associated private key by, for example, signing a random value provided by the hub. And if it is impossible to sign a value with the Gno keypair from the gnostats binary, would it be possible for Gno to generate a subkey for this purpose beforehand? And for the hub to be able to verify the association between the subkey and the master key to authenticate the node? On the other hand, if the |
## Description This PR introduces the `gnostats` server implementation, for data streaming. <details><summary>Contributors' checklist...</summary> - [x] Added new tests, or not needed, or not feasible - [x] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [x] Updated the official documentation or not needed - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [x] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details>
<!-- please provide a detailed description of the changes made in this pull request. --> This PR introduces the gnostats agent that acts as a bridge between the Gno node RPC endpoint and gnostats Hub. Part of #2666. <details><summary>Contributors' checklist...</summary> - [x] Added new tests, or not needed, or not feasible - [x] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [x] Updated the official documentation or not needed - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [x] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details>
Description
This PR introduces
gnostats
, a new tool for quickly gathering node cluster data, and visualizing it on a dashboard.TODO
Contributors' checklist...
BREAKING CHANGE: xxx
message was included in the description