Merge branch 'develop' into use_metric_pointers

This commit is contained in:
Thomas Gruber
2022-02-02 15:53:26 +01:00
committed by GitHub
10 changed files with 996 additions and 405 deletions

View File

@@ -26,28 +26,27 @@ func (s *GangliaSink) Init(config sinkConfig) error {
return err
}
func (s *GangliaSink) Write(pptr *lp.CCMetric) error {
func (s *GangliaSink) Write(point *lp.CCMetric) error {
var err error = nil
var tagsstr []string
var argstr []string
point := *pptr
for _, t := range point.TagList() {
switch t.Key {
for key, value := range (*point).Tags() {
switch key {
case "cluster":
argstr = append(argstr, fmt.Sprintf("--cluster=%s", t.Value))
argstr = append(argstr, fmt.Sprintf("--cluster=%s", value))
case "unit":
argstr = append(argstr, fmt.Sprintf("--units=%s", t.Value))
argstr = append(argstr, fmt.Sprintf("--units=%s", value))
case "group":
argstr = append(argstr, fmt.Sprintf("--group=%s", t.Value))
argstr = append(argstr, fmt.Sprintf("--group=%s", value))
default:
tagsstr = append(tagsstr, fmt.Sprintf("%s=%s", t.Key, t.Value))
tagsstr = append(tagsstr, fmt.Sprintf("%s=%s", key, value))
}
}
if len(tagsstr) > 0 {
argstr = append(argstr, fmt.Sprintf("--desc=%q", strings.Join(tagsstr, ",")))
}
argstr = append(argstr, fmt.Sprintf("--name=%s", point.Name()))
for _, f := range point.FieldList() {
argstr = append(argstr, fmt.Sprintf("--name=%s", (*point).Name()))
for _, f := range (*point).FieldList() {
if f.Key == "value" {
switch f.Value.(type) {
case float64:

View File

@@ -62,19 +62,18 @@ func (s *InfluxSink) Init(config sinkConfig) error {
func (s *InfluxSink) Write(point *lp.CCMetric) error {
tags := map[string]string{}
fields := map[string]interface{}{}
p := *point
for _, t := range p.TagList() {
tags[t.Key] = t.Value
for key, value := range (*point).Tags() {
tags[key] = value
}
if s.meta_as_tags {
for _, m := range p.MetaList() {
tags[m.Key] = m.Value
for key, value := range (*point).Meta() {
tags[key] = value
}
}
for _, f := range p.FieldList() {
for _, f := range (*point).FieldList() {
fields[f.Key] = f.Value
}
x := influxdb2.NewPoint(p.Name(), tags, fields, p.Time())
x := influxdb2.NewPoint((*point).Name(), tags, fields, (*point).Time())
err := s.writeApi.WritePoint(context.Background(), x)
return err
}