netdata/netdata

View on GitHub
src/go/collectors/go.d.plugin/modules/geth/charts.go

Summary

Maintainability
A
0 mins
Test Coverage
// SPDX-License-Identifier: GPL-3.0-or-later

package geth

import "github.com/netdata/netdata/go/go.d.plugin/agent/module"

type (
    Charts = module.Charts
    Chart  = module.Chart
    Dims   = module.Dims
    Dim    = module.Dim
)

var charts = Charts{
    chartAncientChainData.Copy(),
    chartChaindataDisk.Copy(),
    chartAncientChainDataRate.Copy(),
    chartChaindataDiskRate.Copy(),
    chartChainDataSize.Copy(),
    chartChainHead.Copy(),
    chartP2PNetwork.Copy(),
    chartNumberOfPeers.Copy(),
    chartp2pDialsServes.Copy(),
    chartReorgs.Copy(),
    chartReorgsBlocks.Copy(),
    chartGoRoutines.Copy(),
    chartTxPoolCurrent.Copy(),
    chartTxPoolQueued.Copy(),
    chartTxPoolPending.Copy(),
    chartRpcInformation.Copy(),
}

var (
    chartAncientChainDataRate = Chart{
        ID:    "chaindata_ancient_rate",
        Title: "Ancient Chaindata rate",
        Units: "bytes/s",
        Fam:   "chaindata",
        Ctx:   "geth.eth_db_chaindata_ancient_io_rate",
        Dims: Dims{
            {ID: ethDbChainDataAncientRead, Name: "reads", Algo: "incremental"},
            {ID: ethDbChainDataAncientWrite, Name: "writes", Mul: -1, Algo: "incremental"},
        },
    }

    chartAncientChainData = Chart{
        ID:    "chaindata_ancient",
        Title: "Session ancient Chaindata",
        Units: "bytes",
        Fam:   "chaindata",
        Ctx:   "geth.eth_db_chaindata_ancient_io",
        Dims: Dims{
            {ID: ethDbChainDataAncientRead, Name: "reads"},
            {ID: ethDbChainDataAncientWrite, Name: "writes", Mul: -1},
        },
    }
    chartChaindataDisk = Chart{
        ID:    "chaindata_disk",
        Title: "Session chaindata on disk",
        Units: "bytes",
        Fam:   "chaindata",
        Ctx:   "geth.eth_db_chaindata_disk_io",
        Dims: Dims{
            {ID: ethDbChaindataDiskRead, Name: "reads"},
            {ID: ethDbChainDataDiskWrite, Name: "writes", Mul: -1},
        },
    }
    chartGoRoutines = Chart{
        ID:    "goroutines",
        Title: "Number of goroutines",
        Units: "goroutines",
        Fam:   "goroutines",
        Ctx:   "geth.goroutines",
        Dims: Dims{
            {ID: goRoutines, Name: "goroutines"},
        },
    }
    chartChaindataDiskRate = Chart{
        ID:    "chaindata_disk_date",
        Title: "On disk Chaindata rate",
        Units: "bytes/s",
        Fam:   "chaindata",
        Ctx:   "geth.eth_db_chaindata_disk_io_rate",
        Dims: Dims{
            {ID: ethDbChaindataDiskRead, Name: "reads", Algo: "incremental"},
            {ID: ethDbChainDataDiskWrite, Name: "writes", Mul: -1, Algo: "incremental"},
        },
    }
    chartChainDataSize = Chart{
        ID:    "chaindata_db_size",
        Title: "Chaindata Size",
        Units: "bytes",
        Fam:   "chaindata",
        Ctx:   "geth.chaindata_db_size",
        Dims: Dims{
            {ID: ethDbChainDataDiskSize, Name: "levelDB"},
            {ID: ethDbChainDataAncientSize, Name: "ancientDB"},
        },
    }
    chartChainHead = Chart{
        ID:    "chainhead_overall",
        Title: "Chainhead",
        Units: "block",
        Fam:   "chainhead",
        Ctx:   "geth.chainhead",
        Dims: Dims{
            {ID: chainHeadBlock, Name: "block"},
            {ID: chainHeadReceipt, Name: "receipt"},
            {ID: chainHeadHeader, Name: "header"},
        },
    }
    chartTxPoolPending = Chart{
        ID:    "txpoolpending",
        Title: "Pending Transaction Pool",
        Units: "transactions",
        Fam:   "tx_pool",
        Ctx:   "geth.tx_pool_pending",
        Dims: Dims{
            {ID: txPoolInvalid, Name: "invalid"},
            {ID: txPoolPending, Name: "pending"},
            {ID: txPoolLocal, Name: "local"},
            {ID: txPoolPendingDiscard, Name: " discard"},
            {ID: txPoolNofunds, Name: "no funds"},
            {ID: txPoolPendingRatelimit, Name: "ratelimit"},
            {ID: txPoolPendingReplace, Name: "replace"},
        },
    }
    chartTxPoolCurrent = Chart{
        ID:    "txpoolcurrent",
        Title: "Transaction Pool",
        Units: "transactions",
        Fam:   "tx_pool",
        Ctx:   "geth.tx_pool_current",
        Dims: Dims{
            {ID: txPoolInvalid, Name: "invalid"},
            {ID: txPoolPending, Name: "pending"},
            {ID: txPoolLocal, Name: "local"},
            {ID: txPoolNofunds, Name: "pool"},
        },
    }
    chartTxPoolQueued = Chart{
        ID:    "txpoolqueued",
        Title: "Queued Transaction Pool",
        Units: "transactions",
        Fam:   "tx_pool",
        Ctx:   "geth.tx_pool_queued",
        Dims: Dims{
            {ID: txPoolQueuedDiscard, Name: "discard"},
            {ID: txPoolQueuedEviction, Name: "eviction"},
            {ID: txPoolQueuedNofunds, Name: "no_funds"},
            {ID: txPoolQueuedRatelimit, Name: "ratelimit"},
        },
    }
    chartP2PNetwork = Chart{
        ID:    "p2p_network",
        Title: "P2P bandwidth",
        Units: "bytes/s",
        Fam:   "p2p_bandwidth",
        Ctx:   "geth.p2p_bandwidth",
        Dims: Dims{
            {ID: p2pIngress, Name: "ingress", Algo: "incremental"},
            {ID: p2pEgress, Name: "egress", Mul: -1, Algo: "incremental"},
        },
    }
    chartReorgs = Chart{
        ID:    "reorgs_executed",
        Title: "Executed Reorgs",
        Units: "reorgs",
        Fam:   "reorgs",
        Ctx:   "geth.reorgs",
        Dims: Dims{
            {ID: reorgsExecuted, Name: "executed"},
        },
    }
    chartReorgsBlocks = Chart{
        ID:    "reorgs_blocks",
        Title: "Blocks Added/Removed from Reorg",
        Units: "blocks",
        Fam:   "reorgs",
        Ctx:   "geth.reorgs_blocks",
        Dims: Dims{
            {ID: reorgsAdd, Name: "added"},
            {ID: reorgsDropped, Name: "dropped"},
        },
    }

    chartNumberOfPeers = Chart{
        ID:    "p2p_peers_number",
        Title: "Number of Peers",
        Units: "peers",
        Fam:   "p2p_peers",
        Ctx:   "geth.p2p_peers",
        Dims: Dims{
            {ID: p2pPeers, Name: "peers"},
        },
    }

    chartp2pDialsServes = Chart{
        ID:    "p2p_dials_serves",
        Title: "P2P Serves and Dials",
        Units: "calls/s",
        Fam:   "p2p_peers",
        Ctx:   "geth.p2p_peers_calls",
        Dims: Dims{
            {ID: p2pDials, Name: "dials", Algo: "incremental"},
            {ID: p2pServes, Name: "serves", Algo: "incremental"},
        },
    }
    chartRpcInformation = Chart{
        ID:    "rpc_calls",
        Title: "rpc calls",
        Units: "calls/s",
        Fam:   "rpc",
        Ctx:   "geth.rpc_calls",
        Dims: Dims{
            {ID: rpcFailure, Name: "failed", Algo: "incremental"},
            {ID: rpcSuccess, Name: "successful", Algo: "incremental"},
        },
    }
)