8000 feat(backend): support error in ios handled exceptions by detj · Pull Request #2314 · measure-sh/measure · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

feat(backend): support error in ios handled exceptions #2314

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 17, 2025
Merged

Conversation

detj
Copy link
Contributor
@detj detj commented Jun 15, 2025

Summary

This PR introduces support for tracking errors in iOS handled exceptions. Exception event has been extended to behave like a container for:

  • Android handled/unhandled exceptions, always containing stacktraces
  • Dart handled/unhandled exceptions, always containing stacktraces
  • Apple unhandled exceptions, always containing stacktraces
  • Apple handled exceptions, containing error without stacktraces
  • Apple handled exceptions, containing error with stacktraces

Tasks

  • Validate exception event based on OS
  • Only symbolicate Apple exceptions that contain a stacktrace
  • Compute exception fingerprint only for exceptions that contain a stacktrace
  • Add migration for exception.error column in ClickHouse events table
  • Introduce method Exception#HasError() to determine if exception contains a non-empty error
  • Introduce method Exception#HasExceptions() to determine if exception contains any exception unit(s)
  • Modify heuristics for determining framework
  • Modify logic for determining if an Exception has no frames
  • Modify Exception#GetType() method to use the error's code as the type if it exists
  • Modify GET /apps/:id/sessions/:id API to send error (or error with exception) in response for Apple apps
  • Limit error's meta field to maximum of 4096 bytes
  • Slightly refactor Exception validation logic
  • Refactor Framework to be constants instead of mutable struct
  • Add test for Exception#HasError()
  • Add test for Exception#GetType()
  • Add test for Exception#GetMessage()
  • Add test for Exception#GetFramework()
  • Session Timeline. Show Apple handled exceptions
  • Session Timeline. Fix dangling colon from the exception's type
  • Documentation. Update SDK API documentation

See also

@detj detj self-assigned this Jun 15, 2025
@detj detj added feature new features backend backend related labels Jun 15, 2025
Copy link
vercel bot commented Jun 15, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
measure-dashboard ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 17, 2025 5:24am

detj added 3 commits June 17, 2025 10:52
- Validate exception event based on OS
- Only symbolicate Apple exceptions that contain a stacktrace
- Compute exception fingerprint only for exceptions that contain a
stacktrace
- Introduce method `Exception#HasError()` to determine if exception
contains a non-empty error
- Introduce method `Exception#HasExceptions()` to determine if exception
contains any exception unit(s)
- Modify heuristics for determining framework
- Modify logic for determining if an Exception has no frames
- Modify `Exception#GetType()` method to use the error's code as the
type if it exists
- Modify GET `/apps/:id/sessions/:id` API to send error (or error with
exception) in response for Apple apps
- Limit error's `meta` field to maximum of 4096 bytes
- Slightly refactor Exception validation logic
- Add test for `Exception#HasError()`
- Add test for `Exception#GetType()`
- Add test for `Exception#GetMessage()`
- Add test for `Exception#GetFramework()`

fixes #2303

Signed-off-by: detj <detj@users.noreply.github.com>
fixes #2303

Signed-off-by: detj <detj@users.noreply.github.com>
Signed-off-by: detj <detj@users.noreply.github.com>
@detj detj merged commit 6802fe9 into main Jun 17, 2025
16 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in Measure Roadmap Jun 17, 2025
@detj detj deleted the exception-error branch June 17, 2025 06:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend backend related feature new features
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Support iOS handled exceptions
2 participants
0