diff options
author | aldo-aguilar <aldo.aguilar@mongodb.com> | 2021-08-02 23:34:19 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-08-20 02:43:57 +0000 |
commit | bf8178c96766b5509a8b0afe56d548e6b5561456 (patch) | |
tree | 9fcd5b2d1d71f927e117b58a49f3e3f87c2db983 /src/mongo/db/curop.cpp | |
parent | 00f2ee65095bb32c4b4fdaff7a65e83f22695be1 (diff) | |
download | mongo-bf8178c96766b5509a8b0afe56d548e6b5561456.tar.gz |
SERVER-58848 Using UserAcquisitionStats in place of UserCacheAcquisitionStats, now tracking LDAP operations as well.
Diffstat (limited to 'src/mongo/db/curop.cpp')
-rw-r--r-- | src/mongo/db/curop.cpp | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/src/mongo/db/curop.cpp b/src/mongo/db/curop.cpp index b9e7ce060fe..24442c70f6d 100644 --- a/src/mongo/db/curop.cpp +++ b/src/mongo/db/curop.cpp @@ -881,14 +881,21 @@ void OpDebug::report(OperationContext* opCtx, pAttrs->add("locks", locks.obj()); } - auto userCacheAcquisitionStats = curop.getReadOnlyUserCacheAcquisitionStats(); - if (userCacheAcquisitionStats->shouldReport()) { + auto userAcquisitionStats = curop.getReadOnlyUserAcquisitionStats(); + if (userAcquisitionStats->shouldUserCacheAcquisitionStatsReport()) { BSONObjBuilder userCacheAcquisitionStatsBuilder; - userCacheAcquisitionStats->report(&userCacheAcquisitionStatsBuilder, - opCtx->getServiceContext()->getTickSource()); + userAcquisitionStats->userCacheAcquisitionStatsReport( + &userCacheAcquisitionStatsBuilder, opCtx->getServiceContext()->getTickSource()); pAttrs->add("authorization", userCacheAcquisitionStatsBuilder.obj()); } + if (userAcquisitionStats->shouldLDAPOperationStatsReport()) { + BSONObjBuilder ldapOperationStatsBuilder; + userAcquisitionStats->ldapOperationStatsReport(&ldapOperationStatsBuilder, + opCtx->getServiceContext()->getTickSource()); + pAttrs->add("LDAPOperations", ldapOperationStatsBuilder.obj()); + } + BSONObj flowControlObj = makeFlowControlObject(flowControlStats); if (flowControlObj.nFields() > 0) { pAttrs->add("flowControl", flowControlObj); @@ -1018,11 +1025,17 @@ void OpDebug::append(OperationContext* opCtx, } { - auto userCacheAcquisitionStats = curop.getReadOnlyUserCacheAcquisitionStats(); - if (userCacheAcquisitionStats->shouldReport()) { + auto userAcquisitionStats = curop.getReadOnlyUserAcquisitionStats(); + if (userAcquisitionStats->shouldUserCacheAcquisitionStatsReport()) { BSONObjBuilder userCacheAcquisitionStatsBuilder(b.subobjStart("authorization")); - userCacheAcquisitionStats->report(&userCacheAcquisitionStatsBuilder, - opCtx->getServiceContext()->getTickSource()); + userAcquisitionStats->userCacheAcquisitionStatsReport( + &userCacheAcquisitionStatsBuilder, opCtx->getServiceContext()->getTickSource()); + } + + if (userAcquisitionStats->shouldLDAPOperationStatsReport()) { + BSONObjBuilder ldapOperationStatsBuilder; + userAcquisitionStats->ldapOperationStatsReport( + &ldapOperationStatsBuilder, opCtx->getServiceContext()->getTickSource()); } } @@ -1285,11 +1298,18 @@ std::function<BSONObj(ProfileFilter::Args)> OpDebug::appendStaged(StringSet requ }); addIfNeeded("authorization", [](auto field, auto args, auto& b) { - auto userCacheAcquisitionStats = args.curop.getReadOnlyUserCacheAcquisitionStats(); - if (userCacheAcquisitionStats->shouldReport()) { + auto userAcquisitionStats = args.curop.getReadOnlyUserAcquisitionStats(); + if (userAcquisitionStats->shouldUserCacheAcquisitionStatsReport()) { BSONObjBuilder userCacheAcquisitionStatsBuilder(b.subobjStart(field)); - userCacheAcquisitionStats->report(&userCacheAcquisitionStatsBuilder, - args.opCtx->getServiceContext()->getTickSource()); + userAcquisitionStats->userCacheAcquisitionStatsReport( + &userCacheAcquisitionStatsBuilder, + args.opCtx->getServiceContext()->getTickSource()); + } + + if (userAcquisitionStats->shouldLDAPOperationStatsReport()) { + BSONObjBuilder ldapOperationStatsBuilder(b.subobjStart(field)); + userAcquisitionStats->ldapOperationStatsReport( + &ldapOperationStatsBuilder, args.opCtx->getServiceContext()->getTickSource()); } }); |