Uploaded image for project: 'Thorntail'
  1. Thorntail
  2. THORN-1893

Jaeger / OpenTracing remote reporting not working

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 2018.3.3
    • Fix Version/s: 2018.4.1
    • Component/s: core
    • Labels:
      None
    • Story Points:
      3
    • Steps to Reproduce:
      Hide

      1) Start a Jeager-instance on any host, e.g. my.jaeger.host.com
      docker run -d -p 5775:5775/udp -p 16686:16686 jaegertracing/all-in-one:latest

      2) Use Jax-RS + Jaeger-fraction

        <dependency>
          <groupId>org.wildfly.swarm</groupId>
          <artifactId>jaxrs</artifactId>
        </dependency>
        <dependency>
          <groupId>org.wildfly.swarm</groupId>
          <artifactId>jaeger</artifactId>
        </dependency>
      

      3) Using this project-defaults.yml
      swarm:
      jaeger:
      service-name: myservice
      reporter-log-spans: true
      sampler-type: const
      sampler-parameter: 1
      agent-host: my.jaeger.host.com
      agent-port: 5775

      4) Create a simple Jax-RS endpoint

      JaxRsEndpoint.java
      
      @Path("/helloworld")
      @ApplicationScoped
       public class JaxRsEndpoint {
      	@GET
      	public String helloWorld() {
      		return "Hello, traceable world!";
      	}
       }
      

      Result in NO traces at all in the Jeager-UI (which did work before 2018.3.3)

      Show
      1) Start a Jeager-instance on any host, e.g. my.jaeger.host.com docker run -d -p 5775:5775/udp -p 16686:16686 jaegertracing/all-in-one:latest 2) Use Jax-RS + Jaeger-fraction <dependency> <groupId> org.wildfly.swarm </groupId> <artifactId> jaxrs </artifactId> </dependency> <dependency> <groupId> org.wildfly.swarm </groupId> <artifactId> jaeger </artifactId> </dependency> 3) Using this project-defaults.yml swarm: jaeger: service-name: myservice reporter-log-spans: true sampler-type: const sampler-parameter: 1 agent-host: my.jaeger.host.com agent-port: 5775 4) Create a simple Jax-RS endpoint JaxRsEndpoint.java @Path( "/helloworld" ) @ApplicationScoped public class JaxRsEndpoint { @GET public String helloWorld() { return "Hello, traceable world!" ; } } Result in NO traces at all in the Jeager-UI (which did work before 2018.3.3)

      Description

      Trace events are not sent to a remote Jeager UI server using Jax-RS fraction along with Jeager-fraction (but rather only to localhost).

      Having these fractions in pom.xml

        <dependency>
          <groupId>org.wildfly.swarm</groupId>
          <artifactId>jaxrs</artifactId>
        </dependency>
        <dependency>
          <groupId>org.wildfly.swarm</groupId>
          <artifactId>jaeger</artifactId>
        </dependency>
      

      along with this project-defaults.yml
      swarm:
      jaeger:
      service-name: myservice
      reporter-log-spans: true
      sampler-type: const
      sampler-parameter: 1
      agent-host: my.jaeger.host.com
      agent-port: 5775

      don't sent any traces to the Jeager UI to my.jaeger.host.com but rather only to localhost. Looks like the class com.uber.jaeger.sender.UdpSender doesn't get the agent-host property as expected while I was debugging (and hence using the default value=localhost). This did work in Swarm version 2018.3.0 and before.

      Update 2018-03-19. After some investigation it looks like it is a bug in version 0.25 of jeager-core (https://github.com/jaegertracing/jaeger-client-java). More specifically a bug in com.uber.jeager.Configuration#getReporter(metrics). It seem to have been fixed in this commit https://github.com/jaegertracing/jaeger-client-java/commit/ee137d6bcffafafa480c9cc9d504f0359eca8e4a#diff-0162f3d9453acd66f719f9003a23d3dc and hopefully it will be included in their next release (0.26?). So this is not a bug in Swarm but rather in the dependency on Jeager-core 0.25 and hopefully this can be updated in the next Swarm release.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                enbohm Andreas Enbohm
                Reporter:
                enbohm Andreas Enbohm
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: