mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-22 19:40:37 +00:00
9935ca3733
* add tracing * monitoring pkg * move prom * Add client stats Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
122 lines
15 KiB
Markdown
122 lines
15 KiB
Markdown
# Client stats reporting
|
|
|
|
## Specification
|
|
|
|
The request JSON object is a non-nested object with the following properties. The process refers to which process data is associated with the request.
|
|
|
|
|
|
|Property |Type |Process |Source |Description |
|
|
|-----------------------------------|-------------|---------------------|-------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
|version |int |Every request |hard-coded |Stats data specification version, current only `1` is accepted |
|
|
|timestamp |long |Every request |system time |Unix timestamp in milliseconds |
|
|
|process |string (enum)|Every request |hard-coded / cli flag |Enum values: validator, beaconnode, system |
|
|
|cpu_process_seconds_total |long |beaconnode, validator|prom: process_cpu_seconds_total |CPU seconds consumed by the process |
|
|
|memory_process_bytes |long |beaconnode, validator|prom: process_resident_memory_bytes |Number of bytes allocated to the process |
|
|
|client_name |string |beaconnode, validator|hard-coded to "prysm" |Name of the client type. Ex: prysm, lighthouse, nimbus, teku |
|
|
|client_version |string |beaconnode, validator|prom: prysm_version (label: version) |Client version. Ex: 1.0.0-beta.0 |
|
|
|client_build |int |beaconnode, validator|prom: prysm_version (label: buildDate) |Integer representation of build for easier comparison |
|
|
|disk_beaconchain_bytes_total |long |beaconchain |prom: bcnode_disk_beaconchain_bytes_total |The amount of data consumed on disk by the beacon chain's database. |
|
|
|network_libp2p_bytes_total_receive |long |beaconchain |(currently unsupported) |The number of bytes received via libp2p traffic |
|
|
|network_libp2p_bytes_total_transmit|long |beaconchain |(currently unsupported) |The number of bytes transmitted via libp2p traffic |
|
|
|network_peers_connected |int |beaconchain |(currently unsupported) |The number of peers currently connected to the beacon chain |
|
|
|sync_eth1_connected |bool |beaconchain |prom: powchain_sync_eth1_connected |Whether or not the beacon chain node is connected to a _synced_ eth1 node |
|
|
|sync_eth2_synced |bool |beaconchain |prom: beacon_clock_time_slot (true if this equals prom: beacon_head_slot)|Whether or not the beacon chain node is in sync with the beacon chain network |
|
|
|sync_beacon_head_slot |long |beaconchain |prom: beacon_head_slot |The head slot number. |
|
|
|sync_eth1_fallback_configured |bool |beaconchain |prom: powchain_sync_eth1_fallback_configured |Whether or not the beacon chain node has a fallback eth1 endpoint configured. |
|
|
|sync_eth1_fallback_connected |bool |beaconchain |prom: powchain_sync_eth1_fallback_connected |Whether or not the beacon chain node is connected to a fallback eth1 endpoint. A true value indicates a failed or interrupted connection with the primary eth1 endpoint.|
|
|
|slasher_active |bool |beaconchain |(coming soon) |Whether or not slasher functionality is enabled. |
|
|
|sync_eth2_fallback_configured |bool |validator |(currently unsupported) |Whether or not the process has a fallback eth2 endpoint configured |
|
|
|sync_eth2_fallback_connected |bool |validator |(currently unsupported) |Weather or not the process has connected to the failover eth2 endpoint. A true value indicates a failed or interrupted connection with the primary eth2 endpoint. |
|
|
|validator_total |int |validator |prom: validator_statuses (count of all peers) |The number of validating keys in use. |
|
|
|validator_active |int |validator |prom: validator_statuses (count of peers w/ "ACTIVE" status label) |The number of validator keys that are currently active. |
|
|
|cpu_cores |int |system |(currently unsupported) |The number of CPU cores available on the host machine |
|
|
|cpu_threads |int |system |(currently unsupported) |The number of CPU threads available on the host machine |
|
|
|cpu_node_system_seconds_total |long |system |(currently unsupported) |Overall CPU seconds observed on the host machine for all processes. |
|
|
|cpu_node_user_seconds_total |long |system |(currently unsupported) |?? |
|
|
|cpu_node_iowait_seconds_total |long |system |(currently unsupported) |?? |
|
|
|cpu_node_idle_seconds_total |long |system |(currently unsupported) |?? |
|
|
|memory_node_bytes_total |long |system |(currently unsupported) |?? |
|
|
|memory_node_bytes_free |long |system |(currently unsupported) |?? |
|
|
|memory_node_bytes_cached |long |system |(currently unsupported) |?? |
|
|
|memory_node_bytes_bufferd |long |system |(currently unsupported) |?? |
|
|
|disk_node_bytes_total |long |system |(currently unsupported) |?? |
|
|
|disk_node_bytes_free |long |system |(currently unsupported) |?? |
|
|
|disk_node_io_seconds |long |system |(currently unsupported) |?? |
|
|
|disk_node_reads_total |long |system |(currently unsupported) |?? |
|
|
|disk_node_writes_total |long |system |(currently unsupported) |?? |
|
|
|network_node_bytes_total_receive |long |system |(currently unsupported) |?? |
|
|
|network_node_bytes_total_transmit |long |system |(currently unsupported) |?? |
|
|
|misc_node_boot_ts_system |long |system |(currently unsupported) |?? |
|
|
|misc_os |string |system |(currently unsupported) |Enum values: lin, win, mac, unk |
|
|
|
|
The client stats reporter will submit a request object for each process type. The report request may
|
|
submit a list of data or a single JSON object.
|
|
|
|
### Examples
|
|
|
|
POST https://beaconcha.in/api/v1/stats/$API_KEY/$MACHINE_NAME
|
|
|
|
**Single object payload**
|
|
|
|
```json
|
|
{
|
|
"version": 1,
|
|
"timestamp": 11234567,
|
|
"process": "validator",
|
|
"cpu_process_seconds_total": 1234567,
|
|
"memory_process_bytes": 654321,
|
|
"client_name": "lighthouse",
|
|
"client_version": "1.1.2",
|
|
"client_build": 12,
|
|
"sync_eth2_fallback_configured": false,
|
|
"sync_eth2_fallback_connected": false,
|
|
"validator_total": 3,
|
|
"validator_active": 2
|
|
}
|
|
```
|
|
|
|
**Multiple object payload**
|
|
|
|
```json
|
|
[
|
|
{
|
|
"version":1,
|
|
"timestamp":1618835497239,
|
|
"process":"beaconnode",
|
|
"cpu_process_seconds_total":6925,
|
|
"memory_process_bytes":1175138304,
|
|
"client_name":"lighthouse",
|
|
"client_version":"1.1.3",
|
|
"client_build":42,
|
|
"sync_eth2_fallback_configured":false,
|
|
"sync_eth2_fallback_connected":false,
|
|
"validator_active":1,
|
|
"validator_total":1
|
|
},
|
|
{
|
|
"version":1,
|
|
"timestamp":1618835497258,
|
|
"process":"system",
|
|
"cpu_cores":4,
|
|
"cpu_threads":8,
|
|
"cpu_node_system_seconds_total":1953818,
|
|
"cpu_node_user_seconds_total":229215,
|
|
"cpu_node_iowait_seconds_total":3761,
|
|
"cpu_node_idle_seconds_total":1688619,
|
|
"memory_node_bytes_total":33237434368,
|
|
"memory_node_bytes_free":500150272,
|
|
"memory_node_bytes_cached":13904945152,
|
|
"memory_node_bytes_buffers":517832704,
|
|
"disk_node_bytes_total":250436972544,
|
|
"disk_node_bytes_free":124707479552,
|
|
"disk_node_io_seconds":0,
|
|
"disk_node_reads_total":3362272,
|
|
"disk_node_writes_total":47766864,
|
|
"network_node_bytes_total_receive":26546324572,
|
|
"network_node_bytes_total_transmit":12057786467,
|
|
"misc_node_boot_ts_seconds":1617707420,
|
|
"misc_os":"unk"
|
|
}
|
|
]
|
|
```
|