Skip to content

Commit

Permalink
Avoid IllegalArgumentException on DefaultLongTaskTimer when percentil…
Browse files Browse the repository at this point in the history
…es is empty (#4483)

Fixes gh-4482
  • Loading branch information
marcelopbarros committed Jan 19, 2024
1 parent 563012b commit dd7d657
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,10 @@ public TimeUnit baseTimeUnit() {

@Override
public HistogramSnapshot takeSnapshot() {
double[] percentilesRequestedArr = distributionStatisticConfig.getPercentiles();
Queue<Double> percentilesRequested = new ArrayBlockingQueue<>(
distributionStatisticConfig.getPercentiles() == null ? 1
percentilesRequestedArr == null || percentilesRequestedArr.length == 0 ? 1
: distributionStatisticConfig.getPercentiles().length);
double[] percentilesRequestedArr = distributionStatisticConfig.getPercentiles();
if (percentilesRequestedArr != null && percentilesRequestedArr.length > 0) {
Arrays.stream(percentilesRequestedArr).sorted().boxed().forEach(percentilesRequested::add);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,4 +214,11 @@ void baseUnitStringShouldBeCachedAndReturnTheSameInstance() {
assertThat(timer1.getId().getBaseUnit()).isSameAs(timer2.getId().getBaseUnit());
}

@Test
@Issue("#4482")
void acceptPercentilesNullOrEmpty() {
LongTaskTimer.builder("timer.percentiles.null").publishPercentiles(null).register(registry);
LongTaskTimer.builder("timer.percentiles.empty").publishPercentiles(new double[] {}).register(registry);
}

}

0 comments on commit dd7d657

Please sign in to comment.