[SERVER-75512] Store a hashed telemetry key rather than a BSONObj Created: 30/Mar/23  Updated: 07/Feb/24  Resolved: 15/May/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Charlie Swanson Assignee: Davis Haupt (Inactive)
Resolution: Fixed Votes: 0
Labels: auto-reverted
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-73152 Literal and field name redaction for ... Closed
Duplicate
duplicates SERVER-76526 Remove cached redacted query from Tel... Closed
Problem/Incident
Related
is related to SERVER-75658 Investigate 14% regression in mixed_f... Closed
is related to SERVER-75661 Investigate 13% regression in insert_... Closed
Assigned Teams:
Query Optimization
Backwards Compatibility: Fully Compatible
Sprint: QO 2023-05-15
Participants:
Linked BF Score: 162

 Description   

The design doc says we will be hashing it, and it is important to do this to understand the releasable performance numbers. It should reduce contention on the partitioned telemetry store mutex since comparisons will be simpler and probably faster, although it is a tradeoff since we are then adding a hash function invocation to the "hot path" at query time.



 Comments   
Comment by Githook User [ 07/Feb/24 ]

Author:

{'name': 'Erin Zhu', 'email': 'erin.zhu@mongodb.com', 'username': 'erinzhu001'}

Message: SERVER-86298 QueryStats Backport to 7.0 Batch #3

Includes backports of the following
SERVER-76866 change TODO ticket number
SERVER-76557: Keep RequestShapifiers in telemetry store
SERVER-76143 Add missing find command fields to queryStats key
SERVER-75512 key telemetry store on hash rather than BSONObj
SERVER-76947 remove unimplemented tassert for $cursor shapification
SERVER-76427 Rename $telemetry to $queryStats
SERVER-76042 Avoid re-parsing for the purpose of telemetry
SERVER-73152: Aggregation shapification for query stats
SERVER-75597 Include 'crs' in geo serialization with queryStats options
SERVER-76919 add gen command fields to queryStats key
SERVER-77350: Update query stats sampling rate parameter name
SERVER-76555 Stress-test $queryStats in core passthrough
SERVER-77407 uassert on BSONObj or string for $hint field in queryShape
SERVER-77430 Allow coordinates" to be optional"
SERVER-77485 Avoid unnecessary ExpressionContext re-construction
SERVER-77190 Include the whole client metadata in telemetry key, not just appName
SERVER-77626 Exclude test checking opcounters from queryStats suite
SERVER-77179: Update $queryStats parameters
and enterprise commits for
SERVER-76947 shapify $search and $backupCursorExtend
SERVER-76427: Rename $telemetry to $queryStats
SERVER-76531: Test that mongos does not collect telemetry for queryable encryption collections
SERVER-73152: Aggregation shapification for query stats
SERVER-77350: Update query stats sampling rate parameter name
SERVER-77190 Include the whole client metadata in telemetry key, not just appName
GitOrigin-RevId: 23ee70f6e72c9cf2fa79558fde10f6ecb42d9cf3
Branch: v7.0
https://github.com/mongodb/mongo/commit/30a74813261ead3652652c7afa50b0b6f243e15c

Comment by Githook User [ 15/May/23 ]

Author:

{'name': 'Davis Haupt', 'email': 'davis.haupt@mongodb.com', 'username': 'davish'}

Message: SERVER-75512 key telemetry store on hash rather than BSONObj
Branch: master
https://github.com/mongodb/mongo/commit/572a0c3987787a66f0192009b30651b8bae822ff

Comment by xgen-buildbaron-user [ 10/May/23 ]

Ticket re-opened due to revert. run_unittests began a consistent failure of build\install\bin\db_query_test.exe

Comment by Githook User [ 10/May/23 ]

Author:

{'name': 'auto-revert-processor', 'email': 'dev-prod-dag@mongodb.com', 'username': ''}

Message: Revert "SERVER-75512 key telemetry store on hash rather than BSONObj"

This reverts commit b6eab7e7d83b10cef5c57f781c1751b465aade9f.
Branch: master
https://github.com/mongodb/mongo/commit/118b6f998ca8ceb1b6392071f49efa3649cbe4e1

Comment by Githook User [ 09/May/23 ]

Author:

{'name': 'Davis Haupt', 'email': 'davis.haupt@mongodb.com', 'username': 'davish'}

Message: SERVER-75512 key telemetry store on hash rather than BSONObj
Branch: master
https://github.com/mongodb/mongo/commit/b6eab7e7d83b10cef5c57f781c1751b465aade9f

Comment by Davis Haupt (Inactive) [ 08/May/23 ]

This ticket removes cmdObj from the TelemetryEntry, and instead relies fully on the request shapifier. Since the shapifier is not yet implemented for agg, tests relying on the key for agg telemetry are failing.

Generated at Thu Feb 08 06:30:22 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.