in internal/oraclemetrics/oraclemetrics.go [397:421]
func createMetricsForRow(ctx context.Context, opts queryOptions, cols []any, defaultLabels map[string]string) []*mrpb.TimeSeries {
labels := createLabels(opts.query, cols)
// Merge defaultLabels into labels, overwriting existing values.
maps.Copy(labels, defaultLabels)
var metrics []*mrpb.TimeSeries
for i, c := range opts.query.GetColumns() {
switch c.GetMetricType() {
case configpb.MetricType_METRIC_GAUGE:
if metric, ok := createGaugeMetric(c, cols[i], labels, opts, tspb.Now()); ok {
metrics = append(metrics, metric)
}
case configpb.MetricType_METRIC_CUMULATIVE:
if metric, ok := createCumulativeMetric(ctx, c, cols[i], labels, opts, tspb.Now()); ok {
metrics = append(metrics, metric)
}
case configpb.MetricType_METRIC_LABEL:
// Labels are handled by createLabels()
default:
log.CtxLogger(ctx).Warnw("Unsupported metric type", "metric_type", c.GetMetricType())
}
}
return metrics
}