diff options
Diffstat (limited to 'src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp')
-rw-r--r-- | src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp b/src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp index f5d4ba2df01..a690d908879 100644 --- a/src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp +++ b/src/mongo/db/s/sharding_data_transform_instance_metrics_test.cpp @@ -105,8 +105,8 @@ public: std::move(observer)}, _scopedObserver(registerInstanceMetrics()) {} - Milliseconds getRecipientHighEstimateRemainingTimeMillis() const { - return Milliseconds{0}; + boost::optional<Milliseconds> getRecipientHighEstimateRemainingTimeMillis() const { + return boost::none; } private: @@ -325,25 +325,41 @@ TEST_F(ShardingDataTransformInstanceMetricsTest, OnWriteToStasheddShouldIncremen TEST_F(ShardingDataTransformInstanceMetricsTest, SetLowestOperationTimeShouldBeReflectedInCurrentOp) { auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); - - auto report = metrics->reportForCurrentOp(); - ASSERT_EQ(report.getIntField("allShardsLowestRemainingOperationTimeEstimatedSecs"), 0); metrics->setCoordinatorLowEstimateRemainingTimeMillis(Milliseconds(2000)); - - report = metrics->reportForCurrentOp(); + auto report = metrics->reportForCurrentOp(); ASSERT_EQ(report.getIntField("allShardsLowestRemainingOperationTimeEstimatedSecs"), 2); } TEST_F(ShardingDataTransformInstanceMetricsTest, SetHighestOperationTimeShouldBeReflectedInCurrentOp) { auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); + metrics->setCoordinatorHighEstimateRemainingTimeMillis(Milliseconds(12000)); + auto report = metrics->reportForCurrentOp(); + ASSERT_EQ(report.getIntField("allShardsHighestRemainingOperationTimeEstimatedSecs"), 12); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, CoordinatorHighEstimateNoneIfNotSet) { + auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); + ASSERT_EQ(metrics->getHighEstimateRemainingTimeMillis(), boost::none); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, CoordinatorLowEstimateNoneIfNotSet) { + auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); + ASSERT_EQ(metrics->getLowEstimateRemainingTimeMillis(), boost::none); +} +TEST_F(ShardingDataTransformInstanceMetricsTest, + CurrentOpDoesNotReportCoordinatorHighEstimateIfNotSet) { + auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); auto report = metrics->reportForCurrentOp(); - ASSERT_EQ(report.getIntField("allShardsHighestRemainingOperationTimeEstimatedSecs"), 0); - metrics->setCoordinatorHighEstimateRemainingTimeMillis(Milliseconds(12000)); + ASSERT_FALSE(report.hasField("allShardsHighestRemainingOperationTimeEstimatedSecs")); +} - report = metrics->reportForCurrentOp(); - ASSERT_EQ(report.getIntField("allShardsHighestRemainingOperationTimeEstimatedSecs"), 12); +TEST_F(ShardingDataTransformInstanceMetricsTest, + CurrentOpDoesNotReportCoordinatorLowEstimateIfNotSet) { + auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); + auto report = metrics->reportForCurrentOp(); + ASSERT_FALSE(report.hasField("allShardsLowestRemainingOperationTimeEstimatedSecs")); } } // namespace |