This is an automated email from the ASF dual-hosted git repository.

wlo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/gobblin.git


The following commit(s) were added to refs/heads/master by this push:
     new 33660f5d0 [GOBBLIN-2059] Send empty resource if no custom configs are 
specified (#3939)
33660f5d0 is described below

commit 33660f5d03d703456be73e30ea80d3310457ac7d
Author: William Lo <[email protected]>
AuthorDate: Tue Apr 30 16:28:53 2024 -0400

    [GOBBLIN-2059] Send empty resource if no custom configs are specified 
(#3939)
    
    * Send empty resource if no custom configs are specified
---
 .../org/apache/gobblin/metrics/OpenTelemetryMetrics.java  | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git 
a/gobblin-metrics-libs/gobblin-metrics/src/main/java/org/apache/gobblin/metrics/OpenTelemetryMetrics.java
 
b/gobblin-metrics-libs/gobblin-metrics/src/main/java/org/apache/gobblin/metrics/OpenTelemetryMetrics.java
index baef1ab75..522568462 100644
--- 
a/gobblin-metrics-libs/gobblin-metrics/src/main/java/org/apache/gobblin/metrics/OpenTelemetryMetrics.java
+++ 
b/gobblin-metrics-libs/gobblin-metrics/src/main/java/org/apache/gobblin/metrics/OpenTelemetryMetrics.java
@@ -86,12 +86,17 @@ public class OpenTelemetryMetrics extends 
OpenTelemetryMetricsBase {
     log.info("Initializing OpenTelemetry metrics");
     Properties metricProps = 
PropertiesUtils.extractChildProperties(state.getProperties(),
         ConfigurationKeys.METRICS_REPORTING_OPENTELEMETRY_CONFIGS_PREFIX);
-    AttributesBuilder attributesBuilder = Attributes.builder();
-    for (String key : metricProps.stringPropertyNames()) {
-      attributesBuilder.put(AttributeKey.stringKey(key), 
metricProps.getProperty(key));
+    // Default to empty resource because default resource still populates some 
values
+    Resource metricsResource = Resource.empty();
+    if (metricProps.isEmpty()) {
+      log.warn("No OpenTelemetry metrics properties found, sending empty 
resource");
+    } else {
+      AttributesBuilder attributesBuilder = Attributes.builder();
+      for (String key : metricProps.stringPropertyNames()) {
+        attributesBuilder.put(AttributeKey.stringKey(key), 
metricProps.getProperty(key));
+      }
+      metricsResource = 
Resource.getDefault().merge(Resource.create(attributesBuilder.build()));
     }
-    Resource metricsResource = 
Resource.getDefault().merge(Resource.create(attributesBuilder.build()));
-
     SdkMeterProvider meterProvider = SdkMeterProvider.builder()
         .setResource(metricsResource)
         .registerMetricReader(

Reply via email to