package org.skywalking.apm.toolkit.activation.opentracing.span.interceptor; import org.skywalking.apm.agent.core.context.ContextManager; import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult; import org.skywalking.apm.toolkit.opentracing.SkyWalkingSpan; /** * Intercept {@link SkyWalkingSpan#setOperationName(String)} */ public class SpanSetOperationNameInterceptor implements InstanceMethodsAroundInterceptor { @Override public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, MethodInterceptResult result) { String operationName = (String) interceptorContext.allArguments()[0]; ContextManager.activeSpan().setOperationName(operationName); } @Override public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, Object ret) { return ret; } @Override public void handleMethodException(Throwable t, EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext) { } }