Skip to content

Commit dc75cc9

Browse files
Copilottrask
andcommitted
Make enabled fields volatile in SdkTracer, SdkMeter, and MetricStorage implementations
Co-authored-by: trask <218610+trask@users.noreply.github.com>
1 parent b186468 commit dc75cc9

4 files changed

Lines changed: 5 additions & 6 deletions

File tree

sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/SdkMeter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ final class SdkMeter implements Meter {
8989
private final InstrumentationScopeInfo instrumentationScopeInfo;
9090
private final Map<RegisteredReader, MetricStorageRegistry> readerStorageRegistries;
9191

92-
private boolean meterEnabled;
92+
private volatile boolean meterEnabled;
9393

9494
SdkMeter(
9595
MeterProviderSharedState meterProviderSharedState,

sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/state/AsynchronousMetricStorage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public final class AsynchronousMetricStorage<T extends PointData, U extends Exem
8787
private long startEpochNanos;
8888
private long epochNanos;
8989

90-
private boolean enabled;
90+
private volatile boolean enabled;
9191

9292
private AsynchronousMetricStorage(
9393
RegisteredReader registeredReader,

sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/state/DefaultSynchronousMetricStorage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public final class DefaultSynchronousMetricStorage<T extends PointData, U extend
7474
private final ConcurrentLinkedQueue<AggregatorHandle<T, U>> aggregatorHandlePool =
7575
new ConcurrentLinkedQueue<>();
7676

77-
private boolean enabled;
77+
private volatile boolean enabled;
7878

7979
DefaultSynchronousMetricStorage(
8080
RegisteredReader registeredReader,

sdk/trace/src/main/java/io/opentelemetry/sdk/trace/SdkTracer.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,8 @@ class SdkTracer implements Tracer {
3030

3131
private final TracerSharedState sharedState;
3232
private final InstrumentationScopeInfo instrumentationScopeInfo;
33-
// deliberately not volatile because of performance concerns
34-
// - which means its eventually consistent
35-
protected boolean tracerEnabled;
33+
34+
protected volatile boolean tracerEnabled;
3635

3736
SdkTracer(
3837
TracerSharedState sharedState,

0 commit comments

Comments
 (0)