diff options
author | Mark Benvenuto <mark.benvenuto@mongodb.com> | 2016-08-04 17:29:34 -0400 |
---|---|---|
committer | Mark Benvenuto <mark.benvenuto@mongodb.com> | 2016-08-04 17:29:34 -0400 |
commit | 66391a21a0a1482f54c29b759bacf88c806c490f (patch) | |
tree | 7f639ae8e3e25c6280b6c5a168b64a7bd66656bb /src/mongo/db/introspect.cpp | |
parent | ad27c92e01758c96e7ace4cba13574e0d97a761d (diff) | |
download | mongo-66391a21a0a1482f54c29b759bacf88c806c490f.tar.gz |
SERVER-24614 Add Client Metadata's appname to system.profile
Diffstat (limited to 'src/mongo/db/introspect.cpp')
-rw-r--r-- | src/mongo/db/introspect.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mongo/db/introspect.cpp b/src/mongo/db/introspect.cpp index 55ae0dba84d..3bc23d3fa93 100644 --- a/src/mongo/db/introspect.cpp +++ b/src/mongo/db/introspect.cpp @@ -41,6 +41,8 @@ #include "mongo/db/curop.h" #include "mongo/db/db_raii.h" #include "mongo/db/jsobj.h" +#include "mongo/rpc/metadata/client_metadata.h" +#include "mongo/rpc/metadata/client_metadata_ismaster.h" #include "mongo/util/log.h" #include "mongo/util/scopeguard.h" @@ -95,6 +97,15 @@ void profile(OperationContext* txn, NetworkOp op) { b.appendDate("ts", jsTime()); b.append("client", txn->getClient()->clientAddress()); + const auto& clientMetadata = + ClientMetadataIsMasterState::get(txn->getClient()).getClientMetadata(); + if (clientMetadata) { + auto appName = clientMetadata.get().getApplicationName(); + if (!appName.empty()) { + b.append("appName", appName); + } + } + AuthorizationSession* authSession = AuthorizationSession::get(txn->getClient()); _appendUserInfo(*CurOp::get(txn), b, authSession); |