diff --git a/lib/workers/repository/stats.ts b/lib/workers/repository/stats.ts index 86995200d99c61..cf46588261365a 100644 --- a/lib/workers/repository/stats.ts +++ b/lib/workers/repository/stats.ts @@ -20,8 +20,17 @@ export function printRequestStats(): void { }); const allRequests: string[] = []; const requestHosts: Record = {}; + const rawUrls: Record = {}; for (const httpRequest of httpRequests) { const { method, url, duration, queueDuration } = httpRequest; + const [baseUrl] = url.split('?'); + // put method last for better sorting + const urlKey = `${baseUrl} (${method.toUpperCase()})`; + if (rawUrls[urlKey]) { + rawUrls[urlKey] += 1; + } else { + rawUrls[urlKey] = 1; + } allRequests.push( `${method.toUpperCase()} ${url} ${duration} ${queueDuration}` ); @@ -29,6 +38,11 @@ export function printRequestStats(): void { requestHosts[hostname] = requestHosts[hostname] || []; requestHosts[hostname].push(httpRequest); } + const urls: Record = {}; + // Sort urls for easier reading + for (const url of Object.keys(rawUrls).sort()) { + urls[url] = rawUrls[url]; + } logger.trace({ allRequests, requestHosts }, 'full stats'); type HostStats = { requestCount: number; @@ -51,5 +65,5 @@ export function printRequestStats(): void { const queueAvgMs = Math.round(queueSum / requestCount); hostStats[hostname] = { requestCount, requestAvgMs, queueAvgMs }; } - logger.debug({ hostStats, totalRequests }, 'http statistics'); + logger.debug({ urls, hostStats, totalRequests }, 'http statistics'); }