in pkg/client/elasticsearch/client.go [262:294]
func (mc *MetricsClient) metricFor(
ctx *context.Context,
timeStampedMetric timestampedMetric,
name types.NamespacedName,
selector labels.Selector,
info provider.CustomMetricInfo,
metricSelector labels.Selector,
) (*custom_metrics.MetricValue, error) {
defer tracing.Span(ctx)()
objRef, err := helpers.ReferenceFor(mc.mapper, name, info)
if err != nil {
return nil, err
}
metric := &custom_metrics.MetricValue{
DescribedObject: objRef,
Metric: custom_metrics.MetricIdentifier{
Name: info.Metric,
},
Timestamp: timeStampedMetric.Timestamp,
Value: timeStampedMetric.Value,
}
if len(metricSelector.String()) > 0 {
sel, err := metav1.ParseToLabelSelector(metricSelector.String())
if err != nil {
return nil, err
}
metric.Metric.Selector = sel
}
return metric, nil
}