MCPcopy Index your code
hub / github.com/coder/coder / prometheusMetricToString

Function prometheusMetricToString

coderd/prometheusmetrics/aggregator_test.go:226–250  ·  view source on GitHub ↗
(t *testing.T, m prometheus.Metric)

Source from the content-addressed store, hash-verified

224}
225
226func prometheusMetricToString(t *testing.T, m prometheus.Metric) string {
227 var sb strings.Builder
228
229 desc := m.Desc()
230 _, _ = sb.WriteString(desc.String())
231 _ = sb.WriteByte('|')
232
233 var d dto.Metric
234 err := m.Write(&d)
235 assert.NoError(t, err)
236 dtoLabels := asMetricAgentLabels(d.GetLabel())
237 sort.Slice(dtoLabels, func(i, j int) bool {
238 return dtoLabels[i].Name < dtoLabels[j].Name
239 })
240
241 for _, dtoLabel := range dtoLabels {
242 if dtoLabel.Value == "" {
243 continue
244 }
245 _, _ = sb.WriteString(dtoLabel.Name)
246 _ = sb.WriteByte('=')
247 _, _ = sb.WriteString(prometheusmetrics.MetricLabelValueEncoder.Replace(dtoLabel.Value))
248 }
249 return strings.TrimRight(sb.String(), ",")
250}
251
252func asMetricAgentLabels(dtoLabels []*dto.LabelPair) []*agentproto.Stats_Metric_Label {
253 metricLabels := make([]*agentproto.Stats_Metric_Label, 0, len(dtoLabels))

Callers 1

verifyCollectedMetricsFunction · 0.85

Calls 5

asMetricAgentLabelsFunction · 0.85
WriteStringMethod · 0.80
ReplaceMethod · 0.80
WriteMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected