Skip to content

feat: add shared metrics utility for report building#232

Open
JasonXuDeveloper wants to merge 3 commits intoAzure:unstable-replayfrom
JasonXuDeveloper:replay/pr3
Open

feat: add shared metrics utility for report building#232
JasonXuDeveloper wants to merge 3 commits intoAzure:unstable-replayfrom
JasonXuDeveloper:replay/pr3

Conversation

@JasonXuDeveloper
Copy link
Contributor

Summary

  • Add metrics.BuildPercentileLatenciesReport() shared utility function
  • Refactor buildRunnerMetricReport() to use the shared utility, replacing ~15 lines with a single call
  • This deduplication enables replay to reuse the same report-building logic

Test plan

  • go build ./... passes
  • go vet ./... passes
  • go test ./metrics/... passes

Part 3 of 6 in the replay feature PR stack. Depends on PR #231.

- Fix "traget" → "target" typo in LoadProfileSpec comment
- Fix "letencies" → "latencies" typo in runner CLI flag description
- Add empty specs validation in loadConfig to prevent index-out-of-range
  panic when config file has no specs
- Preserve nodeAffinity from runnergroup spec when CLI --affinity flag
  is not provided

Signed-off-by: JasonXuDeveloper - 傑 <jason@xgamedev.net>
Add foundation types for the timeseries replay system:
- ReplayRequest, ReplayProfile, ReplayProfileSpec types with validation
- IsReplayMode() method on RunnerGroupSpec for detecting replay configs
- ReplayProfileSpec field in RunnerGroupSpec for distributed mode
- Sample replay profile and runner group config test data

Signed-off-by: JasonXuDeveloper - 傑 <jason@xgamedev.net>
Extract shared report-building logic into metrics.BuildPercentileLatenciesReport()
to avoid duplication between runner and replay report builders. Refactor
buildRunnerMetricReport() to use the shared utility.

Signed-off-by: JasonXuDeveloper - 傑 <jason@xgamedev.net>
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.

1 participant