Skip to content

columnar: update pprof to fix incomplete cpu profile#10882

Open
yongman wants to merge 1 commit into
pingcap:masterfrom
yongman:fix-cpu-profile-columnar
Open

columnar: update pprof to fix incomplete cpu profile#10882
yongman wants to merge 1 commit into
pingcap:masterfrom
yongman:fix-cpu-profile-columnar

Conversation

@yongman
Copy link
Copy Markdown
Member

@yongman yongman commented Jun 1, 2026

What problem does this PR solve?

Issue Number: close #10881

Problem Summary:
cpu profile can not show stack in rust.

What is changed and how it works?

Update pprof to make cpu profile works properly.


Check List

Tests

  • Unit test
  • Integration test
  • Manual test (add detailed scripts or steps below)
  • No code

Side effects

  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Breaking backward compatibility

Documentation

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Changes MySQL compatibility

Release note

None
image

Summary by CodeRabbit

  • Chores
    • Updated internal profiling tooling and its configuration to improve performance diagnostics and support additional profiling capabilities.

@ti-chi-bot ti-chi-bot Bot added do-not-merge/needs-triage-completed release-note-none Denotes a PR that doesn't merit a release note. labels Jun 1, 2026
@pantheon-ai
Copy link
Copy Markdown

pantheon-ai Bot commented Jun 1, 2026

@yongman I've received your pull request and will start the review. I'll conduct a thorough review covering code quality, potential issues, and implementation details.

⏳ This process typically takes 10-30 minutes depending on the complexity of the changes.

ℹ️ Learn more details on Pantheon AI.

@ti-chi-bot
Copy link
Copy Markdown
Contributor

ti-chi-bot Bot commented Jun 1, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign yongman for approval. For more information see the Code Review Process.
Please ensure that each of them provides their approval before proceeding.

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

@ti-chi-bot ti-chi-bot Bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jun 1, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 1, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 6b9b41ab-b27d-41be-a9a0-5f8ab0927bb5

📥 Commits

Reviewing files that changed from the base of the PR and between e41c975 and 7bcc9fa.

⛔ Files ignored due to path filters (1)
  • contrib/tiflash-columnar-hub/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • contrib/tiflash-columnar-hub/Cargo.toml
  • contrib/tiflash-columnar-hub/hub-runtime/Cargo.toml
✅ Files skipped from review due to trivial changes (1)
  • contrib/tiflash-columnar-hub/hub-runtime/Cargo.toml
🚧 Files skipped from review as they are similar to previous changes (1)
  • contrib/tiflash-columnar-hub/Cargo.toml

📝 Walkthrough

Walkthrough

This PR updates pprof usage: the root Cargo.toml patches pprof to a tikv fork at a specific revision, and hub-runtime changes pprof features from frame-pointer to cpp, framehop-unwinder, and protobuf-codec while keeping flamegraph.

Changes

Pprof Profiling Configuration

Layer / File(s) Summary
Pprof patch and feature configuration
contrib/tiflash-columnar-hub/Cargo.toml, contrib/tiflash-columnar-hub/hub-runtime/Cargo.toml
Root Cargo.toml adds a [patch.crates-io] override for pprof pointing to a tikv fork at a pinned revision. hub-runtime adjusts pprof features: removes frame-pointer, adds cpp, framehop-unwinder, and protobuf-codec, retains flamegraph, and keeps default-features = false.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested labels

lgtm

Suggested reviewers

  • CalvinNeo
  • JinheLin

Poem

🐰
A tiny patch, a fork we steer,
Framehops leap and cpp draws near,
Profiles climb where shadows hid,
Flamegraphs spark from every bid,
Rabbity cheers for clearer skit.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: updating pprof to fix incomplete CPU profiling in the columnar component.
Description check ✅ Passed The description follows the template structure with issue reference, problem summary, changes explanation, and test selection. Manual test was marked as performed and evidence provided.
Linked Issues check ✅ Passed The PR addresses issue #10881 by updating pprof configuration/version to fix CPU profiling stack capture in Rust, which directly resolves the stated problem of incomplete profiles.
Out of Scope Changes check ✅ Passed All changes are scoped to pprof dependency configuration and feature updates in Cargo.toml files, directly addressing the CPU profiling fix objective with no extraneous modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Signed-off-by: yongman <yming0221@gmail.com>
@yongman yongman changed the title columnar: update pprof to fix panic in cpu profile columnar: update pprof to fix incomplete cpu profile Jun 1, 2026
@yongman yongman force-pushed the fix-cpu-profile-columnar branch from e41c975 to 7bcc9fa Compare June 1, 2026 09:29
@ti-chi-bot
Copy link
Copy Markdown
Contributor

ti-chi-bot Bot commented Jun 1, 2026

@yongman: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-sanitizer-tsan 7bcc9fa link false /test pull-sanitizer-tsan

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@yongman yongman requested review from CalvinNeo and JaySon-Huang June 2, 2026 00:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-note-none Denotes a PR that doesn't merit a release note. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Next-gen columnar: cpu profile can not catch stack in rust

1 participant