Which spans should carry the call-site tag?

Tag the span at the boundary of the function you want a separate history for: the entry point of a specific LLM call, or the root of a specific agent’s prompt-and-tool-loop, not every span in a trace and not one per request. The id names a place in your code, so scoping it by request id or user id explodes into thousands of near-empty histories that never build a baseline; scoping it by function stays stable and collects enough traffic to mean something. In a multi-step chain, tag each step you actually want graded separately, a router, a drafting call, a verification pass, since a step nobody stamps is invisible to that binding even though the trace itself still ingests. You don’t need to tag every span in between: pure plumbing, retries, and internal bookkeeping calls can go untagged, they just fall into the shared unattributed bucket instead of building their own history.

keep reading

More on this.

Send us the traces you already emit.