Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-10876

Align jar file provided for MP OpenTracing into right modules

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 14.0.0.Final
    • 14.0.0.Beta2
    • MP OpenTracing
    • None

      With recent addition of MicroProfile OpenTracing implementation we currently have following set of jar files that are in the build to provide various MicroProfile features:

      $ find modules | grep smallrye | grep jar$ | xargs ls -hl
      -rw-rw-r--. 1 jstourac jstourac  39K Aug 16 15:13 modules/system/layers/base/io/smallrye/config/main/smallrye-config-1.3.3.jar
      -rw-rw-r--. 1 jstourac jstourac 8.9K Aug 16 15:13 modules/system/layers/base/io/smallrye/health/main/smallrye-health-1.0.2.jar
      -rw-rw-r--. 1 jstourac jstourac  38K Aug 16 15:13 modules/system/layers/base/org/wildfly/extension/microprofile/config-smallrye/main/wildfly-microprofile-config-smallrye-14.0.0.CR1-SNAPSHOT.jar
      -rw-rw-r--. 1 jstourac jstourac  27K Aug 16 15:13 modules/system/layers/base/org/wildfly/extension/microprofile/health-smallrye/main/wildfly-microprofile-health-smallrye-14.0.0.CR1-SNAPSHOT.jar
      -rw-rw-r--. 1 jstourac jstourac 228K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/gson-2.8.2.jar
      -rw-rw-r--. 1 jstourac jstourac 123K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/jaeger-core-0.30.4.jar
      -rw-rw-r--. 1 jstourac jstourac 2.8M Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/jaeger-thrift-0.30.4.jar
      -rw-rw-r--. 1 jstourac jstourac  14K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-api-0.31.0.jar
      -rw-rw-r--. 1 jstourac jstourac 7.5K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-concurrent-0.1.0.jar
      -rw-rw-r--. 1 jstourac jstourac  41K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-jaxrs2-0.1.6.jar
      -rw-rw-r--. 1 jstourac jstourac  11K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-noop-0.31.0.jar
      -rw-rw-r--. 1 jstourac jstourac 7.4K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-tracerresolver-0.1.5.jar
      -rw-rw-r--. 1 jstourac jstourac 7.9K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-util-0.31.0.jar
      -rw-rw-r--. 1 jstourac jstourac  13K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-web-servlet-filter-0.1.0.jar
      -rw-rw-r--. 1 jstourac jstourac 5.4K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/smallrye-opentracing-1.1.1.jar
      -rw-rw-r--. 1 jstourac jstourac  11K Aug 16 15:13 modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/wildfly-microprofile-opentracing-smallrye-14.0.0.CR1-SNAPSHOT.jar
      

      It looks like the opentracing-smallrye module could be split up into a few separate modules. There at least two motivations:

      1. particular implementation into its own module separate from the e.g. microprofile specification
      2. because of the way how current patching mechanism works in WildFly, if we leave current opentracing-smallrye module as is, in case of a one-off patch it would mean to replace all files in the module - currently 3.3MB:
        $ du -h modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/
        3.3M	modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/
        

      My proposal how to align the jar files is following:

      1. jaeger specific files should go into separate jaeger module
      2. wildfly-microprofile-opentracing-smallrye-14.0.0.CR1-SNAPSHOT.jar should be moved to new modules/system/layers/base/org/wildfly/extension/microprofile/opentracing-smallrye module so it matches what is done for health-smallrye and config-smallrye in extension subdir
      3. smallrye-opentracing-1.1.1.jar should be moved to base/io as is done for config and health - modules/system/layers/base/io/smallrye/opentracing/main/smallrye-opentracing-1.1.1.jar
      4. what about that gson-2.8.2.jar dependency? Shall it be moved to some more generic place?

      This would give us following structure:

      modules/system/layers/base/io/smallrye/config/main/smallrye-config-1.3.3.jar
      modules/system/layers/base/io/smallrye/health/main/smallrye-health-1.0.2.jar
      modules/system/layers/base/io/smallrye/opentracing/main/smallrye-opentracing-1.1.1.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-api-0.31.0.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-jaxrs2-0.1.6.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-concurrent-0.1.0.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-web-servlet-filter-0.1.0.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-noop-0.31.0.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-tracerresolver-0.1.5.jar
      modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-util-0.31.0.jar
      modules/system/layers/base/org/wildfly/extension/microprofile/health-smallrye/main/wildfly-microprofile-health-smallrye-14.0.0.CR1-SNAPSHOT.jar
      modules/system/layers/base/org/wildfly/extension/microprofile/config-smallrye/main/wildfly-microprofile-config-smallrye-14.0.0.CR1-SNAPSHOT.jar
      modules/system/layers/base/org/wildfly/extension/microprofile/opentracing-smallrye/main/wildfly-microprofile-opentracing-smallrye-14.0.0.CR1-SNAPSHOT.jar
      
      ---- I have no idea how this module for jaeger should be named...
      modules/system/layers/base/org/wildfly/microprofile/jaeger/opentracing-smallrye/main/jaeger-thrift-0.30.4.jar
      modules/system/layers/base/org/wildfly/microprofile/jaeger/opentracing-smallrye/main/jaeger-core-0.30.4.jar
      
      ---- I have no idea how this module for gson should be named...
      modules/system/layers/base/org/wildfly/gson/main/gson-2.8.2.jar
      

      One additional piece for consideration - maybe we should also split up jar files that are just the microprofile-opentracing specification (api at least I guess) apart from the others in the modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/

      What do you think?

              jperkins-rhn James Perkins
              jstourac@redhat.com Jan Stourac
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: