diff options
author | Alyssa Wagenmaker <alyssa.wagenmaker@mongodb.com> | 2023-04-03 19:28:53 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-04-03 22:07:16 +0000 |
commit | 51e2b07895accc3e412f7f1d3ccc323451ea63fe (patch) | |
tree | e4022d3a75c54f52be8a65308aa41a5a10d57482 /jstests/noPassthroughWithMongod/telemetry_configuration.js | |
parent | 140387a6925f88990dfea22429228bd89da04e02 (diff) | |
download | mongo-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.js | 31 |
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); } }()); |