Skip to content

Commit 27b2a75

Browse files
authored
Update errorprone (#285)
1 parent 0e6a15a commit 27b2a75

File tree

12 files changed

+63
-29
lines changed

12 files changed

+63
-29
lines changed

buildSrc/src/main/kotlin/otel.errorprone-conventions.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ tasks {
2626
disableWarningsInGeneratedCode.set(true)
2727
allDisabledChecksAsWarnings.set(true)
2828

29+
// Still Java 8 mostly
30+
disable("Varifier")
31+
2932
// Doesn't currently use Var annotations.
3033
disable("Var") // "-Xep:Var:OFF"
3134

@@ -59,9 +62,6 @@ tasks {
5962
disable("JdkObsolete")
6063
disable("UnnecessaryAnonymousClass")
6164

62-
// Limits APIs
63-
disable("NoFunctionalReturnType")
64-
6565
// We don't depend on Guava so use normal splitting
6666
disable("StringSplitter")
6767

dependencyManagement/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ val DEPENDENCY_SETS = listOf(
3636
),
3737
DependencySet(
3838
"com.google.errorprone",
39-
"2.10.0",
39+
"2.12.1",
4040
listOf("error_prone_annotations", "error_prone_core")
4141
),
4242
DependencySet(
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* Copyright The OpenTelemetry Authors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.opentelemetry.contrib.jfr.metrics.internal;
7+
8+
import java.time.Duration;
9+
10+
public final class DurationUtil {
11+
private static final double NANOS_PER_MILLI = 1e6;
12+
13+
/** Returns the duration as milliseconds, with fractional part included. */
14+
@SuppressWarnings("TimeUnitMismatch")
15+
public static double toMillis(Duration duration) {
16+
double epochSecs = (double) duration.getSeconds();
17+
return epochSecs + duration.getNano() / NANOS_PER_MILLI;
18+
}
19+
20+
private DurationUtil() {}
21+
}

jfr-streaming/src/main/java/io/opentelemetry/contrib/jfr/metrics/internal/container/ContainerConfigurationHandler.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ public ContainerConfigurationHandler() {
2727
public void initializeMeter(Meter meter) {
2828
meter
2929
.upDownCounterBuilder(METRIC_NAME)
30-
.ofDoubles()
3130
.setUnit(ONE)
3231
.buildWithCallback(codm -> codm.record(value));
3332
}

jfr-streaming/src/main/java/io/opentelemetry/contrib/jfr/metrics/internal/cpu/LongLockHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import io.opentelemetry.api.metrics.DoubleHistogram;
1414
import io.opentelemetry.api.metrics.Meter;
1515
import io.opentelemetry.contrib.jfr.metrics.internal.AbstractThreadDispatchingHandler;
16+
import io.opentelemetry.contrib.jfr.metrics.internal.DurationUtil;
1617
import io.opentelemetry.contrib.jfr.metrics.internal.ThreadGrouper;
1718
import java.time.Duration;
1819
import java.util.Optional;
@@ -70,7 +71,7 @@ public PerThreadLongLockHandler(DoubleHistogram histogram, String threadName) {
7071
@Override
7172
public void accept(RecordedEvent recordedEvent) {
7273
if (recordedEvent.hasField(EVENT_THREAD)) {
73-
histogram.record(recordedEvent.getDuration().toMillis(), attributes);
74+
histogram.record(DurationUtil.toMillis(recordedEvent.getDuration()), attributes);
7475
}
7576
// What about the class name in MONITOR_CLASS ?
7677
// We can get a stack trace from the thread on the event

jfr-streaming/src/main/java/io/opentelemetry/contrib/jfr/metrics/internal/memory/G1HeapSummaryHandler.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import static io.opentelemetry.contrib.jfr.metrics.internal.RecordedEventHandler.defaultMeter;
1616

1717
import io.opentelemetry.api.common.Attributes;
18-
import io.opentelemetry.api.metrics.DoubleHistogram;
18+
import io.opentelemetry.api.metrics.LongHistogram;
1919
import io.opentelemetry.api.metrics.Meter;
2020
import io.opentelemetry.contrib.jfr.metrics.internal.RecordedEventHandler;
2121
import java.util.HashMap;
@@ -47,7 +47,7 @@ public final class G1HeapSummaryHandler implements RecordedEventHandler {
4747

4848
private final Map<Long, RecordedEvent> awaitingPairs = new HashMap<>();
4949

50-
private DoubleHistogram memoryHistogram;
50+
private LongHistogram memoryHistogram;
5151

5252
public G1HeapSummaryHandler() {
5353
initializeMeter(defaultMeter());
@@ -60,6 +60,7 @@ public void initializeMeter(Meter meter) {
6060
.histogramBuilder(METRIC_NAME_MEMORY)
6161
.setDescription(METRIC_DESCRIPTION_MEMORY)
6262
.setUnit(BYTES)
63+
.ofLongs()
6364
.build();
6465
}
6566

jfr-streaming/src/main/java/io/opentelemetry/contrib/jfr/metrics/internal/memory/GCHeapSummaryHandler.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,11 @@
1515

1616
import io.opentelemetry.api.common.Attributes;
1717
import io.opentelemetry.api.metrics.DoubleHistogram;
18+
import io.opentelemetry.api.metrics.LongHistogram;
1819
import io.opentelemetry.api.metrics.Meter;
20+
import io.opentelemetry.contrib.jfr.metrics.internal.DurationUtil;
1921
import io.opentelemetry.contrib.jfr.metrics.internal.RecordedEventHandler;
22+
import java.time.Duration;
2023
import java.util.HashMap;
2124
import java.util.Map;
2225
import jdk.jfr.consumer.RecordedEvent;
@@ -44,7 +47,7 @@ public final class GCHeapSummaryHandler implements RecordedEventHandler {
4447
private final Map<Long, RecordedEvent> awaitingPairs = new HashMap<>();
4548

4649
private DoubleHistogram durationHistogram;
47-
private DoubleHistogram memoryHistogram;
50+
private LongHistogram memoryHistogram;
4851

4952
public GCHeapSummaryHandler() {
5053
initializeMeter(defaultMeter());
@@ -63,6 +66,7 @@ public void initializeMeter(Meter meter) {
6366
.histogramBuilder(METRIC_NAME_MEMORY)
6467
.setDescription(METRIC_DESCRIPTION_MEMORY)
6568
.setUnit(BYTES)
69+
.ofLongs()
6670
.build();
6771
}
6872

@@ -103,7 +107,7 @@ public void accept(RecordedEvent ev) {
103107

104108
private void recordValues(RecordedEvent before, RecordedEvent after) {
105109
durationHistogram.record(
106-
after.getStartTime().toEpochMilli() - before.getStartTime().toEpochMilli());
110+
DurationUtil.toMillis(Duration.between(before.getStartTime(), after.getStartTime())));
107111
if (after.hasField(HEAP_USED)) {
108112
memoryHistogram.record(after.getLong(HEAP_USED), ATTR_MEMORY_USED);
109113
}

jfr-streaming/src/main/java/io/opentelemetry/contrib/jfr/metrics/internal/memory/ObjectAllocationInNewTLABHandler.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import static io.opentelemetry.contrib.jfr.metrics.internal.RecordedEventHandler.defaultMeter;
1414

1515
import io.opentelemetry.api.common.Attributes;
16-
import io.opentelemetry.api.metrics.DoubleHistogram;
16+
import io.opentelemetry.api.metrics.LongHistogram;
1717
import io.opentelemetry.api.metrics.Meter;
1818
import io.opentelemetry.contrib.jfr.metrics.internal.AbstractThreadDispatchingHandler;
1919
import io.opentelemetry.contrib.jfr.metrics.internal.ThreadGrouper;
@@ -27,7 +27,7 @@
2727
public final class ObjectAllocationInNewTLABHandler extends AbstractThreadDispatchingHandler {
2828
private static final String EVENT_NAME = "jdk.ObjectAllocationInNewTLAB";
2929

30-
private DoubleHistogram histogram;
30+
private LongHistogram histogram;
3131

3232
public ObjectAllocationInNewTLABHandler(ThreadGrouper grouper) {
3333
super(grouper);
@@ -41,6 +41,7 @@ public void initializeMeter(Meter meter) {
4141
.histogramBuilder(METRIC_NAME_MEMORY_ALLOCATION)
4242
.setDescription(METRIC_DESCRIPTION_MEMORY_ALLOCATION)
4343
.setUnit(BYTES)
44+
.ofLongs()
4445
.build();
4546
}
4647

@@ -59,10 +60,10 @@ private static class PerThreadObjectAllocationInNewTLABHandler
5960
implements Consumer<RecordedEvent> {
6061
private static final String TLAB_SIZE = "tlabSize";
6162

62-
private final DoubleHistogram histogram;
63+
private final LongHistogram histogram;
6364
private final Attributes attributes;
6465

65-
public PerThreadObjectAllocationInNewTLABHandler(DoubleHistogram histogram, String threadName) {
66+
public PerThreadObjectAllocationInNewTLABHandler(LongHistogram histogram, String threadName) {
6667
this.histogram = histogram;
6768
this.attributes = Attributes.of(ATTR_THREAD_NAME, threadName, ATTR_ARENA_NAME, "TLAB");
6869
}

jfr-streaming/src/main/java/io/opentelemetry/contrib/jfr/metrics/internal/memory/ObjectAllocationOutsideTLABHandler.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import static io.opentelemetry.contrib.jfr.metrics.internal.RecordedEventHandler.defaultMeter;
1414

1515
import io.opentelemetry.api.common.Attributes;
16-
import io.opentelemetry.api.metrics.DoubleHistogram;
16+
import io.opentelemetry.api.metrics.LongHistogram;
1717
import io.opentelemetry.api.metrics.Meter;
1818
import io.opentelemetry.contrib.jfr.metrics.internal.AbstractThreadDispatchingHandler;
1919
import io.opentelemetry.contrib.jfr.metrics.internal.ThreadGrouper;
@@ -27,7 +27,7 @@
2727
public final class ObjectAllocationOutsideTLABHandler extends AbstractThreadDispatchingHandler {
2828
private static final String EVENT_NAME = "jdk.ObjectAllocationOutsideTLAB";
2929

30-
private DoubleHistogram histogram;
30+
private LongHistogram histogram;
3131

3232
public ObjectAllocationOutsideTLABHandler(ThreadGrouper grouper) {
3333
super(grouper);
@@ -41,6 +41,7 @@ public void initializeMeter(Meter meter) {
4141
.histogramBuilder(METRIC_NAME_MEMORY_ALLOCATION)
4242
.setDescription(METRIC_DESCRIPTION_MEMORY_ALLOCATION)
4343
.setUnit(BYTES)
44+
.ofLongs()
4445
.build();
4546
}
4647

@@ -59,11 +60,10 @@ private static class PerThreadObjectAllocationOutsideTLABHandler
5960
implements Consumer<RecordedEvent> {
6061
private static final String ALLOCATION_SIZE = "allocationSize";
6162

62-
private final DoubleHistogram histogram;
63+
private final LongHistogram histogram;
6364
private final Attributes attributes;
6465

65-
public PerThreadObjectAllocationOutsideTLABHandler(
66-
DoubleHistogram histogram, String threadName) {
66+
public PerThreadObjectAllocationOutsideTLABHandler(LongHistogram histogram, String threadName) {
6767
this.histogram = histogram;
6868
this.attributes = Attributes.of(ATTR_THREAD_NAME, threadName, ATTR_ARENA_NAME, "Main");
6969
}

jfr-streaming/src/main/java/io/opentelemetry/contrib/jfr/metrics/internal/memory/ParallelHeapSummaryHandler.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import static io.opentelemetry.contrib.jfr.metrics.internal.RecordedEventHandler.defaultMeter;
1414

1515
import io.opentelemetry.api.common.Attributes;
16-
import io.opentelemetry.api.metrics.DoubleHistogram;
16+
import io.opentelemetry.api.metrics.LongHistogram;
1717
import io.opentelemetry.api.metrics.Meter;
1818
import io.opentelemetry.contrib.jfr.metrics.internal.RecordedEventHandler;
1919
import java.util.HashMap;
@@ -44,7 +44,7 @@ public final class ParallelHeapSummaryHandler implements RecordedEventHandler {
4444

4545
private final Map<Long, RecordedEvent> awaitingPairs = new HashMap<>();
4646

47-
private DoubleHistogram memoryHistogram;
47+
private LongHistogram memoryHistogram;
4848

4949
public ParallelHeapSummaryHandler() {
5050
initializeMeter(defaultMeter());
@@ -57,6 +57,7 @@ public void initializeMeter(Meter meter) {
5757
.histogramBuilder(METRIC_NAME_MEMORY)
5858
.setDescription(METRIC_DESCRIPTION_MEMORY)
5959
.setUnit(BYTES)
60+
.ofLongs()
6061
.build();
6162
}
6263

0 commit comments

Comments
 (0)