From 55840f561842c6c449eb160ceff5299457ee3db6 Mon Sep 17 00:00:00 2001 From: Jiquan Long Date: Mon, 10 Apr 2023 11:10:34 +0800 Subject: [PATCH] Fix metric ProxySyncTimeTickLag (#23235) (#23244) Signed-off-by: longjiquan --- internal/proxy/proxy.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/internal/proxy/proxy.go b/internal/proxy/proxy.go index 9c77a066b0..e3201f46e2 100644 --- a/internal/proxy/proxy.go +++ b/internal/proxy/proxy.go @@ -311,8 +311,24 @@ func (node *Proxy) sendChannelsTimeTickLoop() { Timestamps: tss, DefaultTimestamp: maxTs, } - sub := tsoutil.SubByNow(maxTs) - metrics.ProxySyncTimeTickLag.WithLabelValues(strconv.FormatInt(Params.ProxyCfg.GetNodeID(), 10), "default").Set(float64(sub)) + + func() { + // we should pay more attention to the max lag. + minTs := maxTs + minTsOfChannel := "default" + + // find the min ts and the related channel. + for channel, ts := range stats { + if ts < minTs { + minTs = ts + minTsOfChannel = channel + } + } + + sub := tsoutil.SubByNow(minTs) + metrics.ProxySyncTimeTickLag.WithLabelValues(strconv.FormatInt(Params.ProxyCfg.GetNodeID(), 10), minTsOfChannel).Set(float64(sub)) + }() + status, err := node.rootCoord.UpdateChannelTimeTick(node.ctx, req) if err != nil { log.Warn("sendChannelsTimeTickLoop.UpdateChannelTimeTick", zap.Error(err))