GithubHelp home page GithubHelp logo

java-spring-jaeger's Issues

JaegerAutoConfiguration and @ConditionalOnClass(io.jaegertracing.Tracer.class)

Hi! In trying to adopt opentracing-spring-jaeger-starter I was quite surprised to find JaegerAutoConfiguration has a @ConditionalOnClass(io.jaegertracing.Tracer.class) annotation, which fails to match with newer versions of Jaeger. This silently falls back to a No-OpTracer; a warning would have been nice. :)

It appears the io.jaegertracing.Tracer class was removed from Jaeger-Core in version 0.30.0. Are there any plans to support newer versions of Jaeger? Or should I stick to older versions for now?

Allow to configure serviceName

The serviceName of the tracer is set to ${spring.application.name} in JaegerAutoConfiguration. It would be great if you would allow that the serviceName can be set to a different value.

Background: Our spring application name is the same on all our environments and all environments send the traces to a single jaeger instance. As all the instances of the app on all environments have the same tracer serviceName it is not possible to configure the sampling rate for each environment. Therefore we need to set the tracer serviceName to something like ${spring.application.name}-${env}

java.lang.NoClassDefFoundError: io.opentracing.ScopeManager

Hi Guys!
After installation of either of starters getting a below exception:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'io.opentracing.contrib.spring.tracer.configuration.TracerRegisterAutoConfiguration': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: io.opentracing.ScopeManager

If I comment out the below @bean annotated method:
@bean
public io.opentracing.Tracer jaegerTracer() {
return new Configuration("spring-boot", new Configuration.SamplerConfiguration(ProbabilisticSampler.TYPE, 1),
new Configuration.ReporterConfiguration())
.getTracer();
}
I get an Exception:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'io.opentracing.contrib.java.spring.jaeger.starter.ReporterAppender' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=false)}

Spring boot version: 1.5.3
java-spring-jaeger version: 0.2.2

Could you please help?

Platform support for opentracing-contrib/java-spring-jaeger on PowerPC64LE

Hi,

I am trying to build/install opentracing-contrib/java-spring-jaeger on PPC64LE architecture with Red Hat Enterprise Linux 8.0, using the maven command ./mvnw clean install.

However facing the below issues while loading library for PPC64LE.

06:25:52.440 [main] DEBUG org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader - Unable to load the library '/tmp/liborg-testcontainers-shaded-netty-transport-native-epoll6958178631539929031.so', trying other loading mechanism.
java.lang.UnsatisfiedLinkError: /tmp/liborg-testcontainers-shaded-netty-transport-native-epoll6958178631539929031.so: /tmp/liborg-testcontainers-shaded-netty-transport-native-epoll6958178631539929031.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a Power PC 64 LE-bit platform)
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1086)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:36)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:311)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:303)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:291)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:251)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:172)
        at org.testcontainers.shaded.io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:195)
        at org.testcontainers.shaded.io.netty.channel.epoll.Native.<clinit>(Native.java:61)
        at org.testcontainers.shaded.io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:33)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoop.<clinit>(EpollEventLoop.java:53)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:134)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:35)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:84)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:58)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:47)
        at org.testcontainers.shaded.io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:59)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:104)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:91)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:68)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory$UnixDomainSocketInitializer.epollGroup(TestcontainersDockerCmdExecFactory.java:130)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory$UnixDomainSocketInitializer.init(TestcontainersDockerCmdExecFactory.java:122)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory.init(TestcontainersDockerCmdExecFactory.java:89)
        at com.github.dockerjava.core.DockerClientImpl.withDockerCmdExecFactory(DockerClientImpl.java:188)
        at com.github.dockerjava.core.DockerClientBuilder.build(DockerClientBuilder.java:45)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getClientForConfig(DockerClientProviderStrategy.java:170)
        at org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy.test(EnvironmentAndSystemPropertyClientProviderStrategy.java:39)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$2(DockerClientProviderStrategy.java:111)
        at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:269)
        at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:303)
        at java.util.stream.Streams$ConcatSpliterator.tryAdvance(Streams.java:731)
        at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
        at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
        at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:536)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:146)
        at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:100)
        at org.testcontainers.containers.GenericContainer.<init>(GenericContainer.java:142)
        at io.opentracing.contrib.java.spring.web.jaeger.starter.it.JaegerIntegrationTest.<clinit>(JaegerIntegrationTest.java:49)
        at sun.misc.Unsafe.ensureClassInitialized(Native Method)
        at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
        at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156)
        at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
        at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
        at java.lang.reflect.Field.get(Field.java:393)
        at org.junit.runners.model.FrameworkField.get(FrameworkField.java:73)
        at org.junit.runners.model.TestClass.getAnnotatedFieldValues(TestClass.java:230)
        at org.junit.runners.ParentRunner.classRules(ParentRunner.java:255)
        at org.junit.runners.ParentRunner.withClassRules(ParentRunner.java:244)
        at org.junit.runners.ParentRunner.classBlock(ParentRunner.java:194)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:362)
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
        at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
06:25:52.445 [main] DEBUG org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader - Unable to load the library 'netty-transport-native-epoll', trying next name...
java.lang.UnsatisfiedLinkError: /tmp/liborg-testcontainers-shaded-netty-transport-native-epoll6958178631539929031.so: /tmp/liborg-testcontainers-shaded-netty-transport-native-epoll6958178631539929031.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a Power PC 64 LE-bit platform)
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1086)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:36)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:298)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:251)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:172)
        at org.testcontainers.shaded.io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:195)
        at org.testcontainers.shaded.io.netty.channel.epoll.Native.<clinit>(Native.java:61)
        at org.testcontainers.shaded.io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:33)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoop.<clinit>(EpollEventLoop.java:53)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:134)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:35)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:84)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:58)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:47)
        at org.testcontainers.shaded.io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:59)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:104)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:91)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:68)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory$UnixDomainSocketInitializer.epollGroup(TestcontainersDockerCmdExecFactory.java:130)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory$UnixDomainSocketInitializer.init(TestcontainersDockerCmdExecFactory.java:122)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory.init(TestcontainersDockerCmdExecFactory.java:89)
        at com.github.dockerjava.core.DockerClientImpl.withDockerCmdExecFactory(DockerClientImpl.java:188)
        at com.github.dockerjava.core.DockerClientBuilder.build(DockerClientBuilder.java:45)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getClientForConfig(DockerClientProviderStrategy.java:170)
        at org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy.test(EnvironmentAndSystemPropertyClientProviderStrategy.java:39)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$2(DockerClientProviderStrategy.java:111)
        at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:269)
        at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:303)
        at java.util.stream.Streams$ConcatSpliterator.tryAdvance(Streams.java:731)
        at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
        at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
        at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:536)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:146)
        at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:100)
        at org.testcontainers.containers.GenericContainer.<init>(GenericContainer.java:142)
        at io.opentracing.contrib.java.spring.web.jaeger.starter.it.JaegerIntegrationTest.<clinit>(JaegerIntegrationTest.java:49)
        at sun.misc.Unsafe.ensureClassInitialized(Native Method)
        at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
        at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156)
        at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
        at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
        at java.lang.reflect.Field.get(Field.java:393)
        at org.junit.runners.model.FrameworkField.get(FrameworkField.java:73)
        at org.junit.runners.model.TestClass.getAnnotatedFieldValues(TestClass.java:230)
        at org.junit.runners.ParentRunner.classRules(ParentRunner.java:255)
        at org.junit.runners.ParentRunner.withClassRules(ParentRunner.java:244)
        at org.junit.runners.ParentRunner.classBlock(ParentRunner.java:194)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:362)
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
        at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
06:25:52.449 [main] DEBUG org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader - Unable to load the library 'org-testcontainers-shaded-netty_transport_native_epoll', trying other loading mechanism.
java.lang.UnsatisfiedLinkError: no org-testcontainers-shaded-netty_transport_native_epoll in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        at java.lang.System.loadLibrary(System.java:1122)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:311)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:303)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:291)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:224)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:172)
        at org.testcontainers.shaded.io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:195)
        at org.testcontainers.shaded.io.netty.channel.epoll.Native.<clinit>(Native.java:61)
        at org.testcontainers.shaded.io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:33)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoop.<clinit>(EpollEventLoop.java:53)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:134)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:35)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:84)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:58)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:47)
        at org.testcontainers.shaded.io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:59)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:104)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:91)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:68)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory$UnixDomainSocketInitializer.epollGroup(TestcontainersDockerCmdExecFactory.java:130)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory$UnixDomainSocketInitializer.init(TestcontainersDockerCmdExecFactory.java:122)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory.init(TestcontainersDockerCmdExecFactory.java:89)
        at com.github.dockerjava.core.DockerClientImpl.withDockerCmdExecFactory(DockerClientImpl.java:188)
        at com.github.dockerjava.core.DockerClientBuilder.build(DockerClientBuilder.java:45)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getClientForConfig(DockerClientProviderStrategy.java:170)
        at org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy.test(EnvironmentAndSystemPropertyClientProviderStrategy.java:39)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$2(DockerClientProviderStrategy.java:111)
        at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:269)
        at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:303)
        at java.util.stream.Streams$ConcatSpliterator.tryAdvance(Streams.java:731)
        at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
        at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
        at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:536)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:146)
        at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:100)
        at org.testcontainers.containers.GenericContainer.<init>(GenericContainer.java:142)
        at io.opentracing.contrib.java.spring.web.jaeger.starter.it.JaegerIntegrationTest.<clinit>(JaegerIntegrationTest.java:49)
        at sun.misc.Unsafe.ensureClassInitialized(Native Method)
        at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
        at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156)
        at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
        at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
        at java.lang.reflect.Field.get(Field.java:393)
        at org.junit.runners.model.FrameworkField.get(FrameworkField.java:73)
        at org.junit.runners.model.TestClass.getAnnotatedFieldValues(TestClass.java:230)
        at org.junit.runners.ParentRunner.classRules(ParentRunner.java:255)
        at org.junit.runners.ParentRunner.withClassRules(ParentRunner.java:244)
        at org.junit.runners.ParentRunner.classBlock(ParentRunner.java:194)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:362)
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
        at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
06:25:52.452 [main] DEBUG org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader - Unable to load the library 'netty_transport_native_epoll', trying next name...
java.lang.UnsatisfiedLinkError: no org-testcontainers-shaded-netty_transport_native_epoll in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        at java.lang.System.loadLibrary(System.java:1122)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:298)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:224)
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:172)
        at org.testcontainers.shaded.io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:195)
        at org.testcontainers.shaded.io.netty.channel.epoll.Native.<clinit>(Native.java:61)
        at org.testcontainers.shaded.io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:33)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoop.<clinit>(EpollEventLoop.java:53)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:134)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:35)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:84)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:58)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:47)
        at org.testcontainers.shaded.io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:59)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:104)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:91)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:68)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory$UnixDomainSocketInitializer.epollGroup(TestcontainersDockerCmdExecFactory.java:130)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory$UnixDomainSocketInitializer.init(TestcontainersDockerCmdExecFactory.java:122)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory.init(TestcontainersDockerCmdExecFactory.java:89)
        at com.github.dockerjava.core.DockerClientImpl.withDockerCmdExecFactory(DockerClientImpl.java:188)
        at com.github.dockerjava.core.DockerClientBuilder.build(DockerClientBuilder.java:45)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getClientForConfig(DockerClientProviderStrategy.java:170)
        at org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy.test(EnvironmentAndSystemPropertyClientProviderStrategy.java:39)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$2(DockerClientProviderStrategy.java:111)
        at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:269)
        at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:303)
        at java.util.stream.Streams$ConcatSpliterator.tryAdvance(Streams.java:731)
        at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
        at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
        at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:536)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:146)
        at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:100)
        at org.testcontainers.containers.GenericContainer.<init>(GenericContainer.java:142)
        at io.opentracing.contrib.java.spring.web.jaeger.starter.it.JaegerIntegrationTest.<clinit>(JaegerIntegrationTest.java:49)
        at sun.misc.Unsafe.ensureClassInitialized(Native Method)
        at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
        at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156)
        at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
        at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
        at java.lang.reflect.Field.get(Field.java:393)
        at org.junit.runners.model.FrameworkField.get(FrameworkField.java:73)
        at org.junit.runners.model.TestClass.getAnnotatedFieldValues(TestClass.java:230)
        at org.junit.runners.ParentRunner.classRules(ParentRunner.java:255)
        at org.junit.runners.ParentRunner.withClassRules(ParentRunner.java:244)
        at org.junit.runners.ParentRunner.classBlock(ParentRunner.java:194)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:362)
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
        at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
06:25:52.475 [main] ERROR org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy - ping failed with configuration Environment variables, system properties and defaults. Resolved:
    dockerHost=unix:///var/run/docker.sock
    apiVersion='{UNKNOWN_VERSION}'
    registryUrl='https://index.docker.io/v1/'
    registryUsername='root'
    registryPassword='null'
    registryEmail='null'
    dockerConfig='DefaultDockerClientConfig[dockerHost=unix:///var/run/docker.sock,registryUsername=root,registryPassword=<null>,registryEmail=<null>,registryUrl=https://index.docker.io/v1/,dockerConfigPath=/root/.docker,sslConfig=<null>,apiVersion={UNKNOWN_VERSION},dockerConfig=<null>]'
 due to java.lang.UnsatisfiedLinkError: failed to load the required native library
java.lang.UnsatisfiedLinkError: failed to load the required native library
        at org.testcontainers.shaded.io.netty.channel.epoll.Epoll.ensureAvailability(Epoll.java:78)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoop.<clinit>(EpollEventLoop.java:53)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:134)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:35)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:84)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:58)
        at org.testcontainers.shaded.io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:47)
        at org.testcontainers.shaded.io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:59)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:104)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:91)
        at org.testcontainers.shaded.io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:68)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory$UnixDomainSocketInitializer.epollGroup(TestcontainersDockerCmdExecFactory.java:130)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory$UnixDomainSocketInitializer.init(TestcontainersDockerCmdExecFactory.java:122)
        at org.testcontainers.dockerclient.transport.TestcontainersDockerCmdExecFactory.init(TestcontainersDockerCmdExecFactory.java:89)
        at com.github.dockerjava.core.DockerClientImpl.withDockerCmdExecFactory(DockerClientImpl.java:188)
        at com.github.dockerjava.core.DockerClientBuilder.build(DockerClientBuilder.java:45)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getClientForConfig(DockerClientProviderStrategy.java:170)
        at org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy.test(EnvironmentAndSystemPropertyClientProviderStrategy.java:39)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$2(DockerClientProviderStrategy.java:111)
        at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:269)
        at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:303)
        at java.util.stream.Streams$ConcatSpliterator.tryAdvance(Streams.java:731)
        at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
        at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
        at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:536)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:146)
        at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:100)
        at org.testcontainers.containers.GenericContainer.<init>(GenericContainer.java:142)
        at io.opentracing.contrib.java.spring.web.jaeger.starter.it.JaegerIntegrationTest.<clinit>(JaegerIntegrationTest.java:49)
        at sun.misc.Unsafe.ensureClassInitialized(Native Method)
        at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
        at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156)
        at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
        at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
        at java.lang.reflect.Field.get(Field.java:393)
        at org.junit.runners.model.FrameworkField.get(FrameworkField.java:73)
        at org.junit.runners.model.TestClass.getAnnotatedFieldValues(TestClass.java:230)
        at org.junit.runners.ParentRunner.classRules(ParentRunner.java:255)
        at org.junit.runners.ParentRunner.withClassRules(ParentRunner.java:244)
        at org.junit.runners.ParentRunner.classBlock(ParentRunner.java:194)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:362)
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
        at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
Caused by: java.lang.ExceptionInInitializerError: null
        at org.testcontainers.shaded.io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:33)
        ... 57 common frames omitted
Caused by: java.lang.IllegalArgumentException: Failed to load any of the given libraries: [netty-transport-native-epoll, netty_transport_native_epoll]
        at org.testcontainers.shaded.io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:180)
        at org.testcontainers.shaded.io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:195)
        at org.testcontainers.shaded.io.netty.channel.epoll.Native.<clinit>(Native.java:61)
        ... 58 common frames omitted
06:25:52.478 [main] DEBUG org.testcontainers.dockerclient.DockerClientProviderStrategy - EnvironmentAndSystemPropertyClientProviderStrategy: failed with exception InvalidConfigurationException (ping failed)
06:25:52.479 [main] DEBUG org.testcontainers.dockerclient.DockerClientProviderStrategy - UnixSocketClientProviderStrategy: failed with exception InvalidConfigurationException (ping failed). Root cause NoSuchFileException (/var/run/docker.sock)
06:25:52.480 [main] ERROR org.testcontainers.dockerclient.DockerClientProviderStrategy - Could not find a valid Docker environment. Please check configuration. Attempted configurations were:
06:25:52.480 [main] ERROR org.testcontainers.dockerclient.DockerClientProviderStrategy -     EnvironmentAndSystemPropertyClientProviderStrategy: failed with exception InvalidConfigurationException (ping failed)
06:25:52.480 [main] ERROR org.testcontainers.dockerclient.DockerClientProviderStrategy -     UnixSocketClientProviderStrategy: failed with exception InvalidConfigurationException (ping failed). Root cause NoSuchFileException (/var/run/docker.sock)
06:25:52.480 [main] ERROR org.testcontainers.dockerclient.DockerClientProviderStrategy - As no valid configuration was found, execution cannot continue
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.923 sec <<< FAILURE!
io.opentracing.contrib.java.spring.web.jaeger.starter.it.JaegerIntegrationTest  Time elapsed: 0.922 sec  <<< ERROR!
java.lang.ExceptionInInitializerError
        at sun.misc.Unsafe.ensureClassInitialized(Native Method)
        at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
        at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156)
        at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
        at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
        at java.lang.reflect.Field.get(Field.java:393)
        at org.junit.runners.model.FrameworkField.get(FrameworkField.java:73)
        at org.junit.runners.model.TestClass.getAnnotatedFieldValues(TestClass.java:230)
        at org.junit.runners.ParentRunner.classRules(ParentRunner.java:255)
        at org.junit.runners.ParentRunner.withClassRules(ParentRunner.java:244)
        at org.junit.runners.ParentRunner.classBlock(ParentRunner.java:194)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:362)
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
        at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
Caused by: java.lang.IllegalStateException: Could not find a valid Docker environment. Please see logs and check configuration
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$3(DockerClientProviderStrategy.java:155)
        at java.util.Optional.orElseThrow(Optional.java:290)
        at org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:147)
        at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:100)
        at org.testcontainers.containers.GenericContainer.<init>(GenericContainer.java:142)
        at io.opentracing.contrib.java.spring.web.jaeger.starter.it.JaegerIntegrationTest.<clinit>(JaegerIntegrationTest.java:49)
        ... 25 more


Results :

Tests in error:
  io.opentracing.contrib.java.spring.web.jaeger.starter.it.JaegerIntegrationTest

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] io.opentracing.contrib:opentracing-spring-jaeger-parent 2.0.4-SNAPSHOT SUCCESS [ 16.305 s]
[INFO] opentracing-spring-jaeger-starter .................. SUCCESS [ 21.198 s]
[INFO] opentracing-spring-jaeger-cloud-starter ............ SUCCESS [  7.260 s]
[INFO] opentracing-spring-jaeger-web-starter .............. SUCCESS [  0.245 s]
[INFO] opentracing-spring-jaeger-web-starter-it 2.0.4-SNAPSHOT FAILURE [  5.220 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 52.413 s
[INFO] Finished at: 2019-10-04T06:25:52Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project opentracing-spring-jaeger-web-starter-it: There are test failures.
[ERROR]
[ERROR] Please refer to /java-spring-jaeger/opentracing-spring-jaeger-web-starter-it/target/surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :opentracing-spring-jaeger-web-starter-it

Is there any way we can build the particular library for PPC64LE and use that in the build to proceed?

When I introduced both the jaeger dependency and the oracle dependency, an error occurred while executing the SQL statement “Object does not wrap anything with requested interface”

I integrated mybatis with oracle in the spring boot project and introduced the jaeger dependency, but the following error occurred while executing the SQL statement:

### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Object does not wrap anything with requested interface
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Object does not wrap anything with requested interface 
### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Object does not wrap anything with requested interface
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Object does not wrap anything with requested interface
	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)
	at com.sun.proxy.$Proxy164.selectOne(Unknown Source)
	at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159)
	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:93)
	at com.sun.proxy.$Proxy168.getTestA(Unknown Source)
	at com.xxx.template.service.TableRuleDefinitionService.getTestA(TableRuleDefinitionService.java:19)
	at com.xxx.template.controller.TableRuleDefinitionController.getTableRuleDefinition(TableRuleDefinitionController.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:90)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:117)
	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:106)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at io.opentracing.contrib.web.servlet.filter.TracingFilter.doFilter(TracingFilter.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at com.alibaba.csp.sentinel.adapter.servlet.CommonFilter.doFilter(CommonFilter.java:91)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

The dependencies as follows:

<dependency>
            <groupId>io.opentracing.contrib</groupId>
            <artifactId>opentracing-spring-jaeger-cloud-starter</artifactId>
            <version>2.0.3</version>
</dependency>
<dependency>
            <groupId>com.oracle.jdbc</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.1.0.6.0</version>
</dependency>
<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
</dependency>

When I remove the jaeger dependency, It will not report an error again, but our project still wants to use jaeger and oracle at the same time. How can this problem be better solved?

opentracing.spring.cloud.log.enabled java.util.ConcurrentModificationException

when i use opentracing-spring-jaeger-cloud-starter 0.2.1 ,opentracing-spring-cloud-starter is 0.1.15 ,opentracing.spring.cloud.log.enabled =true, have a bug . bug info
Exception in thread "jaeger.RemoteReporter-QueueProcessor" java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
at java.util.ArrayList$Itr.next(ArrayList.java:859)
at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1042)
at io.jaegertracing.thrift.internal.reporters.protocols.JaegerThriftSpanConverter.buildLogs(JaegerThriftSpanConverter.java:76)
at io.jaegertracing.thrift.internal.reporters.protocols.JaegerThriftSpanConverter.convertSpan(JaegerThriftSpanConverter.java:58)
at io.jaegertracing.thrift.internal.senders.ThriftSender.append(ThriftSender.java:54)
at io.jaegertracing.internal.reporters.RemoteReporter$AppendCommand.execute(RemoteReporter.java:138)
at io.jaegertracing.internal.reporters.RemoteReporter$QueueProcessor.run(RemoteReporter.java:171)
at java.lang.Thread.run(Thread.java:748)

if opentracing.spring.cloud.log.enabled=false will be ok

missing spans with spring boot 2.1.5 and flux WebClient

spring-jaeger-cloud-starter 2.0.0
spring-boot 2.1.5

I have an issue with missing spans that only happens after upgrading from spring boot 2.1.4 to 2.1.5

The application has a rest controller that in turn uses the webflux WebClient to call back to itself (just to demonstrate the issue).

The expected trace is:

- hello
    - GET /world
        - world
            - sleep

With 2.1.5 the outcome is:

- hello
    - Get /world
- sleep

Because the world controller span is missing, its child spans lose their context.

Attached is a project that demonstrates it working with spring boot 2.1.4 and the spans being logged to console.

Run with gradle bootRun and hit localhost:8080/hello

Update the spring boot version to 2.1.5 and repeat to see the "world" span is missing.

spring-cloud-tracing-bug.tar.gz

Handle UDP Connection Gracefully

Currently, if a spring service cant connect to jaeger over udp, the service falls over. Opposite to the http, which handles this gracefully.

This happen on boot. Not sure what happens if the service has booted and then loses connectivity.

dependencies
spring-boot => 2.2.5
opentracing-spring-jaeger-cloud-starter => 2.0.3

2020-02-28 19:51:44.777	[main]	o.s.b.w.e.t.TomcatWebServer	INFO 	Tomcat initialized with port(s): 7777 (http)
2020-02-28 19:51:44.815	[main]	o.a.c.h.Http11NioProtocol	INFO 	Initializing ProtocolHandler ["http-nio-7777"]
2020-02-28 19:51:44.817	[main]	o.a.c.c.StandardService	INFO 	Starting service [Tomcat]
2020-02-28 19:51:44.818	[main]	o.a.c.c.StandardEngine	INFO 	Starting Servlet engine: [Apache Tomcat/9.0.31]
2020-02-28 19:51:44.969	[main]	o.a.c.c.C.[.[.[/sample-service]	INFO 	Initializing Spring embedded WebApplicationContext
2020-02-28 19:51:44.970	[main]	o.s.w.c.ContextLoader	INFO 	Root WebApplicationContext: initialization completed in 8800 ms
2020-02-28 19:51:47.076	[main]	o.s.b.w.e.t.TomcatStarter	ERROR	Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'tracingFilter' defined in class path resource [io/opentracing/contrib/spring/web/starter/ServerTracingAutoConfiguration.class]: Unsatisfied dependency expressed through method 'tracingFilter' parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'tracer' defined in class path resource [io/opentracing/contrib/java/spring/jaeger/starter/JaegerAutoConfiguration.class]: Unsatisfied dependency expressed through method 'tracer' parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reporter' defined in class path resource [io/opentracing/contrib/java/spring/jaeger/starter/JaegerAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.jaegertracing.spi.Reporter]: Factory method 'reporter' threw exception; nested exception is java.lang.RuntimeException: TUDPTransport cannot connect:
2020-02-28 19:51:47.137	[main]	o.a.c.c.StandardService	INFO 	Stopping service [Tomcat]
2020-02-28 19:51:47.154	[main]	o.a.c.l.WebappClassLoaderBase	WARN 	The web application [sample-service] appears to have started a thread named [spring.cloud.inetutils] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 sun.misc.Unsafe.park(Native Method)
 java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
 java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 java.lang.Thread.run(Thread.java:821)
2020-02-28 19:51:47.158	[main]	o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext	WARN 	Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
2020-02-28 19:51:47.282	[main]	o.s.b.a.l.ConditionEvaluationReportLoggingListener	INFO

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-02-28 19:51:47.297	[main]	o.s.b.SpringApplication	ERROR	Application run failed
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:156)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
	at com.xxx.sampleservice.Application.main(Application.java:37)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:51)
	at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52)
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:126)
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:88)
	at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:438)
	at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:191)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:153)
	... 16 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'tracingFilter' defined in class path resource [io/opentracing/contrib/spring/web/starter/ServerTracingAutoConfiguration.class]: Unsatisfied dependency expressed through method 'tracingFilter' parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'tracer' defined in class path resource [io/opentracing/contrib/java/spring/jaeger/starter/JaegerAutoConfiguration.class]: Unsatisfied dependency expressed through method 'tracer' parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reporter' defined in class path resource [io/opentracing/contrib/java/spring/jaeger/starter/JaegerAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.jaegertracing.spi.Reporter]: Factory method 'reporter' threw exception; nested exception is java.lang.RuntimeException: TUDPTransport cannot connect:
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798)
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:539)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
	at org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$194/0000000048B78E00.getObject(Unknown Source)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207)
	at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:211)
	at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:202)
	at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:96)
	at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:85)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:253)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:227)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext$$Lambda$483/0000000049251310.onStartup(Unknown Source)
	at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.startup.Tomcat.start(Tomcat.java:467)
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:107)
	... 21 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'tracer' defined in class path resource [io/opentracing/contrib/java/spring/jaeger/starter/JaegerAutoConfiguration.class]: Unsatisfied dependency expressed through method 'tracer' parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reporter' defined in class path resource [io/opentracing/contrib/java/spring/jaeger/starter/JaegerAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.jaegertracing.spi.Reporter]: Factory method 'reporter' threw exception; nested exception is java.lang.RuntimeException: TUDPTransport cannot connect:
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:798)
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:539)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
	at org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$194/0000000048B78E00.getObject(Unknown Source)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1287)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:885)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789)
	... 63 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reporter' defined in class path resource [io/opentracing/contrib/java/spring/jaeger/starter/JaegerAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.jaegertracing.spi.Reporter]: Factory method 'reporter' threw exception; nested exception is java.lang.RuntimeException: TUDPTransport cannot connect:
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:656)
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1338)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
	at org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$194/0000000048B78E00.getObject(Unknown Source)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1287)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1207)
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:885)
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789)
	... 78 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.jaegertracing.spi.Reporter]: Factory method 'reporter' threw exception; nested exception is java.lang.RuntimeException: TUDPTransport cannot connect:
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:651)
	... 93 common frames omitted
Caused by: java.lang.RuntimeException: TUDPTransport cannot connect:
	at io.jaegertracing.thrift.internal.reporters.protocols.ThriftUdpTransport.newThriftUdpClient(ThriftUdpTransport.java:50)
	at io.jaegertracing.thrift.internal.senders.UdpSender.<init>(UdpSender.java:57)
	at io.opentracing.contrib.java.spring.jaeger.starter.JaegerAutoConfiguration.getUdpReporter(JaegerAutoConfiguration.java:114)
	at io.opentracing.contrib.java.spring.jaeger.starter.JaegerAutoConfiguration.reporter(JaegerAutoConfiguration.java:94)
	at io.opentracing.contrib.java.spring.jaeger.starter.JaegerAutoConfiguration$$EnhancerBySpringCGLIB$$250710cd.CGLIB$reporter$1(<generated>)
	at io.opentracing.contrib.java.spring.jaeger.starter.JaegerAutoConfiguration$$EnhancerBySpringCGLIB$$250710cd$$FastClassBySpringCGLIB$$694f4e21.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331)
	at io.opentracing.contrib.java.spring.jaeger.starter.JaegerAutoConfiguration$$EnhancerBySpringCGLIB$$250710cd.reporter(<generated>)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
	... 94 common frames omitted
Caused by: java.net.SocketException: Unresolved address
	at java.net.DatagramSocket.connect(DatagramSocket.java:493)
	at io.jaegertracing.thrift.internal.reporters.protocols.ThriftUdpTransport.newThriftUdpClient(ThriftUdpTransport.java:48)
	... 107 common frames omitted
2020/02/28 19:51:47 Command exited with error: exit status 1

Service name must not be null or empty

I want to disable jaeger span using opentracing-jaeger-enabled: false and no jaeger service name is defined. However I'm getting following error java.lang.IllegalArgumentException: Service name must not be null or empty.

The service name should be check if and only if the enabled flag is set to true.

Can't work in spring cloud gateway

gateway -> consumer -> provider,but can't work in spring cloud gateway。

spring cloud gatway pom

  • version
    <spring-cloud.version>Greenwich.SR2</spring-cloud.version>
    <spring-boot.version>2.1.7.RELEASE</spring-boot.version>
  • pom
<dependency>
    <groupId>io.opentracing.contrib</groupId>
    <artifactId>opentracing-spring-jaeger-cloud-starter</artifactId>
    <version>2.0.3</version>
</dependency>

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
  • demo code

https://github.com/life-labs/jaeger-example-spring-cloud/tree/master/sc-without-sleuth

Library generating 256bit traceId

I deployed few services in a k8 cluster and was surprised to see that no traces were visible in jaeger. On checking app logs, I found that traceId being generated was 256 bits long like: "f397a1768f8a0e5a4955c4cdfeda67c3"

However, on an old cluster I have the same services deployed for which I am able to see traces in jaeger and which have 128 bit long trace Ids. For eg. "d64800f409abf213"

We checked all our network and infra configurations. All are the same for both services. Can a 256bit traceId be causing issue for jaeger?

No service dependencies shown in jaeger

Hello,

i have a minimal example with 2 Spring Boot Apps where one calls the other.
I can see all spans of the apps in the Jaeger UI, but no dependency between the apps. Shouldn't this already work by autoconfiguration?

Here is a link to the minimal example. If it's not a bug, maybe someone could push me into the right direction at Stackoverflow here :)

Thanks in advance

[Question] How to cancel span for task

I have a task that executes every second And I don't want this task to be recorded, have any config?

like

@Scheduled(cron = "0 0/1 * * * ? ")

If i missed something, remind me please!!

Thanks any help!!

Should we rename it to java-spring-tracer-configuration?

java-spring-web auto-configure contains an auto-configuration which resolves a tracer bean
https://github.com/opentracing-contrib/java-spring-web/blob/master/opentracing-spring-web-autoconfigure/src/main/java/io/opentracing/contrib/spring/web/autoconfig/TracerAutoConfiguration.java#L33.

All auto-configuration in java-spring-web and java-spring-cloud depends on this class. I think it would be better to move it here and keep this project related to tracer bean resolution.

Then jaeger config can depend on the module with TracerAutoConfiguration and fully import it - see https://github.com/opentracing-contrib/java-spring-jaeger/pull/1/files#diff-5cb4f2e88e04516e692b889149318617R54

opentracing-spring-cloud-starter 0.2.0

You versions 0.x.y are meant to be used with Spring Boot 1.5,but opentracing-spring-jaeger-cloud-starter 0.2.2 is use opentracing-spring-cloud-starter 0.2.0,opentracing-spring-cloud-starter 0.2.0 is use Spring Boot 2.x !!!!!!!

Requests not done from the dispatcher thread?

Using Spring Boot 2.2.0 with opentracing-spring-jaeger-web-starter 2.0.3 to get Spring 5's reactive WebClient instrumented.

I have a REST-endpoint in service A doing this:

webClient.callServiceBAsync() //Returns a flux
    .flatMap(resp -> webClient.callServiceCAsync())
    .flatMap(resp -> webClient.callServiceDAsync())
    .block();

While all four services(A,B,C and D) report their respective span to Jaeger, only A & B can be tied together. I know why this happens. It's because the calls to service C and D are not done in the dispatcher thread. Thus, the scope context is lost(note sure about the right terminology here).

There is a repository called java-concurrent in this project that offers a solution if you're using a Executor. Spring's WebClient however is not using Executors thus am I unable to use anything from that repo.

How do I solve this?

Question about NoopMetricProvider

Hi, pretty new to Jaeger so this may be a poor question.

The doc says "NoopMetricsFactory is used - effectively meaning that no metrics will be collected", yet when I go to http://localhost:16686/metrics I still see a lot of metrics collected so I'm trying to understand what is going on?

Span is not linked with spring cloud gateway

I am working on microservice architecture

User-------->Spring cloud gateway------------->Service A-------------->Service B

In Jaeger, It shows 2 different spans, one in gateway and other is service A --> Service B
But it should be a single span ie. gateway-----> Service A----->Service B

API gateway is developed using spring cloud gateway
Service A is developed using spring boot
Service B is developed using spring boot

Version info for all 3 application:

compile group: 'commons-lang', name: 'commons-lang', version: '2.6' springBootVersion=2.1.4.RELEASE springDMPVersion=1.0.9.RELEASE springPlatformBomVersion=Cairo-SR8 springCloudVersion=Greenwich.SR1

Config option to disable Jaeger globally?

We are integrating Jaeger into our Spring Boot microservices. However in some cases, like running locally or in test we don't want Jaeger to be enabled.
Is there a config option to disable Jaeger? As a workaround I found the following solution, which allows us to enable/disable it by a custom env variable.

    @Bean
    public io.opentracing.Tracer jaegerTracer() {

        if (Boolean.valueOf(System.getenv("JAEGER_ENABLED"))) {
            return Configuration.fromEnv().getTracer();
        }
        else {
            Reporter reporter = new InMemoryReporter();
            Sampler sampler = new ConstSampler(false);
            return new JaegerTracer.Builder("untraced-service")
                    .withReporter(reporter)
                    .withSampler(sampler)
                    .build();
        }

    }

Reactor support

First of all, many thanks for the lib!

It looks like Reactor is not supported by the library. Another lib supports it based on what has been done in Spring Cloud Sleuth.

Is there a will to support it directly in java-spring-jaeger?

Spans are not associated into a single trace

Disclaimer - I may just be doing something wrong....

  • I have 3 Spring Boot web services. Date, Time, and DateTime.
  • DateTime uses Apache Camel to call the Date and Time services.
  • All three of these services are instrumented with the default opentracing-spring-jaeger-cloud-starter dependency.

I have Jaeger running in minikube. I also have the three services above running in minikube using the Jaeger sidecar agent. Each service is in a separate deployment/pod. The orchestration is using native service discovery.

  • The Jaeger Query UI does register the services in its drop down list.
  • When I click "Find Traces" nothing is found.
  • If I grab the spanId from any of the three services, I can search for it and it is found.
  • The spanIds do not seem to be associated in any way. Even when I use the DateTime spanId (which I would expect to see the calls to Date and Time).

Am I doing something wrong here?

Thanks!

Remote Controller Sampler should have separate configuration fields for host and port

On our K8s clusters, we set up Jaeger-Agent as a DaemonSet. This means that we get the IP address of the agent the following way:

- name: OPENTRACING_JAEGER_UDPSENDER_HOST
  valueFrom:
    fieldRef:
      apiVersion: v1
      fieldPath: status.hostIP

This allows us to inject the hostname fine, which works great for configuring the UdpSender - but it's not easy to inject a combination hostname + port this way, which makes it hard to configure remote sampling. Having separate properties for these two fields would make this kind of use case easier.

Add links to instrumentation starters to readme

For a project to be able to actually instrument a Spring stack, one or more of the purpose built starters (like io.opentracing.contrib:opentracing-spring-web-starter or io.opentracing.contrib:opentracing-spring-cloud-starter)
would also have to be included in the POM.

If I am here new It's difficult to find a project which provides these starters

Custom name for trace-id

Hi!

Is there way to configure opentracing-spring-jaeger-cloud-starter to handle any other header than Uber-Trace-Id? I have Traefik as an ingress in my kubernetes cluster. Traefik can be configured to change traceContextHeaderName. Default value is "uber-trace-id". When I change it to some custom, there is no connection between services. I believe that opentracing works only with Uber-Trace-Id. Is there way to configure that?

Thanks for help!

Jaeger Span is not marked as an error when exception is handled by ControllerAdvice

Requirement - what kind of business use case are you trying to solve?

Technology stack used in my project:

  • spring boot 2.2.3
  • io.opentracing.contrib:opentracing-spring-jaeger-web-starter:2.0.3
  • spring-boot-starter-webflux

I've spotted that exceptions that are caught by ExceptionHandlers in ControllerAdvice make Jaeger spans look like there was no error at all.

Problem - what in Jaeger blocks you from solving the requirement?

Despite that exception is caught and transformed into ResponseEntity with some custom error object in ControllerAdvice, Jaeger span should be processed (marked) as an error.

Proposal - what do you suggest to solve the problem or improve the existing situation?

The workaround that I applied is that I injected WebFluxSpanDecorator.StandardTags into my ControllerAdvice and decorate spans manually.

Any open questions to address

Is this behavior made by design?
If yes, is there a better way to handle this situation than described in my workaround proposal?

When I configure a host that cannot be resolved, the whole application will fail.

I develop an application with K8s and I want to add Jaeger to it. I set the opentracing.jaeger.udp-sender.host to jaeger because I created a backend service named jaeger, and the application works normally.
But I want to leave the backend service to users rather than start it by default. And then I found that when there is no backend service, the application will fail because it can't resolve the address jaeger. The error is like this:

Caused by: java.lang.RuntimeException: TUDPTransport cannot connect:
        at io.jaegertracing.thrift.internal.reporters.protocols.ThriftUdpTransport.newThriftUdpClient(ThriftUdpTransport.java:50) ~[jaeger-thrift-0.30.6.jar!/:na]
        at io.jaegertracing.thrift.internal.senders.UdpSender.<init>(UdpSender.java:57) ~[jaeger-thrift-0.30.6.jar!/:na]
        at io.opentracing.contrib.java.spring.jaeger.starter.JaegerAutoConfiguration.getUdpReporter(JaegerAutoConfiguration.java:113) ~[opentracing-spring-jaeger-starter-0.2.2.jar!/:na]
        at io.opentracing.contrib.java.spring.jaeger.starter.JaegerAutoConfiguration.reporter(JaegerAutoConfiguration.java:93) ~[opentracing-spring-jaeger-starter-0.2.2.jar!/:na]
        at io.opentracing.contrib.java.spring.jaeger.starter.JaegerAutoConfiguration$$EnhancerBySpringCGLIB$$f8d9da63.CGLIB$reporter$4(<generated>) ~[opentracing-spring-jaeger-starter-0.2.2.jar!/:na]
        at io.opentracing.contrib.java.spring.jaeger.starter.JaegerAutoConfiguration$$EnhancerBySpringCGLIB$$f8d9da63$$FastClassBySpringCGLIB$$7aaf2db8.invoke(<generated>) ~[opentracing-spring-jaeger-starter-0.2.2.jar!/:na]
        at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-4.3.25.RELEASE.jar!/:4.3.25.RELEASE]
        at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358) ~[spring-context-4.3.25.RELEASE.jar!/:4.3.25.RELEASE]
        at io.opentracing.contrib.java.spring.jaeger.starter.JaegerAutoConfiguration$$EnhancerBySpringCGLIB$$f8d9da63.reporter(<generated>) ~[opentracing-spring-jaeger-starter-0.2.2.jar!/:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_111]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_111]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_111]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_111]
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.3.25.RELEASE.jar!/:4.3.25.RELEASE]
        ... 54 common frames omitted
Caused by: java.net.SocketException: Unresolved address
        at java.net.DatagramSocket.connect(DatagramSocket.java:493) ~[na:1.8.0_111]
        at io.jaegertracing.thrift.internal.reporters.protocols.ThriftUdpTransport.newThriftUdpClient(ThriftUdpTransport.java:48) ~[jaeger-thrift-0.30.6.jar!/:na]
        ... 67 common frames omitted

My goal is that the application can run normally whether there is a backend service or not. How can I reach that? Thank you.

Global JAEGER_TAGS environment variable is not used by spring starter.

The auto config class (io.opentracing.contrib.java.spring.jaeger.starter.JaegerAutoConfiguration) creates a tracer in such a way that it does not add tags. It also would not use any of the other JAEGER_* env variables that the Jaeger client looks for.

This showed to us by not adding the JAEGER_TAGS to our traces.

Upgrade to jaeger 1.1.0

I noticed issue #48 talks about upgrading to jaeger 0.35.1. I think that issue should have been closed actually since this now uses jaeger 0.35.1. Unfortunately, a couple other high severity CVEs have been discovered in the version of lib-thrift that is used by jaeger 0.35.1. Jaeger 1.1.0 uses a newer version of lib-thrift that doesn't have those CVEs, so hopefully we can upgrade. These are the CVEs I am referring to:

Disable reporting spans for actuator endpoints

Hi guys,

When using Jaeger for Spring Cloud Gateway with actuator endpoints enabled (e.g. /actuator/health for K8s readiness probe), all calls to the actuator endpoints produce a span. Is there a way to disable this behaviour?

Config:

        <dependency>
            <groupId>io.opentracing.contrib</groupId>
            <artifactId>opentracing-spring-jaeger-cloud-starter</artifactId>
            <version>2.0.0</version>
        </dependency>

        <dependency>
            <groupId>io.opentracing.contrib</groupId>
            <artifactId>opentracing-spring-cloud-starter</artifactId>
            <version>0.3.2</version>
        </dependency>

Cheers,
Marius

Span information in log fields

I was not able to find that in the doc neither the code: is it possible to add to the logs the span data? E.g. I would like to find the logs corresponding to a trace ID.

Thanks for your help.

JAEGER_SERVICE_NAME from jaeger-operator not respected

The jaeger-operator for Kubernetes modifies app/service containers to have a JAEGER_SERVICE_NAME environment variable. However, java-spring-jaeger wants e.g. OPENTRACING_JAEGER_SERVICE_NAME.

With many microservices, mapping these env vars using beans is a little cumbersome. I'm not sure which project should make it possible to configure the env var name. Do you think it would make sense to respect JAEGER_SERVICE_NAME as well as OPENTRACING_JAEGER_SERVICE_NAME?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.