removed cf debug events rate limit from tenant profile
This commit is contained in:
parent
d97eaadde0
commit
40491f009e
@ -83,57 +83,52 @@ public class CalculatedFieldIntegrationTest extends CalculatedFieldControllerTes
|
||||
calculatedField.setConfiguration(config);
|
||||
calculatedField.setVersion(1L);
|
||||
|
||||
// create CF -> perform initial calculation
|
||||
CalculatedField savedCalculatedField = doPost("/api/calculatedField", calculatedField, CalculatedField.class);
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("create CF -> perform initial calculation").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
ObjectNode fahrenheitTemp = getLatestTelemetry(testDevice.getId(), "fahrenheitTemp");
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("77.0");
|
||||
});
|
||||
|
||||
// update telemetry -> recalculate state
|
||||
doPost("/api/plugins/telemetry/DEVICE/" + testDevice.getUuidId() + "/timeseries/" + DataConstants.SERVER_SCOPE, JacksonUtil.toJsonNode("{\"temperature\":30}"));
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("update telemetry -> recalculate state").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
ObjectNode fahrenheitTemp = getLatestTelemetry(testDevice.getId(), "fahrenheitTemp");
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("86.0");
|
||||
});
|
||||
|
||||
// update CF output -> perform calculation with updated output
|
||||
Output savedOutput = savedCalculatedField.getConfiguration().getOutput();
|
||||
savedOutput.setType(OutputType.ATTRIBUTES);
|
||||
savedOutput.setScope(AttributeScope.SERVER_SCOPE);
|
||||
savedOutput.setName("temperatureF");
|
||||
savedCalculatedField = doPost("/api/calculatedField", savedCalculatedField, CalculatedField.class);
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("update CF output -> perform calculation with updated output").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
ArrayNode temperatureF = getServerAttributes(testDevice.getId(), "temperatureF");
|
||||
assertThat(temperatureF).isNotNull();
|
||||
assertThat(temperatureF.get(0).get("value").asText()).isEqualTo("86.0");
|
||||
});
|
||||
|
||||
// update CF argument -> perform calculation with new argument
|
||||
Argument savedArgument = savedCalculatedField.getConfiguration().getArguments().get("T");
|
||||
savedArgument.setRefEntityKey(new ReferencedEntityKey("deviceTemperature", ArgumentType.ATTRIBUTE, AttributeScope.SERVER_SCOPE));
|
||||
savedCalculatedField = doPost("/api/calculatedField", savedCalculatedField, CalculatedField.class);
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("update CF argument -> perform calculation with new argument").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
ArrayNode temperatureF = getServerAttributes(testDevice.getId(), "temperatureF");
|
||||
assertThat(temperatureF).isNotNull();
|
||||
assertThat(temperatureF.get(0).get("value").asText()).isEqualTo("104.0");
|
||||
});
|
||||
|
||||
// update CF expression -> perform calculation with new expression
|
||||
savedCalculatedField.getConfiguration().setExpression("1.8 * T + 32");
|
||||
savedCalculatedField = doPost("/api/calculatedField", savedCalculatedField, CalculatedField.class);
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("update CF expression -> perform calculation with new expression").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
ArrayNode temperatureF = getServerAttributes(testDevice.getId(), "temperatureF");
|
||||
assertThat(temperatureF).isNotNull();
|
||||
@ -168,20 +163,18 @@ public class CalculatedFieldIntegrationTest extends CalculatedFieldControllerTes
|
||||
calculatedField.setConfiguration(config);
|
||||
calculatedField.setVersion(1L);
|
||||
|
||||
// create CF -> state is not ready -> no calculation performed
|
||||
CalculatedField savedCalculatedField = doPost("/api/calculatedField", calculatedField, CalculatedField.class);
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("create CF -> state is not ready -> no calculation performed").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
ObjectNode fahrenheitTemp = getLatestTelemetry(testDevice.getId(), "fahrenheitTemp");
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").isNull()).isTrue();
|
||||
});
|
||||
|
||||
// update telemetry -> perform calculation
|
||||
doPost("/api/plugins/telemetry/DEVICE/" + testDevice.getUuidId() + "/timeseries/" + DataConstants.SERVER_SCOPE, JacksonUtil.toJsonNode("{\"temperature\":30}"));
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("update telemetry -> perform calculation").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
ObjectNode fahrenheitTemp = getLatestTelemetry(testDevice.getId(), "fahrenheitTemp");
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
@ -217,20 +210,18 @@ public class CalculatedFieldIntegrationTest extends CalculatedFieldControllerTes
|
||||
calculatedField.setConfiguration(config);
|
||||
calculatedField.setVersion(1L);
|
||||
|
||||
// create CF -> perform initial calculation with default value
|
||||
CalculatedField savedCalculatedField = doPost("/api/calculatedField", calculatedField, CalculatedField.class);
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("create CF -> perform initial calculation with default value").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
ObjectNode fahrenheitTemp = getLatestTelemetry(testDevice.getId(), "fahrenheitTemp");
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").asText()).isEqualTo("53.6");
|
||||
});
|
||||
|
||||
// update telemetry -> recalculate state
|
||||
doPost("/api/plugins/telemetry/DEVICE/" + testDevice.getUuidId() + "/timeseries/" + DataConstants.SERVER_SCOPE, JacksonUtil.toJsonNode("{\"temperature\":30}"));
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("update telemetry -> recalculate state").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
ObjectNode fahrenheitTemp = getLatestTelemetry(testDevice.getId(), "fahrenheitTemp");
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
@ -283,10 +274,9 @@ public class CalculatedFieldIntegrationTest extends CalculatedFieldControllerTes
|
||||
calculatedField.setConfiguration(config);
|
||||
calculatedField.setVersion(1L);
|
||||
|
||||
// create CF and perform initial calculation
|
||||
doPost("/api/calculatedField", calculatedField, CalculatedField.class);
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("create CF and perform initial calculation").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
// result of asset 1
|
||||
ArrayNode z1 = getServerAttributes(asset1.getId(), "z");
|
||||
@ -299,10 +289,9 @@ public class CalculatedFieldIntegrationTest extends CalculatedFieldControllerTes
|
||||
assertThat(z2.get(0).get("value").asText()).isEqualTo("52.0");
|
||||
});
|
||||
|
||||
// update device telemetry -> recalculate state for all assets
|
||||
doPost("/api/plugins/telemetry/DEVICE/" + testDevice.getUuidId() + "/attributes/" + DataConstants.SERVER_SCOPE, JacksonUtil.toJsonNode("{\"x\":25}"));
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("update device telemetry -> recalculate state for all assets").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
// result of asset 1
|
||||
ArrayNode z1 = getServerAttributes(asset1.getId(), "z");
|
||||
@ -315,10 +304,9 @@ public class CalculatedFieldIntegrationTest extends CalculatedFieldControllerTes
|
||||
assertThat(z2.get(0).get("value").asText()).isEqualTo("37.0");
|
||||
});
|
||||
|
||||
// update asset 1 telemetry -> recalculate state only for asset 1
|
||||
doPost("/api/plugins/telemetry/ASSET/" + asset1.getUuidId() + "/attributes/" + DataConstants.SERVER_SCOPE, JacksonUtil.toJsonNode("{\"y\":15}"));
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("update asset 1 telemetry -> recalculate state only for asset 1").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
// result of asset 1
|
||||
ArrayNode z1 = getServerAttributes(asset1.getId(), "z");
|
||||
@ -331,10 +319,9 @@ public class CalculatedFieldIntegrationTest extends CalculatedFieldControllerTes
|
||||
assertThat(z2.get(0).get("value").asText()).isEqualTo("37.0");
|
||||
});
|
||||
|
||||
// update asset 2 telemetry -> recalculate state only for asset 2
|
||||
doPost("/api/plugins/telemetry/ASSET/" + asset2.getUuidId() + "/attributes/" + DataConstants.SERVER_SCOPE, JacksonUtil.toJsonNode("{\"y\":5}"));
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("update asset 2 telemetry -> recalculate state only for asset 2").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
// result of asset 1 (no changes)
|
||||
ArrayNode z1 = getServerAttributes(asset1.getId(), "z");
|
||||
@ -347,12 +334,11 @@ public class CalculatedFieldIntegrationTest extends CalculatedFieldControllerTes
|
||||
assertThat(z2.get(0).get("value").asText()).isEqualTo("30.0");
|
||||
});
|
||||
|
||||
// add new entity to profile -> calculate state for new entity
|
||||
Asset asset3 = createAsset("Test asset 3", assetProfile.getId());
|
||||
doPost("/api/plugins/telemetry/ASSET/" + asset3.getUuidId() + "/attributes/" + DataConstants.SERVER_SCOPE, JacksonUtil.toJsonNode("{\"y\":13}"));
|
||||
|
||||
Asset finalAsset3 = asset3;
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("add new entity to profile -> calculate state for new entity").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
// result of asset 3
|
||||
ArrayNode z3 = getServerAttributes(finalAsset3.getId(), "z");
|
||||
@ -360,10 +346,9 @@ public class CalculatedFieldIntegrationTest extends CalculatedFieldControllerTes
|
||||
assertThat(z3.get(0).get("value").asText()).isEqualTo("38.0");
|
||||
});
|
||||
|
||||
// update device telemetry -> recalculate state for all assets
|
||||
doPost("/api/plugins/telemetry/DEVICE/" + testDevice.getUuidId() + "/attributes/" + DataConstants.SERVER_SCOPE, JacksonUtil.toJsonNode("{\"x\":20}"));
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("update device telemetry -> recalculate state for all assets").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
// result of asset 1
|
||||
ArrayNode z1 = getServerAttributes(asset1.getId(), "z");
|
||||
@ -386,11 +371,10 @@ public class CalculatedFieldIntegrationTest extends CalculatedFieldControllerTes
|
||||
asset3.setAssetProfileId(newAssetProfile.getId());
|
||||
asset3 = doPost("/api/asset", asset3, Asset.class);
|
||||
|
||||
// update device telemetry -> recalculate state for asset 1 and asset 2
|
||||
doPost("/api/plugins/telemetry/DEVICE/" + testDevice.getUuidId() + "/attributes/" + DataConstants.SERVER_SCOPE, JacksonUtil.toJsonNode("{\"x\":15}"));
|
||||
|
||||
Asset updatedAsset3 = asset3;
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("update device telemetry -> recalculate state for asset 1 and asset 2").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
// result of asset 1
|
||||
ArrayNode z1 = getServerAttributes(asset1.getId(), "z");
|
||||
@ -438,20 +422,18 @@ public class CalculatedFieldIntegrationTest extends CalculatedFieldControllerTes
|
||||
calculatedField.setConfiguration(config);
|
||||
calculatedField.setVersion(1L);
|
||||
|
||||
// create CF -> ctx is not initialized -> no calculation perform
|
||||
CalculatedField savedCalculatedField = doPost("/api/calculatedField", calculatedField, CalculatedField.class);
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("create CF -> ctx is not initialized -> no calculation perform").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
ObjectNode fahrenheitTemp = getLatestTelemetry(testDevice.getId(), "fahrenheitTemp");
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
assertThat(fahrenheitTemp.get("fahrenheitTemp").get(0).get("value").isNull()).isTrue();
|
||||
});
|
||||
|
||||
// update telemetry -> ctx is not initialized -> no calculation perform
|
||||
doPost("/api/plugins/telemetry/DEVICE/" + testDevice.getUuidId() + "/timeseries/" + DataConstants.SERVER_SCOPE, JacksonUtil.toJsonNode("{\"temperature\":30}"));
|
||||
|
||||
await().atMost(5, TimeUnit.SECONDS)
|
||||
await().alias("update telemetry -> ctx is not initialized -> no calculation perform").atMost(TIMEOUT, TimeUnit.SECONDS)
|
||||
.untilAsserted(() -> {
|
||||
ObjectNode fahrenheitTemp = getLatestTelemetry(testDevice.getId(), "fahrenheitTemp");
|
||||
assertThat(fahrenheitTemp).isNotNull();
|
||||
|
||||
@ -44,7 +44,7 @@ public enum LimitedApi {
|
||||
TRANSPORT_MESSAGES_PER_GATEWAY_DEVICE("transport messages per gateway device", false),
|
||||
EMAILS("emails sending", true),
|
||||
WS_SUBSCRIPTIONS("WS subscriptions", false),
|
||||
CALCULATED_FIELD_DEBUG_EVENTS(DefaultTenantProfileConfiguration::getCalculatedFieldDebugEventsRateLimit, "calculated field debug events", true);
|
||||
CALCULATED_FIELD_DEBUG_EVENTS("calculated field debug events", true);
|
||||
|
||||
private Function<DefaultTenantProfileConfiguration, String> configExtractor;
|
||||
@Getter
|
||||
|
||||
@ -140,7 +140,6 @@ public class DefaultTenantProfileConfiguration implements TenantProfileConfigura
|
||||
private long maxDataPointsPerRollingArg;
|
||||
private long maxStateSizeInKBytes;
|
||||
private long maxSingleValueArgumentSizeInKBytes;
|
||||
private String calculatedFieldDebugEventsRateLimit;
|
||||
|
||||
@Override
|
||||
public long getProfileThreshold(ApiUsageRecordKey key) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user