-
Notifications
You must be signed in to change notification settings - Fork 436
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
profiler/internal/pprofutils: work around breaking pprof change #2515
Conversation
The Google pprof library introduced a breaking change, adding an extra argument to a function we use. We currently have "smoke tests" which assert that we can unconditionally upgrade every dependency to the latest version and still compile. This commit is meant to satisify that test. We don't actually *need* a newer version of the pprof library. But there is a possibility (however unlikely) that a user wants to handle pprofs separately of our library using that library. Either we upgrade our dependency, breaking them, or they upgrade their dependency, breaking us. To avoid either issue, use an interface assertion to support either version of the API.
BenchmarksBenchmark execution time: 2024-01-18 09:20:16 Comparing candidate commit b9e1da3 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 39 metrics, 2 unstable metrics. |
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.
LGTM ❤️
Do we need to worry about this change in the pprof format for our fast delta implementation?
Not right now, since the Go runtime isn't adding this new column record to pprofs yet. But good point, we should keep an eye out for that. |
The Google pprof library introduced a breaking change, adding an extra argument to a function we use. We currently have "smoke tests" which assert that we can unconditionally upgrade every dependency to the latest version and still compile. This commit is meant to satisify that test. We don't actually *need* a newer version of the pprof library. But there is a possibility (however unlikely) that a user wants to handle pprofs separately of our library using that library. Either we upgrade our dependency, breaking them, or they upgrade their dependency, breaking us. To avoid either issue, use an interface assertion to support either version of the API.
The Google pprof library introduced a breaking change, adding an extra argument to a function we use. We currently have "smoke tests" which assert that we can unconditionally upgrade every dependency to the latest version and still compile. This commit is meant to satisify that test. We don't actually *need* a newer version of the pprof library. But there is a possibility (however unlikely) that a user wants to handle pprofs separately of our library using that library. Either we upgrade our dependency, breaking them, or they upgrade their dependency, breaking us. To avoid either issue, use an interface assertion to support either version of the API.
The Google pprof library introduced a breaking change, adding an extra
argument to a function we use. We currently have "smoke tests" which
assert that we can unconditionally upgrade every dependency to the
latest version and still compile.
This PR is meant to satisify that test. We don't actually need a
newer version of the pprof library. But there is a possibility (however
unlikely) that a user wants to handle pprofs separately of our library
using that library. Either we upgrade our dependency, breaking them, or
they upgrade their dependency, breaking us. To avoid either issue, use
an interface assertion to support either version of the API.
Fixes #2519