diff options
author | Will Buerger <will.buerger@mongodb.com> | 2023-05-05 13:36:36 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-05-05 16:42:44 +0000 |
commit | 72e24ba9bbc1c3043d35d47e30cda75075ff3d95 (patch) | |
tree | 4673ecbe265e23f3a01cac1e187c0290c71110a3 /src/mongo/db/clientcursor.cpp | |
parent | d66daf618a9005eaba4a8c9fa3746ef27ab80427 (diff) | |
download | mongo-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.cpp | 9 |
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)); } |