Browse Source

Merge pull request #48957 from jonatan-ivanov

* gh-48957:
  Polish "Add compression mode OTLP property"
  Add compression mode OTLP property

Closes gh-48957
pull/49176/head
Andy Wilkinson 2 months ago
parent
commit
a0c8189e55
  1. 14
      module/spring-boot-micrometer-metrics/src/main/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/otlp/OtlpMetricsProperties.java
  2. 6
      module/spring-boot-micrometer-metrics/src/main/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/otlp/OtlpMetricsPropertiesConfigAdapter.java
  3. 12
      module/spring-boot-micrometer-metrics/src/test/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/otlp/OtlpMetricsPropertiesConfigAdapterTests.java
  4. 1
      module/spring-boot-micrometer-metrics/src/test/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/otlp/OtlpMetricsPropertiesTests.java

14
module/spring-boot-micrometer-metrics/src/main/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/otlp/OtlpMetricsProperties.java

@ -21,6 +21,7 @@ import java.util.Map; @@ -21,6 +21,7 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
import io.micrometer.registry.otlp.AggregationTemporality;
import io.micrometer.registry.otlp.CompressionMode;
import io.micrometer.registry.otlp.HistogramFlavor;
import org.jspecify.annotations.Nullable;
@ -49,6 +50,11 @@ public class OtlpMetricsProperties extends StepRegistryProperties { @@ -49,6 +50,11 @@ public class OtlpMetricsProperties extends StepRegistryProperties {
*/
private AggregationTemporality aggregationTemporality = AggregationTemporality.CUMULATIVE;
/**
* Compression mode to use when exporting metrics.
*/
private CompressionMode compressionMode = CompressionMode.NONE;
/**
* Headers for the exported metrics.
*/
@ -96,6 +102,14 @@ public class OtlpMetricsProperties extends StepRegistryProperties { @@ -96,6 +102,14 @@ public class OtlpMetricsProperties extends StepRegistryProperties {
this.aggregationTemporality = aggregationTemporality;
}
public CompressionMode getCompressionMode() {
return this.compressionMode;
}
public void setCompressionMode(CompressionMode compressionMode) {
this.compressionMode = compressionMode;
}
public @Nullable Map<String, String> getHeaders() {
return this.headers;
}

6
module/spring-boot-micrometer-metrics/src/main/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/otlp/OtlpMetricsPropertiesConfigAdapter.java

@ -22,6 +22,7 @@ import java.util.Map; @@ -22,6 +22,7 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
import io.micrometer.registry.otlp.AggregationTemporality;
import io.micrometer.registry.otlp.CompressionMode;
import io.micrometer.registry.otlp.HistogramFlavor;
import io.micrometer.registry.otlp.OtlpConfig;
@ -72,6 +73,11 @@ class OtlpMetricsPropertiesConfigAdapter extends StepRegistryPropertiesConfigAda @@ -72,6 +73,11 @@ class OtlpMetricsPropertiesConfigAdapter extends StepRegistryPropertiesConfigAda
return obtain(OtlpMetricsProperties::getAggregationTemporality, OtlpConfig.super::aggregationTemporality);
}
@Override
public CompressionMode compressionMode() {
return obtain(OtlpMetricsProperties::getCompressionMode, OtlpConfig.super::compressionMode);
}
@Override
public Map<String, String> resourceAttributes() {
Map<String, String> resourceAttributes = new LinkedHashMap<>();

12
module/spring-boot-micrometer-metrics/src/test/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/otlp/OtlpMetricsPropertiesConfigAdapterTests.java

@ -20,6 +20,7 @@ import java.util.Map; @@ -20,6 +20,7 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
import io.micrometer.registry.otlp.AggregationTemporality;
import io.micrometer.registry.otlp.CompressionMode;
import io.micrometer.registry.otlp.HistogramFlavor;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@ -88,6 +89,17 @@ class OtlpMetricsPropertiesConfigAdapterTests { @@ -88,6 +89,17 @@ class OtlpMetricsPropertiesConfigAdapterTests {
assertThat(createAdapter().aggregationTemporality()).isSameAs(AggregationTemporality.DELTA);
}
@Test
void whenPropertiesCompressionModeIsNotSetAdapterCompressionModeReturnsNone() {
assertThat(createAdapter().compressionMode()).isSameAs(CompressionMode.NONE);
}
@Test
void whenPropertiesCompressionModeIsSetAdapterCompressionModeReturnsIt() {
this.properties.setCompressionMode(CompressionMode.GZIP);
assertThat(createAdapter().compressionMode()).isSameAs(CompressionMode.GZIP);
}
@Test
void whenOpenTelemetryPropertiesResourceAttributesIsSetAdapterResourceAttributesReturnsIt() {
this.openTelemetryProperties.setResourceAttributes(Map.of("service.name", "boot-service"));

1
module/spring-boot-micrometer-metrics/src/test/java/org/springframework/boot/micrometer/metrics/autoconfigure/export/otlp/OtlpMetricsPropertiesTests.java

@ -36,6 +36,7 @@ class OtlpMetricsPropertiesTests extends StepRegistryPropertiesTests { @@ -36,6 +36,7 @@ class OtlpMetricsPropertiesTests extends StepRegistryPropertiesTests {
OtlpConfig config = OtlpConfig.DEFAULT;
assertStepRegistryDefaultValues(properties, config);
assertThat(properties.getAggregationTemporality()).isSameAs(config.aggregationTemporality());
assertThat(properties.getCompressionMode()).isSameAs(config.compressionMode());
assertThat(properties.getHistogramFlavor()).isSameAs(config.histogramFlavor());
assertThat(properties.getMaxScale()).isEqualTo(config.maxScale());
assertThat(properties.getMaxBucketCount()).isEqualTo(config.maxBucketCount());

Loading…
Cancel
Save