void afterMethod()

in apm-sniffer/apm-toolkit-activation/apm-toolkit-trace-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/trace/BaseTagAnnotationInterceptor.java [53:71]


    void afterMethod(Method method, Object ret) {
        if (ret == null || !ContextManager.isActive()) {
            return;
        }
        final AbstractSpan localSpan = ContextManager.activeSpan();
        final Map<String, Object> context = CustomizeExpression.evaluationReturnContext(ret);
        final Tags tags = method.getAnnotation(Tags.class);
        if (tags != null && tags.value().length > 0) {
            for (final Tag tag : tags.value()) {
                if (TagUtil.isReturnTag(tag.value())) {
                    TagUtil.tagSpan(localSpan, context, tag);
                }
            }
        }
        final Tag tag = method.getAnnotation(Tag.class);
        if (tag != null && TagUtil.isReturnTag(tag.value())) {
            TagUtil.tagSpan(localSpan, context, tag);
        }
    }