Skip to content

Commit

Permalink
Merge branch 'master' into es-6.x
Browse files Browse the repository at this point in the history
  • Loading branch information
aderm committed Nov 10, 2019
2 parents 5bb06d1 + 841a9d3 commit dbe4248
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,14 @@

package org.apache.skywalking.apm.agent.core.conf;

import java.util.HashMap;
import java.util.Map;
import org.apache.skywalking.apm.agent.core.context.trace.TraceSegment;
import org.apache.skywalking.apm.agent.core.logging.core.LogLevel;
import org.apache.skywalking.apm.agent.core.logging.core.LogOutput;
import org.apache.skywalking.apm.agent.core.logging.core.WriterFactory;

import java.util.HashMap;
import java.util.Map;

/**
* This is the core config in sniffer agent.
*
Expand Down Expand Up @@ -220,6 +221,14 @@ public static class MongoDB {
* include parameters.
*/
public static boolean TRACE_PARAM = false;

/**
* For the sake of performance, SkyWalking won't save the entire parameters string into the tag, but only
* the first {@code FILTER_LENGTH_LIMIT} characters.
*
* Set a negative number to save the complete parameter string to the tag.
*/
public static int FILTER_LENGTH_LIMIT = 256;
}

public static class Elasticsearch {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ private MongoConstants() {

public static final String MONGO_DB_OP_PREFIX = "MongoDB/";

public static final int FILTER_LENGTH_LIMIT = 256;

public static final String EMPTY = "";

}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,24 @@
import com.mongodb.bulk.InsertRequest;
import com.mongodb.bulk.UpdateRequest;
import com.mongodb.bulk.WriteRequest;
import com.mongodb.operation.*;
import com.mongodb.operation.CountOperation;
import com.mongodb.operation.CreateCollectionOperation;
import com.mongodb.operation.CreateIndexesOperation;
import com.mongodb.operation.CreateViewOperation;
import com.mongodb.operation.DeleteOperation;
import com.mongodb.operation.DistinctOperation;
import com.mongodb.operation.FindAndDeleteOperation;
import com.mongodb.operation.FindAndReplaceOperation;
import com.mongodb.operation.FindAndUpdateOperation;
import com.mongodb.operation.FindOperation;
import com.mongodb.operation.GroupOperation;
import com.mongodb.operation.InsertOperation;
import com.mongodb.operation.ListCollectionsOperation;
import com.mongodb.operation.MapReduceToCollectionOperation;
import com.mongodb.operation.MapReduceWithInlineResultsOperation;
import com.mongodb.operation.MixedBulkWriteOperation;
import com.mongodb.operation.UpdateOperation;
import org.apache.skywalking.apm.agent.core.conf.Config;
import org.bson.BsonDocument;

import java.util.List;
Expand Down Expand Up @@ -111,7 +128,8 @@ private static String getFilter(List<? extends WriteRequest> writeRequestList) {
} else if (request instanceof UpdateRequest) {
params.append(((UpdateRequest) request).getFilter()).append(",");
}
if (params.length() > MongoConstants.FILTER_LENGTH_LIMIT) {
final int filterLengthLimit = Config.Plugin.MongoDB.FILTER_LENGTH_LIMIT;
if (filterLengthLimit > 0 && params.length() > filterLengthLimit) {
params.append("...");
break;
}
Expand All @@ -121,8 +139,9 @@ private static String getFilter(List<? extends WriteRequest> writeRequestList) {

private static String limitFilter(String filter) {
final StringBuilder params = new StringBuilder();
if (filter.length() > MongoConstants.FILTER_LENGTH_LIMIT) {
return params.append(filter, 0, MongoConstants.FILTER_LENGTH_LIMIT).append("...").toString();
final int filterLengthLimit = Config.Plugin.MongoDB.FILTER_LENGTH_LIMIT;
if (filterLengthLimit > 0 && filter.length() > filterLengthLimit) {
return params.append(filter, 0, filterLengthLimit).append("...").toString();
} else {
return filter;
}
Expand Down
1 change: 1 addition & 0 deletions docs/en/setup/service-agent/java-agent/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ property key | Description | Default |
`dictionary.endpoint_name_buffer_size`|The buffer size of endpoint names and peer|`1000 * 10000`|
`plugin.peer_max_length `|Peer maximum description limit.|`200`|
`plugin.mongodb.trace_param`|If true, trace all the parameters in MongoDB access, default is false. Only trace the operation, not include parameters.|`false`|
`plugin.mongodb.filter_length_limit`|If set to positive number, the `WriteRequest.params` would be truncated to this length, otherwise it would be completely saved, which may cause performance problem.|`256`|
`plugin.elasticsearch.trace_dsl`|If true, trace all the DSL(Domain Specific Language) in ElasticSearch access, default is false.|`false`|
`plugin.springmvc.use_qualified_name_as_endpoint_name`|If true, the fully qualified method name will be used as the endpoint name instead of the request URL, default is false.|`false`|
`plugin.toolit.use_qualified_name_as_operation_name`|If true, the fully qualified method name will be used as the operation name instead of the given operation name, default is false.|`false`|
Expand Down

0 comments on commit dbe4248

Please sign in to comment.