Skip to content
Snippets Groups Projects
Unverified Commit 66bc2528 authored by Rhys Arkins's avatar Rhys Arkins Committed by GitHub
Browse files

feat: log urls in closing stats (#11798)

parent 88fd8741
No related branches found
No related tags found
No related merge requests found
...@@ -20,8 +20,17 @@ export function printRequestStats(): void { ...@@ -20,8 +20,17 @@ export function printRequestStats(): void {
}); });
const allRequests: string[] = []; const allRequests: string[] = [];
const requestHosts: Record<string, RequestStats[]> = {}; const requestHosts: Record<string, RequestStats[]> = {};
const rawUrls: Record<string, number> = {};
for (const httpRequest of httpRequests) { for (const httpRequest of httpRequests) {
const { method, url, duration, queueDuration } = httpRequest; 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( allRequests.push(
`${method.toUpperCase()} ${url} ${duration} ${queueDuration}` `${method.toUpperCase()} ${url} ${duration} ${queueDuration}`
); );
...@@ -29,6 +38,11 @@ export function printRequestStats(): void { ...@@ -29,6 +38,11 @@ export function printRequestStats(): void {
requestHosts[hostname] = requestHosts[hostname] || []; requestHosts[hostname] = requestHosts[hostname] || [];
requestHosts[hostname].push(httpRequest); 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'); logger.trace({ allRequests, requestHosts }, 'full stats');
type HostStats = { type HostStats = {
requestCount: number; requestCount: number;
...@@ -51,5 +65,5 @@ export function printRequestStats(): void { ...@@ -51,5 +65,5 @@ export function printRequestStats(): void {
const queueAvgMs = Math.round(queueSum / requestCount); const queueAvgMs = Math.round(queueSum / requestCount);
hostStats[hostname] = { requestCount, requestAvgMs, queueAvgMs }; hostStats[hostname] = { requestCount, requestAvgMs, queueAvgMs };
} }
logger.debug({ hostStats, totalRequests }, 'http statistics'); logger.debug({ urls, hostStats, totalRequests }, 'http statistics');
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment