opentracing-contrib / java-specialagent

Automatic instrumentation for 3rd-party libraries in Java applications with OpenTracing.
Apache License 2.0
185 stars 46 forks source link

JVM version support? #598

Open dsvensson opened 3 years ago

dsvensson commented 3 years ago

Is this supposed to work with Java 8+?

Trying with Java 13 here, and I suspect I get module issues. Just running with -javaagent: and the jaeger integration.

Terminating initialization of SpecialAgent due to:
java.lang.IllegalStateException: java.lang.reflect.InvocationTargetException
    at io.opentracing.contrib.specialagent.OpenTracingAdapter.loadTracer(OpenTracingAdapter.java:110)
    at io.opentracing.contrib.specialagent.SpecialAgent.loadAdapter(SpecialAgent.java:418)
    at io.opentracing.contrib.specialagent.SpecialAgent.loadRules(SpecialAgent.java:452)
    at io.opentracing.contrib.specialagent.SpecialAgent.load(SpecialAgent.java:327)
    at io.opentracing.contrib.specialagent.SpecialAgent.init(SpecialAgent.java:169)
    at io.opentracing.contrib.specialagent.SpecialAgent.premain(SpecialAgent.java:138)
    at io.opentracing.contrib.specialagent.SpecialAgent.premain(SpecialAgent.java:119)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown Source)
    at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    at io.opentracing.contrib.specialagent.OpenTracingAdapter.loadDeferredTracer(OpenTracingAdapter.java:208)
    at io.opentracing.contrib.specialagent.OpenTracingAdapter.loadTracer(OpenTracingAdapter.java:107)
    ... 12 more
Caused by: java.lang.NoClassDefFoundError: java/sql/Time
    at com.google.gson.Gson.<init>(Gson.java:240)
    at com.google.gson.Gson.<init>(Gson.java:174)
    at io.jaegertracing.internal.samplers.HttpSamplingManager.<init>(HttpSamplingManager.java:34)
    at io.jaegertracing.Configuration$SamplerConfiguration.createSampler(Configuration.java:386)
    at io.jaegertracing.Configuration.getTracerBuilder(Configuration.java:225)
    at io.jaegertracing.Configuration.getTracer(Configuration.java:247)
    at io.jaegertracing.tracerresolver.internal.JaegerTracerFactory.getTracer(JaegerTracerFactory.java:24)
    at io.jaegertracing.tracerresolver.internal.JaegerTracerFactory.getTracer(JaegerTracerFactory.java:21)
    at io.opentracing.contrib.tracerresolver.TracerResolver.getFromFactory(TracerResolver.java:190)
    at io.opentracing.contrib.tracerresolver.TracerResolver.resolveTracer(TracerResolver.java:123)
    at io.opentracing.contrib.tracerresolver.TracerResolver.resolveTracer(TracerResolver.java:79)
    ... 18 more
Caused by: java.lang.ClassNotFoundException: java.sql.Time
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:436)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 29 more
rokaye commented 3 years ago

Very much hope to support JDK8+

jgoeres commented 3 years ago

Duplicate of #589 For me, version 1.6.1 worked on Java 11.