port-span-names

Installation
SKILL.md

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.

Rules

Installs
1
GitHub Stars
8.7K
First Seen
14 days ago
port-span-names — getsentry/sentry-javascript