MCPcopy Index your code
hub / github.com/github/gh-aw / renderRunMetricsDiffPrettySection

Function renderRunMetricsDiffPrettySection

pkg/cli/audit_diff_render.go:451–513  ·  view source on GitHub ↗

renderRunMetricsDiffPrettySection renders the run metrics diff as a pretty console sub-section

(run1ID, run2ID int64, diff *RunMetricsDiff)

Source from the content-addressed store, hash-verified

449
450// renderRunMetricsDiffPrettySection renders the run metrics diff as a pretty console sub-section
451func renderRunMetricsDiffPrettySection(run1ID, run2ID int64, diff *RunMetricsDiff) {
452 if diff == nil {
453 return
454 }
455
456 fmt.Fprintln(os.Stderr, console.FormatSectionHeader(fmt.Sprintf("Run Metrics (Run #%d → Run #%d)", run1ID, run2ID)))
457 fmt.Fprintln(os.Stderr)
458
459 config := console.TableConfig{
460 Headers: []string{"Metric", fmt.Sprintf("Run #%d", run1ID), fmt.Sprintf("Run #%d", run2ID), "Change"},
461 Rows: make([][]string, 0),
462 }
463
464 if diff.Run1TokenUsage > 0 || diff.Run2TokenUsage > 0 {
465 config.Rows = append(config.Rows, []string{
466 "Token usage",
467 strconv.Itoa(diff.Run1TokenUsage),
468 strconv.Itoa(diff.Run2TokenUsage),
469 diff.TokenUsageChange,
470 })
471 }
472 if diff.Run1Duration != "" || diff.Run2Duration != "" {
473 config.Rows = append(config.Rows, []string{
474 "Duration",
475 diff.Run1Duration,
476 diff.Run2Duration,
477 diff.DurationChange,
478 })
479 }
480 if diff.Run1Turns > 0 || diff.Run2Turns > 0 {
481 config.Rows = append(config.Rows, []string{
482 "Turns",
483 strconv.Itoa(diff.Run1Turns),
484 strconv.Itoa(diff.Run2Turns),
485 fmt.Sprintf("%+d", diff.TurnsChange),
486 })
487 }
488 if diff.Run1TokensPerTurn > 0 || diff.Run2TokensPerTurn > 0 {
489 config.Rows = append(config.Rows, []string{
490 "Tokens / turn",
491 strconv.Itoa(diff.Run1TokensPerTurn),
492 strconv.Itoa(diff.Run2TokensPerTurn),
493 diff.TokensPerTurnChange,
494 })
495 }
496
497 if len(config.Rows) > 0 {
498 fmt.Fprint(os.Stderr, console.RenderTable(config))
499 }
500
501 if diff.TokenUsageDetails != nil {
502 fmt.Fprintln(os.Stderr)
503 renderTokenUsageDiffPrettySection(run1ID, run2ID, diff.TokenUsageDetails)
504 }
505 if diff.GitHubRateLimitDetails != nil {
506 fmt.Fprintln(os.Stderr)
507 renderGitHubRateLimitDiffPrettySection(run1ID, run2ID, diff.GitHubRateLimitDetails)
508 }

Callers 1

Tested by

no test coverage detected