Merge branch '3.0.x' into 3.1.x

Closes gh-36526
This commit is contained in:
Andy Wilkinson 2023-07-24 14:35:14 +01:00
commit 54323d1a95
4 changed files with 60 additions and 3 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2022 the original author or authors.
* Copyright 2012-2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -78,6 +78,21 @@ public class AtlasProperties {
*/
private boolean lwcEnabled;
/**
* Step size (reporting frequency) to use for streaming to Atlas LWC. This is the
* highest supported resolution for getting an on-demand stream of the data. It must
* be less than or equal to management.metrics.export.atlas.step and
* management.metrics.export.atlas.step should be an even multiple of this value.
*/
private Duration lwcStep = Duration.ofSeconds(5);
/**
* Whether expressions with the same step size as Atlas publishing should be ignored
* for streaming. Used for cases where data being published to Atlas is also sent into
* streaming from the backend.
*/
private boolean lwcIgnorePublishStep = true;
/**
* Frequency for refreshing config settings from the LWC service.
*/
@ -170,6 +185,22 @@ public class AtlasProperties {
this.lwcEnabled = lwcEnabled;
}
public Duration getLwcStep() {
return this.lwcStep;
}
public void setLwcStep(Duration lwcStep) {
this.lwcStep = lwcStep;
}
public boolean isLwcIgnorePublishStep() {
return this.lwcIgnorePublishStep;
}
public void setLwcIgnorePublishStep(boolean lwcIgnorePublishStep) {
this.lwcIgnorePublishStep = lwcIgnorePublishStep;
}
public Duration getConfigRefreshFrequency() {
return this.configRefreshFrequency;
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -84,6 +84,16 @@ class AtlasPropertiesConfigAdapter extends PropertiesConfigAdapter<AtlasProperti
return get(AtlasProperties::isLwcEnabled, AtlasConfig.super::lwcEnabled);
}
@Override
public Duration lwcStep() {
return get(AtlasProperties::getLwcStep, AtlasConfig.super::lwcStep);
}
@Override
public boolean lwcIgnorePublishStep() {
return get(AtlasProperties::isLwcIgnorePublishStep, AtlasConfig.super::lwcIgnorePublishStep);
}
@Override
public Duration configRefreshFrequency() {
return get(AtlasProperties::getConfigRefreshFrequency, AtlasConfig.super::configRefreshFrequency);

View File

@ -116,4 +116,18 @@ class AtlasPropertiesConfigAdapterTests {
.isEqualTo("https://atlas.example.com/evaluate");
}
@Test
void whenPropertiesLwcStepIsSetAdapterLwcStepReturnsIt() {
AtlasProperties properties = new AtlasProperties();
properties.setLwcStep(Duration.ofSeconds(30));
assertThat(new AtlasPropertiesConfigAdapter(properties).lwcStep()).isEqualTo(Duration.ofSeconds(30));
}
@Test
void whenPropertiesLwcIgnorePublishStepIsSetAdapterLwcIgnorePublishStepReturnsIt() {
AtlasProperties properties = new AtlasProperties();
properties.setLwcIgnorePublishStep(false);
assertThat(new AtlasPropertiesConfigAdapter(properties).lwcIgnorePublishStep()).isFalse();
}
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -41,6 +41,8 @@ class AtlasPropertiesTests {
assertThat(properties.getUri()).isEqualTo(config.uri());
assertThat(properties.getMeterTimeToLive()).isEqualTo(config.meterTTL());
assertThat(properties.isLwcEnabled()).isEqualTo(config.lwcEnabled());
assertThat(properties.getLwcStep()).isEqualTo(config.lwcStep());
assertThat(properties.isLwcIgnorePublishStep()).isEqualTo(config.lwcIgnorePublishStep());
assertThat(properties.getConfigRefreshFrequency()).isEqualTo(config.configRefreshFrequency());
assertThat(properties.getConfigTimeToLive()).isEqualTo(config.configTTL());
assertThat(properties.getConfigUri()).isEqualTo(config.configUri());