Skip to content

Commit

Permalink
Fix a bug where exponential histogram view was set only for only 1 me…
Browse files Browse the repository at this point in the history
…tric
  • Loading branch information
m-nagarajan committed Jan 29, 2025
1 parent 8f2b70b commit e525805
Showing 1 changed file with 14 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.metrics.Aggregation;
import io.opentelemetry.sdk.metrics.InstrumentSelector;
import io.opentelemetry.sdk.metrics.InstrumentSelectorBuilder;
import io.opentelemetry.sdk.metrics.InstrumentType;
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
Expand Down Expand Up @@ -98,19 +97,20 @@ private void setExponentialHistogramAggregation(SdkMeterProviderBuilder builder,
}
}

// Build an InstrumentSelector with multiple setName calls for all Exponential Histogram metrics
InstrumentSelectorBuilder selectorBuilder = InstrumentSelector.builder().setType(InstrumentType.HISTOGRAM);
metricNames.forEach(selectorBuilder::setName);

// Register a single view with all metric names included in the InstrumentSelector
builder.registerView(
selectorBuilder.build(),
View.builder()
.setAggregation(
Aggregation.base2ExponentialBucketHistogram(
metricsConfig.getOtelExponentialHistogramMaxBuckets(),
metricsConfig.getOtelExponentialHistogramMaxScale()))
.build());
// Register views for all MetricType.HISTOGRAM metrics to be aggregated/exported as exponential histograms
for (String metricName: metricNames) {
InstrumentSelector selector =
InstrumentSelector.builder().setType(InstrumentType.HISTOGRAM).setName(metricName).build();

builder.registerView(
selector,
View.builder()
.setAggregation(
Aggregation.base2ExponentialBucketHistogram(
metricsConfig.getOtelExponentialHistogramMaxBuckets(),
metricsConfig.getOtelExponentialHistogramMaxScale()))
.build());
}
}

public VeniceOpenTelemetryMetricsRepository(VeniceMetricsConfig metricsConfig) {
Expand Down

0 comments on commit e525805

Please sign in to comment.