summaryrefslogtreecommitdiff
path: root/src/mongo/db/curop.cpp
diff options
context:
space:
mode:
authoraldo-aguilar <aldo.aguilar@mongodb.com>2021-08-02 23:34:19 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-08-20 02:43:57 +0000
commitbf8178c96766b5509a8b0afe56d548e6b5561456 (patch)
tree9fcd5b2d1d71f927e117b58a49f3e3f87c2db983 /src/mongo/db/curop.cpp
parent00f2ee65095bb32c4b4fdaff7a65e83f22695be1 (diff)
downloadmongo-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.cpp44
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());
}
});