MCPcopy Create free account
hub / github.com/github/gh-aw / computeGitHubRateLimitDiff

Function computeGitHubRateLimitDiff

pkg/cli/audit_diff.go:794–836  ·  view source on GitHub ↗

computeGitHubRateLimitDiff computes the diff of GitHub API quota consumption between two runs using the GitHubRateLimitUsage data from RunSummary.GitHubRateLimitUsage. Returns nil when both summaries are nil.

(rl1, rl2 *GitHubRateLimitUsage)

Source from the content-addressed store, hash-verified

792// runs using the GitHubRateLimitUsage data from RunSummary.GitHubRateLimitUsage.
793// Returns nil when both summaries are nil.
794func computeGitHubRateLimitDiff(rl1, rl2 *GitHubRateLimitUsage) *GitHubRateLimitDiff {
795 if rl1 == nil && rl2 == nil {
796 return nil
797 }
798
799 var run1Calls, run2Calls int
800 var run1CoreConsumed, run2CoreConsumed int
801 var run1CoreRemaining, run2CoreRemaining int
802 var run1CoreLimit, run2CoreLimit int
803
804 if rl1 != nil {
805 run1Calls = rl1.TotalRequestsMade
806 run1CoreConsumed = rl1.CoreConsumed
807 run1CoreRemaining = rl1.CoreRemaining
808 run1CoreLimit = rl1.CoreLimit
809 }
810 if rl2 != nil {
811 run2Calls = rl2.TotalRequestsMade
812 run2CoreConsumed = rl2.CoreConsumed
813 run2CoreRemaining = rl2.CoreRemaining
814 run2CoreLimit = rl2.CoreLimit
815 }
816
817 diff := &GitHubRateLimitDiff{
818 Run1TotalAPICalls: run1Calls,
819 Run2TotalAPICalls: run2Calls,
820 Run1CoreConsumed: run1CoreConsumed,
821 Run2CoreConsumed: run2CoreConsumed,
822 Run1CoreRemaining: run1CoreRemaining,
823 Run2CoreRemaining: run2CoreRemaining,
824 Run1CoreLimit: run1CoreLimit,
825 Run2CoreLimit: run2CoreLimit,
826 }
827
828 if run1Calls > 0 || run2Calls > 0 {
829 diff.APICallsChange = formatVolumeChange(run1Calls, run2Calls)
830 }
831 if run1CoreConsumed > 0 || run2CoreConsumed > 0 {
832 diff.CoreConsumedChange = formatVolumeChange(run1CoreConsumed, run2CoreConsumed)
833 }
834
835 return diff
836}
837
838// computeTokenUsageDiff computes a detailed diff of token usage between two runs using
839// the firewall proxy token-usage.jsonl data (TokenUsageSummary). Returns nil when both

Calls 1

formatVolumeChangeFunction · 0.85