-
Notifications
You must be signed in to change notification settings - Fork 167
refactor(profiling): extract Backtrace type #3612
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
Conversation
In a future change, this may hold a refcount for another object, so we need to encapsulate it.
This comment has been minimized.
This comment has been minimized.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3612 +/- ##
==========================================
- Coverage 62.21% 62.12% -0.09%
==========================================
Files 141 141
Lines 13387 13387
Branches 1753 1753
==========================================
- Hits 8329 8317 -12
- Misses 4260 4270 +10
- Partials 798 800 +2 see 2 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
Benchmarks [ profiler ]Benchmark execution time: 2026-02-02 08:50:49 Comparing candidate commit 893a3b4 in PR branch Found 2 performance improvements and 0 performance regressions! Performance is the same for 27 metrics, 7 unstable metrics. scenario:walk_stack/50
scenario:walk_stack/99
|
|
The I fixed that and also added a stub for the |
realFlowControl
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice cleanup, I fixed the test not being executed and my open comment is a nit pick, feel free to merge.
| assert_eq!(stack[0].function, "function name 003"); | ||
| assert_eq!(stack[0].file, Some("filename-003.php".into())); | ||
| assert_eq!(stack[0].line, 0); | ||
| let frames = &stack; | ||
| assert_eq!(frames[0].function, "function name 003"); | ||
| assert_eq!(frames[0].file, Some("filename-003.php".into())); | ||
| assert_eq!(frames[0].line, 0); | ||
|
|
||
| assert_eq!(stack[1].function, "function name 002"); | ||
| assert_eq!(stack[1].file, Some("filename-002.php".into())); | ||
| assert_eq!(stack[1].line, 0); | ||
| assert_eq!(frames[1].function, "function name 002"); | ||
| assert_eq!(frames[1].file, Some("filename-002.php".into())); | ||
| assert_eq!(frames[1].line, 0); | ||
|
|
||
| assert_eq!(stack[2].function, "function name 001"); | ||
| assert_eq!(stack[2].file, Some("filename-001.php".into())); | ||
| assert_eq!(stack[2].line, 0); | ||
| assert_eq!(frames[2].function, "function name 001"); | ||
| assert_eq!(frames[2].file, Some("filename-001.php".into())); | ||
| assert_eq!(frames[2].line, 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that because of the Deref implementation for Backtrace we might not need these changes, but technically it is fine either way.
|
Force merging because Florian's git commit is unverified. I have reviewed the commit, and it's all good! |
Description
In a future change, this may hold a refcount for another object, so we need to encapsulate it. The plan is for holding a
ProfilesDictionaryand sending data from it.Reviewer checklist