yats.git

ref: 89777a764361663ff609027a4848f29a7134fe05

client/metric-client-rest.go


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
 * Yats - yats
 *
 * This file is licensed under the Affero General Public License version 3 or
 * later. See the COPYING file.
 *
 * @author Paolo Lulli <kevwe.com>
 * @copyright Paolo Lulli 2024
 */
package main

import (
	"errors"
	"fmt"
	"strconv"
)

func (c *YatsClient) MetricList(source string, metricName string, from int64, to int64) (string, error) {
	if metricName == "" {
		//fmt.Println("Metric Name is empty")
		return "", errors.New("Metric Name is empty")
	}
	var body string
	if to == 0 {
		body = "{\"source\": \"" + source + "\", \"name\":\"" + metricName + "\", \"from\":" + strconv.FormatInt(from, 10) + " }"
	} else {
		body = "{\"source\": \"" + source + "\",\"name\":\"" + metricName + "\", \"from\":" + strconv.FormatInt(from, 10) + ",\"to\":" + strconv.FormatInt(to, 10) + " }"
	}
	return c.ApiPost(c.config.Endpoint+"/metric/search", body), nil
}

func (c *YatsClient) MetricSave(metricName string, value string, mtime int64) (string, error) {
	if metricName == "" {
		//fmt.Println("Metric Name is empty")
		return "", errors.New("Metric Name is empty")
	}
	if value == "" {
		//fmt.Println("Metric Name is empty")
		return "", errors.New("Metric Value is empty")
	}
	var body string
	if mtime == 0 {
		body = "{ \"name\":\"" + metricName + "\", \"value\": \"" + value + "\" }"
	} else {
		body = "{ \"name\":\"" + metricName + "\", \"value\": \"" + value + "\", \"mtime\":\"" + strconv.FormatInt(mtime, 10) + "\" }"
	}
	fmt.Print("payload: " + body)
	return c.ApiPost(c.config.Endpoint+"/metric", body), nil
}