Skip to content

Commit 681ce45

Browse files
authored
Fix service_latency_nouserlatency (#3677)
1 parent 0101924 commit 681ce45

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

common/rpc/interceptor/telemetry.go

+9-3
Original file line numberDiff line numberDiff line change
@@ -128,15 +128,21 @@ func (ti *TelemetryInterceptor) Intercept(
128128
metricsHandler.Counter(metrics.ServiceRequests.GetMetricName()).Record(1)
129129

130130
startTime := time.Now().UTC()
131+
userLatencyDuration := time.Duration(0)
131132
defer func() {
132-
metricsHandler.Timer(metrics.ServiceLatency.GetMetricName()).Record(time.Since(startTime))
133-
metricsHandler.Timer(metrics.ServiceLatencyNoUserLatency.GetMetricName()).Record(time.Since(startTime))
133+
latency := time.Since(startTime)
134+
metricsHandler.Timer(metrics.ServiceLatency.GetMetricName()).Record(latency)
135+
noUserLatency := latency - userLatencyDuration
136+
if noUserLatency < 0 {
137+
noUserLatency = 0
138+
}
139+
metricsHandler.Timer(metrics.ServiceLatencyNoUserLatency.GetMetricName()).Record(noUserLatency)
134140
}()
135141

136142
resp, err := handler(ctx, req)
137143

138144
if val, ok := metrics.ContextCounterGet(ctx, metrics.HistoryWorkflowExecutionCacheLatency.GetMetricName()); ok {
139-
userLatencyDuration := time.Duration(val)
145+
userLatencyDuration = time.Duration(val)
140146
startTime.Add(userLatencyDuration)
141147
metricsHandler.Timer(metrics.ServiceLatencyUserLatency.GetMetricName()).Record(userLatencyDuration)
142148
}

0 commit comments

Comments
 (0)