# 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.

---

Source: https://tessary.ai/answers/tessary-call-sites/which-spans-should-carry-the-call-site-tag
More on Tessary call sites: https://tessary.ai/answers/tessary-call-sites
From Tessary, agent reliability for AI agents in production: https://tessary.ai
