Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add gnohealth cli tool (#3158)
This PR adds a tool to the contribs dedicated to adding subcommands for health checks. The first available subcommand simply detects timestamp drift on a given chain. This test was useful in the context of this issue: #1950. However, it could later run on a dedicated server or on a GitHub Actions cron job to alert us in case significant drift occurs again. Results on test5 : ``` > gnohealth timestamp -ws -remote 'wss://rpc.test5.gno.land:443/websocket' -verbose block 411344 drifted of 3.094940942s (max 10s): OK block 411345 drifted of 2.368750176s (max 10s): OK block 411346 drifted of 2.310184977s (max 10s): OK block 411347 drifted of 2.158713327s (max 10s): OK block 411348 drifted of 2.203484957s (max 10s): OK block 411349 drifted of 2.156479203s (max 10s): OK block 411350 drifted of 2.155613458s (max 10s): OK block 411351 drifted of 2.296832155s (max 10s): OK block 411352 drifted of 2.132230389s (max 10s): OK block 411353 drifted of 2.181071735s (max 10s): OK block 411354 drifted of 2.575055701s (max 10s): OK block 411355 drifted of 2.034728695s (max 10s): OK block 411356 drifted of 2.285932658s (max 10s): OK block 411357 drifted of 2.330991247s (max 10s): OK block 411358 drifted of 2.365136593s (max 10s): OK block 411359 drifted of 2.035198868s (max 10s): OK block 411360 drifted of 2.128274141s (max 10s): OK block 411361 drifted of 2.48608003s (max 10s): OK block 411362 drifted of 2.072144703s (max 10s): OK block 411363 drifted of 2.297280076s (max 10s): OK block 411364 drifted of 2.224310386s (max 10s): OK no timestamp drifted beyond the maximum delta (average 2.280639734s) ``` Results on test4 : ``` > gnohealth timestamp -ws -remote 'wss://rpc.test4.gno.land:443/websocket' -verbose block 3618022 drifted of 3.765561468s (max 10s): OK block 3618023 drifted of 3.697091353s (max 10s): OK block 3618024 drifted of 3.576602477s (max 10s): OK block 3618025 drifted of 3.542585771s (max 10s): OK block 3618026 drifted of 3.72231133s (max 10s): OK block 3618027 drifted of 3.751154575s (max 10s): OK block 3618028 drifted of 8.312827308s (max 10s): OK block 3618029 drifted of 3.712806121s (max 10s): OK block 3618030 drifted of 3.65324572s (max 10s): OK no timestamp drifted beyond the maximum delta (average 4.192687347s) ``` <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 </details>
- Loading branch information