Skip to content

server: add logging for profiling requests (#69897) | tidb-test=release-8.5-20260323-v8.5.5 tikv=release-8.5-20260325-v8.5.5 pd=release-8.5-20260323-v8.5.5#69946

Open
ti-chi-bot wants to merge 2 commits into
pingcap:release-8.5-20260323-v8.5.5from
ti-chi-bot:cherry-pick-69897-to-release-8.5-20260323-v8.5.5
Open

server: add logging for profiling requests (#69897) | tidb-test=release-8.5-20260323-v8.5.5 tikv=release-8.5-20260325-v8.5.5 pd=release-8.5-20260323-v8.5.5#69946
ti-chi-bot wants to merge 2 commits into
pingcap:release-8.5-20260323-v8.5.5from
ti-chi-bot:cherry-pick-69897-to-release-8.5-20260323-v8.5.5

Conversation

@ti-chi-bot

@ti-chi-bot ti-chi-bot commented Jul 20, 2026

Copy link
Copy Markdown
Member

This is an automated cherry-pick of #69897

What problem does this PR solve?

Issue Number: close #69896

Problem Summary:
See #69896

What changed and how does it work?

Check List

Tests

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

[2026/07/17 10:46:34.892 +08:00] [INFO] [http_status.go:230] ["profiling request received"] [method=GET] [path=/debug/pprof/mutex] [remote-addr=127.0.0.1:53315] [debug=1]
[2026/07/17 10:46:34.892 +08:00] [INFO] [http_status.go:230] ["profiling request received"] [method=GET] [path=/debug/pprof/profile] [remote-addr=127.0.0.1:53314] [seconds=30]
[2026/07/17 10:46:34.892 +08:00] [INFO] [http_status.go:230] ["profiling request received"] [method=GET] [path=/debug/pprof/heap] [remote-addr=127.0.0.1:53311]
[2026/07/17 10:46:34.892 +08:00] [INFO] [http_status.go:230] ["profiling request received"] [method=GET] [path=/debug/pprof/goroutine] [remote-addr=127.0.0.1:53312] [debug=1]

[2026/07/20 11:53:09.809 +08:00] [INFO] [http_status.go:230] ["profiling request received"] [method=GET] [path=/debug/zip] [remote-addr=127.0.0.1:63746] [seconds=1]

[2026/07/20 11:48:56.409 +08:00] [INFO] [tables.go:254] ["profiling request received"] [table=performance_schema.tidb_profile_goroutines] [conn=2631925766] [user=root@127.0.0.1] [client-ip=127.0.0.1]
[2026/07/20 11:50:03.338 +08:00] [INFO] [tables.go:254] ["profiling request received"] [table=performance_schema.tidb_profile_cpu] [conn=2631925766] [user=root@127.0.0.1] [client-ip=127.0.0.1]
  • No need to test
    • I checked and no code files have been changed.

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

Please refer to Release Notes Language Style Guide to write a quality release note.

None

Summary by CodeRabbit

  • New Features

    • Added logging for profiling requests through the HTTP profiling endpoints, including request method, path, client address, and relevant parameters.
    • Added logging for performance schema profiling table requests, including the requested profile type and connection details.
  • Bug Fixes

    • Improved visibility into profiling activity across CPU, memory, mutex, allocation, block, and goroutine profiling requests.
  • Tests

    • Expanded coverage to verify profiling logs and their associated request metadata.

Signed-off-by: ti-chi-bot <ti-community-prow-bot@tidb.io>
@ti-chi-bot ti-chi-bot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. release-note-none Denotes a PR that doesn't merit a release note. sig/planner SIG: Planner size/L Denotes a PR that changes 100-499 lines, ignoring generated files. type/cherry-pick-for-release-8.5-20260323-v8.5.5 labels Jul 20, 2026
@ti-chi-bot

Copy link
Copy Markdown
Member Author

@gengliqi This PR has conflicts, I have hold it.
Please resolve them or ask others to resolve them, then comment /unhold to remove the hold label.

@ti-chi-bot

ti-chi-bot Bot commented Jul 20, 2026

Copy link
Copy Markdown

@ti-chi-bot: ## If you want to know how to resolve it, please read the guide in TiDB Dev Guide.

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 ti-community-infra/tichi repository.

@ti-chi-bot ti-chi-bot Bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jul 20, 2026
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Profiling requests through /debug/pprof, /debug/zip, and TiDB profile tables now emit structured logs containing request or table context. Handler and profile tests use Zap observers to validate the emitted messages and fields.

Changes

Profiling observability

Layer / File(s) Summary
HTTP profiling routes and logging
pkg/server/http_status.go, pkg/server/handler/tests/*
withProfilingRequestLog records HTTP method, path, remote address, and selected query parameters for pprof and debug ZIP routes; handler tests validate the emitted entries.
Performance-schema profile logging
pkg/infoschema/perfschema/tables.go, pkg/util/profile/profile_test.go, pkg/infoschema/perfschema/BUILD.bazel, pkg/util/profile/BUILD.bazel
TiDB profile table collection logs table and connection context before collecting profiles, while profile tests validate one log entry per expected table.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Client
  participant withProfilingRequestLog
  participant pprofHandler
  participant ZapLogger
  Client->>withProfilingRequestLog: Request /debug/pprof or /debug/zip
  withProfilingRequestLog->>ZapLogger: Emit profiling request metadata
  withProfilingRequestLog->>pprofHandler: Execute profiling handler
  pprofHandler-->>Client: Return profiling response
Loading

Possibly related PRs

  • pingcap/tidb#69897: Updates the same HTTP routes, handler tests, and performance-schema profile logging.
  • pingcap/tidb#69945: Covers the same profiling logging functions and Zap-observer tests.

Suggested reviewers: bb7133, d3hunter, joechenrh, windtalker, wjhuang2016

Poem

I’m a rabbit with logs in my burrow tonight,
Pprof hops in, each request shining bright.
Tables leave footprints, neat and clear,
Zap keeps watch as profiles appear.
CPU and goroutines bound through the log—
A tidy trail from every hop!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 11.11% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The changes add profiling logs for /debug/pprof, /debug/zip, and tidb_profile_* as requested in [#69896].
Out of Scope Changes check ✅ Passed All code changes support profiling-request logging or its tests and dependencies; no unrelated functionality appears added.
Title check ✅ Passed The title names the main change—profiling request logging—and stays aligned with the cherry-pick content.
Description check ✅ Passed The description follows the required template with issue number, problem summary, tests, side effects, docs, and release note sections.
✨ 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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pkg/server/http_status.go`:
- Around line 329-407: Resolve the merge conflict in the router setup by
removing all conflict markers and retaining the intended additions:
StandbyController wiring, withProfilingRequestLog wrapping for pprof handlers,
/debug/traceevent, and /covdata. Ensure the resulting code is valid Go and
preserves the existing pprof fallback route.
- Around line 329-407: Update the debug HTTP API documentation to list the new
/debug/traceevent and /covdata routes introduced near the profiling handlers.
Document that /covdata is available only when the TIDB_GOCOVERDIR environment
variable is set.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a0906581-7839-42c8-93be-03dfec25e74f

📥 Commits

Reviewing files that changed from the base of the PR and between 5339e59 and f066e8e.

📒 Files selected for processing (10)
  • .agents/skills/tidb-test-guidelines/references/server-case-map.md
  • .agents/skills/tidb-test-guidelines/references/util-case-map.md
  • pkg/infoschema/perfschema/BUILD.bazel
  • pkg/infoschema/perfschema/tables.go
  • pkg/server/handler/tests/BUILD.bazel
  • pkg/server/handler/tests/http_handler_serial_test.go
  • pkg/server/handler/tests/http_handler_test.go
  • pkg/server/http_status.go
  • pkg/util/profile/BUILD.bazel
  • pkg/util/profile/profile_test.go

Comment thread pkg/server/http_status.go Outdated
Comment on lines +329 to +407
<<<<<<< HEAD
router.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline)
router.HandleFunc("/debug/pprof/profile", cpuprofile.ProfileHTTPHandler)
router.HandleFunc("/debug/pprof/symbol", pprof.Symbol)
router.HandleFunc("/debug/pprof/trace", pprof.Trace)
// Other /debug/pprof paths not covered above are redirected to pprof.Index.
router.PathPrefix("/debug/pprof/").HandlerFunc(pprof.Index)
=======
if s.StandbyController != nil {
path, handler := s.StandbyController.Handler(s)
router.PathPrefix(path).Handler(handler)
}

router.HandleFunc("/debug/pprof/cmdline", withProfilingRequestLog(pprof.Cmdline))
router.HandleFunc("/debug/pprof/profile", withProfilingRequestLog(cpuprofile.ProfileHTTPHandler))
router.HandleFunc("/debug/pprof/symbol", withProfilingRequestLog(pprof.Symbol))
router.HandleFunc("/debug/pprof/trace", withProfilingRequestLog(pprof.Trace))
// Other /debug/pprof paths not covered above are redirected to pprof.Index.
router.PathPrefix("/debug/pprof/").HandlerFunc(withProfilingRequestLog(pprof.Index))
router.HandleFunc("/debug/traceevent", traceeventHandler)

router.HandleFunc("/covdata", func(writer http.ResponseWriter, _ *http.Request) {
writer.Header().Set("Content-Type", "application/zip")
writer.Header().Set("Content-Disposition", "attachment; filename=files.zip")

dir := os.Getenv("TIDB_GOCOVERDIR")
if dir == "" {
serveError(writer, http.StatusInternalServerError, "TIDB_GOCOVERDIR is not set")
return
}
err := coverage.WriteMetaDir(dir)
if err != nil {
logutil.BgLogger().Warn("write coverage meta failed", zap.Error(err))
serveError(writer, http.StatusInternalServerError, "write coverage meta failed")
return
}
err = coverage.WriteCountersDir(dir)
if err != nil {
logutil.BgLogger().Warn("write coverage counters failed", zap.Error(err))
serveError(writer, http.StatusInternalServerError, "write coverage counters failed")
return
}

zipWriter := zip.NewWriter(writer)

err = filepath.Walk(dir, func(file string, fi os.FileInfo, err error) error {
if err != nil {
return err
}
if fi.IsDir() {
return nil
}
relPath, err := filepath.Rel(dir, file)
if err != nil {
return err
}
writer, err := zipWriter.Create(relPath)
if err != nil {
return err
}
srcFile, err := os.Open(filepath.Clean(file))
if err != nil {
return err
}
defer func() {
_ = srcFile.Close()
}()
_, err = io.Copy(writer, srcFile)
return err
})
if err != nil {
logutil.BgLogger().Warn("zip coverage files failed", zap.Error(err))
serveError(writer, http.StatusInternalServerError, "zip coverage files failed")
return
}
err = zipWriter.Close()
terror.Log(err)
})
>>>>>>> 3332762af45 (server: add logging for profiling requests (#69897))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Unresolved Git merge-conflict markers committed to source.

Lines 329, 336, and 407 still contain literal <<<<<<< HEAD, =======, and >>>>>>> 3332762af45 (...) conflict markers. This is invalid Go syntax and will fail to compile; it matches the PR objectives note that the bot flagged this branch as having unresolved conflicts and put it on hold pending resolution + /unhold.

Resolve the conflict by merging the two sides intentionally (keep withProfilingRequestLog wrapping, the StandbyController wiring, /debug/traceevent, and /covdata as needed) and remove all conflict markers before merging.

🛠 Example resolution direction (verify intent with the incoming commit)
-<<<<<<< HEAD
-	router.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline)
-	router.HandleFunc("/debug/pprof/profile", cpuprofile.ProfileHTTPHandler)
-	router.HandleFunc("/debug/pprof/symbol", pprof.Symbol)
-	router.HandleFunc("/debug/pprof/trace", pprof.Trace)
-	// Other /debug/pprof paths not covered above are redirected to pprof.Index.
-	router.PathPrefix("/debug/pprof/").HandlerFunc(pprof.Index)
-=======
 	if s.StandbyController != nil {
 		path, handler := s.StandbyController.Handler(s)
 		router.PathPrefix(path).Handler(handler)
 	}

 	router.HandleFunc("/debug/pprof/cmdline", withProfilingRequestLog(pprof.Cmdline))
 	router.HandleFunc("/debug/pprof/profile", withProfilingRequestLog(cpuprofile.ProfileHTTPHandler))
 	router.HandleFunc("/debug/pprof/symbol", withProfilingRequestLog(pprof.Symbol))
 	router.HandleFunc("/debug/pprof/trace", withProfilingRequestLog(pprof.Trace))
 	// Other /debug/pprof paths not covered above are redirected to pprof.Index.
 	router.PathPrefix("/debug/pprof/").HandlerFunc(withProfilingRequestLog(pprof.Index))
 	router.HandleFunc("/debug/traceevent", traceeventHandler)
 	// ...rest of the incoming block...
-	}
-)
->>>>>>> 3332762af45 (server: add logging for profiling requests (`#69897`))
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<<<<<<< HEAD
router.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline)
router.HandleFunc("/debug/pprof/profile", cpuprofile.ProfileHTTPHandler)
router.HandleFunc("/debug/pprof/symbol", pprof.Symbol)
router.HandleFunc("/debug/pprof/trace", pprof.Trace)
// Other /debug/pprof paths not covered above are redirected to pprof.Index.
router.PathPrefix("/debug/pprof/").HandlerFunc(pprof.Index)
=======
if s.StandbyController != nil {
path, handler := s.StandbyController.Handler(s)
router.PathPrefix(path).Handler(handler)
}
router.HandleFunc("/debug/pprof/cmdline", withProfilingRequestLog(pprof.Cmdline))
router.HandleFunc("/debug/pprof/profile", withProfilingRequestLog(cpuprofile.ProfileHTTPHandler))
router.HandleFunc("/debug/pprof/symbol", withProfilingRequestLog(pprof.Symbol))
router.HandleFunc("/debug/pprof/trace", withProfilingRequestLog(pprof.Trace))
// Other /debug/pprof paths not covered above are redirected to pprof.Index.
router.PathPrefix("/debug/pprof/").HandlerFunc(withProfilingRequestLog(pprof.Index))
router.HandleFunc("/debug/traceevent", traceeventHandler)
router.HandleFunc("/covdata", func(writer http.ResponseWriter, _ *http.Request) {
writer.Header().Set("Content-Type", "application/zip")
writer.Header().Set("Content-Disposition", "attachment; filename=files.zip")
dir := os.Getenv("TIDB_GOCOVERDIR")
if dir == "" {
serveError(writer, http.StatusInternalServerError, "TIDB_GOCOVERDIR is not set")
return
}
err := coverage.WriteMetaDir(dir)
if err != nil {
logutil.BgLogger().Warn("write coverage meta failed", zap.Error(err))
serveError(writer, http.StatusInternalServerError, "write coverage meta failed")
return
}
err = coverage.WriteCountersDir(dir)
if err != nil {
logutil.BgLogger().Warn("write coverage counters failed", zap.Error(err))
serveError(writer, http.StatusInternalServerError, "write coverage counters failed")
return
}
zipWriter := zip.NewWriter(writer)
err = filepath.Walk(dir, func(file string, fi os.FileInfo, err error) error {
if err != nil {
return err
}
if fi.IsDir() {
return nil
}
relPath, err := filepath.Rel(dir, file)
if err != nil {
return err
}
writer, err := zipWriter.Create(relPath)
if err != nil {
return err
}
srcFile, err := os.Open(filepath.Clean(file))
if err != nil {
return err
}
defer func() {
_ = srcFile.Close()
}()
_, err = io.Copy(writer, srcFile)
return err
})
if err != nil {
logutil.BgLogger().Warn("zip coverage files failed", zap.Error(err))
serveError(writer, http.StatusInternalServerError, "zip coverage files failed")
return
}
err = zipWriter.Close()
terror.Log(err)
})
>>>>>>> 3332762af45 (server: add logging for profiling requests (#69897))
if s.StandbyController != nil {
path, handler := s.StandbyController.Handler(s)
router.PathPrefix(path).Handler(handler)
}
router.HandleFunc("/debug/pprof/cmdline", withProfilingRequestLog(pprof.Cmdline))
router.HandleFunc("/debug/pprof/profile", withProfilingRequestLog(cpuprofile.ProfileHTTPHandler))
router.HandleFunc("/debug/pprof/symbol", withProfilingRequestLog(pprof.Symbol))
router.HandleFunc("/debug/pprof/trace", withProfilingRequestLog(pprof.Trace))
// Other /debug/pprof paths not covered above are redirected to pprof.Index.
router.PathPrefix("/debug/pprof/").HandlerFunc(withProfilingRequestLog(pprof.Index))
router.HandleFunc("/debug/traceevent", traceeventHandler)
router.HandleFunc("/covdata", func(writer http.ResponseWriter, _ *http.Request) {
writer.Header().Set("Content-Type", "application/zip")
writer.Header().Set("Content-Disposition", "attachment; filename=files.zip")
dir := os.Getenv("TIDB_GOCOVERDIR")
if dir == "" {
serveError(writer, http.StatusInternalServerError, "TIDB_GOCOVERDIR is not set")
return
}
err := coverage.WriteMetaDir(dir)
if err != nil {
logutil.BgLogger().Warn("write coverage meta failed", zap.Error(err))
serveError(writer, http.StatusInternalServerError, "write coverage meta failed")
return
}
err = coverage.WriteCountersDir(dir)
if err != nil {
logutil.BgLogger().Warn("write coverage counters failed", zap.Error(err))
serveError(writer, http.StatusInternalServerError, "write coverage counters failed")
return
}
zipWriter := zip.NewWriter(writer)
err = filepath.Walk(dir, func(file string, fi os.FileInfo, err error) error {
if err != nil {
return err
}
if fi.IsDir() {
return nil
}
relPath, err := filepath.Rel(dir, file)
if err != nil {
return err
}
writer, err := zipWriter.Create(relPath)
if err != nil {
return err
}
srcFile, err := os.Open(filepath.Clean(file))
if err != nil {
return err
}
defer func() {
_ = srcFile.Close()
}()
_, err = io.Copy(writer, srcFile)
return err
})
if err != nil {
logutil.BgLogger().Warn("zip coverage files failed", zap.Error(err))
serveError(writer, http.StatusInternalServerError, "zip coverage files failed")
return
}
err = zipWriter.Close()
terror.Log(err)
})
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkg/server/http_status.go` around lines 329 - 407, Resolve the merge conflict
in the router setup by removing all conflict markers and retaining the intended
additions: StandbyController wiring, withProfilingRequestLog wrapping for pprof
handlers, /debug/traceevent, and /covdata. Ensure the resulting code is valid Go
and preserves the existing pprof fallback route.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
rg -n 'debug/traceevent|covdata|debug/pprof' docs/tidb_http_api.md

Repository: pingcap/tidb

Length of output: 150


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Locate the relevant doc and route registrations.
git ls-files 'docs/tidb_http_api.md' 'pkg/server/http_status.go' | cat

echo '--- docs snippets ---'
rg -n -C 2 'debug/traceevent|covdata|debug/pprof|debug/zip' docs/tidb_http_api.md || true

echo '--- server snippets ---'
rg -n -C 3 'debug/traceevent|covdata|debug/pprof|debug/zip|withProfilingRequestLog' pkg/server/http_status.go || true

Repository: pingcap/tidb

Length of output: 2706


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect the HTTP API docs structure around existing debug endpoints.
wc -l docs/tidb_http_api.md
sed -n '1,260p' docs/tidb_http_api.md

Repository: pingcap/tidb

Length of output: 6189


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Read the relevant section of the server file around the merged routes.
sed -n '300,430p' pkg/server/http_status.go

Repository: pingcap/tidb

Length of output: 5122


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Show the docs section around the debug/zip entry and nearby HTTP API items.
sed -n '560,620p' docs/tidb_http_api.md

Repository: pingcap/tidb

Length of output: 1839


Document the new debug routes in docs/tidb_http_api.md

Add /debug/traceevent and /covdata, and note that /covdata only works when TIDB_GOCOVERDIR is set.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkg/server/http_status.go` around lines 329 - 407, Update the debug HTTP API
documentation to list the new /debug/traceevent and /covdata routes introduced
near the profiling handlers. Document that /covdata is available only when the
TIDB_GOCOVERDIR environment variable is set.

Source: Path instructions

Signed-off-by: gengliqi <gengliqiii@gmail.com>
@ti-chi-bot ti-chi-bot Bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jul 20, 2026
@ti-chi-bot

Copy link
Copy Markdown
Member Author

Cherry-pick conflicts appear resolved; removing the do-not-merge/hold label.

@ti-chi-bot ti-chi-bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 20, 2026
@ti-chi-bot

ti-chi-bot Bot commented Jul 20, 2026

Copy link
Copy Markdown

@gengliqi: adding LGTM is restricted to approvers and reviewers in OWNERS files.

Details

In response to this:

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.

@ti-chi-bot ti-chi-bot Bot added the needs-1-more-lgtm Indicates a PR needs 1 more LGTM. label Jul 20, 2026
@codecov

codecov Bot commented Jul 20, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 84.61538% with 6 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (release-8.5-20260323-v8.5.5@5339e59). Learn more about missing BASE report.

Additional details and impacted files
@@                       Coverage Diff                        @@
##             release-8.5-20260323-v8.5.5     #69946   +/-   ##
================================================================
  Coverage                               ?   55.3017%           
================================================================
  Files                                  ?       1817           
  Lines                                  ?     651555           
  Branches                               ?          0           
================================================================
  Hits                                   ?     360321           
  Misses                                 ?     264409           
  Partials                               ?      26825           
Flag Coverage Δ
integration 38.7847% <15.3846%> (?)
unit 64.9290% <84.6153%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
dumpling 52.9278% <0.0000%> (?)
parser ∅ <0.0000%> (?)
br 60.8963% <0.0000%> (?)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ti-chi-bot ti-chi-bot Bot added the lgtm label Jul 20, 2026
@ti-chi-bot

ti-chi-bot Bot commented Jul 20, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: gengliqi, wjhuang2016, YangKeao

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

The pull request process is described 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 approved and removed needs-1-more-lgtm Indicates a PR needs 1 more LGTM. labels Jul 20, 2026
@ti-chi-bot

ti-chi-bot Bot commented Jul 20, 2026

Copy link
Copy Markdown

[LGTM Timeline notifier]

Timeline:

  • 2026-07-20 08:18:17.484875236 +0000 UTC m=+1220083.520970292: ☑️ agreed by YangKeao.
  • 2026-07-20 09:49:27.87642422 +0000 UTC m=+1225553.912519276: ☑️ agreed by wjhuang2016.

@gengliqi

Copy link
Copy Markdown
Contributor

/retest

@jebter jebter changed the title server: add logging for profiling requests (#69897) server: add logging for profiling requests (#69897) | tidb-test=release-8.5-20260323-v8.5.5 Jul 21, 2026
@jebter

jebter commented Jul 21, 2026

Copy link
Copy Markdown

/retest

1 similar comment
@gengliqi

Copy link
Copy Markdown
Contributor

/retest

@jebter

jebter commented Jul 21, 2026

Copy link
Copy Markdown

/test pull-br-integration-test

1 similar comment
@jebter

jebter commented Jul 21, 2026

Copy link
Copy Markdown

/test pull-br-integration-test

@ti-chi-bot

ti-chi-bot Bot commented Jul 21, 2026

Copy link
Copy Markdown

@ti-chi-bot: 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-br-integration-test 0261ddb link true /test pull-br-integration-test

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.

@jebter jebter changed the title server: add logging for profiling requests (#69897) | tidb-test=release-8.5-20260323-v8.5.5 server: add logging for profiling requests (#69897) | tidb-test=release-8.5-20260323-v8.5.5 tikv=release-8.5-20260325-v8.5.5 pd=release-8.5-20260323-v8.5.5 Jul 21, 2026
@jebter

jebter commented Jul 21, 2026

Copy link
Copy Markdown

/test pull-br-integration-test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved lgtm release-note-none Denotes a PR that doesn't merit a release note. sig/planner SIG: Planner size/L Denotes a PR that changes 100-499 lines, ignoring generated files. type/cherry-pick-for-release-8.5-20260323-v8.5.5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants