Add Process-Level Feature Usage Counters for Change Streams in MongoD

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Change streams
    • None
    • Query Execution
    • QE 2026-06-08, QE 2026-06-22
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      We must have the following stage option usage counters at the process level (i.e., as part of the 'serverStatus' command response). For options that have a default value, we are not interested in counting the explicitly set default values. The default value counts can be inferred from the total number of change streams (i.e., "metrics.changeStreams.cursor.totalOpened").

      • "metrics.changeStreams.option.showExpandedEvents" (counter)
      • Available since v7.1.
      • Previous name: "metrics.changeStreams.showExpandedEvents"
      • We need to file a downstream DWH / TOOLS ticket to prevent unexpected usage.
      • "metrics.changeStreams.option.showMigrationEvents" (counter)
      • Counts the use of "showMigrationEvents" option of the $changeStream stage.
      • "metrics.changeStreams.option.showSystemEvents" (counter)
      • Counts the use of "showSystemEvents" option of the $changeStream stage.
      • "metrics.changeStreams.option.showRawUpdateDescription" (counter)
      • Counts the use of "showRawUpdateDescription" option of the $changeStream stage.
      • "metrics.changeStreams.option.ignoreRemovedShards" (counter)
      • "metrics.changeStreams.option.matchCollectionUUIDForUpdateLookup" (counter)
      • "metrics.changeStreams.option.startAfter" (counter)
      • "metrics.changeStreams.option.resumeAfter" (counter)
      • "metrics.changeStreams.option.startAtOperationTime" (counter)
      • "metrics.changeStreams.option.fullDocument.required" (counter)
      • "metrics.changeStreams.option.fullDocument.updateLookup" (counter)
      • "metrics.changeStreams.option.fullDocument.whenAvailable" (counter)
      • "metrics.changeStreams.option.fullDocumentBeforeChange.required" (counter)
      • "metrics.changeStreams.option.fullDocumentBeforeChange.whenAvailable" (counter)
      • "metrics.changeStreams.scope.cluster" (counter)
      • "metrics.changeStreams.scope.db"  (counter)
      • "metrics.changeStreams.scope.collection" (counter)

      We must have the following change stream cursor option metrics at the process level

      • "metrics.changeStreams.option.cursor.batchSize" (histogram)
      • Can be set on either of 'aggregate' or 'getMore' commands.
      • If not specified we don't count anything.
      • Buckets? Unspecified?
      • "metrics.changeStreams.option.cursor.maxAwaitTimeMS" (histogram)
      • Can be set on either of 'aggregate' or 'getMore' commands.
      • If not specified we don't count anything.
      • If specified and is equal to the current default 1000ms - count it anyways.

            Assignee:
            Cian Nugent McGealy
            Reporter:
            Cian Nugent McGealy
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: