in apm-sniffer/apm-toolkit-activation/apm-toolkit-trace-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/trace/BaseTraceAnnotationInterceptor.java [35:58]
void beforeMethod(Method method, Object[] allArguments) {
Trace trace = method.getAnnotation(Trace.class);
String operationName = trace.operationName();
if (operationName.length() == 0 || ToolkitPluginConfig.Plugin.Toolkit.USE_QUALIFIED_NAME_AS_OPERATION_NAME) {
operationName = MethodUtil.generateOperationName(method);
}
final AbstractSpan localSpan = ContextManager.createLocalSpan(operationName);
final Map<String, Object> context = CustomizeExpression.evaluationContext(allArguments);
final org.apache.skywalking.apm.toolkit.trace.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);
}
}