Browse Source

Merge pull request #36393 from jonatan-ivanov

* pr/36393:
  Add property for base time unit in OTLP registry

Closes gh-36393
pull/36422/head
Stephane Nicoll 3 years ago
parent
commit
0e67ec89c2
  1. 14
      spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/otlp/OtlpProperties.java
  2. 6
      spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/otlp/OtlpPropertiesConfigAdapter.java
  3. 14
      spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/otlp/OtlpPropertiesConfigAdapterTests.java
  4. 1
      spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/otlp/OtlpPropertiesTests.java

14
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/otlp/OtlpProperties.java

@ -17,6 +17,7 @@
package org.springframework.boot.actuate.autoconfigure.metrics.export.otlp; package org.springframework.boot.actuate.autoconfigure.metrics.export.otlp;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit;
import io.micrometer.registry.otlp.AggregationTemporality; import io.micrometer.registry.otlp.AggregationTemporality;
@ -55,6 +56,11 @@ public class OtlpProperties extends StepRegistryProperties {
*/ */
private Map<String, String> headers; private Map<String, String> headers;
/**
* Time unit for exported metrics.
*/
private TimeUnit baseTimeUnit = TimeUnit.MILLISECONDS;
public String getUrl() { public String getUrl() {
return this.url; return this.url;
} }
@ -87,4 +93,12 @@ public class OtlpProperties extends StepRegistryProperties {
this.headers = headers; this.headers = headers;
} }
public TimeUnit getBaseTimeUnit() {
return this.baseTimeUnit;
}
public void setBaseTimeUnit(TimeUnit baseTimeUnit) {
this.baseTimeUnit = baseTimeUnit;
}
} }

6
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/otlp/OtlpPropertiesConfigAdapter.java

@ -17,6 +17,7 @@
package org.springframework.boot.actuate.autoconfigure.metrics.export.otlp; package org.springframework.boot.actuate.autoconfigure.metrics.export.otlp;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit;
import io.micrometer.registry.otlp.AggregationTemporality; import io.micrometer.registry.otlp.AggregationTemporality;
import io.micrometer.registry.otlp.OtlpConfig; import io.micrometer.registry.otlp.OtlpConfig;
@ -60,4 +61,9 @@ class OtlpPropertiesConfigAdapter extends StepRegistryPropertiesConfigAdapter<Ot
return get(OtlpProperties::getHeaders, OtlpConfig.super::headers); return get(OtlpProperties::getHeaders, OtlpConfig.super::headers);
} }
@Override
public TimeUnit baseTimeUnit() {
return get(OtlpProperties::getBaseTimeUnit, OtlpConfig.super::baseTimeUnit);
}
} }

14
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/otlp/OtlpPropertiesConfigAdapterTests.java

@ -17,6 +17,7 @@
package org.springframework.boot.actuate.autoconfigure.metrics.export.otlp; package org.springframework.boot.actuate.autoconfigure.metrics.export.otlp;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit;
import io.micrometer.registry.otlp.AggregationTemporality; import io.micrometer.registry.otlp.AggregationTemporality;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -67,4 +68,17 @@ class OtlpPropertiesConfigAdapterTests {
assertThat(new OtlpPropertiesConfigAdapter(properties).headers()).containsEntry("header", "value"); assertThat(new OtlpPropertiesConfigAdapter(properties).headers()).containsEntry("header", "value");
} }
@Test
void whenPropertiesBaseTimeUnitIsNotSetAdapterBaseTimeUnitReturnsMillis() {
OtlpProperties properties = new OtlpProperties();
assertThat(new OtlpPropertiesConfigAdapter(properties).baseTimeUnit()).isSameAs(TimeUnit.MILLISECONDS);
}
@Test
void whenPropertiesBaseTimeUnitIsSetAdapterBaseTimeUnitReturnsIt() {
OtlpProperties properties = new OtlpProperties();
properties.setBaseTimeUnit(TimeUnit.SECONDS);
assertThat(new OtlpPropertiesConfigAdapter(properties).baseTimeUnit()).isSameAs(TimeUnit.SECONDS);
}
} }

1
spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/otlp/OtlpPropertiesTests.java

@ -37,6 +37,7 @@ class OtlpPropertiesTests extends StepRegistryPropertiesTests {
assertStepRegistryDefaultValues(properties, config); assertStepRegistryDefaultValues(properties, config);
assertThat(properties.getUrl()).isEqualTo(config.url()); assertThat(properties.getUrl()).isEqualTo(config.url());
assertThat(properties.getAggregationTemporality()).isSameAs(config.aggregationTemporality()); assertThat(properties.getAggregationTemporality()).isSameAs(config.aggregationTemporality());
assertThat(properties.getBaseTimeUnit()).isSameAs(config.baseTimeUnit());
} }
} }

Loading…
Cancel
Save