Skip to content

feat: Add fgprof debug endpoint for Off-CPU time analysis#486

Open
dongjiang1989 wants to merge 3 commits intokubernetes-sigs:mainfrom
dongjiang1989:add-fgprof
Open

feat: Add fgprof debug endpoint for Off-CPU time analysis#486
dongjiang1989 wants to merge 3 commits intokubernetes-sigs:mainfrom
dongjiang1989:add-fgprof

Conversation

@dongjiang1989
Copy link
Copy Markdown
Member

Add fgprof debug endpoint for Off-CPU time analysis.

Signed-off-by: dongjiang <[email protected]>
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: dongjiang1989
Once this PR has been reviewed and has the lgtm label, please assign justinsb for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@netlify
Copy link
Copy Markdown

netlify bot commented Mar 29, 2026

Deploy Preview for agent-sandbox canceled.

Name Link
🔨 Latest commit 4a0d0a4
🔍 Latest deploy log https://app.netlify.com/projects/agent-sandbox/deploys/69d23c5738195300084404f4

@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Mar 29, 2026
@barney-s
Copy link
Copy Markdown
Contributor

barney-s commented Apr 2, 2026

Its a single maintainer profiler that exposes significant information.
Wondering if we need a separate flag to guard it.

@justinsb FYI

@justinsb
Copy link
Copy Markdown
Contributor

justinsb commented Apr 2, 2026

Yeah, it's a good question. It is MIT licensed, and it does look to have been updated recently, so I think abandonment risk is low. I think if we hid this behind a go build tag, then it would be very easy to accept. Behind a flag would also work. My biggest concern is that we accidentally consider this part of our "feature set" and then we can never remove it, even if go implements something similar. And it does seem like a good feature, so I both want it in this library and I imagine go might one day add it!

@dongjiang1989 WDYT - is this something we should ship to everyone? Or is it more like the race detector ( #331 ) where we want to enable it in our CI but it's not as valuable for end-users?

@dongjiang1989
Copy link
Copy Markdown
Member Author

Yeah, it's a good question. It is MIT licensed, and it does look to have been updated recently, so I think abandonment risk is low. I think if we hid this behind a go build tag, then it would be very easy to accept. Behind a flag would also work. My biggest concern is that we accidentally consider this part of our "feature set" and then we can never remove it, even if go implements something similar. And it does seem like a good feature, so I both want it in this library and I imagine go might one day add it!

@dongjiang1989 WDYT - is this something we should ship to everyone? Or is it more like the race detector ( #331 ) where we want to enable it in our CI but it's not as valuable for end-users?

Thanks @justinsb @barney-s
fgprof acts as a complementary enhancement to the native Go pprof. It can be exposed to users for debugging purposes — users can capture related profiling information when troubleshooting and attaching it to issues.
That said, I suggest keeping this feature disabled by default.

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 4, 2026
@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Apr 5, 2026
Signed-off-by: dongjiang <[email protected]>
@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Apr 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. next-step:contributor size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants