MCPcopy Create free account
hub / github.com/deepflowio/deepflow / refresh

Method refresh

server/controller/prometheus/cache/target.go:179–209  ·  view source on GitHub ↗
(args ...interface{})

Source from the content-addressed store, hash-verified

177}
178
179func (t *target) refresh(args ...interface{}) error {
180 recorderTargets, selfTargets, err := t.load()
181 if err != nil {
182 return err
183 }
184
185 keyToTargetID := make(map[TargetKey]int)
186 targetIDToLabelNames := make(map[int]mapset.Set[string])
187 for _, item := range recorderTargets {
188 keyToTargetID[NewTargetKey(item.Instance, item.Job, item.VPCID, item.PodClusterID)] = item.ID
189 targetIDToLabelNames[item.ID] = mapset.NewSet(t.getTargetLabelNames(item)...)
190 }
191
192 dupKeyIDs := make([]int, 0)
193 for _, item := range selfTargets {
194 tk := NewTargetKey(item.Instance, item.Job, item.VPCID, item.PodClusterID)
195 if _, ok := keyToTargetID[tk]; ok {
196 dupKeyIDs = append(dupKeyIDs, item.ID)
197 continue
198 }
199 keyToTargetID[tk] = item.ID
200 targetIDToLabelNames[item.ID] = mapset.NewSet(t.getTargetLabelNames(item)...)
201 }
202 if len(dupKeyIDs) != 0 {
203 t.dedup(dupKeyIDs)
204 }
205
206 t.keyToTargetID.Coverage(keyToTargetID)
207 t.targetIDToLabelNames.Coverage(targetIDToLabelNames)
208 return nil
209}
210
211func (t *target) getTargetLabelNames(tg *metadbmodel.PrometheusTarget) []string {
212 lns := []string{common.TargetLabelInstance, common.TargetLabelJob}

Callers

nothing calls this directly

Calls 5

loadMethod · 0.95
getTargetLabelNamesMethod · 0.95
dedupMethod · 0.95
NewTargetKeyFunction · 0.85
CoverageMethod · 0.45

Tested by

no test coverage detected