From 66bc2528f57705fa51a88a9216952364359da555 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Fri, 17 Sep 2021 20:06:30 +0200
Subject: [PATCH] feat: log urls in closing stats (#11798)

---
 lib/workers/repository/stats.ts | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/lib/workers/repository/stats.ts b/lib/workers/repository/stats.ts
index 86995200d9..cf46588261 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<string, RequestStats[]> = {};
+  const rawUrls: Record<string, number> = {};
   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<string, number> = {};
+  // 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');
 }
-- 
GitLab