firehol/netdata

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

Summary

Maintainability
A
1 hr
Test Coverage
// SPDX-License-Identifier: GPL-3.0-or-later

package puppet

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

const (
    prioJVMHeap = module.Priority + iota
    prioJVMNonHeap
    prioCPUUsage
    prioFileDescriptors
)

const (
    byteToMiB = 1 << 20
)

var charts = module.Charts{
    jvmHeapChart.Copy(),
    jvmNonHeapChart.Copy(),
    cpuUsageChart.Copy(),
    fileDescriptorsChart.Copy(),
}

var (
    jvmHeapChart = module.Chart{
        ID:       "jvm_heap",
        Title:    "JVM Heap",
        Units:    "MiB",
        Fam:      "resources",
        Ctx:      "puppet.jvm_heap",
        Type:     module.Area,
        Priority: prioJVMHeap,
        Dims: module.Dims{
            {ID: "jvm_heap_committed", Name: "committed", Div: byteToMiB},
            {ID: "jvm_heap_used", Name: "used", Div: byteToMiB},
        },
        Vars: module.Vars{
            {ID: "jvm_heap_max"},
            {ID: "jvm_heap_init"},
        },
    }

    jvmNonHeapChart = module.Chart{
        ID:       "jvm_nonheap",
        Title:    "JVM Non-Heap",
        Units:    "MiB",
        Fam:      "resources",
        Ctx:      "puppet.jvm_nonheap",
        Type:     module.Area,
        Priority: prioJVMNonHeap,
        Dims: module.Dims{
            {ID: "jvm_nonheap_committed", Name: "committed", Div: byteToMiB},
            {ID: "jvm_nonheap_used", Name: "used", Div: byteToMiB},
        },
        Vars: module.Vars{
            {ID: "jvm_nonheap_max"},
            {ID: "jvm_nonheap_init"},
        },
    }

    cpuUsageChart = module.Chart{
        ID:       "cpu",
        Title:    "CPU usage",
        Units:    "percentage",
        Fam:      "resources",
        Ctx:      "puppet.cpu",
        Type:     module.Stacked,
        Priority: prioCPUUsage,
        Dims: module.Dims{
            {ID: "cpu_usage", Name: "execution", Div: 1000},
            {ID: "gc_cpu_usage", Name: "GC", Div: 1000},
        },
    }

    fileDescriptorsChart = module.Chart{
        ID:       "fd_open",
        Title:    "File Descriptors",
        Units:    "descriptors",
        Fam:      "resources",
        Ctx:      "puppet.fdopen",
        Type:     module.Line,
        Priority: prioFileDescriptors,
        Dims: module.Dims{
            {ID: "fd_used", Name: "used"},
        },
        Vars: module.Vars{
            {ID: "fd_max"},
        },
    }
)