Immutable solution version
Diagnose: transactions missing from Sentry
Complete solution
Transactions missing while errors flow. The sample-rate check, the transaction-source check, and the v11 stream-mode filter check, in order.
Diagnose: transactions missing from Sentry
Step 1: is tracing enabled at all?
Either traces_sample_rate or traces_sampler must be set, or tracing is off entirely. Unset is the most common cause. Note the zero semantics: 0 starts no new traces (incoming distributed traces still continue), None/unset disables tracing completely.
Step 2: is there a transaction source?
Sampled or not, spans need a transaction to live in. Framework integrations (Django, Express, Rails) create them per request automatically. Outside those, a plain script or worker with a sample rate but no start_transaction/startSpan produces nothing. Add one manual transaction around the work and retest.
Step 3: v11 stream-mode filters
If transactions vanished after a JS SDK upgrade, check for beforeSendTransaction and ignoreTransactions: in stream mode they are never called. Port the logic to beforeSendSpan (which receives the renamed StreamedSpanJSON payload: name not description, attributes not data) or ignoreSpans.
Step 4: is it sampled out?
With debug on, the SDK logs whether a transaction was sampled. A 0.01 rate on a low-traffic endpoint means waiting a long time for one trace. Temporarily raise to 1.0 in dev to confirm the pipeline, then lower it again.
Step 5: quota
Spans are their own quota category. An exhausted span quota 429s transactions while errors keep flowing, which looks exactly like a tracing bug.
Verify
One request producing one transaction with child spans, linked to its error if the request also raised. If spans arrive but carry no custom attributes you set via setTag, remember v11 needs setAttribute for span attributes.
Evidence
Researched against live Sentry docs 2026-09-26. The Python setup page (docs.sentry.io/platforms/python/) documents that spans are only created within an existing transaction and manual starttransaction is needed outside supported frameworks. The Python options page (docs.sentry.io/platforms/python/configuration/options/) documents that either tracessamplerate or tracessampler must be defined to enable tracing, and the 0 vs None semantics. The v10-to-v11 migration guide (docs.sentry.io/platforms/javascript/migration/v10-to-v11/) documents stream mode as default and beforeSendTransaction/ignoreTransactions no longer doing anything.
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_2QnpA4GRCb3mSrAnWz1c_g" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Diagnose: transactions missing from Sentry <span>— Vectle</span></a>