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

Method prepare

server/controller/prometheus/label.go:209–225  ·  view source on GitHub ↗
(toEncode *dataToEncode)

Source from the content-addressed store, hash-verified

207}
208
209func (s *LabelSynchronizer) prepare(toEncode *dataToEncode) error {
210 if toEncode.cardinality() == 0 {
211 return nil
212 }
213
214 syncResp, err := s.grpcurl.Sync(s.generateSyncRequest(toEncode))
215 if err != nil {
216 return errors.Wrap(err, "grpcurl.Sync")
217 }
218 eg := &errgroup.Group{}
219 common.AppendErrGroup(eg, s.addMetricNameCache, syncResp.GetMetricNames())
220 common.AppendErrGroup(eg, s.addLabelNameCache, syncResp.GetLabelNames())
221 common.AppendErrGroup(eg, s.addLabelValueCache, syncResp.GetLabelValues())
222 common.AppendErrGroup(eg, s.addMetricAPPLabelLayoutCache, syncResp.GetMetricAppLabelLayouts())
223 common.AppendErrGroup(eg, s.addLabelCache, syncResp.GetLabels())
224 return eg.Wait()
225}
226
227func (s *LabelSynchronizer) splitData(req *trident.PrometheusLabelRequest) *dataToEncode {
228 toEncode := newDataToEncode(s.cache)

Callers 1

assembleMethod · 0.95

Calls 4

generateSyncRequestMethod · 0.95
cardinalityMethod · 0.80
GetLabelsMethod · 0.65
SyncMethod · 0.45

Tested by

no test coverage detected