Skip to content

Commit bcf2b2b

Browse files
committed
Move method
1 parent 27b9b9a commit bcf2b2b

2 files changed

Lines changed: 15 additions & 16 deletions

File tree

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

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
import io.opentelemetry.sdk.metrics.internal.view.ViewRegistry;
3030
import io.opentelemetry.sdk.resources.Resource;
3131
import java.io.Closeable;
32+
import java.lang.reflect.InvocationTargetException;
33+
import java.lang.reflect.Method;
3234
import java.util.ArrayList;
3335
import java.util.Collection;
3436
import java.util.Collections;
@@ -99,7 +101,7 @@ public static SdkMeterProviderBuilder builder() {
99101
reader.register(new SdkCollectionRegistration(readerMetricProducers, sharedState));
100102
registeredReader.setLastCollectEpochNanos(startEpochNanos);
101103
if (reader instanceof PeriodicMetricReader) {
102-
SdkMeterProviderUtil.setMeterProvider((PeriodicMetricReader) reader, this);
104+
setReaderMeterProvider((PeriodicMetricReader) reader, this);
103105
}
104106
}
105107
}
@@ -198,6 +200,18 @@ public String toString() {
198200
+ "}";
199201
}
200202

203+
private static void setReaderMeterProvider(
204+
PeriodicMetricReader metricReader, SdkMeterProvider meterProvider) {
205+
try {
206+
Method method =
207+
PeriodicMetricReader.class.getDeclaredMethod("setMeterProvider", MeterProvider.class);
208+
method.setAccessible(true);
209+
method.invoke(metricReader, meterProvider);
210+
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
211+
throw new IllegalStateException("Error calling setMeterProvider on PeriodicMetricReader", e);
212+
}
213+
}
214+
201215
/** Helper class to expose registered metric exports. */
202216
private static class LeasedMetricProducer implements MetricProducer {
203217

sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/internal/SdkMeterProviderUtil.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,11 @@
55

66
package io.opentelemetry.sdk.metrics.internal;
77

8-
import io.opentelemetry.api.metrics.MeterProvider;
98
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
109
import io.opentelemetry.sdk.common.internal.ScopeConfigurator;
1110
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
1211
import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
1312
import io.opentelemetry.sdk.metrics.ViewBuilder;
14-
import io.opentelemetry.sdk.metrics.export.PeriodicMetricReader;
1513
import io.opentelemetry.sdk.metrics.internal.view.AttributesProcessor;
1614
import io.opentelemetry.sdk.metrics.internal.view.StringPredicates;
1715
import java.lang.reflect.InvocationTargetException;
@@ -78,19 +76,6 @@ public static SdkMeterProviderBuilder addMeterConfiguratorCondition(
7876
return sdkMeterProviderBuilder;
7977
}
8078

81-
/** Reflectively sets the meter provider for a PeriodicMetricReader to export metrics to. */
82-
public static void setMeterProvider(
83-
PeriodicMetricReader metricReader, SdkMeterProvider meterProvider) {
84-
try {
85-
Method method =
86-
PeriodicMetricReader.class.getDeclaredMethod("setMeterProvider", MeterProvider.class);
87-
method.setAccessible(true);
88-
method.invoke(metricReader, meterProvider);
89-
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
90-
throw new IllegalStateException("Error calling setMeterProvider on PeriodicMetricReader", e);
91-
}
92-
}
93-
9479
/**
9580
* Reflectively add an {@link AttributesProcessor} to the {@link ViewBuilder} which appends
9681
* key-values from baggage to all measurements.

0 commit comments

Comments
 (0)