Investigate changes in SERVER-130818: Add Process-Level Cursor Option Histograms for Change Streams

XMLWordPrintableJSON

    • Type: Investigation
    • Resolution: Won't Do
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Tools and Replicator

      Original Downstream Change Summary

      This change adds the following histogram metrics for change stream aggregate / getMore commands:

      • metrics.changeStreams.option.cursor.batchSize, with bucket boundaries: 1, 10, 100, 1000, 10_000
      • metrics.changeStreams.option.cursor.maxTimeMS, with bucket boundaries 100, 200, 500, 1_000, 2_000, 5_000, 10_000, 20_000, 50_000, 100_000, 200_000, 500_000, 1_000_000

      These metrics are tracked on the process level on both mongos and mongod.

      The maxTimeMS metric will only be tracked for change stream aggregate / getMore commands for which a maxTimeMS value is actually set on the command.

      The batchSize metric will only be incremented for change stream getMore commands if a batchSize value is set on the command. For change stream aggregate commands, not setting a batchSize value on the command will lead to a backfill value being used for the command. The batchSize metric will be increased for the corresponding bucket then. Note that this backfill value is currently 101, but this may change in future version and thus the exact backfill value should not be relied on and thus not documented as an immutable feature.

      Description of Linked Ticket

      Add the following histogram metrics for change stream aggregate / getMore commands:

      • metrics.changeStreams.option.cursor.batchSize, with bucket boundaries: 1, 10, 100, 1000, 10_000
      • metrics.changeStreams.option.cursor.maxTimeMS, with bucket boundaries 100, 200, 500, 1_000, 2_000, 5_000, 10_000, 20_000, 50_000, 100_000, 200_000, 500_000, 1_000_000

      These metrics are tracked on the process level on both mongos and mongod.

      The maxTimeMS metric will only be tracked for change stream aggregate / getMore commands for which a maxTimeMS value is actually set on the command.

      The batchSize metric will only be incremented for change stream getMore commands if a batchSize value is set on the command. For change stream aggregate commands, not setting a batchSize value on the command will lead to a backfill value being used for the command. The batchSize metric will be increased for the corresponding bucket then. Note that this backfill value is currently 101, but this may change in future version and thus the exact backfill value should not be relied on and thus not documented as an immutable feature.

            Assignee:
            Unassigned
            Reporter:
            Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: