in exporters/metrics/src/main/java/com/google/cloud/opentelemetry/metric/AggregateByLabelMetricTimeSeriesBuilder.java [144:164]
private void recordPointInTimeSeries(MetricData metric, PointData point, Point builtPoint) {
MetricDescriptor descriptor =
mapMetricDescriptor(
this.prefix, metric, point, extraLabelsFromResource(metric.getResource()));
if (descriptor == null) {
// Unsupported type.
return;
}
descriptors.putIfAbsent(descriptor.getType(), descriptor);
Attributes metricAttributes =
Attributes.builder()
.putAll(
instrumentationLibraryLabels(
point.getAttributes(), metric.getInstrumentationScopeInfo()))
.putAll(extraLabelsFromResource(metric.getResource()))
.build();
MetricWithLabels key = new MetricWithLabels(descriptor.getType(), metricAttributes);
pendingTimeSeries
.computeIfAbsent(key, k -> makeTimeSeriesHeader(metric, metricAttributes, descriptor))
.addPoints(builtPoint);
}