Skip to content

Commit af5e104

Browse files
authored
Make setResourceAttributesFilter public (#319)
1 parent f6116b6 commit af5e104

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

exporters/metrics/src/main/java/com/google/cloud/opentelemetry/metric/MetricConfiguration.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,9 +215,6 @@ public final Builder setProjectId(String projectId) {
215215
/** Sets the endpoint where to write Metrics. Defaults to monitoring.googleapis.com:443. */
216216
public abstract Builder setMetricServiceEndpoint(String endpoint);
217217

218-
@VisibleForTesting
219-
abstract Builder setInsecureEndpoint(boolean value);
220-
221218
/**
222219
* Set a filter to determine which resource attributes to add to metrics as metric labels. By
223220
* default, it adds service.name, service.namespace, and service.instance.id. This is
@@ -229,7 +226,10 @@ public final Builder setProjectId(String projectId) {
229226
* metric label
230227
* @return this.
231228
*/
232-
abstract Builder setResourceAttributesFilter(Predicate<AttributeKey<?>> filter);
229+
public abstract Builder setResourceAttributesFilter(Predicate<AttributeKey<?>> filter);
230+
231+
@VisibleForTesting
232+
abstract Builder setInsecureEndpoint(boolean value);
233233

234234
abstract MetricConfiguration autoBuild();
235235

exporters/metrics/src/test/java/com/google/cloud/opentelemetry/metric/MetricConfigurationTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@
2424
import com.google.auth.oauth2.GoogleCredentials;
2525
import com.google.cloud.ServiceOptions;
2626
import com.google.cloud.opentelemetry.metric.MetricConfiguration.Builder;
27+
import io.opentelemetry.api.common.AttributeKey;
28+
import java.time.Duration;
2729
import java.util.Date;
30+
import java.util.function.Predicate;
2831
import org.junit.Test;
2932
import org.junit.runner.RunWith;
3033
import org.junit.runners.JUnit4;
@@ -49,14 +52,17 @@ public void testDefaultConfigurationSucceeds() {
4952

5053
@Test
5154
public void testSetAllConfigurationFieldsSucceeds() {
55+
Predicate<AttributeKey<?>> allowAllPredicate = attributeKey -> true;
5256
MetricConfiguration configuration =
5357
MetricConfiguration.builder()
5458
.setProjectId(PROJECT_ID)
5559
.setCredentials(FAKE_CREDENTIALS)
60+
.setResourceAttributesFilter(allowAllPredicate)
5661
.build();
5762

5863
assertEquals(FAKE_CREDENTIALS, configuration.getCredentials());
5964
assertEquals(PROJECT_ID, configuration.getProjectId());
65+
assertEquals(allowAllPredicate, configuration.getResourceAttributesFilter());
6066
}
6167

6268
@Test
@@ -66,6 +72,19 @@ public void testConfigurationWithEmptyProjectIdFails() {
6672
assertThrows(IllegalArgumentException.class, () -> builder.setProjectId(null));
6773
}
6874

75+
@Test
76+
public void testConfigurationWithNegativeDeadlineFails() {
77+
MetricConfiguration.Builder builder =
78+
MetricConfiguration.builder().setDeadline(Duration.ofSeconds(-1));
79+
assertThrows(IllegalArgumentException.class, builder::build);
80+
}
81+
82+
@Test
83+
public void testConfigurationWithNullResourceAttributesFilterFails() {
84+
Builder builder = MetricConfiguration.builder();
85+
assertThrows(NullPointerException.class, () -> builder.setResourceAttributesFilter(null));
86+
}
87+
6988
@Test
7089
public void testConfigurationWithDefaultProjectIdSucceeds() {
7190
try (MockedStatic<ServiceOptions> serviceOptionsMockedStatic =

0 commit comments

Comments
 (0)