summaryrefslogtreecommitdiff
path: root/jstests/noPassthrough/client_metadata_slowlog.js
blob: aab419023fe4d813ce53a56bb1f59085a0f33d3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
 * Test that verifies client metadata is logged as part of slow query logging in MongoD.
 */
(function() {
'use strict';

let conn = MongoRunner.runMongod({useLogFiles: true});
assert.neq(null, conn, 'mongod was unable to start up');

let coll = conn.getCollection("test.foo");
assert.writeOK(coll.insert({_id: 1}));

// Do a really slow query beyond the 100ms threshold
let count = coll.count({
    $where: function() {
        sleep(1000);
        return true;
    }
});
assert.eq(count, 1, "expected 1 document");

print(`Checking ${conn.fullOptions.logFile} for client metadata message`);
let log = cat(conn.fullOptions.logFile);
assert(
    /COMMAND .* command test.foo appName: "MongoDB Shell" command: count { count: "foo", query: { \$where: function\(\)/
        .test(log),
    "'slow query' log line missing in mongod log file!\n" +
        "Log file contents: " + conn.fullOptions.logFile +
        "\n************************************************************\n" + log +
        "\n************************************************************");

MongoRunner.stopMongod(conn);
})();