solana/metrics/scripts
Justin Starry 85eb37fab0
Merge pull request from GHSA-8v47-8c53-wwrc
* Track transaction check time separately from account loads

* banking packet process metrics

* Remove signature clone in status cache lookup

* Reduce allocations when converting packets to transactions

* Add blake3 hash of transaction messages in status cache

* Bug fixes

* fix tests and run fmt

* Address feedback

* fix simd tx entry verification

* Fix rebase

* Feedback

* clean up

* Add tests

* Remove feature switch and fall back to signature check

* Bump programs/bpf Cargo.lock

* clippy

* nudge benches

* Bump `BankSlotDelta` frozen ABI hash`

* Add blake3 to sdk/programs/Cargo.lock

* nudge bpf tests

* short circuit status cache checks

Co-authored-by: Trent Nelson <trent@solana.com>
2021-04-13 00:28:08 -06:00
..
grafana-provisioning/dashboards Merge pull request from GHSA-8v47-8c53-wwrc 2021-04-13 00:28:08 -06:00
.gitignore Inline metrics/scripts dependencies 2019-06-13 10:00:24 -07:00
README.md Rename drone to faucet (#7508) 2019-12-16 14:05:17 -07:00
adjust-dashboard-for-channel.py Clean up metrics dashboard 2020-04-17 18:08:59 -07:00
enable.sh Generate random passwords and keep them out of the environment/program args 2019-06-13 12:37:39 -07:00
grafana.ini
influxdb.conf
start.sh Rework cluster metrics dashboard to support the modern clusters 2020-03-11 14:14:56 -07:00
status.sh Add curl retries 2019-06-13 15:05:07 -07:00
stop.sh Generate random passwords and keep them out of the environment/program args 2019-06-13 12:37:39 -07:00
test.sh Rename drone to faucet (#7508) 2019-12-16 14:05:17 -07:00

README.md

This directory contains scripts to manage a local instance of InfluxDB OSS and Grafana

Setup

Start the local metric services:

$ ./start.sh

Metrics are enabled on a per-shell basis which means you must source the following scripts in each shell in which you start an application you wish to collect metrics from. For example, if running a Solana validator you must run source ./enable.sh before starting the node:

$ source ./enable.sh

Once metrics have been started and you have an application running you can view the metrics at:

http://localhost:3000/dashboards

To test that things are working correctly you can send a test airdrop data point and then check the metrics dashboard:

$ ./test.sh

Stop metric services:

$ ./stop.sh

InfluxDB CLI

You may find it useful to install the InfluxDB client for adhoc metrics collection/viewing

  • Linux - sudo apt-get install influxdb-client
  • macOS - brew install influxdb

Simple example of pulling all airdrop measurements out of the testnet database:

$ influx -database testnet -username read -password read -execute 'SELECT * FROM "faucet-airdrop"'

Reference: https://docs.influxdata.com/influxdb/v1.5/query_language/

Monitoring

To monitor activity, run one of:

$ docker logs -f influxdb
$ docker logs -f grafana

Reference