Skip to content

feat(metrics): add wait_sum based exter wait rate#245

Open
zzzhang1127 wants to merge 1 commit into
ccfos:mainfrom
zzzhang1127:fix/issue-25-wait-sum
Open

feat(metrics): add wait_sum based exter wait rate#245
zzzhang1127 wants to merge 1 commit into
ccfos:mainfrom
zzzhang1127:fix/issue-25-wait-sum

Conversation

@zzzhang1127

Copy link
Copy Markdown

Read wait_sum from cgroup cpu.stat and export wait_sum_exter_wait_rate using delta_wait_sum / (delta_wait_sum + delta_cpu_usage). Counter reset is guarded before subtraction.

Requires kernel.sched_schedstats=1 for wait_sum in cpu.stat.

Testing:

  • gofmt -w core/metrics/cpu_stat.go
  • GOFLAGS=-mod=mod go build with AppVersion ldflags
  • Docker dynamic: huatuo-bamai starts, cpu_stat registered, scrape success=1, no panic

Closes #25

Read wait_sum from cgroup cpu.stat and export wait_sum_exter_wait_rate using delta_wait_sum / (delta_wait_sum + delta_cpu_usage). Counter reset is guarded before subtraction.

Requires kernel.sched_schedstats=1 for wait_sum in cpu.stat.

Testing:
- gofmt -w core/metrics/cpu_stat.go
- GOFLAGS=-mod=mod go build with AppVersion ldflags
- Docker dynamic: huatuo-bamai starts, cpu_stat registered, scrape success=1, no panic

Closes ccfos#25

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread core/metrics/cpu_stat.go
metrics, metric.NewContainerGaugeData(container, "wait_rate", containerDataCache.waitrateHierarchy, "wait rate for the containers", nil),
metric.NewContainerGaugeData(container, "inner_wait_rate", containerDataCache.waitrateInner, "inner wait rate for the containers", nil),
metric.NewContainerGaugeData(container, "exter_wait_rate", containerDataCache.waitrateExter, "exter wait rate for the containers", nil),
metric.NewContainerGaugeData(container, "wait_sum_exter_wait_rate", containerDataCache.waitrateWaitSum, "exter wait rate from wait_sum and cpu usage (requires kernel.sched_schedstats=1)", nil),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

s /"exter wait rate from wait_sum and cpu usage (requires kernel.sched_schedstats=1)"/ "exter wait rate base on wait_sum (requires kernel.sched_schedstats=1)"
这样看起来好一些?

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants