From 87d772a7d708fec12f48cd8adc0dedff6e1025da Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 26 Aug 2024 10:15:20 +0200 Subject: Adding upstream version 1.47.0. Signed-off-by: Daniel Baumann --- .../collectors/go.d.plugin/agent/netdataapi/api.go | 213 --------------------- 1 file changed, 213 deletions(-) delete mode 100644 src/go/collectors/go.d.plugin/agent/netdataapi/api.go (limited to 'src/go/collectors/go.d.plugin/agent/netdataapi/api.go') diff --git a/src/go/collectors/go.d.plugin/agent/netdataapi/api.go b/src/go/collectors/go.d.plugin/agent/netdataapi/api.go deleted file mode 100644 index 4f2b7a9b5..000000000 --- a/src/go/collectors/go.d.plugin/agent/netdataapi/api.go +++ /dev/null @@ -1,213 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -package netdataapi - -import ( - "bytes" - "fmt" - "io" - "strconv" -) - -type ( - // API implements Netdata external plugins API. - // https://learn.netdata.cloud/docs/agent/collectors/plugins.d#the-output-of-the-plugin - API struct { - io.Writer - } -) - -const quotes = "' '" - -var ( - end = []byte("END\n\n") - clabelCommit = []byte("CLABEL_COMMIT\n") - newLine = []byte("\n") -) - -func New(w io.Writer) *API { return &API{w} } - -// CHART creates or update a chart. -func (a *API) CHART( - typeID string, - ID string, - name string, - title string, - units string, - family string, - context string, - chartType string, - priority int, - updateEvery int, - options string, - plugin string, - module string) error { - _, err := a.Write([]byte("CHART " + "'" + - typeID + "." + ID + quotes + - name + quotes + - title + quotes + - units + quotes + - family + quotes + - context + quotes + - chartType + quotes + - strconv.Itoa(priority) + quotes + - strconv.Itoa(updateEvery) + quotes + - options + quotes + - plugin + quotes + - module + "'\n")) - return err -} - -// DIMENSION adds or update a dimension to the chart just created. -func (a *API) DIMENSION( - ID string, - name string, - algorithm string, - multiplier int, - divisor int, - options string) error { - _, err := a.Write([]byte("DIMENSION '" + - ID + quotes + - name + quotes + - algorithm + quotes + - strconv.Itoa(multiplier) + quotes + - strconv.Itoa(divisor) + quotes + - options + "'\n")) - return err -} - -// CLABEL adds or update a label to the chart. -func (a *API) CLABEL(key, value string, source int) error { - _, err := a.Write([]byte("CLABEL '" + - key + quotes + - value + quotes + - strconv.Itoa(source) + "'\n")) - return err -} - -// CLABELCOMMIT adds labels to the chart. Should be called after one or more CLABEL. -func (a *API) CLABELCOMMIT() error { - _, err := a.Write(clabelCommit) - return err -} - -// BEGIN initializes data collection for a chart. -func (a *API) BEGIN(typeID string, ID string, msSince int) (err error) { - if msSince > 0 { - _, err = a.Write([]byte("BEGIN " + "'" + typeID + "." + ID + "' " + strconv.Itoa(msSince) + "\n")) - } else { - _, err = a.Write([]byte("BEGIN " + "'" + typeID + "." + ID + "'\n")) - } - return err -} - -// SET sets the value of a dimension for the initialized chart. -func (a *API) SET(ID string, value int64) error { - _, err := a.Write([]byte("SET '" + ID + "' = " + strconv.FormatInt(value, 10) + "\n")) - return err -} - -// SETEMPTY sets the empty value of a dimension for the initialized chart. -func (a *API) SETEMPTY(ID string) error { - _, err := a.Write([]byte("SET '" + ID + "' = \n")) - return err -} - -// VARIABLE sets the value of a CHART scope variable for the initialized chart. -func (a *API) VARIABLE(ID string, value int64) error { - _, err := a.Write([]byte("VARIABLE CHART '" + ID + "' = " + strconv.FormatInt(value, 10) + "\n")) - return err -} - -// END completes data collection for the initialized chart. -func (a *API) END() error { - _, err := a.Write(end) - return err -} - -// DISABLE disables this plugin. This will prevent Netdata from restarting the plugin. -func (a *API) DISABLE() error { - _, err := a.Write([]byte("DISABLE\n")) - return err -} - -// EMPTYLINE writes an empty line. -func (a *API) EMPTYLINE() error { - _, err := a.Write(newLine) - return err -} - -func (a *API) HOSTINFO(guid, hostname string, labels map[string]string) error { - if err := a.HOSTDEFINE(guid, hostname); err != nil { - return err - } - for k, v := range labels { - if err := a.HOSTLABEL(k, v); err != nil { - return err - } - } - return a.HOSTDEFINEEND() -} - -func (a *API) HOSTDEFINE(guid, hostname string) error { - _, err := fmt.Fprintf(a, "HOST_DEFINE '%s' '%s'\n", guid, hostname) - return err -} - -func (a *API) HOSTLABEL(name, value string) error { - _, err := fmt.Fprintf(a, "HOST_LABEL '%s' '%s'\n", name, value) - return err -} - -func (a *API) HOSTDEFINEEND() error { - _, err := fmt.Fprintf(a, "HOST_DEFINE_END\n\n") - return err -} - -func (a *API) HOST(guid string) error { - _, err := a.Write([]byte("HOST " + "'" + - guid + "'\n\n")) - return err -} - -func (a *API) FUNCRESULT(uid, contentType, payload, code, expireTimestamp string) { - var buf bytes.Buffer - - buf.WriteString("FUNCTION_RESULT_BEGIN " + - uid + " " + - code + " " + - contentType + " " + - expireTimestamp + "\n", - ) - - if payload != "" { - buf.WriteString(payload + "\n") - } - - buf.WriteString("FUNCTION_RESULT_END\n\n") - - _, _ = buf.WriteTo(a) -} - -func (a *API) CONFIGCREATE(id, status, configType, path, sourceType, source, supportedCommands string) { - // https://learn.netdata.cloud/docs/contributing/external-plugins/#config - - _, _ = a.Write([]byte("CONFIG " + - id + " " + - "create" + " " + - status + " " + - configType + " " + - path + " " + - sourceType + " '" + - source + "' '" + - supportedCommands + "' 0x0000 0x0000\n\n", - )) -} - -func (a *API) CONFIGDELETE(id string) { - _, _ = a.Write([]byte("CONFIG " + id + " delete\n\n")) -} - -func (a *API) CONFIGSTATUS(id, status string) { - _, _ = a.Write([]byte("CONFIG " + id + " status " + status + "\n\n")) -} -- cgit v1.2.3