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  )