Ctrl K
ComunidadGuías…

constructor/traffic.go

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

Archivo original ↗Preguntar a KiBot
package constructor

import (
	"github.com/coroot/coroot/db"
	"github.com/coroot/coroot/model"
	"github.com/coroot/coroot/timeseries"
	"k8s.io/klog"
)

func (c *Constructor) loadApplicationTraffic(w *model.World, metrics map[string][]*model.MetricValues, project *db.Project) {
	for _, mv := range metrics[qRecordingRuleApplicationTraffic] {
		appId, err := model.NewApplicationIdFromString(mv.Labels["app"], project.ClusterId())
		if err != nil {
			klog.Warningln(err)
			continue
		}
		app := w.GetApplication(appId)
		if app == nil {
			continue
		}
		switch model.TrafficKind(mv.Labels["kind"]) {
		case model.TrafficKindCrossAZIngress:
			app.TrafficStats.CrossAZIngress = merge(app.TrafficStats.CrossAZIngress, mv.Values, timeseries.Any)
		case model.TrafficKindCrossAZEgress:
			app.TrafficStats.CrossAZEgress = merge(app.TrafficStats.CrossAZEgress, mv.Values, timeseries.Any)
		case model.TrafficKindInternetEgress:
			app.TrafficStats.InternetEgress = merge(app.TrafficStats.InternetEgress, mv.Values, timeseries.Any)
		}
	}
}