Order rules alphabetically and ensure matches.
This commit is contained in:
parent
60cfb392c4
commit
55edba486a
|
@ -9,7 +9,7 @@
|
||||||
</layout>
|
</layout>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
<root level="INFO">
|
<root level="DEBUG">
|
||||||
<appender-ref ref="console"/>
|
<appender-ref ref="console"/>
|
||||||
</root>
|
</root>
|
||||||
|
|
||||||
|
|
|
@ -123,6 +123,8 @@ public class TraceAnnotationsManager {
|
||||||
return scripts;
|
return scripts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.debug("Loading rules with classloader {}", classLoader == null ? "bootstrap" : classLoader);
|
||||||
|
|
||||||
final List<String> scriptNames = new ArrayList<>();
|
final List<String> scriptNames = new ArrayList<>();
|
||||||
|
|
||||||
// Load default and custom rules
|
// Load default and custom rules
|
||||||
|
@ -140,7 +142,7 @@ public class TraceAnnotationsManager {
|
||||||
log.warn("Failed to install scripts", e);
|
log.warn("Failed to install scripts", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
log.trace(sw.toString());
|
log.debug(sw.toString());
|
||||||
} catch (IOException | URISyntaxException e) {
|
} catch (IOException | URISyntaxException e) {
|
||||||
log.warn("Failed to load OpenTracing agent rules", e);
|
log.warn("Failed to load OpenTracing agent rules", e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,35 +34,14 @@ opentracing-cassandra-driver:
|
||||||
- com.datastax.driver.core.RemoteEndpointAwareNettySSLOptions
|
- com.datastax.driver.core.RemoteEndpointAwareNettySSLOptions
|
||||||
- com.datastax.driver.core.GuavaCompatibility
|
- com.datastax.driver.core.GuavaCompatibility
|
||||||
|
|
||||||
opentracing-web-servlet-filter:
|
opentracing-jms-2_producer:
|
||||||
- artifact: jetty-server
|
- artifact: javax.jms-api
|
||||||
supported_version: (8\.|9\.).*
|
supported_version: 2\..*
|
||||||
# identifying_present_classes:
|
|
||||||
|
|
||||||
- artifact: tomcat_catalina
|
|
||||||
supported_version: (8\.|9\.).*
|
|
||||||
identifying_present_classes:
|
identifying_present_classes:
|
||||||
- org.apache.catalina.WebResource
|
- javax.jms.JMSContext
|
||||||
- org.apache.catalina.webresources.TrackedInputStream
|
- javax.jms.CompletionListener
|
||||||
- org.apache.catalina.webresources.AbstractArchiveResource
|
|
||||||
|
|
||||||
- artifact: tomcat-embed-core
|
opentracing-jms-2_consumer:
|
||||||
supported_version: (8\.|9\.).*
|
|
||||||
identifying_present_classes:
|
|
||||||
- org.apache.catalina.WebResource
|
|
||||||
- org.apache.catalina.webresources.TrackedInputStream
|
|
||||||
- org.apache.catalina.webresources.AbstractArchiveResource
|
|
||||||
|
|
||||||
opentracing-okhttp3:
|
|
||||||
- artifact: okhttp
|
|
||||||
supported_version: 3\..*
|
|
||||||
identifying_present_classes:
|
|
||||||
- okhttp3.Cookie
|
|
||||||
- okhttp3.ConnectionPool
|
|
||||||
- okhttp3.Headers
|
|
||||||
|
|
||||||
# For rules opentracing-jms-2_{consumer,producer}
|
|
||||||
opentracing-jms-2:
|
|
||||||
- artifact: javax.jms-api
|
- artifact: javax.jms-api
|
||||||
supported_version: 2\..*
|
supported_version: 2\..*
|
||||||
identifying_present_classes:
|
identifying_present_classes:
|
||||||
|
@ -82,3 +61,45 @@ opentracing-mongo-driver:
|
||||||
identifying_present_classes:
|
identifying_present_classes:
|
||||||
- com.mongodb.operation.AsyncReadOperation
|
- com.mongodb.operation.AsyncReadOperation
|
||||||
- com.mongodb.client.model.MapReduceAction
|
- com.mongodb.client.model.MapReduceAction
|
||||||
|
|
||||||
|
opentracing-mongo-driver-helper:
|
||||||
|
- artifact: mongo-java-driver
|
||||||
|
supported_version: 3\..*
|
||||||
|
identifying_present_classes:
|
||||||
|
- com.mongodb.operation.AsyncReadOperation
|
||||||
|
- com.mongodb.client.model.MapReduceAction
|
||||||
|
|
||||||
|
- check:
|
||||||
|
artifact: mongodb-driver-async
|
||||||
|
supported_version: 3\..*
|
||||||
|
identifying_present_classes:
|
||||||
|
- com.mongodb.operation.AsyncReadOperation
|
||||||
|
- com.mongodb.client.model.MapReduceAction
|
||||||
|
|
||||||
|
opentracing-okhttp3:
|
||||||
|
- artifact: okhttp
|
||||||
|
supported_version: 3\..*
|
||||||
|
identifying_present_classes:
|
||||||
|
- okhttp3.Cookie
|
||||||
|
- okhttp3.ConnectionPool
|
||||||
|
- okhttp3.Headers
|
||||||
|
|
||||||
|
opentracing-web-servlet-filter_jetty:
|
||||||
|
- artifact: jetty-server
|
||||||
|
supported_version: (8\.|9\.).*
|
||||||
|
# identifying_present_classes:
|
||||||
|
|
||||||
|
opentracing-web-servlet-filter_tomcat:
|
||||||
|
- artifact: opentracing-web-servlet-filter_tomcat
|
||||||
|
supported_version: (8\.|9\.).*
|
||||||
|
identifying_present_classes:
|
||||||
|
- org.apache.catalina.WebResource
|
||||||
|
- org.apache.catalina.webresources.TrackedInputStream
|
||||||
|
- org.apache.catalina.webresources.AbstractArchiveResource
|
||||||
|
|
||||||
|
- artifact: opentracing-web-servlet-filter_tomcat
|
||||||
|
supported_version: (8\.|9\.).*
|
||||||
|
identifying_present_classes:
|
||||||
|
- org.apache.catalina.WebResource
|
||||||
|
- org.apache.catalina.webresources.TrackedInputStream
|
||||||
|
- org.apache.catalina.webresources.AbstractArchiveResource
|
||||||
|
|
|
@ -8,26 +8,16 @@
|
||||||
###
|
###
|
||||||
|
|
||||||
|
|
||||||
# Instrument Mongo client
|
# Instrument Apache HTTP Client
|
||||||
# ========================
|
# =============================
|
||||||
RULE opentracing-mongo-driver
|
RULE opentracing-apache-httpclient
|
||||||
CLASS com.mongodb.MongoClientOptions$Builder
|
CLASS org.apache.http.impl.client.HttpClientBuilder
|
||||||
METHOD build
|
METHOD create()
|
||||||
HELPER com.datadoghq.trace.agent.integration.MongoHelper
|
HELPER com.datadoghq.trace.agent.integration.ApacheHTTPClientHelper
|
||||||
AT ENTRY
|
|
||||||
IF getState($0) == 0
|
|
||||||
DO
|
|
||||||
patch($this);
|
|
||||||
ENDRULE
|
|
||||||
|
|
||||||
RULE mongo-decorator
|
|
||||||
CLASS io.opentracing.contrib.mongo.TracingCommandListener
|
|
||||||
METHOD decorate
|
|
||||||
HELPER com.datadoghq.trace.agent.integration.MongoHelper
|
|
||||||
AT EXIT
|
AT EXIT
|
||||||
IF TRUE
|
IF TRUE
|
||||||
DO
|
DO
|
||||||
decorate($1, $2);
|
$! = patch($!);
|
||||||
ENDRULE
|
ENDRULE
|
||||||
|
|
||||||
|
|
||||||
|
@ -45,19 +35,6 @@ DO
|
||||||
ENDRULE
|
ENDRULE
|
||||||
|
|
||||||
|
|
||||||
# Instrument Apache HTTP Client
|
|
||||||
# =============================
|
|
||||||
RULE opentracing-apache-httpclient
|
|
||||||
CLASS org.apache.http.impl.client.HttpClientBuilder
|
|
||||||
METHOD create()
|
|
||||||
HELPER com.datadoghq.trace.agent.integration.ApacheHTTPClientHelper
|
|
||||||
AT EXIT
|
|
||||||
IF TRUE
|
|
||||||
DO
|
|
||||||
$! = patch($!);
|
|
||||||
ENDRULE
|
|
||||||
|
|
||||||
|
|
||||||
# Instrument Cassandra client
|
# Instrument Cassandra client
|
||||||
# ===========================
|
# ===========================
|
||||||
RULE opentracing-cassandra-driver
|
RULE opentracing-cassandra-driver
|
||||||
|
@ -71,48 +48,6 @@ DO
|
||||||
ENDRULE
|
ENDRULE
|
||||||
|
|
||||||
|
|
||||||
# Instrument Jetty
|
|
||||||
# ===========================
|
|
||||||
# State 0 - no filter installed
|
|
||||||
# State 1 - filter installed
|
|
||||||
RULE opentracing-web-servlet-filter_jetty
|
|
||||||
CLASS org.eclipse.jetty.servlet.ServletContextHandler
|
|
||||||
METHOD <init>
|
|
||||||
HELPER com.datadoghq.trace.agent.integration.JettyServletHelper
|
|
||||||
AT EXIT
|
|
||||||
IF getState($0.getServletContext()) == 0
|
|
||||||
DO
|
|
||||||
patch($this)
|
|
||||||
ENDRULE
|
|
||||||
|
|
||||||
|
|
||||||
# Instrument Tomcat
|
|
||||||
# ===========================
|
|
||||||
RULE opentracing-web-servlet-filter_tomcat
|
|
||||||
CLASS org.apache.catalina.core.ApplicationContext
|
|
||||||
METHOD <init>
|
|
||||||
IMPORT javax.servlet.Filter
|
|
||||||
HELPER com.datadoghq.trace.agent.integration.TomcatServletHelper
|
|
||||||
AT EXIT
|
|
||||||
IF TRUE
|
|
||||||
DO
|
|
||||||
patch($this)
|
|
||||||
ENDRULE
|
|
||||||
|
|
||||||
|
|
||||||
# Instrument OkHttp
|
|
||||||
# ===========================
|
|
||||||
RULE opentracing-okhttp3
|
|
||||||
CLASS okhttp3.OkHttpClient$Builder
|
|
||||||
METHOD build()
|
|
||||||
HELPER com.datadoghq.trace.agent.integration.OkHttpHelper
|
|
||||||
AT ENTRY
|
|
||||||
IF TRUE
|
|
||||||
DO
|
|
||||||
patch($this)
|
|
||||||
ENDRULE
|
|
||||||
|
|
||||||
|
|
||||||
# Instrument JMS
|
# Instrument JMS
|
||||||
# ===========================
|
# ===========================
|
||||||
RULE opentracing-jms-2_producer
|
RULE opentracing-jms-2_producer
|
||||||
|
@ -136,3 +71,67 @@ DO
|
||||||
$! = patch($!);
|
$! = patch($!);
|
||||||
ENDRULE
|
ENDRULE
|
||||||
|
|
||||||
|
|
||||||
|
# Instrument Mongo client
|
||||||
|
# ========================
|
||||||
|
RULE opentracing-mongo-driver
|
||||||
|
CLASS com.mongodb.MongoClientOptions$Builder
|
||||||
|
METHOD build
|
||||||
|
HELPER com.datadoghq.trace.agent.integration.MongoHelper
|
||||||
|
AT ENTRY
|
||||||
|
IF getState($0) == 0
|
||||||
|
DO
|
||||||
|
patch($this);
|
||||||
|
ENDRULE
|
||||||
|
|
||||||
|
RULE opentracing-mongo-driver-helper
|
||||||
|
CLASS io.opentracing.contrib.mongo.TracingCommandListener
|
||||||
|
METHOD decorate
|
||||||
|
HELPER com.datadoghq.trace.agent.integration.MongoHelper
|
||||||
|
AT EXIT
|
||||||
|
IF TRUE
|
||||||
|
DO
|
||||||
|
decorate($1, $2);
|
||||||
|
ENDRULE
|
||||||
|
|
||||||
|
|
||||||
|
# Instrument OkHttp
|
||||||
|
# ===========================
|
||||||
|
RULE opentracing-okhttp3
|
||||||
|
CLASS okhttp3.OkHttpClient$Builder
|
||||||
|
METHOD build()
|
||||||
|
HELPER com.datadoghq.trace.agent.integration.OkHttpHelper
|
||||||
|
AT ENTRY
|
||||||
|
IF TRUE
|
||||||
|
DO
|
||||||
|
patch($this)
|
||||||
|
ENDRULE
|
||||||
|
|
||||||
|
|
||||||
|
# Instrument Servlet - Jetty
|
||||||
|
# ===========================
|
||||||
|
# State 0 - no filter installed
|
||||||
|
# State 1 - filter installed
|
||||||
|
RULE opentracing-web-servlet-filter_jetty
|
||||||
|
CLASS org.eclipse.jetty.servlet.ServletContextHandler
|
||||||
|
METHOD <init>
|
||||||
|
HELPER com.datadoghq.trace.agent.integration.JettyServletHelper
|
||||||
|
AT EXIT
|
||||||
|
IF getState($0.getServletContext()) == 0
|
||||||
|
DO
|
||||||
|
patch($this)
|
||||||
|
ENDRULE
|
||||||
|
|
||||||
|
|
||||||
|
# Instrument Servlet - Tomcat
|
||||||
|
# ===========================
|
||||||
|
RULE opentracing-web-servlet-filter_tomcat
|
||||||
|
CLASS org.apache.catalina.core.ApplicationContext
|
||||||
|
METHOD <init>
|
||||||
|
HELPER com.datadoghq.trace.agent.integration.TomcatServletHelper
|
||||||
|
AT EXIT
|
||||||
|
IF TRUE
|
||||||
|
DO
|
||||||
|
patch($this)
|
||||||
|
ENDRULE
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue