Commit f3699ba2 authored by lytscu's avatar lytscu
Browse files

1.carrier->operation 2. Remove duplicate constructors intercept points

parent 498fc9b9
Loading
Loading
Loading
Loading
+5 −15
Original line number Diff line number Diff line
@@ -20,11 +20,8 @@ package org.skywalking.apm.plugin.mongodb.v2;

import com.mongodb.AggregationOutput;
import com.mongodb.CommandResult;
import com.mongodb.DB;
import com.mongodb.ServerAddress;
import com.mongodb.WriteResult;
import java.lang.reflect.Method;
import java.util.List;
import org.skywalking.apm.agent.core.context.ContextCarrier;
import org.skywalking.apm.agent.core.context.ContextManager;
import org.skywalking.apm.agent.core.context.tag.Tags;
@@ -51,9 +48,9 @@ public class MongoDBCollectionMethodInterceptor implements InstanceMethodsAround
        Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable {

        String remotePeer = (String)objInst.getSkyWalkingDynamicField();
        String carrier = null;
        carrier = method.getName();
        AbstractSpan span = ContextManager.createExitSpan(MONGO_DB_OP_PREFIX + carrier, new ContextCarrier(), remotePeer);
        String opertaion = null;
        opertaion = method.getName();
        AbstractSpan span = ContextManager.createExitSpan(MONGO_DB_OP_PREFIX + opertaion, new ContextCarrier(), remotePeer);
        span.setComponent(ComponentsDefine.MONGODB);
        Tags.DB_TYPE.set(span, DB_TYPE);
        SpanLayer.asDB(span);
@@ -87,15 +84,8 @@ public class MongoDBCollectionMethodInterceptor implements InstanceMethodsAround

    @Override
    public void onConstruct(EnhancedInstance objInst, Object[] allArguments) {
        List<ServerAddress> servers = null;
        DB db = (DB)allArguments[0];
        servers = db.getMongo().getAllAddress();
        StringBuilder peers = new StringBuilder();
        for (ServerAddress address : servers) {
            peers.append(address.getHost() + ":" + address.getPort() + ";");
        }

        objInst.setSkyWalkingDynamicField(peers.subSequence(0, peers.length() - 1).toString());
        ((EnhancedInstance)allArguments[0]).getSkyWalkingDynamicField();
        objInst.setSkyWalkingDynamicField(((EnhancedInstance)allArguments[0]).getSkyWalkingDynamicField().toString());
    }

}
+3 −3
Original line number Diff line number Diff line
@@ -51,15 +51,15 @@ public class MongoDBV2MethodInterceptor implements InstanceMethodsAroundIntercep
        Class<?>[] argumentsTypes, MethodInterceptResult result) throws Throwable {

        String remotePeer = (String)objInst.getSkyWalkingDynamicField();
        String carrier = "command";
        String opertaion = "command";
        if (method.getName().equals("command")) {
            DBObject obj = (DBObject)allArguments[0];
            for (String key : obj.keySet()) {
                carrier = key;
                opertaion = key;
                break;
            }
        }
        AbstractSpan span = ContextManager.createExitSpan(MONGO_DB_OP_PREFIX + carrier, new ContextCarrier(), remotePeer);
        AbstractSpan span = ContextManager.createExitSpan(MONGO_DB_OP_PREFIX + opertaion, new ContextCarrier(), remotePeer);
        span.setComponent(ComponentsDefine.MONGODB);
        Tags.DB_TYPE.set(span, DB_TYPE);
        SpanLayer.asDB(span);