summaryrefslogtreecommitdiff
path: root/src/mongo/db/stats
diff options
context:
space:
mode:
authorMatt Broadstone <mbroadst@mongodb.com>2022-02-01 14:55:44 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-02-01 16:12:55 +0000
commit1cc5df724ab48604e19a8b2f3703563c553b1ba0 (patch)
tree68493e81ddd2bc3fc790dd626ad2de689fef405c /src/mongo/db/stats
parentb2098c676bdc64e3194734fa632b133c47496646 (diff)
downloadmongo-1cc5df724ab48604e19a8b2f3703563c553b1ba0.tar.gz
SERVER-62609 Represent the w parameter of WriteConcernOptions as a variant
Diffstat (limited to 'src/mongo/db/stats')
-rw-r--r--src/mongo/db/stats/server_write_concern_metrics.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/mongo/db/stats/server_write_concern_metrics.cpp b/src/mongo/db/stats/server_write_concern_metrics.cpp
index 1229541db85..7dcedc40ef6 100644
--- a/src/mongo/db/stats/server_write_concern_metrics.cpp
+++ b/src/mongo/db/stats/server_write_concern_metrics.cpp
@@ -108,17 +108,22 @@ BSONObj ServerWriteConcernMetrics::toBSON() const {
void ServerWriteConcernMetrics::WriteConcernCounters::recordWriteConcern(
const WriteConcernOptions& writeConcernOptions, size_t numOps) {
- if (!writeConcernOptions.wMode.empty()) {
- if (writeConcernOptions.wMode == WriteConcernOptions::kMajority) {
+ if (auto wMode = stdx::get_if<std::string>(&writeConcernOptions.w)) {
+ if (writeConcernOptions.isMajority()) {
wMajorityCount += numOps;
return;
}
- wTagCounts[writeConcernOptions.wMode] += numOps;
+ wTagCounts[*wMode] += numOps;
return;
}
- wNumCounts[writeConcernOptions.wNumNodes] += numOps;
+ if (stdx::holds_alternative<WTags>(writeConcernOptions.w)) {
+ // wTags is an internal feature that we don't track metrics for
+ return;
+ }
+
+ wNumCounts[stdx::get<int64_t>(writeConcernOptions.w)] += numOps;
}
void ServerWriteConcernMetrics::WriteConcernMetricsForOperationType::recordWriteConcern(