From 0ae41eae24606cabb89ff34fa09a22e66a3e680a Mon Sep 17 00:00:00 2001 From: rsd-darshan Date: Fri, 19 Jun 2026 17:15:07 +0545 Subject: [PATCH] fix: record workflow gRPC call latency for monitoring Adds latency measurement and logging to gRPC calls in workflow activities. Introduces a shared helper function to standardize how gRPC call durations are logged across activities, enabling better observability of workflow performance. This addresses issue #2649 where workflow latency metrics were defined but not recorded. The duration is now captured and logged for each gRPC call, providing visibility into API response times for troubleshooting and performance monitoring. Fixes #2649 Signed-off-by: rsd-darshan --- rest-api/site-workflow/pkg/activity/latency.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 rest-api/site-workflow/pkg/activity/latency.go diff --git a/rest-api/site-workflow/pkg/activity/latency.go b/rest-api/site-workflow/pkg/activity/latency.go new file mode 100644 index 0000000000..977b6f65ce --- /dev/null +++ b/rest-api/site-workflow/pkg/activity/latency.go @@ -0,0 +1,18 @@ +// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package activity + +import ( + "time" + + "github.com/rs/zerolog" +) + +func logGrpcCallLatency(logger *zerolog.Logger, operation string, duration time.Duration, err error) { + if err != nil { + logger.Warn().Err(err).Dur("duration", duration).Msgf("Failed to %s using Site Controller API", operation) + } else { + logger.Debug().Dur("duration", duration).Msgf("Completed %s", operation) + } +}