[agent/plugin] Move FILTER_LENGTH_LIMIT to config.plugin.mongodb (#3820)
* move FILTER_LENGTH_LIMIT * fix checkstyle
This commit is contained in:
parent
555de82500
commit
841a9d395b
|
|
@ -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.
|
||||
*
|
||||
|
|
@ -220,6 +221,14 @@ public class Config {
|
|||
* 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 {
|
||||
|
|
|
|||
|
|
@ -31,8 +31,6 @@ public class MongoConstants {
|
|||
|
||||
public static final String MONGO_DB_OP_PREFIX = "MongoDB/";
|
||||
|
||||
public static final int FILTER_LENGTH_LIMIT = 256;
|
||||
|
||||
public static final String EMPTY = "";
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,24 @@ import com.mongodb.bulk.DeleteRequest;
|
|||
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;
|
||||
|
|
@ -111,7 +128,8 @@ public class MongoOperationHelper {
|
|||
} 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;
|
||||
}
|
||||
|
|
@ -121,8 +139,9 @@ public class MongoOperationHelper {
|
|||
|
||||
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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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`|
|
||||
|
|
|
|||
Loading…
Reference in New Issue