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

Function augmentSubagentModelAttribution

pkg/cli/token_usage.go:883–950  ·  view source on GitHub ↗
(runDir string, summary *TokenUsageSummary)

Source from the content-addressed store, hash-verified

881}
882
883func augmentSubagentModelAttribution(runDir string, summary *TokenUsageSummary) {
884 if summary == nil {
885 return
886 }
887
888 requests := extractSubagentModelRequests(runDir)
889 if len(requests) == 0 {
890 return
891 }
892 addTokenUsageWarning(summary, subagentStdioWarning)
893
894 actuals := make([]SubagentModelActual, 0, len(summary.ByModel))
895 observedModels := make(map[string]string, len(summary.ByModel))
896 for model, usage := range summary.ByModel {
897 if usage == nil || model == "" {
898 continue
899 }
900 actuals = append(actuals, SubagentModelActual{
901 Model: model,
902 Provider: usage.Provider,
903 Requests: usage.Requests,
904 })
905 observedModels[model] = usage.Provider
906 }
907 slices.SortStableFunc(actuals, func(a, b SubagentModelActual) int {
908 if a.Requests != b.Requests {
909 if a.Requests > b.Requests {
910 return -1
911 }
912 return 1
913 }
914 switch {
915 case a.Model < b.Model:
916 return -1
917 case a.Model > b.Model:
918 return 1
919 default:
920 return 0
921 }
922 })
923 summary.SubagentModelActuals = actuals
924
925 var fallbackEffectiveModel string
926 if len(observedModels) == 1 {
927 for model := range observedModels {
928 fallbackEffectiveModel = model
929 }
930 }
931
932 requestRows := make([]SubagentModelRequest, 0, len(requests))
933 mismatchCount := 0
934 for _, row := range requests {
935 if _, ok := observedModels[row.RequestedModel]; ok {
936 row.EffectiveModel = row.RequestedModel
937 } else {
938 row.EffectiveModel = fallbackEffectiveModel
939 if len(observedModels) == 0 {
940 row.ReasonCode = modelMismatchReasonTokenUsageMissing

Callers 1

analyzeTokenUsageFunction · 0.85

Calls 2

addTokenUsageWarningFunction · 0.85

Tested by

no test coverage detected