Skip to content

RUBY-3952 Cut allocations on the command tracing path - #3127

Merged
comandeo-mongo merged 1 commit into
mongodb:masterfrom
comandeo-mongo:3952-otel-allocations-pr
Nov 4, 2026
Merged

comandeo-mongo merged 1 commit into
mongodb:masterfrom
comandeo-mongo:3952-otel-allocations-pr

Conversation

@comandeo-mongo

Copy link
Copy Markdown
Contributor

For every traced command the tracer read the command document fourteen times and built arrays of its keys and values just to get the first one. It now reads the document once, takes the first key and value without building arrays, and the hello command names are a constant, which also saves an array per event in command monitoring. Recorded spans look the same as before. Follows #3126.

Jira: https://jira.mongodb.org/browse/RUBY-3952

The command tracer read message.documents fourteen times per command,
and took the command name and collection name with keys.first and
values.first, which build an array of every key or value. Read the
document and name once and pass them on, read the first key or value
without building an array, and move the hello command names to a
constant in Secure so that sensitive? no longer allocates an array on
every command event.
@comandeo-mongo
comandeo-mongo marked this pull request as ready for review November 4, 2026 14:36
@comandeo-mongo
comandeo-mongo requested a review from a team as a code owner November 4, 2026 14:36
@comandeo-mongo
comandeo-mongo requested a review from jamis November 4, 2026 14:36
@jamis jamis added the bug label Nov 4, 2026
@comandeo-mongo
comandeo-mongo merged commit 9b3d3e8 into mongodb:master Nov 4, 2026
239 of 241 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants