package org.skywalking.apm.plugin.jedis.v2; import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.ConstructorInvokeContext; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor; /** * {@link JedisClusterConstructorWithHostAndPortArgInterceptor} record the host * and port information from {@link EnhancedClassInstanceContext#context}. * * @author zhangxin */ public class JedisConstructorWithStringArgInterceptor implements InstanceConstructorInterceptor { @Override public void onConstruct(EnhancedClassInstanceContext context, ConstructorInvokeContext interceptorContext) { String host = (String) interceptorContext.allArguments()[0]; int port = 6379; if (interceptorContext.allArguments().length > 1) { port = (Integer) interceptorContext.allArguments()[1]; } context.set(JedisMethodInterceptor.KEY_OF_REDIS_CONN_INFO, host + ":" + port); context.set(JedisMethodInterceptor.KEY_OF_REDIS_HOST, host); context.set(JedisMethodInterceptor.KEY_OF_REDIS_PORT, port); } }