blob: 0883225b506d44ee737d5a9c96b8c64850f7e754 (
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
34
35
36
37
|
// Test metrics.query.sort.* ServerStatus counters
(function() {
'use strict';
const conn = MongoRunner.runMongod();
assert.neq(null, conn, "mongod was unable to start up");
const db = conn.getDB(jsTestName());
assert.commandWorked(db.dropDatabase());
const coll = db.spill_to_disk;
const memoryLimitMB = 100;
const bigStr = Array(1024 * 1024 + 1).toString(); // 1MB of ','
for (let i = 0; i < memoryLimitMB + 1; i++)
assert.commandWorked(coll.insert({_id: i, bigStr: i + bigStr, random: Math.random()}));
assert.gt(coll.stats().size, memoryLimitMB * 1024 * 1024);
const metricsBefore = db.serverStatus().metrics.query.sort;
const pipeline = [{$sort: {random: 1}}];
assert.eq(coll.aggregate(pipeline).itcount(), coll.count());
const metricsAfter = db.serverStatus().metrics.query.sort;
assert.gt(metricsAfter.spillToDisk,
metricsBefore.spillToDisk,
"Expect metric query.sort.spillToDisk to increment after pipeline " + tojson(pipeline));
assert.gt(
metricsAfter.totalKeysSorted,
metricsBefore.totalKeysSorted,
"Expect metric query.sort.totalKeysSorted to increment after pipeline " + tojson(pipeline));
assert.gt(
metricsAfter.totalKeysSorted,
metricsBefore.totalKeysSorted,
"Expect metric query.sort.totalKeysSorted to increment after pipeline " + tojson(pipeline));
MongoRunner.stopMongod(conn);
})();
|