summaryrefslogtreecommitdiff
path: root/src/mongo/db/clientcursor.cpp
diff options
context:
space:
mode:
authorWill Buerger <will.buerger@mongodb.com>2023-05-05 13:36:36 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-05-05 16:42:44 +0000
commit72e24ba9bbc1c3043d35d47e30cda75075ff3d95 (patch)
tree4673ecbe265e23f3a01cac1e187c0290c71110a3 /src/mongo/db/clientcursor.cpp
parentd66daf618a9005eaba4a8c9fa3746ef27ab80427 (diff)
downloadmongo-72e24ba9bbc1c3043d35d47e30cda75075ff3d95.tar.gz
SERVER-76557: Keep RequestShapifiers in telemetry store
Diffstat (limited to 'src/mongo/db/clientcursor.cpp')
-rw-r--r--src/mongo/db/clientcursor.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mongo/db/clientcursor.cpp b/src/mongo/db/clientcursor.cpp
index 9037096354b..a18b2fec45b 100644
--- a/src/mongo/db/clientcursor.cpp
+++ b/src/mongo/db/clientcursor.cpp
@@ -125,6 +125,8 @@ ClientCursor::ClientCursor(ClientCursorParams params,
_planCacheKey(CurOp::get(operationUsingCursor)->debug().planCacheKey),
_queryHash(CurOp::get(operationUsingCursor)->debug().queryHash),
_telemetryStoreKey(CurOp::get(operationUsingCursor)->debug().telemetryStoreKey),
+ _telemetryRequestShapifier(
+ std::move(CurOp::get(operationUsingCursor)->debug().telemetryRequestShapifier)),
_shouldOmitDiagnosticInformation(
CurOp::get(operationUsingCursor)->debug().shouldOmitDiagnosticInformation),
_opKey(operationUsingCursor->getOperationKey()) {
@@ -161,7 +163,7 @@ void ClientCursor::dispose(OperationContext* opCtx, boost::optional<Date_t> now)
if (_telemetryStoreKey && opCtx) {
telemetry::writeTelemetry(opCtx,
_telemetryStoreKey,
- getOriginatingCommandObj(),
+ std::move(_telemetryRequestShapifier),
_metrics.executionTime.value_or(Microseconds{0}).count(),
_metrics.nreturned.value_or(0));
}
@@ -397,14 +399,15 @@ void collectTelemetryMongod(OperationContext* opCtx, ClientCursorPin& pinnedCurs
pinnedCursor->incrementCursorMetrics(CurOp::get(opCtx)->debug().additiveMetrics);
}
-void collectTelemetryMongod(OperationContext* opCtx, const BSONObj& originatingCommand) {
+void collectTelemetryMongod(OperationContext* opCtx,
+ std::unique_ptr<telemetry::RequestShapifier> requestShapifier) {
// If we haven't registered a cursor to prepare for getMore requests, we record
// telemetry directly.
auto& opDebug = CurOp::get(opCtx)->debug();
telemetry::writeTelemetry(
opCtx,
opDebug.telemetryStoreKey,
- originatingCommand,
+ std::move(requestShapifier),
opDebug.additiveMetrics.executionTime.value_or(Microseconds{0}).count(),
opDebug.additiveMetrics.nreturned.value_or(0));
}