summaryrefslogtreecommitdiff
path: root/jstests/noPassthrough/telemetry/clear_telemetry_store.js
diff options
context:
space:
mode:
authorliubov.molchanova <liubov.molchanova@mongodb.com>2023-05-17 08:16:48 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-05-17 10:20:42 +0000
commit87160f876c6fb94f5d03062b2caee57539ec5d8e (patch)
treeb78d9ca9e853a236e0a2f6432a6ac02dc50119cd /jstests/noPassthrough/telemetry/clear_telemetry_store.js
parent1c390a0c50104a04cbd8ecbefb99eaf22e1bc914 (diff)
downloadmongo-87160f876c6fb94f5d03062b2caee57539ec5d8e.tar.gz
Revert "SERVER-76427: Rename $telemetry to $queryStats"
This reverts commit d646e44b7801a3e5b3230bbae7dcfe05a5ed8707.
Diffstat (limited to 'jstests/noPassthrough/telemetry/clear_telemetry_store.js')
-rw-r--r--jstests/noPassthrough/telemetry/clear_telemetry_store.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/jstests/noPassthrough/telemetry/clear_telemetry_store.js b/jstests/noPassthrough/telemetry/clear_telemetry_store.js
new file mode 100644
index 00000000000..b2409cc0bbb
--- /dev/null
+++ b/jstests/noPassthrough/telemetry/clear_telemetry_store.js
@@ -0,0 +1,46 @@
+/**
+ * Test that the telemetry store can be cleared when the cache size is reset to 0.
+ * @tags: [featureFlagTelemetry]
+ */
+load("jstests/libs/telemetry_utils.js"); // For verifyMetrics.
+
+(function() {
+"use strict";
+
+// Turn on the collecting of telemetry metrics.
+let options = {
+ setParameter: {
+ internalQueryConfigureTelemetrySamplingRate: -1,
+ internalQueryConfigureTelemetryCacheSize: "10MB"
+ },
+};
+
+const conn = MongoRunner.runMongod(options);
+const testDB = conn.getDB('test');
+var coll = testDB[jsTestName()];
+coll.drop();
+
+let query = {};
+for (var j = 0; j < 10; ++j) {
+ query["foo.field.xyz." + j] = 1;
+ query["bar.field.xyz." + j] = 2;
+ query["baz.field.xyz." + j] = 3;
+ coll.aggregate([{$match: query}]).itcount();
+}
+
+// Confirm number of entries in the store and that none have been evicted.
+let telemetryResults = testDB.getSiblingDB("admin").aggregate([{$telemetry: {}}]).toArray();
+assert.eq(telemetryResults.length, 10, telemetryResults);
+assert.eq(testDB.serverStatus().metrics.telemetry.numEvicted, 0);
+
+// Command to clear the cache.
+assert.commandWorked(
+ testDB.adminCommand({setParameter: 1, internalQueryConfigureTelemetryCacheSize: "0MB"}));
+
+// 10 regular queries plus the $telemetry query, means 11 entries evicted when the cache is cleared.
+assert.eq(testDB.serverStatus().metrics.telemetry.numEvicted, 11);
+
+// Calling $telemetry should fail when the telemetry store size is 0 bytes.
+assert.throwsWithCode(() => testDB.getSiblingDB("admin").aggregate([{$telemetry: {}}]), 6579000);
+MongoRunner.stopMongod(conn);
+}());