github.com/netdata/go.d.plugin@v0.58.1/modules/geth/charts.go (about) 1 // SPDX-License-Identifier: GPL-3.0-or-later 2 3 package geth 4 5 import "github.com/netdata/go.d.plugin/agent/module" 6 7 type ( 8 Charts = module.Charts 9 Chart = module.Chart 10 Dims = module.Dims 11 Dim = module.Dim 12 ) 13 14 var charts = Charts{ 15 chartAncientChainData.Copy(), 16 chartChaindataDisk.Copy(), 17 chartAncientChainDataRate.Copy(), 18 chartChaindataDiskRate.Copy(), 19 chartChainDataSize.Copy(), 20 chartChainHead.Copy(), 21 chartP2PNetwork.Copy(), 22 chartNumberOfPeers.Copy(), 23 chartp2pDialsServes.Copy(), 24 chartReorgs.Copy(), 25 chartReorgsBlocks.Copy(), 26 chartGoRoutines.Copy(), 27 chartTxPoolCurrent.Copy(), 28 chartTxPoolQueued.Copy(), 29 chartTxPoolPending.Copy(), 30 chartRpcInformation.Copy(), 31 } 32 33 var ( 34 chartAncientChainDataRate = Chart{ 35 ID: "chaindata_ancient_rate", 36 Title: "Ancient Chaindata rate", 37 Units: "bytes/s", 38 Fam: "chaindata", 39 Ctx: "geth.eth_db_chaindata_ancient_io_rate", 40 Dims: Dims{ 41 {ID: ethDbChainDataAncientRead, Name: "reads", Algo: "incremental"}, 42 {ID: ethDbChainDataAncientWrite, Name: "writes", Mul: -1, Algo: "incremental"}, 43 }, 44 } 45 46 chartAncientChainData = Chart{ 47 ID: "chaindata_ancient", 48 Title: "Session ancient Chaindata", 49 Units: "bytes", 50 Fam: "chaindata", 51 Ctx: "geth.eth_db_chaindata_ancient_io", 52 Dims: Dims{ 53 {ID: ethDbChainDataAncientRead, Name: "reads"}, 54 {ID: ethDbChainDataAncientWrite, Name: "writes", Mul: -1}, 55 }, 56 } 57 chartChaindataDisk = Chart{ 58 ID: "chaindata_disk", 59 Title: "Session chaindata on disk", 60 Units: "bytes", 61 Fam: "chaindata", 62 Ctx: "geth.eth_db_chaindata_disk_io", 63 Dims: Dims{ 64 {ID: ethDbChaindataDiskRead, Name: "reads"}, 65 {ID: ethDbChainDataDiskWrite, Name: "writes", Mul: -1}, 66 }, 67 } 68 chartGoRoutines = Chart{ 69 ID: "goroutines", 70 Title: "Number of goroutines", 71 Units: "goroutines", 72 Fam: "goroutines", 73 Ctx: "geth.goroutines", 74 Dims: Dims{ 75 {ID: goRoutines, Name: "goroutines"}, 76 }, 77 } 78 chartChaindataDiskRate = Chart{ 79 ID: "chaindata_disk_date", 80 Title: "On disk Chaindata rate", 81 Units: "bytes/s", 82 Fam: "chaindata", 83 Ctx: "geth.eth_db_chaindata_disk_io_rate", 84 Dims: Dims{ 85 {ID: ethDbChaindataDiskRead, Name: "reads", Algo: "incremental"}, 86 {ID: ethDbChainDataDiskWrite, Name: "writes", Mul: -1, Algo: "incremental"}, 87 }, 88 } 89 chartChainDataSize = Chart{ 90 ID: "chaindata_db_size", 91 Title: "Chaindata Size", 92 Units: "bytes", 93 Fam: "chaindata", 94 Ctx: "geth.chaindata_db_size", 95 Dims: Dims{ 96 {ID: ethDbChainDataDiskSize, Name: "levelDB"}, 97 {ID: ethDbChainDataAncientSize, Name: "ancientDB"}, 98 }, 99 } 100 chartChainHead = Chart{ 101 ID: "chainhead_overall", 102 Title: "Chainhead", 103 Units: "block", 104 Fam: "chainhead", 105 Ctx: "geth.chainhead", 106 Dims: Dims{ 107 {ID: chainHeadBlock, Name: "block"}, 108 {ID: chainHeadReceipt, Name: "receipt"}, 109 {ID: chainHeadHeader, Name: "header"}, 110 }, 111 } 112 chartTxPoolPending = Chart{ 113 ID: "txpoolpending", 114 Title: "Pending Transaction Pool", 115 Units: "transactions", 116 Fam: "tx_pool", 117 Ctx: "geth.tx_pool_pending", 118 Dims: Dims{ 119 {ID: txPoolInvalid, Name: "invalid"}, 120 {ID: txPoolPending, Name: "pending"}, 121 {ID: txPoolLocal, Name: "local"}, 122 {ID: txPoolPendingDiscard, Name: " discard"}, 123 {ID: txPoolNofunds, Name: "no funds"}, 124 {ID: txPoolPendingRatelimit, Name: "ratelimit"}, 125 {ID: txPoolPendingReplace, Name: "replace"}, 126 }, 127 } 128 chartTxPoolCurrent = Chart{ 129 ID: "txpoolcurrent", 130 Title: "Transaction Pool", 131 Units: "transactions", 132 Fam: "tx_pool", 133 Ctx: "geth.tx_pool_current", 134 Dims: Dims{ 135 {ID: txPoolInvalid, Name: "invalid"}, 136 {ID: txPoolPending, Name: "pending"}, 137 {ID: txPoolLocal, Name: "local"}, 138 {ID: txPoolNofunds, Name: "pool"}, 139 }, 140 } 141 chartTxPoolQueued = Chart{ 142 ID: "txpoolqueued", 143 Title: "Queued Transaction Pool", 144 Units: "transactions", 145 Fam: "tx_pool", 146 Ctx: "geth.tx_pool_queued", 147 Dims: Dims{ 148 {ID: txPoolQueuedDiscard, Name: "discard"}, 149 {ID: txPoolQueuedEviction, Name: "eviction"}, 150 {ID: txPoolQueuedNofunds, Name: "no_funds"}, 151 {ID: txPoolQueuedRatelimit, Name: "ratelimit"}, 152 }, 153 } 154 chartP2PNetwork = Chart{ 155 ID: "p2p_network", 156 Title: "P2P bandwidth", 157 Units: "bytes/s", 158 Fam: "p2p_bandwidth", 159 Ctx: "geth.p2p_bandwidth", 160 Dims: Dims{ 161 {ID: p2pIngress, Name: "ingress", Algo: "incremental"}, 162 {ID: p2pEgress, Name: "egress", Mul: -1, Algo: "incremental"}, 163 }, 164 } 165 chartReorgs = Chart{ 166 ID: "reorgs_executed", 167 Title: "Executed Reorgs", 168 Units: "reorgs", 169 Fam: "reorgs", 170 Ctx: "geth.reorgs", 171 Dims: Dims{ 172 {ID: reorgsExecuted, Name: "executed"}, 173 }, 174 } 175 chartReorgsBlocks = Chart{ 176 ID: "reorgs_blocks", 177 Title: "Blocks Added/Removed from Reorg", 178 Units: "blocks", 179 Fam: "reorgs", 180 Ctx: "geth.reorgs_blocks", 181 Dims: Dims{ 182 {ID: reorgsAdd, Name: "added"}, 183 {ID: reorgsDropped, Name: "dropped"}, 184 }, 185 } 186 187 chartNumberOfPeers = Chart{ 188 ID: "p2p_peers_number", 189 Title: "Number of Peers", 190 Units: "peers", 191 Fam: "p2p_peers", 192 Ctx: "geth.p2p_peers", 193 Dims: Dims{ 194 {ID: p2pPeers, Name: "peers"}, 195 }, 196 } 197 198 chartp2pDialsServes = Chart{ 199 ID: "p2p_dials_serves", 200 Title: "P2P Serves and Dials", 201 Units: "calls/s", 202 Fam: "p2p_peers", 203 Ctx: "geth.p2p_peers_calls", 204 Dims: Dims{ 205 {ID: p2pDials, Name: "dials", Algo: "incremental"}, 206 {ID: p2pServes, Name: "serves", Algo: "incremental"}, 207 }, 208 } 209 chartRpcInformation = Chart{ 210 ID: "rpc_calls", 211 Title: "rpc calls", 212 Units: "calls/s", 213 Fam: "rpc", 214 Ctx: "geth.rpc_calls", 215 Dims: Dims{ 216 {ID: rpcFailure, Name: "failed", Algo: "incremental"}, 217 {ID: rpcSuccess, Name: "successful", Algo: "incremental"}, 218 }, 219 } 220 )