DRILL-2343: Add tracing proxy JDBC driver for tracing JDBC method calls.
Overview of org.apache.drill.jdbc.proxy classes/interfaces:
Entry point:
- TracingProxyDriver - Tracing proxy JDBC driver class. Class description
Javadoc has usage instructions.
Other core types:
- ProxiesManager - creates and tracks java.lang.reflect.Proxy-based proxy
objects
- TracingInvocationHandler - java.lang.reflect.Proxy invocation handler; maps
reflective/proxy invocations to InvocationReporter method call/return/throw
event calls
- InvocationReporter - defines method call/return/throw event calls
- InvocationReporterImpl - implements rendering of method call/return/throw
event calls (including rendering of parameter/return/exception values)
- ProxySetupSQLException
Unit tests:
- TracingProxyDriverClassLoadingTest - test of loading proxied driver class
- TracingProxyDriverTest - basic test of proxying (pass-through) and tracing
output
Other:
- exec/jdbc-all/pom.xml - has change to keep TracingProxyDriver and depended-on
classes in JDBC-all Jar file.