summaryrefslogtreecommitdiffstats
path: root/src/go/plugin/go.d/modules/ipfs/charts.go
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/go/plugin/go.d/modules/ipfs/charts.go105
1 files changed, 105 insertions, 0 deletions
diff --git a/src/go/plugin/go.d/modules/ipfs/charts.go b/src/go/plugin/go.d/modules/ipfs/charts.go
new file mode 100644
index 000000000..1f71c7b40
--- /dev/null
+++ b/src/go/plugin/go.d/modules/ipfs/charts.go
@@ -0,0 +1,105 @@
+// 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"},
+ },
+ }
+)