diff options
author | Matt Broadstone <mbroadst@mongodb.com> | 2022-02-01 14:55:44 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-02-01 16:12:55 +0000 |
commit | 1cc5df724ab48604e19a8b2f3703563c553b1ba0 (patch) | |
tree | 68493e81ddd2bc3fc790dd626ad2de689fef405c /src/mongo/db/stats | |
parent | b2098c676bdc64e3194734fa632b133c47496646 (diff) | |
download | mongo-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.cpp | 13 |
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( |