funcrelabel(lsetlabels.Labels,cfg*config.RelabelConfig)labels.Labels{values:=make([]string,0,len(cfg.SourceLabels))for_,ln:=rangecfg.SourceLabels{values=append(values,lset.Get(string(ln)))}val := strings.Join(values, cfg.Separator)lb := labels.NewBuilder(lset)switch cfg.Action{//此处省略...
// 判断值是否匹配,如果不匹配那么将放弃此 target case config.RelabelKeep: if !cfg.Regex.MatchString(val) { return nil } // 对字段 source_labels 的值进行 md5 和取余,并将结果存到自定义目标字段中 case config.RelabelHashMod: mod := sum64(md5.Sum([]byte(val))) % cfg.Modulus lb.Set(c...