Skip to content

Conversation

@antonis
Copy link
Contributor

@antonis antonis commented Jan 23, 2026

📢 Type of change

  • Bugfix
  • New feature
  • Enhancement
  • Refactoring

📜 Description

Implements support for adding custom attributes to user interaction spans via the sentry-span-attributes prop. This allows users to add contextual metadata to touch events without manually implementing onPress handlers.

Docs PR: getsentry/sentry-docs#16134

💡 Motivation and Context

Fixes #5511

💚 How did you test it?

Manual with the sample app, Unit tests

Screenshot 2026-01-23 at 10 30 08

📝 Checklist

  • I added tests to verify changes
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • All tests passing
  • No breaking changes

🔮 Next steps

@antonis
Copy link
Contributor Author

antonis commented Jan 23, 2026

@sentry review

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

Semver Impact of This PR

None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


  • feat(tracing): Add sentry-span-attributes prop for custom span attributes by antonis in #5569
  • chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 by dependabot in #5576
  • chore(deps): bump github/codeql-action from 4.31.10 to 4.31.11 by dependabot in #5573
  • chore(deps): bump getsentry/craft from 2.19.0 to 2.20.0 by dependabot in #5575
  • chore(deps): bump getsentry/craft/.github/workflows/changelog-preview.yml from 2.19.0 to 2.20.0 by dependabot in #5574
  • ci(release): Fix changelog-preview permissions by BYK in #5571

🤖 This preview updates automatically when you update the PR.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

Messages
📖 Do not forget to update Sentry-docs with your feature once the pull request gets approved.

Generated by 🚫 dangerJS against eb3930b

@antonis antonis added the ready-to-merge Triggers the full CI test suite label Jan 23, 2026
@antonis antonis marked this pull request as ready for review January 23, 2026 10:02
@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

Android (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 421.15 ms 440.83 ms 19.69 ms
Size 43.75 MiB 48.40 MiB 4.64 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
136effd+dirty 398.57 ms 494.91 ms 96.34 ms
d916aa3 425.37 ms 427.02 ms 1.65 ms
5691430+dirty 433.98 ms 478.49 ms 44.51 ms
4604da9+dirty 366.44 ms 398.10 ms 31.66 ms
b80b14f+dirty 505.06 ms 534.32 ms 29.26 ms
8e653ac+dirty 360.28 ms 372.04 ms 11.76 ms
a2bb688+dirty 409.65 ms 410.45 ms 0.80 ms
7480abe+dirty 411.60 ms 405.81 ms -5.78 ms
9a81842+dirty 412.23 ms 416.56 ms 4.33 ms
ec14be7+dirty 403.50 ms 411.46 ms 7.96 ms

App size

Revision Plain With Sentry Diff
136effd+dirty 43.75 MiB 47.99 MiB 4.23 MiB
d916aa3 17.75 MiB 20.15 MiB 2.41 MiB
5691430+dirty 43.75 MiB 48.04 MiB 4.29 MiB
4604da9+dirty 17.75 MiB 19.74 MiB 2.00 MiB
b80b14f+dirty 43.75 MiB 48.04 MiB 4.29 MiB
8e653ac+dirty 17.75 MiB 19.75 MiB 2.00 MiB
a2bb688+dirty 17.75 MiB 19.70 MiB 1.95 MiB
7480abe+dirty 17.75 MiB 19.68 MiB 1.94 MiB
9a81842+dirty 43.75 MiB 48.08 MiB 4.33 MiB
ec14be7+dirty 17.75 MiB 19.69 MiB 1.94 MiB

Previous results on branch: antonis/sentry-span-attributes

Startup times

Revision Plain With Sentry Diff
dbd5e5b+dirty 413.64 ms 435.06 ms 21.42 ms
6ffde98+dirty 404.65 ms 437.48 ms 32.83 ms
6faf18d+dirty 461.10 ms 484.22 ms 23.12 ms

App size

Revision Plain With Sentry Diff
dbd5e5b+dirty 43.75 MiB 48.40 MiB 4.64 MiB
6ffde98+dirty 43.75 MiB 48.40 MiB 4.64 MiB
6faf18d+dirty 43.75 MiB 48.40 MiB 4.64 MiB

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

Android (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 368.36 ms 395.21 ms 26.85 ms
Size 43.94 MiB 49.22 MiB 5.29 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
136effd+dirty 451.30 ms 450.87 ms -0.43 ms
d751a5d+dirty 341.61 ms 403.06 ms 61.45 ms
5691430+dirty 376.70 ms 401.58 ms 24.88 ms
1226664+dirty 377.65 ms 453.94 ms 76.29 ms
b80b14f+dirty 320.33 ms 376.06 ms 55.73 ms
785ffb1+dirty 380.65 ms 451.83 ms 71.18 ms
8e653ac+dirty 304.49 ms 308.84 ms 4.35 ms
21c9e75+dirty 356.73 ms 381.06 ms 24.33 ms
161947d+dirty 349.27 ms 435.09 ms 85.82 ms
d1fd647+dirty 374.46 ms 409.51 ms 35.05 ms

App size

Revision Plain With Sentry Diff
136effd+dirty 43.94 MiB 48.81 MiB 4.88 MiB
d751a5d+dirty 7.15 MiB 8.41 MiB 1.26 MiB
5691430+dirty 43.94 MiB 48.87 MiB 4.93 MiB
1226664+dirty 7.15 MiB 8.46 MiB 1.30 MiB
b80b14f+dirty 43.94 MiB 48.87 MiB 4.93 MiB
785ffb1+dirty 7.15 MiB 8.42 MiB 1.27 MiB
8e653ac+dirty 7.15 MiB 8.46 MiB 1.31 MiB
21c9e75+dirty 7.15 MiB 8.42 MiB 1.27 MiB
161947d+dirty 7.15 MiB 8.43 MiB 1.28 MiB
d1fd647+dirty 7.15 MiB 8.43 MiB 1.28 MiB

Previous results on branch: antonis/sentry-span-attributes

Startup times

Revision Plain With Sentry Diff
dbd5e5b+dirty 378.70 ms 407.72 ms 29.02 ms
6ffde98+dirty 398.94 ms 422.37 ms 23.43 ms
6faf18d+dirty 412.37 ms 438.23 ms 25.87 ms

App size

Revision Plain With Sentry Diff
dbd5e5b+dirty 43.94 MiB 49.22 MiB 5.29 MiB
6ffde98+dirty 43.94 MiB 49.22 MiB 5.29 MiB
6faf18d+dirty 43.94 MiB 49.22 MiB 5.29 MiB

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

iOS (new) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1214.09 ms 1220.89 ms 6.80 ms
Size 3.38 MiB 4.60 MiB 1.22 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
df1f7df+dirty 1217.00 ms 1213.27 ms -3.73 ms
c771b48+dirty 1189.46 ms 1191.15 ms 1.69 ms
459a438+dirty 1218.39 ms 1226.14 ms 7.75 ms
55b77fc+dirty 1213.08 ms 1218.19 ms 5.11 ms
60cd796+dirty 1206.08 ms 1213.36 ms 7.28 ms
69602ce+dirty 1230.59 ms 1230.84 ms 0.24 ms
fdbea8b+dirty 1196.19 ms 1212.09 ms 15.90 ms
294387d+dirty 1199.23 ms 1204.16 ms 4.93 ms
3099014+dirty 1234.04 ms 1243.22 ms 9.18 ms
fa7bb7e+dirty 1226.27 ms 1241.88 ms 15.61 ms

App size

Revision Plain With Sentry Diff
df1f7df+dirty 3.44 MiB 4.59 MiB 1.15 MiB
c771b48+dirty 3.41 MiB 4.58 MiB 1.17 MiB
459a438+dirty 3.19 MiB 4.55 MiB 1.36 MiB
55b77fc+dirty 3.41 MiB 4.58 MiB 1.17 MiB
60cd796+dirty 3.44 MiB 4.67 MiB 1.23 MiB
69602ce+dirty 3.19 MiB 4.48 MiB 1.29 MiB
fdbea8b+dirty 3.41 MiB 4.59 MiB 1.18 MiB
294387d+dirty 3.41 MiB 4.59 MiB 1.18 MiB
3099014+dirty 3.19 MiB 4.55 MiB 1.36 MiB
fa7bb7e+dirty 3.19 MiB 4.58 MiB 1.39 MiB

Previous results on branch: antonis/sentry-span-attributes

Startup times

Revision Plain With Sentry Diff
6ffde98+dirty 1224.94 ms 1225.00 ms 0.06 ms
6faf18d+dirty 1201.81 ms 1200.67 ms -1.15 ms
dbd5e5b+dirty 1214.06 ms 1210.98 ms -3.08 ms

App size

Revision Plain With Sentry Diff
6ffde98+dirty 3.38 MiB 4.60 MiB 1.22 MiB
6faf18d+dirty 3.38 MiB 4.60 MiB 1.22 MiB
dbd5e5b+dirty 3.38 MiB 4.60 MiB 1.22 MiB

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

iOS (legacy) Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1206.04 ms 1204.81 ms -1.23 ms
Size 3.38 MiB 4.60 MiB 1.22 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
df1f7df+dirty 1219.21 ms 1224.28 ms 5.07 ms
c771b48+dirty 1224.02 ms 1219.72 ms -4.30 ms
459a438+dirty 1222.12 ms 1214.60 ms -7.53 ms
55b77fc+dirty 1223.71 ms 1224.12 ms 0.41 ms
60cd796+dirty 1204.87 ms 1202.71 ms -2.17 ms
69602ce+dirty 1235.65 ms 1230.82 ms -4.83 ms
fdbea8b+dirty 1210.38 ms 1211.96 ms 1.57 ms
294387d+dirty 1197.73 ms 1208.35 ms 10.61 ms
3099014+dirty 1226.75 ms 1236.56 ms 9.81 ms
fa7bb7e+dirty 1216.23 ms 1225.04 ms 8.81 ms

App size

Revision Plain With Sentry Diff
df1f7df+dirty 3.44 MiB 4.59 MiB 1.15 MiB
c771b48+dirty 3.41 MiB 4.58 MiB 1.17 MiB
459a438+dirty 2.63 MiB 3.98 MiB 1.35 MiB
55b77fc+dirty 3.41 MiB 4.58 MiB 1.17 MiB
60cd796+dirty 3.44 MiB 4.67 MiB 1.23 MiB
69602ce+dirty 2.63 MiB 3.91 MiB 1.28 MiB
fdbea8b+dirty 3.41 MiB 4.59 MiB 1.18 MiB
294387d+dirty 3.41 MiB 4.59 MiB 1.18 MiB
3099014+dirty 2.63 MiB 3.98 MiB 1.35 MiB
fa7bb7e+dirty 2.63 MiB 4.01 MiB 1.38 MiB

Previous results on branch: antonis/sentry-span-attributes

Startup times

Revision Plain With Sentry Diff
6ffde98+dirty 1215.40 ms 1216.90 ms 1.49 ms
6faf18d+dirty 1207.78 ms 1216.73 ms 8.95 ms
dbd5e5b+dirty 1207.29 ms 1206.31 ms -0.97 ms

App size

Revision Plain With Sentry Diff
6ffde98+dirty 3.38 MiB 4.60 MiB 1.22 MiB
6faf18d+dirty 3.38 MiB 4.60 MiB 1.22 MiB
dbd5e5b+dirty 3.38 MiB 4.60 MiB 1.22 MiB

@TLenahan
Copy link

This is amazing! Thank you @antonis!

antonis and others added 2 commits January 26, 2026 13:25
…test

The SpaceflightNewsScreen sample now includes a button with sentry-label,
which creates ui.action.touch transactions. These user interaction transactions
don't have time-to-display measurements (only navigation transactions do).

Updated the test to filter out ui.action.touch transactions before checking
for time-to-display measurements, allowing the test to correctly validate
navigation transactions while ignoring user interaction transactions.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@antonis antonis merged commit d9f44bb into main Jan 26, 2026
111 of 114 checks passed
@antonis antonis deleted the antonis/sentry-span-attributes branch January 26, 2026 16:27
antonis added a commit to getsentry/sentry-docs that referenced this pull request Jan 29, 2026
…tes (#16134)

<!-- Use this checklist to make sure your PR is ready for merge. You may
delete any sections you don't need. -->

## DESCRIBE YOUR PR
*Tell us what you're changing and why. If your PR **resolves an issue**,
please link it so it closes automatically.*
Add experimental sentry-span-attributes prop for custom span attributes

## IS YOUR CHANGE URGENT?  

Help us prioritize incoming PRs by letting us know when the change needs
to go live.
- [ ] Urgent deadline (GA date, etc.): <!-- ENTER DATE HERE -->
- [ ] Other deadline: <!-- ENTER DATE HERE -->
- [x] None: Not urgent, can wait up to 1 week+

Should be merged after
getsentry/sentry-react-native#5569 is released

## SLA

- Teamwork makes the dream work, so please add a reviewer to your PRs.
- Please give the docs team up to 1 week to review your PR unless you've
added an urgent due date to it.
Thanks in advance for your help!

## PRE-MERGE CHECKLIST

*Make sure you've checked the following before merging your changes:*

- [ ] Checked Vercel preview for correctness, including links
- [ ] PR was reviewed and approved by any necessary SMEs (subject matter
experts)
- [ ] PR was reviewed and approved by a member of the [Sentry docs
team](https://github.com/orgs/getsentry/teams/docs)

## LEGAL BOILERPLATE

<!-- Sentry employees and contractors can delete or ignore this section.
-->

Look, I get it. The entity doing business as "Sentry" was incorporated
in the State of Delaware in 2015 as Functional Software, Inc. and is
gonna need some rights from me in order to utilize my contributions in
this here PR. So here's the deal: I retain all rights, title and
interest in and to my contributions, and by keeping this boilerplate
intact I confirm that Sentry can use, modify, copy, and redistribute my
contributions, under Sentry's choice of terms.

## EXTRA RESOURCES

- [Sentry Docs contributor guide](https://docs.sentry.io/contributing/)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Triggers the full CI test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pass span attributes as props to interaction elements

4 participants