summaryrefslogtreecommitdiff
path: root/jstests/noPassthroughWithMongod/telemetry_configuration.js
diff options
context:
space:
mode:
authorAlyssa Wagenmaker <alyssa.wagenmaker@mongodb.com>2023-04-03 19:28:53 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-04-03 22:07:16 +0000
commit51e2b07895accc3e412f7f1d3ccc323451ea63fe (patch)
treee4022d3a75c54f52be8a65308aa41a5a10d57482 /jstests/noPassthroughWithMongod/telemetry_configuration.js
parent140387a6925f88990dfea22429228bd89da04e02 (diff)
downloadmongo-51e2b07895accc3e412f7f1d3ccc323451ea63fe.tar.gz
SERVER-75062 Allow telemetry sampling rate to be adjusted at runtime
Diffstat (limited to 'jstests/noPassthroughWithMongod/telemetry_configuration.js')
-rw-r--r--jstests/noPassthroughWithMongod/telemetry_configuration.js31
1 files changed, 17 insertions, 14 deletions
diff --git a/jstests/noPassthroughWithMongod/telemetry_configuration.js b/jstests/noPassthroughWithMongod/telemetry_configuration.js
index 8d0b6ed68b5..0ae4e8408c3 100644
--- a/jstests/noPassthroughWithMongod/telemetry_configuration.js
+++ b/jstests/noPassthroughWithMongod/telemetry_configuration.js
@@ -8,25 +8,28 @@
load("jstests/libs/feature_flag_util.js");
if (FeatureFlagUtil.isEnabled(db, "Telemetry")) {
- // The feature flag is enabled - make sure the telemetry store can be configured.
- const original = assert.commandWorked(
- db.adminCommand({getParameter: 1, internalQueryConfigureTelemetryCacheSize: 1}));
- assert(original.hasOwnProperty("internalQueryConfigureTelemetryCacheSize"), original);
- const originalValue = original.internalQueryConfigureTelemetryCacheSize;
- try {
- assert.doesNotThrow(
- () => db.adminCommand(
- {setParameter: 1, internalQueryConfigureTelemetryCacheSize: '2MB'}));
- // Other tests verify that resizing actually affects the data structure size.
- } finally {
- assert.doesNotThrow(
- () => db.adminCommand(
- {setParameter: 1, internalQueryConfigureTelemetryCacheSize: originalValue}));
+ function testTelemetrySetting(paramName, paramValue) {
+ // The feature flag is enabled - make sure the telemetry store can be configured.
+ const original = assert.commandWorked(db.adminCommand({getParameter: 1, [paramName]: 1}));
+ assert(original.hasOwnProperty(paramName), original);
+ const originalValue = original[paramName];
+ try {
+ assert.doesNotThrow(() => db.adminCommand({setParameter: 1, [paramName]: paramValue}));
+ // Other tests verify that changing the parameter actually affects the behavior.
+ } finally {
+ assert.doesNotThrow(() =>
+ db.adminCommand({setParameter: 1, [paramName]: originalValue}));
+ }
}
+ testTelemetrySetting("internalQueryConfigureTelemetryCacheSize", "2MB");
+ testTelemetrySetting("internalQueryConfigureTelemetrySamplingRate", 2147483647);
} else {
// The feature flag is disabled - make sure the telemetry store *cannot* be configured.
assert.commandFailedWithCode(
db.adminCommand({setParameter: 1, internalQueryConfigureTelemetryCacheSize: '2MB'}),
7373500);
+ assert.commandFailedWithCode(
+ db.adminCommand({setParameter: 1, internalQueryConfigureTelemetrySamplingRate: 2147483647}),
+ 7506200);
}
}());