Include the whole client metadata in telemetry key, not just appName

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major - P3
    • 7.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Optimization
    • Fully Compatible
    • QO 2023-05-29
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      After discussing the troubles of many internal connections/operations being recorded, we think that tracking the entire client metadata including the driver name and version will be helpful in filtering out the noise.

      That would be this thing in the code, and would cause this kind of diff in the output of $queryStats:

      Unable to find source-code formatter for language: diff. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
      {
        cmdNs: {db: "test", coll: "example_coll"},
        command: "find"
        filter: {a: {$gt: "?number"}},
        sort: {a: -1},
      - applicationName: "example",
      + client: {
      +   application: {name: "example"},
      +   driver: {name: "string", version: "string"},
      +   os: {type: "string", name: "string", architecture: "string", version: "string"},
      +   mongos: {host: "string", client: "string", version: "string"},
      + }
      }
      

      Note many fields there are optional: https://github.com/10gen/mongo/blob/253d4ea05ac72c44294293ed8e9b28f473c93862/src/mongo/rpc/metadata/client_metadata.h#L64

              Assignee:
              Maddie Zechar
              Reporter:
              Charlie Swanson
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: