Skip to content

feat(attributes): Add app vitals start attributes#353

Merged
buenaflor merged 6 commits into
mainfrom
feat/add-app-vitals-start-screen
May 7, 2026
Merged

feat(attributes): Add app vitals start attributes#353
buenaflor merged 6 commits into
mainfrom
feat/add-app-vitals-start-screen

Conversation

@buenaflor
Copy link
Copy Markdown
Contributor

@buenaflor buenaflor commented May 5, 2026

Add app.vitals.start.screen and app.vitals.start.reason for app start spans.

The screen attribute records the first interactive screen after launch, while the reason attribute records the normalized launch trigger such as push. Omitting the screen attribute indicates a background app start where no UI was rendered.

Generated the TypeScript and Python convention outputs from the new attribute models.

Define the first interactive screen for app start spans so SDKs can report
foreground starts and omit it for background starts without rendered UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
Copilot AI review requested due to automatic review settings May 5, 2026 22:02
@buenaflor buenaflor requested review from a team, Lms24, cleptric, lcian, mjq and nsdeschenes as code owners May 5, 2026 22:02
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 5, 2026

Semver Impact of This PR

🟡 Minor (new features)

📋 Changelog Preview

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


New Features ✨

Attributes

  • Add app vitals start attributes by buenaflor in #353
  • Add process.runtime.engine.* attributes by chargome in #347

Bug Fixes 🐛

  • (attributes) Change several deprecation statuses to normalize to align with ingestion paths by constantinius in #350

🤖 This preview updates automatically when you update the PR.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new semantic convention attribute to represent the first interactive UI screen after an app start, enabling SDKs to distinguish foreground app starts (UI rendered) from background app starts (no UI).

Changes:

  • Introduced new attribute model: app.vitals.start.screen
  • Regenerated TypeScript conventions output to include the new attribute constant/types/metadata
  • Regenerated Python conventions output to include the new attribute name/metadata/typing

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
model/attributes/app/app__vitals__start__screen.json Adds the source-of-truth attribute definition for app.vitals.start.screen.
javascript/sentry-conventions/src/attributes.ts Regenerated TS exports/types/metadata to include the new attribute.
python/src/sentry_conventions/attributes.py Regenerated Python constants/metadata/types to include the new attribute.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread model/attributes/app/app__vitals__start__screen.json Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@buenaflor buenaflor requested review from itaybre and romtsn May 5, 2026 22:08
buenaflor and others added 2 commits May 6, 2026 00:20
Propagate the app start screen description punctuation into generated
TypeScript and Python convention files so CI generation stays clean.

Co-authored-by: Cursor <cursoragent@cursor.com>
Define the launch trigger reason for app start spans so mobile SDKs can
report normalized platform-specific causes alongside the start screen.

Co-authored-by: Cursor <cursoragent@cursor.com>
@buenaflor buenaflor changed the title feat(attributes): Add app vitals start screen attribute feat(attributes): Add app vitals start attributes May 6, 2026
Keep the app start reason convention description focused on the trigger
semantics and propagate the generated TypeScript and Python outputs.

Co-authored-by: Cursor <cursoragent@cursor.com>
},
isInOtel: false,
example: 'push',
sdks: ['sentry.cocoa', 'sentry.java.android', 'sentry.javascript.react-native', 'sentry.dart.flutter'],
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dunno if we need to mention maui here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this sdks field is not really used anywhere, only informational

added it here as well though to be correct

Copy link
Copy Markdown
Member

@romtsn romtsn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Copy Markdown
Contributor

@itaybre itaybre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

List sentry.dotnet.maui for app start reason and screen attributes so
SDK metadata reflects MAUI support in generated packages.

Co-authored-by: Cursor <cursoragent@cursor.com>
@buenaflor buenaflor merged commit 1c4b73b into main May 7, 2026
12 checks passed
@buenaflor buenaflor deleted the feat/add-app-vitals-start-screen branch May 7, 2026 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants