diff options
author | David Percy <david.percy@mongodb.com> | 2020-08-26 21:03:12 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-09-04 04:15:57 +0000 |
commit | a08a00b6c55c6bd43df2dd76893a6917f46cebdc (patch) | |
tree | 1ba5f373c551794b586609d2f6ab014f9a56684c /src/mongo/db/introspect.cpp | |
parent | 74756b18f43407e32496b600f2466457c59cb26a (diff) | |
download | mongo-a08a00b6c55c6bd43df2dd76893a6917f46cebdc.tar.gz |
SERVER-49102 Custom filter for logging/profiling
Diffstat (limited to 'src/mongo/db/introspect.cpp')
-rw-r--r-- | src/mongo/db/introspect.cpp | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/src/mongo/db/introspect.cpp b/src/mongo/db/introspect.cpp index 31749c46c96..95e8f4843fd 100644 --- a/src/mongo/db/introspect.cpp +++ b/src/mongo/db/introspect.cpp @@ -54,36 +54,6 @@ using std::endl; using std::string; using std::unique_ptr; -namespace { - -void _appendUserInfo(const CurOp& c, BSONObjBuilder& builder, AuthorizationSession* authSession) { - UserNameIterator nameIter = authSession->getAuthenticatedUserNames(); - - UserName bestUser; - if (nameIter.more()) - bestUser = *nameIter; - - std::string opdb(nsToDatabase(c.getNS())); - - BSONArrayBuilder allUsers(builder.subarrayStart("allUsers")); - for (; nameIter.more(); nameIter.next()) { - BSONObjBuilder nextUser(allUsers.subobjStart()); - nextUser.append(AuthorizationManager::USER_NAME_FIELD_NAME, nameIter->getUser()); - nextUser.append(AuthorizationManager::USER_DB_FIELD_NAME, nameIter->getDB()); - nextUser.doneFast(); - - if (nameIter->getDB() == opdb) { - bestUser = *nameIter; - } - } - allUsers.doneFast(); - - builder.append("user", bestUser.getUser().empty() ? "" : bestUser.getFullName()); -} - -} // namespace - - void profile(OperationContext* opCtx, NetworkOp op) { // Initialize with 1kb at start in order to avoid realloc later BufBuilder profileBufBuilder(1024); @@ -110,7 +80,7 @@ void profile(OperationContext* opCtx, NetworkOp op) { } AuthorizationSession* authSession = AuthorizationSession::get(opCtx->getClient()); - _appendUserInfo(*CurOp::get(opCtx), b, authSession); + OpDebug::appendUserInfo(*CurOp::get(opCtx), b, authSession); const BSONObj p = b.done(); |