summaryrefslogtreecommitdiff
path: root/src/mongo/db/timeseries/bucket_catalog/execution_stats.cpp
diff options
context:
space:
mode:
authorDan Larkin-York <dan.larkin-york@mongodb.com>2023-03-14 14:58:47 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-03-14 16:54:31 +0000
commitb83e40d9508c662cbc75d363f83974b1efeb3f36 (patch)
treeb7e665c89e730703dbf80bb4ed44faf88839df4b /src/mongo/db/timeseries/bucket_catalog/execution_stats.cpp
parentc2898908503a4f6b426cc6b0b44e19104e5869e8 (diff)
downloadmongo-b83e40d9508c662cbc75d363f83974b1efeb3f36.tar.gz
SERVER-72610 Refactor BucketCatalog to improve testability
Diffstat (limited to 'src/mongo/db/timeseries/bucket_catalog/execution_stats.cpp')
-rw-r--r--src/mongo/db/timeseries/bucket_catalog/execution_stats.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/mongo/db/timeseries/bucket_catalog/execution_stats.cpp b/src/mongo/db/timeseries/bucket_catalog/execution_stats.cpp
index 98556bc339c..174a15fa9ec 100644
--- a/src/mongo/db/timeseries/bucket_catalog/execution_stats.cpp
+++ b/src/mongo/db/timeseries/bucket_catalog/execution_stats.cpp
@@ -29,6 +29,8 @@
#include "mongo/db/timeseries/bucket_catalog/execution_stats.h"
+#include "mongo/db/storage/storage_parameters_gen.h"
+
namespace mongo::timeseries::bucket_catalog {
void ExecutionStatsController::incNumBucketInserts(long long increment) {
@@ -151,4 +153,53 @@ void ExecutionStatsController::incNumDuplicateBucketsReopened(long long incremen
_globalStats.numDuplicateBucketsReopened.fetchAndAddRelaxed(increment);
}
+void appendExecutionStatsToBuilder(const ExecutionStats& stats, BSONObjBuilder& builder) {
+ builder.appendNumber("numBucketInserts", stats.numBucketInserts.load());
+ builder.appendNumber("numBucketUpdates", stats.numBucketUpdates.load());
+ builder.appendNumber("numBucketsOpenedDueToMetadata",
+ stats.numBucketsOpenedDueToMetadata.load());
+ builder.appendNumber("numBucketsClosedDueToCount", stats.numBucketsClosedDueToCount.load());
+ builder.appendNumber("numBucketsClosedDueToSchemaChange",
+ stats.numBucketsClosedDueToSchemaChange.load());
+ builder.appendNumber("numBucketsClosedDueToSize", stats.numBucketsClosedDueToSize.load());
+ builder.appendNumber("numBucketsClosedDueToTimeForward",
+ stats.numBucketsClosedDueToTimeForward.load());
+ builder.appendNumber("numBucketsClosedDueToTimeBackward",
+ stats.numBucketsClosedDueToTimeBackward.load());
+ builder.appendNumber("numBucketsClosedDueToMemoryThreshold",
+ stats.numBucketsClosedDueToMemoryThreshold.load());
+
+ auto commits = stats.numCommits.load();
+ builder.appendNumber("numCommits", commits);
+ builder.appendNumber("numWaits", stats.numWaits.load());
+ auto measurementsCommitted = stats.numMeasurementsCommitted.load();
+ builder.appendNumber("numMeasurementsCommitted", measurementsCommitted);
+ if (commits) {
+ builder.appendNumber("avgNumMeasurementsPerCommit", measurementsCommitted / commits);
+ }
+
+ if (feature_flags::gTimeseriesScalabilityImprovements.isEnabled(
+ serverGlobalParams.featureCompatibility)) {
+ builder.appendNumber("numBucketsClosedDueToReopening",
+ stats.numBucketsClosedDueToReopening.load());
+ builder.appendNumber("numBucketsArchivedDueToMemoryThreshold",
+ stats.numBucketsArchivedDueToMemoryThreshold.load());
+ builder.appendNumber("numBucketsArchivedDueToTimeBackward",
+ stats.numBucketsArchivedDueToTimeBackward.load());
+ builder.appendNumber("numBucketsReopened", stats.numBucketsReopened.load());
+ builder.appendNumber("numBucketsKeptOpenDueToLargeMeasurements",
+ stats.numBucketsKeptOpenDueToLargeMeasurements.load());
+ builder.appendNumber("numBucketsClosedDueToCachePressure",
+ stats.numBucketsClosedDueToCachePressure.load());
+ builder.appendNumber("numBucketsFetched", stats.numBucketsFetched.load());
+ builder.appendNumber("numBucketsQueried", stats.numBucketsQueried.load());
+ builder.appendNumber("numBucketFetchesFailed", stats.numBucketFetchesFailed.load());
+ builder.appendNumber("numBucketQueriesFailed", stats.numBucketQueriesFailed.load());
+ builder.appendNumber("numBucketReopeningsFailed", stats.numBucketReopeningsFailed.load());
+ builder.appendNumber("numDuplicateBucketsReopened",
+ stats.numDuplicateBucketsReopened.load());
+ }
+}
+
+
} // namespace mongo::timeseries::bucket_catalog