Skip to content

Commit 1be195b

Browse files
authored
Add missing activity logger tags for local activities (#1216)
Apparently these were never added, so local activity logs are just (dramatically) less useful. That should now be fixed, I think these are the only places that need changing.
1 parent 76f53fe commit 1be195b

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

internal/activity.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ func WithActivityTask(
334334
deadline = startToCloseDeadline
335335
}
336336

337+
// keep in sync with local activity logger tags
337338
logger = logger.With(
338339
zapcore.Field{Key: tagActivityID, Type: zapcore.StringType, String: *task.ActivityId},
339340
zapcore.Field{Key: tagActivityType, Type: zapcore.StringType, String: *task.ActivityType.Name},

internal/internal_logging_tags.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ const (
3636
tagSideEffectID = "SideEffectID"
3737
tagChildWorkflowID = "ChildWorkflowID"
3838
tagLocalActivityType = "LocalActivityType"
39+
tagLocalActivityID = "LocalActivityID"
3940
tagQueryType = "QueryType"
4041
tagVisibilityQuery = "VisibilityQuery"
4142
tagPanicError = "PanicError"

internal/internal_task_pollers.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,14 @@ func (lath *localActivityTaskHandler) executeLocalActivityTask(task *localActivi
564564
activityType := task.params.ActivityType
565565
metricsScope := getMetricsScopeForLocalActivity(lath.metricsScope, workflowType, activityType)
566566

567+
// keep in sync with regular activity logger tags
568+
logger := lath.logger.With(
569+
zap.String(tagLocalActivityID, task.activityID),
570+
zap.String(tagLocalActivityType, activityType),
571+
zap.String(tagWorkflowType, workflowType),
572+
zap.String(tagWorkflowID, task.params.WorkflowInfo.WorkflowExecution.ID),
573+
zap.String(tagRunID, task.params.WorkflowInfo.WorkflowExecution.RunID))
574+
567575
metricsScope.Counter(metrics.LocalActivityTotalCounter).Inc(1)
568576

569577
ae := activityExecutor{name: activityType, fn: task.params.ActivityFn}
@@ -582,7 +590,7 @@ func (lath *localActivityTaskHandler) executeLocalActivityTask(task *localActivi
582590
activityType: ActivityType{Name: activityType},
583591
activityID: fmt.Sprintf("%v", task.activityID),
584592
workflowExecution: task.params.WorkflowInfo.WorkflowExecution,
585-
logger: lath.logger,
593+
logger: logger,
586594
metricsScope: metricsScope,
587595
isLocalActivity: true,
588596
dataConverter: lath.dataConverter,
@@ -637,10 +645,7 @@ func (lath *localActivityTaskHandler) executeLocalActivityTask(task *localActivi
637645
if p := recover(); p != nil {
638646
topLine := fmt.Sprintf("local activity for %s [panic]:", activityType)
639647
st := getStackTraceRaw(topLine, 7, 0)
640-
lath.logger.Error("LocalActivity panic.",
641-
zap.String(tagWorkflowID, task.params.WorkflowInfo.WorkflowExecution.ID),
642-
zap.String(tagRunID, task.params.WorkflowInfo.WorkflowExecution.RunID),
643-
zap.String(tagActivityType, activityType),
648+
logger.Error("LocalActivity panic.",
644649
zap.String(tagPanicError, fmt.Sprintf("%v", p)),
645650
zap.String(tagPanicStack, st))
646651
metricsScope.Counter(metrics.LocalActivityPanicCounter).Inc(1)
@@ -657,9 +662,7 @@ func (lath *localActivityTaskHandler) executeLocalActivityTask(task *localActivi
657662
if executionLatency > timeoutDuration {
658663
// If local activity takes longer than expected timeout, the context would already be DeadlineExceeded and
659664
// the result would be discarded. Print a warning in this case.
660-
lath.logger.Warn("LocalActivity takes too long to complete.",
661-
zap.String("LocalActivityID", task.activityID),
662-
zap.String("LocalActivityType", activityType),
665+
logger.Warn("LocalActivity takes too long to complete.",
663666
zap.Int32("ScheduleToCloseTimeoutSeconds", task.params.ScheduleToCloseTimeoutSeconds),
664667
zap.Duration("ActualExecutionDuration", executionLatency))
665668
}

0 commit comments

Comments
 (0)