Skip to content

Commit 33660f5

Browse files
authored
[GOBBLIN-2059] Send empty resource if no custom configs are specified (#3939)
* Send empty resource if no custom configs are specified
1 parent 4de95d6 commit 33660f5

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

gobblin-metrics-libs/gobblin-metrics/src/main/java/org/apache/gobblin/metrics/OpenTelemetryMetrics.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,17 @@ protected void initialize(State state) {
8686
log.info("Initializing OpenTelemetry metrics");
8787
Properties metricProps = PropertiesUtils.extractChildProperties(state.getProperties(),
8888
ConfigurationKeys.METRICS_REPORTING_OPENTELEMETRY_CONFIGS_PREFIX);
89-
AttributesBuilder attributesBuilder = Attributes.builder();
90-
for (String key : metricProps.stringPropertyNames()) {
91-
attributesBuilder.put(AttributeKey.stringKey(key), metricProps.getProperty(key));
89+
// Default to empty resource because default resource still populates some values
90+
Resource metricsResource = Resource.empty();
91+
if (metricProps.isEmpty()) {
92+
log.warn("No OpenTelemetry metrics properties found, sending empty resource");
93+
} else {
94+
AttributesBuilder attributesBuilder = Attributes.builder();
95+
for (String key : metricProps.stringPropertyNames()) {
96+
attributesBuilder.put(AttributeKey.stringKey(key), metricProps.getProperty(key));
97+
}
98+
metricsResource = Resource.getDefault().merge(Resource.create(attributesBuilder.build()));
9299
}
93-
Resource metricsResource = Resource.getDefault().merge(Resource.create(attributesBuilder.build()));
94-
95100
SdkMeterProvider meterProvider = SdkMeterProvider.builder()
96101
.setResource(metricsResource)
97102
.registerMetricReader(

0 commit comments

Comments
 (0)