firehol/netdata

View on GitHub
src/go/plugin/go.d/modules/testrandom/collect.go

Summary

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

package testrandom

import (
    "fmt"

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

func (tr *TestRandom) collect() (map[string]int64, error) {
    collected := make(map[string]int64)

    for _, chart := range *tr.Charts() {
        tr.collectChart(collected, chart)
    }
    return collected, nil
}

func (tr *TestRandom) collectChart(collected map[string]int64, chart *module.Chart) {
    var num int
    if chart.Opts.Hidden {
        num = tr.Config.HiddenCharts.Dims
    } else {
        num = tr.Config.Charts.Dims
    }

    for i := 0; i < num; i++ {
        name := fmt.Sprintf("random%d", i)
        id := fmt.Sprintf("%s_%s", chart.ID, name)

        if !tr.collectedDims[id] {
            tr.collectedDims[id] = true

            dim := &module.Dim{ID: id, Name: name}
            if err := chart.AddDim(dim); err != nil {
                tr.Warning(err)
            }
            chart.MarkNotCreated()
        }
        if i%2 == 0 {
            collected[id] = tr.randInt()
        } else {
            collected[id] = -tr.randInt()
        }
    }
}