summaryrefslogtreecommitdiffstats
path: root/storage/src/tests/persistence/filestorage
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2021-02-04 16:39:03 +0000
committerGeir Storli <geirst@verizonmedia.com>2021-02-04 16:39:03 +0000
commit8531edf6c9666734d0beea814687e5ee3b726d69 (patch)
tree7914e320be25894f681738f587f7abc0720b0152 /storage/src/tests/persistence/filestorage
parentcf73d91645b70eb1a78cbe44f6be31d3ed5979b5 (diff)
Make the noise level used when deciding whether to report resource usage configurable.
Diffstat (limited to 'storage/src/tests/persistence/filestorage')
-rw-r--r--storage/src/tests/persistence/filestorage/service_layer_host_info_reporter_test.cpp46
1 files changed, 34 insertions, 12 deletions
diff --git a/storage/src/tests/persistence/filestorage/service_layer_host_info_reporter_test.cpp b/storage/src/tests/persistence/filestorage/service_layer_host_info_reporter_test.cpp
index a54c5c8ccf9..e5ba04f789b 100644
--- a/storage/src/tests/persistence/filestorage/service_layer_host_info_reporter_test.cpp
+++ b/storage/src/tests/persistence/filestorage/service_layer_host_info_reporter_test.cpp
@@ -50,6 +50,9 @@ struct ServiceLayerHostInfoReporterTest : ::testing::Test {
void notify(double disk_usage, double memory_usage) {
notify(disk_usage, memory_usage, {0.0, ""}, {0.0, ""});
}
+ void set_noise_level(double level) {
+ _reporter.set_noise_level(level);
+ }
size_t requested_almost_immediate_replies() { return _state_manager.requested_almost_immediate_node_state_replies(); }
ResourceUsage get_old_usage() { return _reporter.get_old_resource_usage(); }
@@ -102,26 +105,45 @@ TEST_F(ServiceLayerHostInfoReporterTest, request_almost_immediate_node_state_as_
EXPECT_EQ(ResourceUsage(0.8, 0.7, {0.1, attr_es_name}, {0.2, attr_mv_name}), get_usage());
}
+TEST_F(ServiceLayerHostInfoReporterTest, can_set_noise_level)
+{
+ set_noise_level(0.02);
+ notify(0.5, 0.4);
+ EXPECT_EQ(1, requested_almost_immediate_replies());
+ EXPECT_EQ(ResourceUsage(0.5, 0.4), get_old_usage());
+ EXPECT_EQ(ResourceUsage(0.5, 0.4), get_usage());
+ // the difference in disk usage is below the noise level
+ notify(0.519, 0.4);
+ EXPECT_EQ(1, requested_almost_immediate_replies());
+ EXPECT_EQ(ResourceUsage(0.5, 0.4), get_old_usage());
+ EXPECT_EQ(ResourceUsage(0.519, 0.4), get_usage());
+ // the difference in disk usage is above the noise level
+ notify(0.521, 0.4);
+ EXPECT_EQ(2, requested_almost_immediate_replies());
+ EXPECT_EQ(ResourceUsage(0.521, 0.4), get_old_usage());
+ EXPECT_EQ(ResourceUsage(0.521, 0.4), get_usage());
+}
+
TEST_F(ServiceLayerHostInfoReporterTest,
- first_valid_attribute_enum_store_sample_triggers_immediate_node_state_when_below_slack_diff)
+ first_valid_attribute_enum_store_sample_triggers_immediate_node_state_when_below_noise_level)
{
- // TODO: Assert this is below slack diff when that becomes configurable.
- constexpr double usage_below_slack_diff = 0.00001;
- notify(0.0, 0.0, {usage_below_slack_diff, attr_es_name}, {});
+ set_noise_level(0.02);
+ constexpr double usage_below_noise_level = 0.019;
+ notify(0.0, 0.0, {usage_below_noise_level, attr_es_name}, {});
EXPECT_EQ(1, requested_almost_immediate_replies());
- EXPECT_EQ(ResourceUsage(0.0, 0.0, {usage_below_slack_diff, attr_es_name}, {}), get_old_usage());
- EXPECT_EQ(ResourceUsage(0.0, 0.0, {usage_below_slack_diff, attr_es_name}, {}), get_usage());
+ EXPECT_EQ(ResourceUsage(0.0, 0.0, {usage_below_noise_level, attr_es_name}, {}), get_old_usage());
+ EXPECT_EQ(ResourceUsage(0.0, 0.0, {usage_below_noise_level, attr_es_name}, {}), get_usage());
}
TEST_F(ServiceLayerHostInfoReporterTest,
- first_valid_attribute_multi_value_sample_triggers_immediate_node_state_when_below_slack_diff)
+ first_valid_attribute_multi_value_sample_triggers_immediate_node_state_when_below_noise_level)
{
- // TODO: Assert this is below slack diff when that becomes configurable.
- constexpr double usage_below_slack_diff = 0.00001;
- notify(0.0, 0.0, {}, {usage_below_slack_diff, attr_mv_name});
+ set_noise_level(0.02);
+ constexpr double usage_below_noise_level = 0.019;
+ notify(0.0, 0.0, {}, {usage_below_noise_level, attr_mv_name});
EXPECT_EQ(1, requested_almost_immediate_replies());
- EXPECT_EQ(ResourceUsage(0.0, 0.0, {}, {usage_below_slack_diff, attr_mv_name}), get_old_usage());
- EXPECT_EQ(ResourceUsage(0.0, 0.0, {}, {usage_below_slack_diff, attr_mv_name}), get_usage());
+ EXPECT_EQ(ResourceUsage(0.0, 0.0, {}, {usage_below_noise_level, attr_mv_name}), get_old_usage());
+ EXPECT_EQ(ResourceUsage(0.0, 0.0, {}, {usage_below_noise_level, attr_mv_name}), get_usage());
}
TEST_F(ServiceLayerHostInfoReporterTest, json_report_generated)