MCPcopy Index your code
hub / github.com/CodebuffAI/codebuff / analyzeRerenders

Function analyzeRerenders

cli/src/__tests__/test-utils.ts:226–256  ·  view source on GitHub ↗
(entries: RerenderLogEntry[])

Source from the content-addressed store, hash-verified

224 * Analyze re-render logs and return aggregated statistics
225 */
226export function analyzeRerenders(entries: RerenderLogEntry[]): RerenderAnalysis {
227 const rerendersByMessage = new Map<string, number>()
228 const propChangeFrequency = new Map<string, number>()
229
230 for (const entry of entries) {
231 // Count re-renders per message
232 const currentCount = rerendersByMessage.get(entry.messageId) || 0
233 rerendersByMessage.set(entry.messageId, currentCount + 1)
234
235 // Count how often each prop changes
236 for (const prop of entry.changedProps) {
237 const propCount = propChangeFrequency.get(prop) || 0
238 propChangeFrequency.set(prop, propCount + 1)
239 }
240 }
241
242 // Find max re-renders for any single message
243 let maxRerenderPerMessage = 0
244 for (const count of rerendersByMessage.values()) {
245 if (count > maxRerenderPerMessage) {
246 maxRerenderPerMessage = count
247 }
248 }
249
250 return {
251 totalRerenders: entries.length,
252 rerendersByMessage,
253 propChangeFrequency,
254 maxRerenderPerMessage,
255 }
256}
257
258/**
259 * Clear the CLI debug log file

Calls 2

setMethod · 0.80
getMethod · 0.65

Tested by

no test coverage detected