port-span-names
Port a span op to low-cardinality span names
Span names must be low cardinality, per the Sentry span name conventions: a raw URL, id, or query must never end up in a span name. Where the SDK has no low-cardinality value for a span, it uses a static fallback name for that op instead.
This only applies when span streaming is enabled. With traceLifecycle: 'static' every span name must stay byte-identical to before.
pageload was ported first. Read it as the reference implementation before starting:
packages/core/src/tracing/spans/spanNames.ts (the constant), packages/browser/src/tracing/browserTracingIntegration.ts
(a start site plus the scope guard in startBrowserTracingPageLoadSpan), and
grep -rn PAGELOAD_SPAN_NAME_FALLBACK packages/*/src for the full set of call sites.
Inputs
<span-op>(required): the op to port, e.g.navigation,db.query,http.client.[constraints](optional): free-form narrowing, e.g.--only packages/node,just the vue router instrumentation,skip tanstack. Honor them literally: touch nothing outside the named scope, and say in your summary which sites you deliberately left for a follow-up.
If the op is missing, ask for it. Do not guess.