func Promise()

in models/metrics/metrics.go [118:136]


func Promise(ctx context.Context, err error) {
	var isErr, isTimeout bool
	if err != nil {
		isErr = true
		if errors.Is(err, models.ErrPromiseTimeout) {
			isTimeout = true
		}
	}
	opt := metric.WithAttributes(
		attribute.Key(errorLabel).Bool(isErr),
		attribute.Key(timeoutLabel).Bool(isTimeout),
	)
	if promises.completed != nil {
		promises.completed.Add(ctx, 1, opt)
	}
	if promises.current != nil {
		promises.current.Add(ctx, -1)
	}
}