From e7b64827610afb780c6a39a45e649892cce2678c Mon Sep 17 00:00:00 2001 From: Nikola Jokic Date: Mon, 11 May 2026 15:57:43 +0200 Subject: [PATCH] Fix job execution duration when runner assign time is not set (#4472) --- cmd/ghalistener/metrics/metrics.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cmd/ghalistener/metrics/metrics.go b/cmd/ghalistener/metrics/metrics.go index e35df92f..a1bbd472 100644 --- a/cmd/ghalistener/metrics/metrics.go +++ b/cmd/ghalistener/metrics/metrics.go @@ -493,11 +493,13 @@ func (e *exporter) RecordJobStarted(msg *scaleset.JobStarted) { } func (e *exporter) RecordJobCompleted(msg *scaleset.JobCompleted) { + if msg.RunnerAssignTime.IsZero() { + return + } + l := e.completedJobLabels(msg) e.incCounter(MetricCompletedJobsTotal, l) - - executionDuration := msg.FinishTime.Unix() - msg.RunnerAssignTime.Unix() - e.observeHistogram(MetricJobExecutionDurationSeconds, l, float64(executionDuration)) + e.observeHistogram(MetricJobExecutionDurationSeconds, l, float64(msg.FinishTime.Unix()-msg.RunnerAssignTime.Unix())) } func (e *exporter) RecordDesiredRunners(count int) {