MCPcopy Index your code
hub / github.com/coder/coder / aggregateTokenUsage

Function aggregateTokenUsage

coderd/database/db2sdk/db2sdk.go:1435–1450  ·  view source on GitHub ↗

aggregateTokenUsage sums token usage rows and aggregates metadata.

(tokens []database.AIBridgeTokenUsage)

Source from the content-addressed store, hash-verified

1433
1434// aggregateTokenUsage sums token usage rows and aggregates metadata.
1435func aggregateTokenUsage(tokens []database.AIBridgeTokenUsage) codersdk.AIBridgeSessionThreadsTokenUsage {
1436 var inputTokens, outputTokens, cacheRead, cacheWrite int64
1437 for _, tu := range tokens {
1438 inputTokens += tu.InputTokens
1439 outputTokens += tu.OutputTokens
1440 cacheRead += tu.CacheReadInputTokens
1441 cacheWrite += tu.CacheWriteInputTokens
1442 }
1443 return codersdk.AIBridgeSessionThreadsTokenUsage{
1444 InputTokens: inputTokens,
1445 OutputTokens: outputTokens,
1446 CacheReadInputTokens: cacheRead,
1447 CacheWriteInputTokens: cacheWrite,
1448 Metadata: aggregateTokenMetadata(tokens),
1449 }
1450}
1451
1452// aggregateTokenMetadata sums all numeric values from the metadata
1453// JSONB across the given token usage rows by key. Nested objects are

Callers 2

TestAggregateTokenUsageFunction · 0.85
buildAIBridgeThreadFunction · 0.85

Calls 1

aggregateTokenMetadataFunction · 0.85

Tested by 1

TestAggregateTokenUsageFunction · 0.68