You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 98de087
Browse filesBrowse the repository at this point in the historyBrowse files
Address Codex review on #12056: gate sizing off default, fix record point, lane count, read-through sizing
- Do no harm: resolve a SizingHint only when KnownTagCodec.isActive() (the dense
store is live). With dd.trace.dense.tags.enabled off (the default), skip the
operationName.toString() + global-table probe entirely -- a hint buys nothing
when known tags don't take the dense path.
- Record point: move recordDenseSize() from DDSpan.finishAndAddToTrace to
DDSpanContext.processTagsAndBaggage (at serialization). That is the single
terminal point that runs for BOTH finish modes -- plain finish() and
phasedFinish()+publish() (gRPC/Netty/WebFlux) -- and runs AFTER the lazy tag
post-processors append serialization-time tags (_dd.integration, host, ...),
so the recorded high-water mark is the span's true final footprint.
- Read-through sizing: add TagMap.createFromParent(parent, hint) so the LOCAL
dense store of a read-through map is sized from the hint too; route it in
DDSpanContext. Sizing now fires on the common child / shared-parent path
(previously the hint was discarded whenever mergedTracerTags was non-null).
- Lane count: FlatHashtable.getOrCreate reports genuine inserts; SizingHintTable
bumps the per-lane cardinality count only on a real insert, so a cold-start
burst of one operation can't spend the budget on a single name.
- Docs: correct the 'monotonic-max' over-claim to best-effort racy max (a
concurrent finish can transiently lower size; benign -- only mis-sizes an array).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments