Ctrl K
ComunidadGuías…

constructor/go_runtime.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package constructor

import (
	"github.com/coroot/coroot/model"
	"github.com/coroot/coroot/timeseries"
)

func (c *Constructor) loadGoRuntime(metrics map[string][]*model.MetricValues, containers containerCache) {
	load := func(queryName string, f func(g *model.GoRuntime, metric *model.MetricValues)) {
		for _, metric := range metrics[queryName] {
			v := containers[metric.NodeContainerId]
			if v.instance == nil {
				continue
			}
			if v.instance.Go == nil {
				v.instance.Go = &model.GoRuntime{}
			}
			f(v.instance.Go, metric)
		}
	}
	load("container_go_alloc_bytes_total", func(g *model.GoRuntime, metric *model.MetricValues) {
		g.AllocBytes = merge(g.AllocBytes, metric.Values, timeseries.Any)
	})
	load("container_go_alloc_objects_total", func(g *model.GoRuntime, metric *model.MetricValues) {
		g.AllocObjects = merge(g.AllocObjects, metric.Values, timeseries.Any)
	})
}