firehol/netdata

View on GitHub
src/go/plugin/go.d/modules/ipfs/charts.go

Summary

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

package ipfs

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

const (
    prioBandwidth = module.Priority + iota
    prioSwarmPeers
    prioDatastoreSpaceUtilization
    prioRepoSize
    prioRepoObj
    prioRepoPinnedObj
)

var charts = module.Charts{
    bandwidthChart.Copy(),
    peersChart.Copy(),
    datastoreUtilizationChart.Copy(),
    repoSizeChart.Copy(),
    repoObjChart.Copy(),
    repoPinnedObjChart.Copy(),
}

var (
    bandwidthChart = module.Chart{
        ID:       "bandwidth",
        Title:    "IPFS Bandwidth",
        Units:    "bytes/s",
        Fam:      "bandwidth",
        Ctx:      "ipfs.bandwidth",
        Type:     module.Area,
        Priority: prioBandwidth,
        Dims: module.Dims{
            {ID: "in", Algo: module.Incremental},
            {ID: "out", Mul: -1, Algo: module.Incremental},
        },
    }

    peersChart = module.Chart{
        ID:       "peers",
        Title:    "IPFS Peers",
        Units:    "peers",
        Fam:      "peers",
        Ctx:      "ipfs.peers",
        Type:     module.Line,
        Priority: prioSwarmPeers,
        Dims: module.Dims{
            {ID: "peers"},
        },
    }

    datastoreUtilizationChart = module.Chart{
        ID:       "datastore_space_utilization",
        Title:    "IPFS Datastore Space Utilization",
        Units:    "percent",
        Fam:      "size",
        Ctx:      "ipfs.datastore_space_utilization",
        Type:     module.Area,
        Priority: prioDatastoreSpaceUtilization,
        Dims: module.Dims{
            {ID: "used_percent", Name: "used"},
        },
    }
    repoSizeChart = module.Chart{
        ID:       "repo_size",
        Title:    "IPFS Repo Size",
        Units:    "bytes",
        Fam:      "size",
        Ctx:      "ipfs.repo_size",
        Type:     module.Line,
        Priority: prioRepoSize,
        Dims: module.Dims{
            {ID: "size"},
        },
    }

    repoObjChart = module.Chart{
        ID:       "repo_objects",
        Title:    "IPFS Repo Objects",
        Units:    "objects",
        Fam:      "objects",
        Ctx:      "ipfs.repo_objects",
        Type:     module.Line,
        Priority: prioRepoObj,
        Dims: module.Dims{
            {ID: "objects"},
        },
    }
    repoPinnedObjChart = module.Chart{
        ID:       "repo_pinned_objects",
        Title:    "IPFS Repo Pinned Objects",
        Units:    "objects",
        Fam:      "objects",
        Ctx:      "ipfs.repo_pinned_objects",
        Type:     module.Line,
        Priority: prioRepoPinnedObj,
        Dims: module.Dims{
            {ID: "pinned"},
            {ID: "recursive_pins"},
        },
    }
)