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 | 107 |
1 files changed, 107 insertions, 0 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 a690d908879..c6fc1755328 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 @@ -164,6 +164,14 @@ public: std::move(fieldNameProvider), std::move(mock)); } + + void createMetricsAndAssertIncrementsCumulativeMetricsField( + const std::function<void(ShardingDataTransformInstanceMetrics*)>& mutate, + Section section, + const StringData& fieldName) { + auto metrics = createInstanceMetrics(UUID::gen(), Role::kCoordinator); + assertIncrementsCumulativeMetricsField(metrics.get(), mutate, section, fieldName); + } }; TEST_F(ShardingDataTransformInstanceMetricsTest, RegisterAndDeregisterMetrics) { @@ -362,5 +370,104 @@ TEST_F(ShardingDataTransformInstanceMetricsTest, ASSERT_FALSE(report.hasField("allShardsLowestRemainingOperationTimeEstimatedSecs")); } +TEST_F(ShardingDataTransformInstanceMetricsTest, OnStartedIncrementsCumulativeMetrics) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onStarted(); }, Section::kRoot, "countStarted"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, OnSuccessIncrementsCumulativeMetrics) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onSuccess(); }, Section::kRoot, "countSucceeded"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, OnFailureIncrementsCumulativeMetrics) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onFailure(); }, Section::kRoot, "countFailed"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, OnCanceledIncrementsCumulativeMetrics) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onCanceled(); }, Section::kRoot, "countCanceled"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, SetChunkImbalanceIncrementsCumulativeMetrics) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->setLastOpEndingChunkImbalance(1); }, + Section::kRoot, + "lastOpEndingChunkImbalance"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, + OnReadDuringCriticalSectionIncrementsCumulativeMetrics) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onReadDuringCriticalSection(); }, + Section::kActive, + "countReadsDuringCriticalSection"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, + OnWriteDuringCriticalSectionIncrementsCumulativeMetrics) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onWriteDuringCriticalSection(); }, + Section::kActive, + "countWritesDuringCriticalSection"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, + OnWriteToStashCollectionsIncrementsCumulativeMetrics) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onWriteToStashedCollections(); }, + Section::kActive, + "countWritesToStashCollections"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, + OnCloningRemoteBatchRetrievalIncrementsCumulativeMetricsCount) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onCloningRemoteBatchRetrieval(Milliseconds{0}); }, + Section::kLatencies, + "collectionCloningTotalRemoteBatchesRetrieved"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, + OnCloningRemoteBatchRetrievalIncrementsCumulativeMetricsTime) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onCloningRemoteBatchRetrieval(Milliseconds{1}); }, + Section::kLatencies, + "collectionCloningTotalRemoteBatchRetrievalTimeMillis"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, + OnDocumentsProcessedIncrementsCumulativeMetricsDocumentCount) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onDocumentsProcessed(1, 0, Milliseconds{0}); }, + Section::kActive, + "documentsProcessed"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, + OnDocumentsProcessedIncrementsCumulativeMetricsLocalInserts) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onDocumentsProcessed(1, 0, Milliseconds{0}); }, + Section::kLatencies, + "collectionCloningTotalLocalInserts"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, + OnDocumentsProcessedIncrementsCumulativeMetricsByteCount) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onDocumentsProcessed(0, 1, Milliseconds{0}); }, + Section::kActive, + "bytesWritten"); +} + +TEST_F(ShardingDataTransformInstanceMetricsTest, + OnDocumentsProcessedIncrementsCumulativeMetricsLocalInsertTime) { + createMetricsAndAssertIncrementsCumulativeMetricsField( + [](auto metrics) { metrics->onDocumentsProcessed(0, 0, Milliseconds{1}); }, + Section::kLatencies, + "collectionCloningTotalLocalInsertTimeMillis"); +} + } // namespace } // namespace mongo |