Crates.io | ckb-analyzer |
lib.rs | ckb-analyzer |
version | 0.39.2 |
source | src |
created_at | 2020-11-21 06:31:01.100862 |
updated_at | 2021-01-25 07:58:17.656576 |
description | ckb-analyzer analyzes kinds of data sources and upload the results into InfluxDB |
homepage | https://github.com/keroro520/ckb-analyzer |
repository | |
max_upload_size | |
id | 314603 |
size | 433,283 |
ckb-analyzer is an agent for collecting metrics from ckb, then writing the processed metrics info InfluxDB. We can visualize these metrics on Grafana or other visualization tools.
ckb-analyzer is still working in progress rapidly.
Download from releases or
cargo install ckb-analyzer
ckb-analyzer reads several environment variables:
CKB_ANALYZER_CONFIG
specify the configuration file pathCKB_RPC_USERNAME
specify the authorization username to ckb rpc service, default is ""
CKB_RPC_PASSWORD
specify the authorization password to ckb rpc service, default is ""
INFLUXDB_USERNAME
specify the influxdb username, default is ""
INFLUXDB_PASSWORD
specify the influxdb password, default is ""
Command example:
CKB_ANALYZER_CONFIG=config/test.toml ckb-analyzer
canonical chain
network distribution
canonical chain reorganization
node's canonical chain growth
node's uncle blocks (some may not be included in canonical chain uncles)
miner
transaction transition (mainly focus the transaction traffic and state transition latency)
node's tx-pool state
processed cost (via ckb internal metrics service)
transaction and block propagation across the network
logged events
persist recent transactions (debug suite)
reproduce context
datasource issues
network fork, there are nodes with different block hash on the same block number
miner issues
chain growth issues
transaction transition issues
logged issues
Please reference our Grafana dashboard files at dashboards
ckb itself exposes metrics. Then why create ckb-analyzer?
Some metrics are not convenient to expose from ckb, like historical chain metrics and complex analyzing tasks. With ckb-analyzer, we can display historical chain information by extracting the historical blocks and do some complexity tasks outside ckb, which prevent adding too much complexity into ckb.
Why use InfluxDB?
Pushing metrics actively via HTTP to InfluxDB is much useful!
License: MIT