MCPcopy Create free account
hub / github.com/continuedev/continue / trackUsage

Method trackUsage

extensions/cli/src/session.ts:149–178  ·  view source on GitHub ↗
(cost: number, usage: Usage)

Source from the content-addressed store, hash-verified

147 }
148
149 trackUsage(cost: number, usage: Usage): void {
150 // Accumulate cost
151 this.sessionUsage.totalCost += cost;
152
153 // Accumulate token counts
154 this.sessionUsage.promptTokens += usage.promptTokens;
155 this.sessionUsage.completionTokens += usage.completionTokens;
156
157 // Accumulate cache tokens if present
158 if (usage.promptTokensDetails?.cachedTokens) {
159 this.sessionUsage.promptTokensDetails =
160 this.sessionUsage.promptTokensDetails || {};
161 this.sessionUsage.promptTokensDetails.cachedTokens =
162 (this.sessionUsage.promptTokensDetails.cachedTokens || 0) +
163 usage.promptTokensDetails.cachedTokens;
164 }
165
166 if (usage.promptTokensDetails?.cacheWriteTokens) {
167 this.sessionUsage.promptTokensDetails =
168 this.sessionUsage.promptTokensDetails || {};
169 this.sessionUsage.promptTokensDetails.cacheWriteTokens =
170 (this.sessionUsage.promptTokensDetails.cacheWriteTokens || 0) +
171 usage.promptTokensDetails.cacheWriteTokens;
172 }
173
174 // Update session and persist
175 const session = this.getCurrentSession();
176 session.usage = { ...this.sessionUsage };
177 saveSession(); // Persist immediately
178 }
179
180 getTotalCost(): number {
181 return this.sessionUsage.totalCost;

Callers 1

trackSessionUsageFunction · 0.80

Calls 2

getCurrentSessionMethod · 0.95
saveSessionFunction · 0.85

Tested by

no test coverage detected