Skip to content

Commit 764033d

Browse files
committed
Emit ActivityTaskFailedCounter for canceled activities
Problem: Customer reported cadence-activity-task-failed metric not emitted when activities fail due to heartbeat timeout. Root cause is context.Canceled errors convert to RespondActivityTaskCanceledRequest, which only emits ActivityTaskCanceledCounter. Solution: Modified reportActivityComplete() and reportActivityCompleteByID() to emit both ActivityTaskCanceledCounter and ActivityTaskFailedCounter when activities are canceled. Cancellations from timeouts are failures from a monitoring perspective. Changes: - internal/internal_task_pollers.go: Added ActivityTaskFailedCounter.Inc(1) in canceled case for both functions Testing: - go build ./internal/... - compiles successfully - go test ./internal - all existing tests pass - go test ./internal/common/metrics - metrics infrastructure verified - Verified ActivityTaskFailedCounter already defined and used for explicit failures (line 71 constants.go, line 1296 internal_task_pollers.go) Backward compatible. No breaking changes to server communication. CDNC-12793 Signed-off-by: Diana Zawadzki <[email protected]>
1 parent 7ce86d7 commit 764033d

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

internal/internal_task_pollers.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,6 +1289,9 @@ func reportActivityComplete(
12891289
switch request.(type) {
12901290
case *s.RespondActivityTaskCanceledRequest:
12911291
metricsScope.Counter(metrics.ActivityTaskCanceledCounter).Inc(1)
1292+
// Also emit failed counter for canceled activities since they represent failures
1293+
// from a customer monitoring perspective (e.g., heartbeat timeouts)
1294+
metricsScope.Counter(metrics.ActivityTaskFailedCounter).Inc(1)
12921295
case *s.RespondActivityTaskFailedRequest:
12931296
metricsScope.Counter(metrics.ActivityTaskFailedCounter).Inc(1)
12941297
case *s.RespondActivityTaskCompletedRequest:
@@ -1342,6 +1345,9 @@ func reportActivityCompleteByID(
13421345
switch request.(type) {
13431346
case *s.RespondActivityTaskCanceledByIDRequest:
13441347
metricsScope.Counter(metrics.ActivityTaskCanceledByIDCounter).Inc(1)
1348+
// Also emit failed counter for canceled activities since they represent failures
1349+
// from a customer monitoring perspective (e.g., heartbeat timeouts)
1350+
metricsScope.Counter(metrics.ActivityTaskFailedByIDCounter).Inc(1)
13451351
case *s.RespondActivityTaskFailedByIDRequest:
13461352
metricsScope.Counter(metrics.ActivityTaskFailedByIDCounter).Inc(1)
13471353
case *s.RespondActivityTaskCompletedByIDRequest:

0 commit comments

Comments
 (0)