summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/resharding/resharding_metrics.cpp
diff options
context:
space:
mode:
authorBrett Nawrocki <brett.nawrocki@mongodb.com>2022-07-22 16:11:26 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-07-28 18:55:59 +0000
commitb263fd5da80fe00213ccc8694f5215ab4da2159a (patch)
tree0cc5983bb8cdce0dc7ba5acfb48077296b97785a /src/mongo/db/s/resharding/resharding_metrics.cpp
parentc1c13273cb24b8968849533bf6d25e9eaf2d6855 (diff)
downloadmongo-b263fd5da80fe00213ccc8694f5215ab4da2159a.tar.gz
SERVER-67112 Create ReshardingCumulativeMetrics subclass
Diffstat (limited to 'src/mongo/db/s/resharding/resharding_metrics.cpp')
-rw-r--r--src/mongo/db/s/resharding/resharding_metrics.cpp61
1 files changed, 39 insertions, 22 deletions
diff --git a/src/mongo/db/s/resharding/resharding_metrics.cpp b/src/mongo/db/s/resharding/resharding_metrics.cpp
index 69d2e899d84..f0faa8ddd2c 100644
--- a/src/mongo/db/s/resharding/resharding_metrics.cpp
+++ b/src/mongo/db/s/resharding/resharding_metrics.cpp
@@ -120,6 +120,10 @@ std::string ReshardingMetrics::createOperationDescription() const noexcept {
_instanceId.toString());
}
+ReshardingCumulativeMetrics* ReshardingMetrics::getReshardingCumulativeMetrics() {
+ return dynamic_cast<ReshardingCumulativeMetrics*>(getCumulativeMetrics());
+}
+
Milliseconds ReshardingMetrics::getRecipientHighEstimateRemainingTimeMillis() const {
auto estimate = resharding::estimateRemainingRecipientTime(_applyingStartTime.load() != kNoDate,
getBytesWrittenCount(),
@@ -222,9 +226,8 @@ void ReshardingMetrics::restoreCoordinatorSpecificFields(
ReshardingMetrics::DonorState::DonorState(DonorStateEnum enumVal) : _enumVal(enumVal) {}
-ShardingDataTransformCumulativeMetrics::DonorStateEnum ReshardingMetrics::DonorState::toMetrics()
- const {
- using MetricsEnum = ShardingDataTransformCumulativeMetrics::DonorStateEnum;
+ReshardingCumulativeMetrics::DonorStateEnum ReshardingMetrics::DonorState::toMetrics() const {
+ using MetricsEnum = ReshardingCumulativeMetrics::DonorStateEnum;
switch (_enumVal) {
case DonorStateEnum::kUnused:
@@ -264,9 +267,9 @@ DonorStateEnum ReshardingMetrics::DonorState::getState() const {
ReshardingMetrics::RecipientState::RecipientState(RecipientStateEnum enumVal) : _enumVal(enumVal) {}
-ShardingDataTransformCumulativeMetrics::RecipientStateEnum
-ReshardingMetrics::RecipientState::toMetrics() const {
- using MetricsEnum = ShardingDataTransformCumulativeMetrics::RecipientStateEnum;
+ReshardingCumulativeMetrics::RecipientStateEnum ReshardingMetrics::RecipientState::toMetrics()
+ const {
+ using MetricsEnum = ReshardingCumulativeMetrics::RecipientStateEnum;
switch (_enumVal) {
case RecipientStateEnum::kUnused:
@@ -308,35 +311,37 @@ RecipientStateEnum ReshardingMetrics::RecipientState::getState() const {
ReshardingMetrics::CoordinatorState::CoordinatorState(CoordinatorStateEnum enumVal)
: _enumVal(enumVal) {}
-ShardingDataTransformCumulativeMetrics::CoordinatorStateEnum
-ReshardingMetrics::CoordinatorState::toMetrics() const {
+ReshardingCumulativeMetrics::CoordinatorStateEnum ReshardingMetrics::CoordinatorState::toMetrics()
+ const {
+ using MetricsEnum = ReshardingCumulativeMetrics::CoordinatorStateEnum;
+
switch (_enumVal) {
case CoordinatorStateEnum::kUnused:
- return ShardingDataTransformCumulativeMetrics::CoordinatorStateEnum::kUnused;
+ return MetricsEnum::kUnused;
case CoordinatorStateEnum::kInitializing:
- return ShardingDataTransformCumulativeMetrics::CoordinatorStateEnum::kInitializing;
+ return MetricsEnum::kInitializing;
case CoordinatorStateEnum::kPreparingToDonate:
- return ShardingDataTransformCumulativeMetrics::CoordinatorStateEnum::kPreparingToDonate;
+ return MetricsEnum::kPreparingToDonate;
case CoordinatorStateEnum::kCloning:
- return ShardingDataTransformCumulativeMetrics::CoordinatorStateEnum::kCloning;
+ return MetricsEnum::kCloning;
case CoordinatorStateEnum::kApplying:
- return ShardingDataTransformCumulativeMetrics::CoordinatorStateEnum::kApplying;
+ return MetricsEnum::kApplying;
case CoordinatorStateEnum::kBlockingWrites:
- return ShardingDataTransformCumulativeMetrics::CoordinatorStateEnum::kBlockingWrites;
+ return MetricsEnum::kBlockingWrites;
case CoordinatorStateEnum::kAborting:
- return ShardingDataTransformCumulativeMetrics::CoordinatorStateEnum::kAborting;
+ return MetricsEnum::kAborting;
case CoordinatorStateEnum::kCommitting:
- return ShardingDataTransformCumulativeMetrics::CoordinatorStateEnum::kCommitting;
+ return MetricsEnum::kCommitting;
case CoordinatorStateEnum::kDone:
- return ShardingDataTransformCumulativeMetrics::CoordinatorStateEnum::kDone;
+ return MetricsEnum::kDone;
default:
invariant(false,
str::stream() << "Unexpected resharding coordinator state: "
@@ -351,22 +356,22 @@ CoordinatorStateEnum ReshardingMetrics::CoordinatorState::getState() const {
void ReshardingMetrics::onDeleteApplied() {
_deletesApplied.addAndFetch(1);
- getCumulativeMetrics()->onDeleteApplied();
+ getReshardingCumulativeMetrics()->onDeleteApplied();
}
void ReshardingMetrics::onInsertApplied() {
_insertsApplied.addAndFetch(1);
- getCumulativeMetrics()->onInsertApplied();
+ getReshardingCumulativeMetrics()->onInsertApplied();
}
void ReshardingMetrics::onUpdateApplied() {
_updatesApplied.addAndFetch(1);
- getCumulativeMetrics()->onUpdateApplied();
+ getReshardingCumulativeMetrics()->onUpdateApplied();
}
void ReshardingMetrics::onOplogEntriesFetched(int64_t numEntries, Milliseconds elapsed) {
_oplogEntriesFetched.addAndFetch(numEntries);
- getCumulativeMetrics()->onOplogEntriesFetched(numEntries, elapsed);
+ getReshardingCumulativeMetrics()->onOplogEntriesFetched(numEntries, elapsed);
}
void ReshardingMetrics::restoreOplogEntriesFetched(int64_t numEntries) {
@@ -375,13 +380,25 @@ void ReshardingMetrics::restoreOplogEntriesFetched(int64_t numEntries) {
void ReshardingMetrics::onOplogEntriesApplied(int64_t numEntries) {
_oplogEntriesApplied.addAndFetch(numEntries);
- getCumulativeMetrics()->onOplogEntriesApplied(numEntries);
+ getReshardingCumulativeMetrics()->onOplogEntriesApplied(numEntries);
}
void ReshardingMetrics::restoreOplogEntriesApplied(int64_t numEntries) {
_oplogEntriesApplied.store(numEntries);
}
+void ReshardingMetrics::onLocalInsertDuringOplogFetching(Milliseconds elapsed) {
+ getReshardingCumulativeMetrics()->onLocalInsertDuringOplogFetching(elapsed);
+}
+
+void ReshardingMetrics::onBatchRetrievedDuringOplogApplying(Milliseconds elapsed) {
+ getReshardingCumulativeMetrics()->onBatchRetrievedDuringOplogApplying(elapsed);
+}
+
+void ReshardingMetrics::onOplogLocalBatchApplied(Milliseconds elapsed) {
+ getReshardingCumulativeMetrics()->onOplogLocalBatchApplied(elapsed);
+}
+
void ReshardingMetrics::onApplyingBegin() {
_applyingStartTime.store(getClockSource()->now());
}