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

      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: