diff --git a/common/monitoring/metric.go b/common/monitoring/metric.go index fe0ab8c9..48f5b223 100644 --- a/common/monitoring/metric.go +++ b/common/monitoring/metric.go @@ -82,6 +82,14 @@ func (metric *Metric) AddResult(result string) { metric.AddTag("result", result) } +func (metric *Metric) ResultFromError(err error) { + if err == nil { + metric.AddResult(SUCCESS) + } else { + metric.AddResult(ERROR) + } +} + func (metric *Metric) setField(fieldName string, field any) { if metric.fields == nil { metric.fields = make(FieldsType) diff --git a/core/workflow/callable/call.go b/core/workflow/callable/call.go index 1a83c100..eec5728f 100644 --- a/core/workflow/callable/call.go +++ b/core/workflow/callable/call.go @@ -253,11 +253,7 @@ func (c *Call) Start() { err := c.Call() select { case c.await <- err: - if err == nil { - metric.AddResult(monitoring.SUCCESS) - } else { - metric.AddResult(monitoring.ERROR) - } + metric.ResultFromError(err) case <-ctx.Done(): metric.AddResult(monitoring.CANCELLED) log.Debugf("%s cancelled", callId)