-
Notifications
You must be signed in to change notification settings - Fork 490
chore: ignore *.prof files #4153
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
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
BenchmarksBenchmark execution time: 2025-11-20 13:44:51 Comparing candidate commit d0b2ea6 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 9 metrics, 0 unstable metrics. |
…ation Replace regex-based symbol parsing with string operations to eliminate per-frame allocations in stack capture. Performance improvements: - parseSymbol: 0 allocs/op (was ~2 allocs/op) - BenchmarkCaptureWithRedaction/depth_10: 38→6 allocs/op (84% reduction) - BenchmarkCaptureWithRedaction/depth_50: 118→6 allocs/op (95% reduction) - Speed: 19.2µs→4.1µs @ depth=10 (79% faster) - Memory: 8966B→5296B @ depth=10 (41% reduction) Allocations are now constant regardless of stack depth.
The segmentPrefixTrie follows a write-once-read-many pattern where all writes occur during package initialization before any concurrent access. After initialization, the trie is effectively immutable and can be safely read by multiple goroutines without synchronization overhead.
Deleted character-based prefixTrie implementation (~130 lines) as segmentPrefixTrie is the only trie used in production code. segmentPrefixTrie provides better performance for path-based prefix matching and is the sole implementation used by the stacktrace filtering system.
Introduced captureStack() as the single source of truth for stack capture implementation, eliminating code duplication across capture functions. This consolidates the iterator(skip, maxDepth, opts).capture() pattern into a single helper, reducing duplicate code by ~20 lines.
Add *.prof to .gitignore to exclude profiling output files.
216c654 to
d0b2ea6
Compare
e38586d to
f3a0f84
Compare
f3a0f84 to
173e13b
Compare

What does this PR do?
Motivation
Reviewer's Checklist
./scripts/lint.shlocally.Unsure? Have a question? Request a review!