From 4853fe30208f68e148f185b30eb64ed20a1b3d3d Mon Sep 17 00:00:00 2001 From: keyhan Date: Mon, 6 Apr 2026 11:29:19 +0330 Subject: [PATCH] perf: add timing logs and faster polling for build jobs Added detailed timing logs for build pipeline stages (secret creation, job submission, job completion). Reduced polling interval from 5s to 3s. --- backend/src/build/build.service.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/backend/src/build/build.service.ts b/backend/src/build/build.service.ts index 7b916a8..a087227 100644 --- a/backend/src/build/build.service.ts +++ b/backend/src/build/build.service.ts @@ -88,8 +88,9 @@ export class BuildService { }, }; + const tSecret = Date.now(); await coreApi.createNamespacedSecret(buildNamespace!, sourceSecret); - this.logger.log(`Created source secret: ${sourceConfigMapName} (${(zipBuffer.length / 1024).toFixed(1)} KB)`); + this.logger.log(`[timing] Source secret created in ${Date.now() - tSecret}ms (${(zipBuffer.length / 1024).toFixed(1)} KB)`); } // Build the Kaniko Job spec @@ -247,8 +248,13 @@ export class BuildService { }; try { + const t0 = Date.now(); await coreApi.createNamespacedConfigMap(buildNamespace!, dockerfileConfigMap); + this.logger.log(`[timing] ConfigMap created in ${Date.now() - t0}ms`); + + const t1 = Date.now(); await batchApi.createNamespacedJob(buildNamespace!, buildJob); + this.logger.log(`[timing] Job created in ${Date.now() - t1}ms`); // Wait for build to complete await this.waitForJobCompletion(batchApi, coreApi, buildPodName, buildNamespace!, 600); @@ -402,8 +408,8 @@ CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"] throw new Error(`Build job ${jobName} failed.\nLogs:\n${logs}`); } - // Wait 5 seconds before polling again - await new Promise((resolve) => setTimeout(resolve, 5000)); + // Wait 3 seconds before polling again + await new Promise((resolve) => setTimeout(resolve, 3000)); } throw new Error(`Build job ${jobName} timed out after ${timeoutSeconds}s`);