diff options
author | Tor Egge <Tor.Egge@online.no> | 2021-10-13 12:29:42 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2021-10-13 12:29:42 +0200 |
commit | e302a3f50761a500448734161c30f439337bae0d (patch) | |
tree | b9f1f5b0a3906568cfa6c5e85ce8ba183081b3ad /storage/src/tests/distributor/mergeoperationtest.cpp | |
parent | 4b66edb00d3810b067eabc55ac9d4d657b954626 (diff) |
Add metrics for blocked and throttled operations.
Diffstat (limited to 'storage/src/tests/distributor/mergeoperationtest.cpp')
-rw-r--r-- | storage/src/tests/distributor/mergeoperationtest.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/storage/src/tests/distributor/mergeoperationtest.cpp b/storage/src/tests/distributor/mergeoperationtest.cpp index 769651afd8d..d174a6335b7 100644 --- a/storage/src/tests/distributor/mergeoperationtest.cpp +++ b/storage/src/tests/distributor/mergeoperationtest.cpp @@ -35,8 +35,19 @@ struct MergeOperationTest : Test, DistributorStripeTestUtil { void TearDown() override { close(); } + + std::shared_ptr<MergeOperation> setup_minimal_merge_op(); }; +std::shared_ptr<MergeOperation> +MergeOperationTest::setup_minimal_merge_op() +{ + document::BucketId bucket_id(16, 1); + auto op = std::make_shared<MergeOperation>(BucketAndNodes(makeDocumentBucket(bucket_id), toVector<uint16_t>(0, 1, 2))); + op->setIdealStateManager(&getIdealStateManager()); + return op; +} + TEST_F(MergeOperationTest, simple) { getClock().setAbsoluteTimeInSeconds(10); @@ -500,4 +511,22 @@ TEST_F(MergeOperationTest, merge_operation_is_not_blocked_by_request_bucket_info EXPECT_FALSE(op.isBlocked(operation_context(), _operation_sequencer)); } +TEST_F(MergeOperationTest, on_blocked_updates_metrics) +{ + auto op = setup_minimal_merge_op(); + auto metrics = getIdealStateManager().getMetrics().operations[IdealStateOperation::MERGE_BUCKET]; + EXPECT_EQ(0, metrics->blocked.getValue()); + op->on_blocked(); + EXPECT_EQ(1, metrics->blocked.getValue()); +} + +TEST_F(MergeOperationTest, on_throttled_updates_metrics) +{ + auto op = setup_minimal_merge_op(); + auto metrics = getIdealStateManager().getMetrics().operations[IdealStateOperation::MERGE_BUCKET]; + EXPECT_EQ(0, metrics->throttled.getValue()); + op->on_throttled(); + EXPECT_EQ(1, metrics->throttled.getValue()); +} + } // storage::distributor |