Move DB helpers to instrumentation-api (#2511)

* Move DB helpers to instrumentation-api

* Fix gradle config

* Remove legacy
This commit is contained in:
Anuraag Agrawal 2021-03-08 12:32:36 +09:00 committed by GitHub
parent 3d6da76962
commit 94872b1ced
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 44 additions and 52 deletions

View File

@ -375,7 +375,7 @@
<!-- skip jflex generated files -->
<module name="SuppressionSingleFilter">
<property name="checks" value=".*"/>
<property name="files" value="javaagent-api[/\\]build[/\\]generated[/\\]jflex"/>
<property name="files" value="instrumentation-api[/\\]build[/\\]generated[/\\]jflex"/>
</module>
<module name="SuppressionSingleFilter">
<property name="checks" value="MethodName"/>

View File

@ -1,8 +1,22 @@
plugins {
id 'org.xbib.gradle.plugin.jflex' version '1.5.0'
}
group = 'io.opentelemetry.instrumentation'
apply from: "$rootDir/gradle/java.gradle"
apply from: "$rootDir/gradle/publish.gradle"
def jflexTargetDir = file"${project.buildDir}/generated/jflex/sql"
def jflexTask = tasks.create("sqlSanitizerJflex", org.xbib.gradle.plugin.JFlexTask) {
group = 'jflex'
description = 'Generate SqlSanitizer'
source = [file("${project.projectDir}/src/main/jflex/SqlSanitizer.flex")]
target = jflexTargetDir
}
tasks.compileJava.dependsOn(jflexTask)
sourceSets.main.java.srcDirs += jflexTargetDir
dependencies {
api project(":instrumentation-api-caching")

View File

@ -3,15 +3,15 @@
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.javaagent.instrumentation.api.db;
package io.opentelemetry.instrumentation.api.db;
import static java.util.Arrays.asList;
import static java.util.Collections.unmodifiableMap;
import io.opentelemetry.javaagent.instrumentation.api.db.RedisCommandSanitizer.CommandSanitizer.CommandAndNumArgs;
import io.opentelemetry.javaagent.instrumentation.api.db.RedisCommandSanitizer.CommandSanitizer.Eval;
import io.opentelemetry.javaagent.instrumentation.api.db.RedisCommandSanitizer.CommandSanitizer.KeepAllArgs;
import io.opentelemetry.javaagent.instrumentation.api.db.RedisCommandSanitizer.CommandSanitizer.MultiKeyValue;
import io.opentelemetry.instrumentation.api.db.RedisCommandSanitizer.CommandSanitizer.CommandAndNumArgs;
import io.opentelemetry.instrumentation.api.db.RedisCommandSanitizer.CommandSanitizer.Eval;
import io.opentelemetry.instrumentation.api.db.RedisCommandSanitizer.CommandSanitizer.KeepAllArgs;
import io.opentelemetry.instrumentation.api.db.RedisCommandSanitizer.CommandSanitizer.MultiKeyValue;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.List;

View File

@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.javaagent.instrumentation.api.db;
package io.opentelemetry.instrumentation.api.db;
import java.util.Objects;
import java.util.function.Function;

View File

@ -3,9 +3,9 @@
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.javaagent.instrumentation.api.db;
package io.opentelemetry.instrumentation.api.db;
import static io.opentelemetry.javaagent.instrumentation.api.db.StatementSanitizationConfig.isStatementSanitizationEnabled;
import static io.opentelemetry.instrumentation.api.db.StatementSanitizationConfig.isStatementSanitizationEnabled;
import io.opentelemetry.instrumentation.api.caching.Cache;
import org.slf4j.Logger;

View File

@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.javaagent.instrumentation.api.db;
package io.opentelemetry.instrumentation.api.db;
import io.opentelemetry.instrumentation.api.config.Config;

View File

@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.javaagent.instrumentation.api.db;
package io.opentelemetry.instrumentation.api.db;
%%

View File

@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.javaagent.instrumentation.api.db
package io.opentelemetry.instrumentation.api.db
import spock.lang.Specification
import spock.lang.Unroll

View File

@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.javaagent.instrumentation.api.db
package io.opentelemetry.instrumentation.api.db
import spock.lang.Specification
import spock.lang.Timeout

View File

@ -11,10 +11,10 @@ import com.datastax.driver.core.Session;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanBuilder;
import io.opentelemetry.context.Context;
import io.opentelemetry.instrumentation.api.db.SqlStatementInfo;
import io.opentelemetry.instrumentation.api.db.SqlStatementSanitizer;
import io.opentelemetry.instrumentation.api.tracer.DatabaseClientTracer;
import io.opentelemetry.instrumentation.api.tracer.utils.NetPeerUtils;
import io.opentelemetry.javaagent.instrumentation.api.db.SqlStatementInfo;
import io.opentelemetry.javaagent.instrumentation.api.db.SqlStatementSanitizer;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes.DbSystemValues;
import java.net.InetSocketAddress;

View File

@ -16,10 +16,10 @@ import com.datastax.oss.driver.api.core.metadata.Node;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanBuilder;
import io.opentelemetry.context.Context;
import io.opentelemetry.instrumentation.api.db.SqlStatementInfo;
import io.opentelemetry.instrumentation.api.db.SqlStatementSanitizer;
import io.opentelemetry.instrumentation.api.tracer.DatabaseClientTracer;
import io.opentelemetry.instrumentation.api.tracer.utils.NetPeerUtils;
import io.opentelemetry.javaagent.instrumentation.api.db.SqlStatementInfo;
import io.opentelemetry.javaagent.instrumentation.api.db.SqlStatementSanitizer;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes.DbSystemValues;
import java.net.InetSocketAddress;

View File

@ -4,7 +4,7 @@ dependencies {
testImplementation deps.groovy
testImplementation deps.spock
testImplementation project(':javaagent-api')
testImplementation project(':instrumentation-api')
testImplementation project(':instrumentation:couchbase:couchbase-2.0:javaagent')
testImplementation group: 'com.couchbase.client', name: 'java-client', version: '2.5.0'
}

View File

@ -10,8 +10,8 @@ import static io.opentelemetry.instrumentation.api.tracer.DatabaseClientTracer.c
import static io.opentelemetry.javaagent.instrumentation.couchbase.v2_0.CouchbaseClientTracer.tracer;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.instrumentation.api.db.SqlStatementInfo;
import io.opentelemetry.instrumentation.rxjava.TracedOnSubscribe;
import io.opentelemetry.javaagent.instrumentation.api.db.SqlStatementInfo;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes.DbSystemValues;
import java.lang.reflect.Method;

View File

@ -5,8 +5,8 @@
package io.opentelemetry.javaagent.instrumentation.couchbase.v2_0;
import io.opentelemetry.javaagent.instrumentation.api.db.SqlStatementInfo;
import io.opentelemetry.javaagent.instrumentation.api.db.SqlStatementSanitizer;
import io.opentelemetry.instrumentation.api.db.SqlStatementInfo;
import io.opentelemetry.instrumentation.api.db.SqlStatementSanitizer;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;

View File

@ -9,9 +9,9 @@ import static io.opentelemetry.api.trace.SpanKind.CLIENT;
import io.opentelemetry.api.trace.SpanBuilder;
import io.opentelemetry.context.Context;
import io.opentelemetry.instrumentation.api.db.SqlStatementInfo;
import io.opentelemetry.instrumentation.api.db.SqlStatementSanitizer;
import io.opentelemetry.instrumentation.api.tracer.DatabaseClientTracer;
import io.opentelemetry.javaagent.instrumentation.api.db.SqlStatementInfo;
import io.opentelemetry.javaagent.instrumentation.api.db.SqlStatementSanitizer;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
import java.net.InetSocketAddress;
import org.apache.geode.cache.Region;

View File

@ -9,9 +9,9 @@ import static io.opentelemetry.javaagent.instrumentation.jdbc.JdbcUtils.connecti
import io.opentelemetry.api.trace.SpanBuilder;
import io.opentelemetry.context.Context;
import io.opentelemetry.instrumentation.api.db.SqlStatementInfo;
import io.opentelemetry.instrumentation.api.db.SqlStatementSanitizer;
import io.opentelemetry.instrumentation.api.tracer.DatabaseClientTracer;
import io.opentelemetry.javaagent.instrumentation.api.db.SqlStatementInfo;
import io.opentelemetry.javaagent.instrumentation.api.db.SqlStatementSanitizer;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
import java.net.InetSocketAddress;
import java.sql.Connection;

View File

@ -5,8 +5,8 @@
package io.opentelemetry.javaagent.instrumentation.jedis.v1_4;
import io.opentelemetry.instrumentation.api.db.RedisCommandSanitizer;
import io.opentelemetry.instrumentation.api.tracer.DatabaseClientTracer;
import io.opentelemetry.javaagent.instrumentation.api.db.RedisCommandSanitizer;
import io.opentelemetry.javaagent.instrumentation.jedis.v1_4.JedisClientTracer.CommandWithArgs;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes.DbSystemValues;
import java.net.InetSocketAddress;

View File

@ -5,8 +5,8 @@
package io.opentelemetry.javaagent.instrumentation.jedis.v3_0;
import io.opentelemetry.instrumentation.api.db.RedisCommandSanitizer;
import io.opentelemetry.instrumentation.api.tracer.DatabaseClientTracer;
import io.opentelemetry.javaagent.instrumentation.api.db.RedisCommandSanitizer;
import io.opentelemetry.javaagent.instrumentation.jedis.v3_0.JedisClientTracer.CommandWithArgs;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes.DbSystemValues;
import java.net.InetSocketAddress;

View File

@ -7,7 +7,7 @@ package io.opentelemetry.javaagent.instrumentation.lettuce.v5_0;
import io.lettuce.core.RedisURI;
import io.lettuce.core.protocol.RedisCommand;
import io.opentelemetry.javaagent.instrumentation.api.db.RedisCommandSanitizer;
import io.opentelemetry.instrumentation.api.db.RedisCommandSanitizer;
import io.opentelemetry.javaagent.instrumentation.lettuce.LettuceArgSplitter;
import java.util.Collections;
import java.util.List;

View File

@ -18,9 +18,9 @@ import io.opentelemetry.api.trace.SpanBuilder;
import io.opentelemetry.api.trace.SpanKind;
import io.opentelemetry.api.trace.StatusCode;
import io.opentelemetry.context.Context;
import io.opentelemetry.instrumentation.api.db.RedisCommandSanitizer;
import io.opentelemetry.instrumentation.api.tracer.utils.NetPeerUtils;
import io.opentelemetry.instrumentation.api.tracer.utils.NetPeerUtils.SpanAttributeSetter;
import io.opentelemetry.javaagent.instrumentation.api.db.RedisCommandSanitizer;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes.DbSystemValues;
import java.net.InetSocketAddress;

View File

@ -10,8 +10,8 @@ import static java.util.Collections.singletonList;
import io.netty.buffer.ByteBuf;
import io.netty.channel.Channel;
import io.opentelemetry.instrumentation.api.db.RedisCommandSanitizer;
import io.opentelemetry.instrumentation.api.tracer.DatabaseClientTracer;
import io.opentelemetry.javaagent.instrumentation.api.db.RedisCommandSanitizer;
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes.DbSystemValues;
import java.net.InetSocketAddress;
import java.util.ArrayList;

View File

@ -1,7 +1,3 @@
plugins {
id 'org.xbib.gradle.plugin.jflex' version '1.5.0'
}
group = 'io.opentelemetry.javaagent'
apply from: "$rootDir/gradle/java.gradle"
@ -10,16 +6,6 @@ apply from: "$rootDir/gradle/publish.gradle"
project.ext.minimumBranchCoverage = 0.0
project.ext.minimumInstructionCoverage = 0.0
def jflexTargetDir = file"${project.buildDir}/generated/jflex/sql"
def jflexTask = tasks.create("sqlSanitizerJflex", org.xbib.gradle.plugin.JFlexTask) {
group = 'jflex'
description = 'Generate SqlSanitizer'
source = [file("${project.projectDir}/src/main/jflex/SqlSanitizer.flex")]
target = jflexTargetDir
}
tasks.compileJava.dependsOn(jflexTask)
sourceSets.main.java.srcDirs += jflexTargetDir
dependencies {
api deps.opentelemetryApi
compileOnly deps.opentelemetrySdk
@ -30,11 +16,3 @@ dependencies {
testImplementation group: 'org.mockito', name: 'mockito-core', version: '3.6.0'
testImplementation deps.assertj
}
sourcesJar {
/*
We have two javacc config above. They both generate some overlapping files, e.g. ParseException.java.
As they both add generated files to sources, this results in duplicating files.
*/
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}