Skip to content

Commit a0c8189

Browse files
committed
Merge pull request spring-projects#48957 from jonatan-ivanov
* spring-projectsgh-48957: Polish "Add compression mode OTLP property" Add compression mode OTLP property Closes spring-projectsgh-48957
2 parents 1b86ac4 + f67f232 commit a0c8189

4 files changed

Lines changed: 33 additions & 0 deletions

File tree

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.util.concurrent.TimeUnit;
2222

2323
import io.micrometer.registry.otlp.AggregationTemporality;
24+
import io.micrometer.registry.otlp.CompressionMode;
2425
import io.micrometer.registry.otlp.HistogramFlavor;
2526
import org.jspecify.annotations.Nullable;
2627

@@ -49,6 +50,11 @@ public class OtlpMetricsProperties extends StepRegistryProperties {
4950
*/
5051
private AggregationTemporality aggregationTemporality = AggregationTemporality.CUMULATIVE;
5152

53+
/**
54+
* Compression mode to use when exporting metrics.
55+
*/
56+
private CompressionMode compressionMode = CompressionMode.NONE;
57+
5258
/**
5359
* Headers for the exported metrics.
5460
*/
@@ -96,6 +102,14 @@ public void setAggregationTemporality(AggregationTemporality aggregationTemporal
96102
this.aggregationTemporality = aggregationTemporality;
97103
}
98104

105+
public CompressionMode getCompressionMode() {
106+
return this.compressionMode;
107+
}
108+
109+
public void setCompressionMode(CompressionMode compressionMode) {
110+
this.compressionMode = compressionMode;
111+
}
112+
99113
public @Nullable Map<String, String> getHeaders() {
100114
return this.headers;
101115
}

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.concurrent.TimeUnit;
2323

2424
import io.micrometer.registry.otlp.AggregationTemporality;
25+
import io.micrometer.registry.otlp.CompressionMode;
2526
import io.micrometer.registry.otlp.HistogramFlavor;
2627
import io.micrometer.registry.otlp.OtlpConfig;
2728

@@ -72,6 +73,11 @@ public AggregationTemporality aggregationTemporality() {
7273
return obtain(OtlpMetricsProperties::getAggregationTemporality, OtlpConfig.super::aggregationTemporality);
7374
}
7475

76+
@Override
77+
public CompressionMode compressionMode() {
78+
return obtain(OtlpMetricsProperties::getCompressionMode, OtlpConfig.super::compressionMode);
79+
}
80+
7581
@Override
7682
public Map<String, String> resourceAttributes() {
7783
Map<String, String> resourceAttributes = new LinkedHashMap<>();

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.concurrent.TimeUnit;
2121

2222
import io.micrometer.registry.otlp.AggregationTemporality;
23+
import io.micrometer.registry.otlp.CompressionMode;
2324
import io.micrometer.registry.otlp.HistogramFlavor;
2425
import org.junit.jupiter.api.BeforeEach;
2526
import org.junit.jupiter.api.Test;
@@ -88,6 +89,17 @@ void whenPropertiesAggregationTemporalityIsSetAdapterAggregationTemporalityRetur
8889
assertThat(createAdapter().aggregationTemporality()).isSameAs(AggregationTemporality.DELTA);
8990
}
9091

92+
@Test
93+
void whenPropertiesCompressionModeIsNotSetAdapterCompressionModeReturnsNone() {
94+
assertThat(createAdapter().compressionMode()).isSameAs(CompressionMode.NONE);
95+
}
96+
97+
@Test
98+
void whenPropertiesCompressionModeIsSetAdapterCompressionModeReturnsIt() {
99+
this.properties.setCompressionMode(CompressionMode.GZIP);
100+
assertThat(createAdapter().compressionMode()).isSameAs(CompressionMode.GZIP);
101+
}
102+
91103
@Test
92104
void whenOpenTelemetryPropertiesResourceAttributesIsSetAdapterResourceAttributesReturnsIt() {
93105
this.openTelemetryProperties.setResourceAttributes(Map.of("service.name", "boot-service"));

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ void defaultValuesAreConsistent() {
3636
OtlpConfig config = OtlpConfig.DEFAULT;
3737
assertStepRegistryDefaultValues(properties, config);
3838
assertThat(properties.getAggregationTemporality()).isSameAs(config.aggregationTemporality());
39+
assertThat(properties.getCompressionMode()).isSameAs(config.compressionMode());
3940
assertThat(properties.getHistogramFlavor()).isSameAs(config.histogramFlavor());
4041
assertThat(properties.getMaxScale()).isEqualTo(config.maxScale());
4142
assertThat(properties.getMaxBucketCount()).isEqualTo(config.maxBucketCount());

0 commit comments

Comments
 (0)