(outputTokens: number, latencyMs: number, draftActive: boolean)
| 140 | private warned = false; |
| 141 | |
| 142 | record(outputTokens: number, latencyMs: number, draftActive: boolean): void { |
| 143 | if (outputTokens <= 0 || latencyMs <= 0) return; |
| 144 | const tps = (outputTokens / latencyMs) * 1000; |
| 145 | const arr = draftActive ? this.withDraft : this.withoutDraft; |
| 146 | arr.push(tps); |
| 147 | if (arr.length > 20) arr.shift(); // rolling window |
| 148 | } |
| 149 | |
| 150 | private median(arr: number[]): number | null { |
| 151 | if (arr.length < 3) return null; // need a few samples |
no test coverage detected