diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/Config.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/Config.java
index 8441edb55..1c88af5aa 100644
--- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/Config.java
+++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/conf/Config.java
@@ -81,9 +81,9 @@ public class Config {
*/
public static LogLevel LEVEL = LogLevel.DEBUG;
}
-
- public static class Plugin{
- public static class MongoDB{
+
+ public static class Plugin {
+ public static class MongoDB {
/**
* If true, trace all the parameters, default is false.
* Only trace the operation, not include parameters.
diff --git a/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/pom.xml b/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/pom.xml
index 197011f64..956a67a9e 100644
--- a/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/pom.xml
+++ b/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/pom.xml
@@ -1,47 +1,47 @@
- 4.0.0
-
- skywalking-sdk-plugin
- com.a.eye
- 3.0.1-2017
-
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
+
+ skywalking-sdk-plugin
+ com.a.eye
+ 3.0.1-2017
+
- skywalking-mongodb-3.x-plugin
- jar
+ skywalking-mongodb-3.x-plugin
+ jar
- mongodb-plugin
- http://maven.apache.org
+ mongodb-plugin
+ http://maven.apache.org
-
- UTF-8
-
+
+ UTF-8
+
-
-
- org.mongodb
- mongo-java-driver
- 3.4.2
- provided
-
-
+
+
+ org.mongodb
+ mongo-java-driver
+ 3.4.2
+ provided
+
+
-
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
-
-
-
- attach-sources
-
- jar
-
-
-
-
-
-
+
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+
+
+
+ attach-sources
+
+ jar
+
+
+
+
+
+
\ No newline at end of file
diff --git a/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBMethodInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBMethodInterceptor.java
index d9d6243c6..d69fabbe8 100644
--- a/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBMethodInterceptor.java
+++ b/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBMethodInterceptor.java
@@ -66,7 +66,7 @@ public class MongoDBMethodInterceptor implements InstanceMethodsAroundIntercepto
@Override
public void beforeMethod(final EnhancedClassInstanceContext context,
- final InstanceMethodInvokeContext interceptorContext, final MethodInterceptResult result) {
+ final InstanceMethodInvokeContext interceptorContext, final MethodInterceptResult result) {
Object[] arguments = interceptorContext.allArguments();
String methodName = arguments[0].getClass().getSimpleName();
@@ -84,17 +84,17 @@ public class MongoDBMethodInterceptor implements InstanceMethodsAroundIntercepto
@Override
public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext,
- Object ret) {
+ Object ret) {
Span span = ContextManager.activeSpan();
Tags.PEER_HOST.set(span, context.get(MONGODB_HOST, String.class));
- Tags.PEER_PORT.set(span, (Integer) context.get(MONGODB_PORT));
+ Tags.PEER_PORT.set(span, (Integer)context.get(MONGODB_PORT));
ContextManager.stopSpan();
return ret;
}
@Override
public void handleMethodException(Throwable t, EnhancedClassInstanceContext context,
- InstanceMethodInvokeContext interceptorContext) {
+ InstanceMethodInvokeContext interceptorContext) {
ContextManager.activeSpan().log(t);
}
@@ -105,55 +105,55 @@ public class MongoDBMethodInterceptor implements InstanceMethodsAroundIntercepto
@SuppressWarnings("rawtypes")
private String getTraceParam(Object obj) {
if (obj instanceof CountOperation) {
- BsonDocument filter = ((CountOperation) obj).getFilter();
+ BsonDocument filter = ((CountOperation)obj).getFilter();
return limitFilter(filter.toString());
} else if (obj instanceof DistinctOperation) {
- BsonDocument filter = ((DistinctOperation) obj).getFilter();
+ BsonDocument filter = ((DistinctOperation)obj).getFilter();
return limitFilter(filter.toString());
} else if (obj instanceof FindOperation) {
- BsonDocument filter = ((FindOperation) obj).getFilter();
+ BsonDocument filter = ((FindOperation)obj).getFilter();
return limitFilter(filter.toString());
} else if (obj instanceof GroupOperation) {
- BsonDocument filter = ((GroupOperation) obj).getFilter();
+ BsonDocument filter = ((GroupOperation)obj).getFilter();
return limitFilter(filter.toString());
} else if (obj instanceof ListCollectionsOperation) {
- BsonDocument filter = ((ListCollectionsOperation) obj).getFilter();
+ BsonDocument filter = ((ListCollectionsOperation)obj).getFilter();
return limitFilter(filter.toString());
} else if (obj instanceof MapReduceWithInlineResultsOperation) {
- BsonDocument filter = ((ListCollectionsOperation) obj).getFilter();
+ BsonDocument filter = ((ListCollectionsOperation)obj).getFilter();
return limitFilter(filter.toString());
} else if (obj instanceof DeleteOperation) {
- List writeRequestList = ((DeleteOperation) obj).getDeleteRequests();
+ List writeRequestList = ((DeleteOperation)obj).getDeleteRequests();
return getFilter(writeRequestList);
} else if (obj instanceof InsertOperation) {
- List writeRequestList = ((InsertOperation) obj).getInsertRequests();
+ List writeRequestList = ((InsertOperation)obj).getInsertRequests();
return getFilter(writeRequestList);
} else if (obj instanceof UpdateOperation) {
- List writeRequestList = ((UpdateOperation) obj).getUpdateRequests();
+ List writeRequestList = ((UpdateOperation)obj).getUpdateRequests();
return getFilter(writeRequestList);
} else if (obj instanceof CreateCollectionOperation) {
- String filter = ((CreateCollectionOperation) obj).getCollectionName();
+ String filter = ((CreateCollectionOperation)obj).getCollectionName();
return limitFilter(filter);
} else if (obj instanceof CreateIndexesOperation) {
- List filter = ((CreateIndexesOperation) obj).getIndexNames();
+ List filter = ((CreateIndexesOperation)obj).getIndexNames();
return limitFilter(filter.toString());
} else if (obj instanceof CreateViewOperation) {
- String filter = ((CreateViewOperation) obj).getViewName();
+ String filter = ((CreateViewOperation)obj).getViewName();
return limitFilter(filter);
} else if (obj instanceof FindAndDeleteOperation) {
- BsonDocument filter = ((FindAndDeleteOperation) obj).getFilter();
+ BsonDocument filter = ((FindAndDeleteOperation)obj).getFilter();
return limitFilter(filter.toString());
} else if (obj instanceof FindAndReplaceOperation) {
- BsonDocument filter = ((FindAndReplaceOperation) obj).getFilter();
+ BsonDocument filter = ((FindAndReplaceOperation)obj).getFilter();
return limitFilter(filter.toString());
} else if (obj instanceof FindAndUpdateOperation) {
- BsonDocument filter = ((FindAndUpdateOperation) obj).getFilter();
+ BsonDocument filter = ((FindAndUpdateOperation)obj).getFilter();
return limitFilter(filter.toString());
} else if (obj instanceof MapReduceToCollectionOperation) {
- BsonDocument filter = ((MapReduceToCollectionOperation) obj).getFilter();
+ BsonDocument filter = ((MapReduceToCollectionOperation)obj).getFilter();
return limitFilter(filter.toString());
} else if (obj instanceof MixedBulkWriteOperation) {
- List extends WriteRequest> writeRequestList = ((MixedBulkWriteOperation) obj).getWriteRequests();
+ List extends WriteRequest> writeRequestList = ((MixedBulkWriteOperation)obj).getWriteRequests();
return getFilter(writeRequestList);
} else {
return EMPTY;
@@ -164,11 +164,11 @@ public class MongoDBMethodInterceptor implements InstanceMethodsAroundIntercepto
StringBuilder params = new StringBuilder();
for (WriteRequest request : writeRequestList) {
if (request instanceof InsertRequest) {
- params.append(((InsertRequest) request).getDocument().toString()).append(",");
+ params.append(((InsertRequest)request).getDocument().toString()).append(",");
} else if (request instanceof DeleteRequest) {
- params.append(((DeleteRequest) request).getFilter()).append(",");
+ params.append(((DeleteRequest)request).getFilter()).append(",");
} else if (request instanceof UpdateRequest) {
- params.append(((UpdateRequest) request).getFilter()).append(",");
+ params.append(((UpdateRequest)request).getFilter()).append(",");
}
if (params.length() > FILTER_LENGTH_LIMIT) {
params.append("...");
diff --git a/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBReadBindingInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBReadBindingInterceptor.java
index 7182d3eaf..000422d5f 100644
--- a/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBReadBindingInterceptor.java
+++ b/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBReadBindingInterceptor.java
@@ -15,35 +15,35 @@ import com.mongodb.binding.ReadBinding;
* @author baiyang
*/
public class MongoDBReadBindingInterceptor implements
- InstanceMethodsAroundInterceptor {
+ InstanceMethodsAroundInterceptor {
- @Override
- public void beforeMethod(EnhancedClassInstanceContext context,
- InstanceMethodInvokeContext interceptorContext,
- MethodInterceptResult result) {
- }
+ @Override
+ public void beforeMethod(EnhancedClassInstanceContext context,
+ InstanceMethodInvokeContext interceptorContext,
+ MethodInterceptResult result) {
+ }
- /**
- * Execute after {@link com.mongodb.Mongo#getReadBinding(ReadPreference)},
- * record the host and port information
- */
- @Override
- public Object afterMethod(EnhancedClassInstanceContext context,
- InstanceMethodInvokeContext interceptorContext, Object ret) {
- ReadBinding readBinding = (ReadBinding) ret;
- ServerAddress serverAddress = readBinding.getReadConnectionSource()
- .getServerDescription().getAddress();
- String host = serverAddress.getHost();
- Integer port = serverAddress.getPort();
- context.set(MongoDBMethodInterceptor.MONGODB_HOST, host);
- context.set(MongoDBMethodInterceptor.MONGODB_PORT, port);
- return ret;
- }
+ /**
+ * Execute after {@link com.mongodb.Mongo#getReadBinding(ReadPreference)},
+ * record the host and port information
+ */
+ @Override
+ public Object afterMethod(EnhancedClassInstanceContext context,
+ InstanceMethodInvokeContext interceptorContext, Object ret) {
+ ReadBinding readBinding = (ReadBinding)ret;
+ ServerAddress serverAddress = readBinding.getReadConnectionSource()
+ .getServerDescription().getAddress();
+ String host = serverAddress.getHost();
+ Integer port = serverAddress.getPort();
+ context.set(MongoDBMethodInterceptor.MONGODB_HOST, host);
+ context.set(MongoDBMethodInterceptor.MONGODB_PORT, port);
+ return ret;
+ }
- @Override
- public void handleMethodException(Throwable t,
- EnhancedClassInstanceContext context,
- InstanceMethodInvokeContext interceptorContext) {
- }
+ @Override
+ public void handleMethodException(Throwable t,
+ EnhancedClassInstanceContext context,
+ InstanceMethodInvokeContext interceptorContext) {
+ }
}
diff --git a/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBWriteBindingInterceptor.java b/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBWriteBindingInterceptor.java
index 0d90125e8..09a89f6bc 100644
--- a/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBWriteBindingInterceptor.java
+++ b/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBWriteBindingInterceptor.java
@@ -8,7 +8,8 @@ import com.mongodb.ServerAddress;
import com.mongodb.binding.WriteBinding;
/**
- * {@link MongoDBWriteBindingInterceptor} record the host and port information from {@link EnhancedClassInstanceContext#context}
+ * {@link MongoDBWriteBindingInterceptor} record the host and port information from {@link
+ * EnhancedClassInstanceContext#context}
*
* @author baiyang
*/
@@ -16,7 +17,7 @@ public class MongoDBWriteBindingInterceptor implements InstanceMethodsAroundInte
@Override
public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext,
- MethodInterceptResult result) {
+ MethodInterceptResult result) {
}
/**
@@ -25,8 +26,8 @@ public class MongoDBWriteBindingInterceptor implements InstanceMethodsAroundInte
*/
@Override
public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext,
- Object ret) {
- WriteBinding writeBinding = (WriteBinding) ret;
+ Object ret) {
+ WriteBinding writeBinding = (WriteBinding)ret;
ServerAddress serverAddress = writeBinding.getWriteConnectionSource().getServerDescription().getAddress();
String host = serverAddress.getHost();
Integer port = serverAddress.getPort();
@@ -37,7 +38,7 @@ public class MongoDBWriteBindingInterceptor implements InstanceMethodsAroundInte
@Override
public void handleMethodException(Throwable t, EnhancedClassInstanceContext context,
- InstanceMethodInvokeContext interceptorContext) {
+ InstanceMethodInvokeContext interceptorContext) {
}
}
diff --git a/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/define/MongoDBInstrumentation.java b/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/define/MongoDBInstrumentation.java
index bbf717396..98f7e08c6 100644
--- a/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/define/MongoDBInstrumentation.java
+++ b/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/main/java/com/a/eye/skywalking/plugin/mongodb/v3/define/MongoDBInstrumentation.java
@@ -1,16 +1,18 @@
package com.a.eye.skywalking.plugin.mongodb.v3.define;
import static net.bytebuddy.matcher.ElementMatchers.named;
+
import net.bytebuddy.description.method.MethodDescription;
import net.bytebuddy.matcher.ElementMatcher;
import com.a.eye.skywalking.api.plugin.interceptor.ConstructorInterceptPoint;
import com.a.eye.skywalking.api.plugin.interceptor.InstanceMethodsInterceptPoint;
import com.a.eye.skywalking.api.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine;
+import com.a.eye.skywalking.plugin.mongodb.v3.MongoDBMethodInterceptor;
/**
- * {@link MongoDBInstrumentation} presents that skywalking intercepts {@link com.mongodb.Mongo#execute(ReadOperation, ReadPreference)},{@link com.mongodb.Mongo#execute(WriteOperation)}
- * by using {@link MongoDBMethodInterceptor}.
+ * {@link MongoDBInstrumentation} presents that skywalking intercepts {@link com.mongodb.Mongo#execute(ReadOperation,
+ * ReadPreference)},{@link com.mongodb.Mongo#execute(WriteOperation)} by using {@link MongoDBMethodInterceptor}.
*
* @author baiyang
*/
@@ -31,37 +33,39 @@ public class MongoDBInstrumentation extends ClassInstanceMethodsEnhancePluginDef
@Override
protected InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() {
- return new InstanceMethodsInterceptPoint[] { new InstanceMethodsInterceptPoint() {
- @Override
- public ElementMatcher getMethodsMatcher() {
- return named("execute");
- }
+ return new InstanceMethodsInterceptPoint[] {
+ new InstanceMethodsInterceptPoint() {
+ @Override
+ public ElementMatcher getMethodsMatcher() {
+ return named("execute");
+ }
- @Override
- public String getMethodsInterceptor() {
- return MONGDB_METHOD_INTERCET_CLASS;
- }
- }, new InstanceMethodsInterceptPoint() {
- @Override
- public ElementMatcher getMethodsMatcher() {
- return named("getReadBinding");
- }
+ @Override
+ public String getMethodsInterceptor() {
+ return MONGDB_METHOD_INTERCET_CLASS;
+ }
+ }, new InstanceMethodsInterceptPoint() {
+ @Override
+ public ElementMatcher getMethodsMatcher() {
+ return named("getReadBinding");
+ }
- @Override
- public String getMethodsInterceptor() {
- return MONGDB_READ_BINDING_CLASS;
- }
- }, new InstanceMethodsInterceptPoint() {
- @Override
- public ElementMatcher getMethodsMatcher() {
- return named("getWriteBinding");
- }
+ @Override
+ public String getMethodsInterceptor() {
+ return MONGDB_READ_BINDING_CLASS;
+ }
+ }, new InstanceMethodsInterceptPoint() {
+ @Override
+ public ElementMatcher getMethodsMatcher() {
+ return named("getWriteBinding");
+ }
- @Override
- public String getMethodsInterceptor() {
- return MONGDB_WRITE_BINDING_CLASS;
+ @Override
+ public String getMethodsInterceptor() {
+ return MONGDB_WRITE_BINDING_CLASS;
+ }
}
- } };
+ };
}
@Override
diff --git a/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/test/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBMethodInterceptorTest.java b/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/test/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBMethodInterceptorTest.java
index bd589478e..9078ca259 100644
--- a/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/test/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBMethodInterceptorTest.java
+++ b/skywalking-sniffer/skywalking-sdk-plugin/mongodb-3.x-plugin/src/test/java/com/a/eye/skywalking/plugin/mongodb/v3/MongoDBMethodInterceptorTest.java
@@ -45,8 +45,8 @@ public class MongoDBMethodInterceptorTest {
@Mock
private InstanceMethodInvokeContext methodInvokeContext;
- @SuppressWarnings({ "rawtypes", "unchecked" })
- @Before
+ @SuppressWarnings({"rawtypes", "unchecked"})
+ @Before
public void setUp() throws Exception {
ServiceManager.INSTANCE.boot();
@@ -54,7 +54,7 @@ public class MongoDBMethodInterceptorTest {
mockTracerContextListener = new MockTracerContextListener();
TracerContext.ListenerManager.add(mockTracerContextListener);
-
+
Config.Plugin.MongoDB.TRACE_PARAM = true;
when(classInstanceContext.get(MongoDBMethodInterceptor.MONGODB_HOST, String.class)).thenReturn("127.0.0.1");
@@ -63,16 +63,16 @@ public class MongoDBMethodInterceptorTest {
BsonDocument document = new BsonDocument();
document.append("name", new BsonString("by"));
-
+
MongoNamespace mongoNamespace = new MongoNamespace("test.user");
-
+
Decoder decoder = PowerMockito.mock(Decoder.class);
-
+
FindOperation findOperation = new FindOperation(mongoNamespace, decoder);
-
+
findOperation.filter(document);
- when(methodInvokeContext.allArguments()).thenReturn(new Object[] { findOperation });
+ when(methodInvokeContext.allArguments()).thenReturn(new Object[] {findOperation});
}
@Test
@@ -112,7 +112,7 @@ public class MongoDBMethodInterceptorTest {
private void assertLogData(LogData logData) {
MatcherAssert.assertThat(logData.getFields().size(), is(4));
- MatcherAssert.assertThat(logData.getFields().get("event"), CoreMatchers.