An external type has no byteCodeVersion since it only occurs as a dependency but wasn't analyzed itself (missing bytecode). Core Java types like java.lang.Integer and primitives like int are considered "build-in" and therefore aren't interpreted as "external" even though their byte code is also missing. A package is categorized as "external" if the types it contains are classified as external.
The aforementioned classification encompasses external annotation dependencies as well. These dependencies introduce significantly less coupling and are not indispensable for compiling code. Without the external annotation the code would most probably behave differently. Hence, they are included in the first more overall and general tables and then left out in the later more specific ones.
This table shows the external packages that are used by the most different internal types overall. Additionally, it shows which types of the external package are actually used. External annotations are also listed.
Only the top 20 entries are shown. The whole table can be found in the following CSV report:
External_package_usage_overall
Columns:
- externalPackageName identifies the external package as described above
- numberOfExternalCallerPackages refers to the distinct packages that make use of the external package
- numberOfExternalCallerTypes refers to the distinct types that make use of the external package
- numberOfExternalTypeCalls includes every dependency to the types in the external package
- numberOfExternalTypeCallsWeighted includes every invocation or reference (sum of weights) to the types in the external package
- allPackages contains the total count of all analyzed packages in general
- allTypes contains the total count of all analyzed types in general
- externalTypeNames contains a list of actually utilized types of the external package
| externalPackageName | numberOfExternalCallerPackages | numberOfExternalCallerTypes | numberOfExternalTypeCalls | numberOfExternalTypeCallsWeighted | allPackages | allTypes | tenExternalTypeNames | |
|---|---|---|---|---|---|---|---|---|
| 0 | jakarta.annotation | 106 | 695 | 899 | 4946 | 120 | 1231 | [Nonnull, Nullable] |
| 1 | org.slf4j | 38 | 74 | 133 | 469 | 120 | 1231 | [Logger, LoggerFactory] |
| 2 | jakarta.persistence | 6 | 18 | 42 | 179 | 120 | 1231 | [EntityManager, EntityManagerFactory, TypedQue... |
| 3 | io.axoniq.axonserver.connector | 5 | 16 | 23 | 124 | 120 | 1231 | [AxonServerConnectionFactory, AxonServerConnec... |
| 4 | io.axoniq.axonserver.grpc | 5 | 18 | 40 | 271 | 120 | 1231 | [ErrorMessage, InstructionAck$Builder, Instruc... |
| 5 | reactor.core.publisher | 5 | 8 | 14 | 49 | 120 | 1231 | [MonoSink, Mono, Flux, FluxSink] |
| 6 | com.fasterxml.jackson.annotation | 3 | 6 | 19 | 33 | 120 | 1231 | [JsonIgnore, JsonTypeInfo$Id, JsonProperty, Js... |
| 7 | com.fasterxml.jackson.databind | 3 | 8 | 13 | 64 | 120 | 1231 | [JsonNode, SerializationFeature, ObjectMapper,... |
| 8 | io.grpc | 3 | 7 | 23 | 51 | 120 | 1231 | [ManagedChannelBuilder, ClientInterceptor, Sta... |
| 9 | io.micrometer.core.instrument | 3 | 13 | 37 | 141 | 120 | 1231 | [MeterRegistry, Timer, Timer$Builder, Clock, T... |
| 10 | org.hamcrest | 3 | 22 | 44 | 196 | 120 | 1231 | [Matcher, Description, CoreMatchers, StringDes... |
| 11 | org.reactivestreams | 3 | 6 | 8 | 27 | 120 | 1231 | [Publisher, Subscription, Subscriber] |
| 12 | org.springframework.boot.actuate.health | 3 | 4 | 7 | 24 | 120 | 1231 | [Status, Health$Builder, AbstractHealthIndicat... |
| 13 | org.springframework.boot.autoconfigure | 3 | 22 | 36 | 37 | 120 | 1231 | [AutoConfigureAfter, AutoConfigureBefore, Auto... |
| 14 | org.springframework.boot.autoconfigure.condition | 3 | 37 | 55 | 90 | 120 | 1231 | [ConditionalOnMissingBean, ConditionalOnClass,... |
| 15 | org.springframework.context.annotation | 3 | 31 | 41 | 77 | 120 | 1231 | [Bean, Conditional, Primary, ConfigurationCond... |
| 16 | com.fasterxml.jackson.databind.node | 2 | 3 | 5 | 28 | 120 | 1231 | [ArrayNode, ObjectNode, JsonNodeType] |
| 17 | io.axoniq.axonserver.grpc.control | 2 | 6 | 13 | 86 | 120 | 1231 | [TopologyChange, UpdateType, CommandSubscripti... |
| 18 | io.grpc.stub | 2 | 3 | 4 | 11 | 120 | 1231 | [StreamObserver, ClientCallStreamObserver, Cli... |
| 19 | org.apache.avro | 2 | 5 | 17 | 56 | 120 | 1231 | [AvroRuntimeException, SchemaCompatibility$Inc... |
External packages that are used less than 0.7% are grouped into the name "others" to get a cleaner chart with the most significant external packages and how ofter they are called in percent.
<Figure size 640x480 with 0 Axes>
Table 1 Chart 1b - Most called external packages in % by types (less than 0.7% overall "others" drill-down)
Shows the lowest (less than 0.7% overall) most called external package. Therefore, this plot breaks down the "others" slice of the pie chart above. Values under 0.3% from that will be grouped into "others" to get a cleaner plot.
<Figure size 640x480 with 0 Axes>
External packages that are used less than 0.7% are grouped into the name "others" to get a cleaner chart with the most significant external packages and how ofter they are called in percent.
<Figure size 640x480 with 0 Axes>
Table 1 Chart 2b - Most called external packages in % by packages (less than 0.7% overall "others" drill-down)
Shows the lowest (less than 0.7% overall) most called external package. Therefore, this plot breaks down the "others" slice of the pie chart above. Values under 0.3% from that will be grouped into "others" to get a cleaner plot.
<Figure size 640x480 with 0 Axes>
This table shows external packages grouped by their first 2 layers that are used by the most different internal types overall including external annotations. For example, "javax.xml.stream" and "javax.xml.parsers" are grouped together to "javax.xml".
Additionally, it shows which types of the external packages are actually used.
Only the top 20 entries are shown. The whole table can be found in the following CSV report:
External_second_level_package_usage_overall
Columns:
- externalSecondLevelPackageName identifies the first 2 levels of the external package as described above
- numberOfExternalCallerPackages refers to the distinct packages that make use of the external package
- numberOfExternalCallerTypes refers to the distinct types that make use of the external package
- numberOfExternalTypeCalls includes every dependency to the types in the external package
- numberOfExternalTypeCallsWeighted includes every invocation or reference (sum of weights) to the types in the external package
- allPackages contains the total count of all analyzed packages in general
- allTypes contains the total count of all analyzed types in general
- externalTypeNames contains a list of actually utilized types of the external package
| externalSecondLevelPackageName | numberOfExternalCallerPackages | numberOfExternalCallerTypes | numberOfExternalTypeCalls | numberOfExternalTypeCallsWeighted | allPackages | allTypes | tenExternalTypeNames | |
|---|---|---|---|---|---|---|---|---|
| 0 | jakarta.annotation | 106 | 695 | 899 | 4946 | 120 | 1231 | [Nonnull, Nullable] |
| 1 | org.slf4j | 38 | 74 | 133 | 469 | 120 | 1231 | [Logger, LoggerFactory] |
| 2 | org.springframework | 8 | 63 | 205 | 344 | 120 | 1231 | [AutoConfigureAfter, ConditionalOnMissingBean,... |
| 3 | com.fasterxml | 6 | 14 | 38 | 126 | 120 | 1231 | [JsonNode, SerializationFeature, ArrayNode, Ob... |
| 4 | io.axoniq | 6 | 45 | 153 | 849 | 120 | 1231 | [ErrorMessage, InstructionAck$Builder, Instruc... |
| 5 | jakarta.persistence | 6 | 18 | 42 | 179 | 120 | 1231 | [EntityManager, EntityManagerFactory, TypedQue... |
| 6 | reactor.core | 6 | 9 | 16 | 51 | 120 | 1231 | [MonoSink, Mono, Flux, FluxSink, Scheduler, Sc... |
| 7 | com.google | 5 | 9 | 12 | 36 | 120 | 1231 | [JsonElement, JsonParser, JsonArray, JsonObjec... |
| 8 | io.grpc | 3 | 10 | 29 | 65 | 120 | 1231 | [StreamObserver, ManagedChannelBuilder, GrpcSs... |
| 9 | io.micrometer | 3 | 13 | 39 | 145 | 120 | 1231 | [MeterRegistry, Timer, Timer$Builder, Clock, T... |
| 10 | org.axonframework | 3 | 10 | 22 | 64 | 120 | 1231 | [EventProcessorSettings$ProcessorMode, EventPr... |
| 11 | org.hamcrest | 3 | 22 | 44 | 196 | 120 | 1231 | [Matcher, Description, CoreMatchers, StringDes... |
| 12 | org.reactivestreams | 3 | 6 | 8 | 27 | 120 | 1231 | [Publisher, Subscription, Subscriber] |
| 13 | org.apache | 2 | 12 | 42 | 144 | 120 | 1231 | [AvroRuntimeException, SpecificRecordBase, Sch... |
| 14 | org.junit | 2 | 2 | 9 | 30 | 120 | 1231 | [ParameterResolutionException, BeforeEachCallb... |
| 15 | tools.jackson | 2 | 9 | 24 | 84 | 120 | 1231 | [JsonMapper$Builder, JacksonException, ObjectM... |
| 16 | io.opentelemetry | 1 | 5 | 21 | 70 | 120 | 1231 | [SpanKind, TextMapSetter, Span, Tracer, Contex... |
| 17 | jakarta.validation | 1 | 2 | 5 | 16 | 120 | 1231 | [ConstraintViolation, Validation, ValidatorFac... |
| 18 | javax.cache | 1 | 2 | 12 | 48 | 120 | 1231 | [CacheEntryRemovedListener, Factory, CacheEntr... |
| 19 | org.awaitility | 1 | 1 | 2 | 3 | 120 | 1231 | [ConditionFactory, Awaitility] |
External package groups that are used less than 0.7% are grouped into the name "others" to get a cleaner chart with the most significant external packages and how ofter they are called in percent.
<Figure size 640x480 with 0 Axes>
Table 2 Chart 1b - Most called second level external packages in % by type (less than 0.7% overall "others" drill-down)
Shows the lowest (less than 0.7% overall) most called external package. Therefore, this plot breaks down the "others" slice of the pie chart above. Values under 0.3% from that will be grouped into "others" to get a cleaner plot.
<Figure size 640x480 with 0 Axes>
Table 2 Chart 2a - Most called second level external packages in % by package (more than 0.7% overall)
External package groups that are used less than 0.7% are grouped into the name "others" to get a cleaner chart with the most significant external packages and how ofter they are called in percent.
<Figure size 640x480 with 0 Axes>
Table 2 Chart 2b - Most called second level external packages in % by package (less than 0.7% overall "others" drill-down)
Shows the lowest (less than 0.7% overall) most called external package. Therefore, this plot breaks down the "others" slice of the pie chart above. Values under 0.3% from that will be grouped into "others" to get a cleaner plot.
<Figure size 640x480 with 0 Axes>
The following tables shows external packages that are used by many different artifacts with the highest number of artifacts first. External annotations are filtered out to only get those external packages that significantly add to coupling.
Statistics like minimum, maximum, average, median and standard deviation are provided for the number of packages and number of types in every artifact that uses the listed external package.
The intuition behind that is to find external package dependencies that are used in a widely spread manner. This should uncover libraries and frameworks and make it easier to distinguish them from external dependencies that are used for specific tasks. It can also be used to find external dependencies that are used sparsely regarding artifacts but are used in many different packages there. This could then be improved by applying a Hexagonal architecture.
Only the top 20 entries are shown. The whole table can be found in the following CSV report:
External_package_usage_spread
Columns:
- externalPackageName identifies the external package as defined above. All other columns contain aggregated data for this external package.
- numberOfArtifacts contains the number of artifacts that use the external package
- sumNumberOfPackages contains the sum of all packages that use the external package
- min/max/med/avg/stdNumberOfPackages provide statistics based on the number of packages of each artifact that uses the external package
- min/max/med/avg/stdNumberOfPackagesPercentage provide statistics in percent (%) based on the number of packages of each artifact that uses the external package
- min/max/med/avg/stdNumberOfTypes provide statistics based on the number of types of each artifact that uses the external package
- min/max/med/avg/stdNumberOfPackagesPercentage provide statistics in percent (%) based on the number of types of each artifact that uses the external package
- someArtifactNames contain some of the artifacts that contain the external package for reference
| externalPackageName | numberOfArtifacts | sumNumberOfPackages | minNumberOfPackages | maxNumberOfPackages | medNumberOfPackages | avgNumberOfPackages | stdNumberOfPackages | minNumberOfPackagesPercentage | maxNumberOfPackagesPercentage | ... | maxNumberOfTypes | medNumberOfTypes | avgNumberOfTypes | stdNumberOfTypes | minNumberOfTypesPercentage | maxNumberOfTypesPercentage | medNumberOfTypesPercentage | avgNumberOfTypesPercentage | stdNumberOfTypesPercentage | someArtifactNames | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | org.slf4j | 10 | 38 | 1 | 15 | 2.5 | 3.8 | 4.104198 | 16.666667 | 100.000000 | ... | 31 | 5.0 | 7.400000 | 9.020963 | 1.282051 | 30.434783 | 5.677029 | 10.113492 | 9.523561 | [axon-test-5.0.3, axon-common-5.0.3, axon-trac... |
| 1 | jakarta.persistence | 4 | 6 | 1 | 2 | 1.5 | 1.5 | 0.577350 | 3.389831 | 28.571429 | ... | 5 | 4.0 | 4.250000 | 0.500000 | 0.690846 | 6.666667 | 3.282051 | 3.480404 | 2.519490 | [axon-common-5.0.3, axon-eventsourcing-5.0.3, ... |
| 2 | com.fasterxml.jackson.databind | 3 | 3 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 6.666667 | 20.000000 | ... | 5 | 2.0 | 2.666667 | 2.081666 | 0.641026 | 14.285714 | 2.666667 | 5.864469 | 7.363005 | [axon-common-5.0.3, axon-conversion-5.0.3, axo... |
| 3 | com.fasterxml.jackson.databind.node | 2 | 2 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 6.666667 | 20.000000 | ... | 2 | 1.5 | 1.500000 | 0.707107 | 0.641026 | 5.714286 | 3.177656 | 3.177656 | 3.587337 | [axon-common-5.0.3, axon-conversion-5.0.3] |
| 4 | io.axoniq.axonserver.connector | 2 | 5 | 1 | 4 | 2.5 | 2.5 | 2.121320 | 14.285714 | 80.000000 | ... | 15 | 8.0 | 8.000000 | 9.899495 | 1.333333 | 20.833333 | 11.083333 | 11.083333 | 13.788582 | [axon-server-connector-5.0.3, axon-spring-boot... |
| 5 | io.axoniq.axonserver.connector.control | 2 | 3 | 1 | 2 | 1.5 | 1.5 | 0.707107 | 14.285714 | 40.000000 | ... | 4 | 2.5 | 2.500000 | 2.121320 | 1.333333 | 5.555556 | 3.444444 | 3.444444 | 2.985562 | [axon-server-connector-5.0.3, axon-spring-boot... |
| 6 | org.apache.avro | 2 | 2 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 14.285714 | 20.000000 | ... | 4 | 2.5 | 2.500000 | 2.121320 | 1.333333 | 11.428571 | 6.380952 | 6.380952 | 7.138411 | [axon-conversion-5.0.3, axon-spring-boot-autoc... |
| 7 | org.apache.avro.message | 2 | 2 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 14.285714 | 20.000000 | ... | 6 | 4.5 | 4.500000 | 2.121320 | 4.000000 | 17.142857 | 10.571429 | 10.571429 | 9.293403 | [axon-conversion-5.0.3, axon-spring-boot-autoc... |
| 8 | tools.jackson.databind | 2 | 2 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 14.285714 | 20.000000 | ... | 5 | 4.0 | 4.000000 | 1.414214 | 4.000000 | 14.285714 | 9.142857 | 9.142857 | 7.273098 | [axon-conversion-5.0.3, axon-spring-boot-autoc... |
| 9 | tools.jackson.databind.json | 2 | 2 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 14.285714 | 20.000000 | ... | 1 | 1.0 | 1.000000 | 0.000000 | 1.333333 | 2.857143 | 2.095238 | 2.095238 | 1.077496 | [axon-conversion-5.0.3, axon-spring-boot-autoc... |
10 rows × 25 columns
This table shows the top 20 most widely spread external packages focussing on the spread across the number of internal packages.
| externalPackageName | numberOfArtifacts | minNumberOfPackages | maxNumberOfPackages | medNumberOfPackages | avgNumberOfPackages | stdNumberOfPackages | |
|---|---|---|---|---|---|---|---|
| 0 | org.slf4j | 10 | 1 | 15 | 2.5 | 3.8 | 4.104198 |
| 1 | jakarta.persistence | 4 | 1 | 2 | 1.5 | 1.5 | 0.577350 |
| 2 | com.fasterxml.jackson.databind | 3 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 3 | com.fasterxml.jackson.databind.node | 2 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 4 | io.axoniq.axonserver.connector | 2 | 1 | 4 | 2.5 | 2.5 | 2.121320 |
| 5 | io.axoniq.axonserver.connector.control | 2 | 1 | 2 | 1.5 | 1.5 | 0.707107 |
| 6 | org.apache.avro | 2 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 7 | org.apache.avro.message | 2 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 8 | tools.jackson.databind | 2 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 9 | tools.jackson.databind.json | 2 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 10 | IdTypeParameterResolver | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 11 | ScannedEntityCreator | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 12 | WrappedEventCriteriaBuilderMethod | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 13 | com.fasterxml.jackson.annotation | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 14 | com.fasterxml.jackson.core | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 15 | com.google.gson | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 16 | com.google.protobuf | 1 | 4 | 4 | 4.0 | 4.0 | 0.000000 |
| 17 | io.axoniq.axonserver.connector.admin | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 18 | io.axoniq.axonserver.connector.command | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
| 19 | io.axoniq.axonserver.connector.event | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 |
This table shows the top 20 most widely spread external packages focussing on the spread across the percentage of internal packages.
| externalPackageName | numberOfArtifacts | minNumberOfPackagesPercentage | maxNumberOfPackagesPercentage | medNumberOfPackagesPercentage | avgNumberOfPackagesPercentage | stdNumberOfPackagesPercentage | |
|---|---|---|---|---|---|---|---|
| 0 | org.slf4j | 10 | 16.666667 | 100.000000 | 28.571429 | 47.447135 | 29.761886 |
| 1 | jakarta.persistence | 4 | 3.389831 | 28.571429 | 10.476190 | 13.228410 | 11.200896 |
| 2 | com.fasterxml.jackson.databind | 3 | 6.666667 | 20.000000 | 14.285714 | 13.650794 | 6.689304 |
| 3 | com.fasterxml.jackson.databind.node | 2 | 6.666667 | 20.000000 | 13.333333 | 13.333333 | 9.428090 |
| 4 | io.axoniq.axonserver.connector | 2 | 14.285714 | 80.000000 | 47.142857 | 47.142857 | 46.467017 |
| 5 | io.axoniq.axonserver.connector.control | 2 | 14.285714 | 40.000000 | 27.142857 | 27.142857 | 18.182746 |
| 6 | org.apache.avro | 2 | 14.285714 | 20.000000 | 17.142857 | 17.142857 | 4.040610 |
| 7 | org.apache.avro.message | 2 | 14.285714 | 20.000000 | 17.142857 | 17.142857 | 4.040610 |
| 8 | tools.jackson.databind | 2 | 14.285714 | 20.000000 | 17.142857 | 17.142857 | 4.040610 |
| 9 | tools.jackson.databind.json | 2 | 14.285714 | 20.000000 | 17.142857 | 17.142857 | 4.040610 |
| 10 | IdTypeParameterResolver | 1 | 14.285714 | 14.285714 | 14.285714 | 14.285714 | 0.000000 |
| 11 | ScannedEntityCreator | 1 | 14.285714 | 14.285714 | 14.285714 | 14.285714 | 0.000000 |
| 12 | WrappedEventCriteriaBuilderMethod | 1 | 14.285714 | 14.285714 | 14.285714 | 14.285714 | 0.000000 |
| 13 | com.fasterxml.jackson.annotation | 1 | 1.694915 | 1.694915 | 1.694915 | 1.694915 | 0.000000 |
| 14 | com.fasterxml.jackson.core | 1 | 20.000000 | 20.000000 | 20.000000 | 20.000000 | 0.000000 |
| 15 | com.google.gson | 1 | 16.666667 | 16.666667 | 16.666667 | 16.666667 | 0.000000 |
| 16 | com.google.protobuf | 1 | 80.000000 | 80.000000 | 80.000000 | 80.000000 | 0.000000 |
| 17 | io.axoniq.axonserver.connector.admin | 1 | 20.000000 | 20.000000 | 20.000000 | 20.000000 | 0.000000 |
| 18 | io.axoniq.axonserver.connector.command | 1 | 20.000000 | 20.000000 | 20.000000 | 20.000000 | 0.000000 |
| 19 | io.axoniq.axonserver.connector.event | 1 | 20.000000 | 20.000000 | 20.000000 | 20.000000 | 0.000000 |
This table shows the top 20 most widely spread external packages focussing on the spread across the number of internal types.
| externalPackageName | numberOfArtifacts | minNumberOfTypes | maxNumberOfTypes | medNumberOfTypes | avgNumberOfTypes | stdNumberOfTypes | |
|---|---|---|---|---|---|---|---|
| 0 | org.slf4j | 10 | 1 | 31 | 5.0 | 7.400000 | 9.020963 |
| 1 | jakarta.persistence | 4 | 4 | 5 | 4.0 | 4.250000 | 0.500000 |
| 2 | com.fasterxml.jackson.databind | 3 | 1 | 5 | 2.0 | 2.666667 | 2.081666 |
| 3 | com.fasterxml.jackson.databind.node | 2 | 1 | 2 | 1.5 | 1.500000 | 0.707107 |
| 4 | io.axoniq.axonserver.connector | 2 | 1 | 15 | 8.0 | 8.000000 | 9.899495 |
| 5 | io.axoniq.axonserver.connector.control | 2 | 1 | 4 | 2.5 | 2.500000 | 2.121320 |
| 6 | org.apache.avro | 2 | 1 | 4 | 2.5 | 2.500000 | 2.121320 |
| 7 | org.apache.avro.message | 2 | 3 | 6 | 4.5 | 4.500000 | 2.121320 |
| 8 | tools.jackson.databind | 2 | 3 | 5 | 4.0 | 4.000000 | 1.414214 |
| 9 | tools.jackson.databind.json | 2 | 1 | 1 | 1.0 | 1.000000 | 0.000000 |
| 10 | IdTypeParameterResolver | 1 | 1 | 1 | 1.0 | 1.000000 | 0.000000 |
| 11 | ScannedEntityCreator | 1 | 1 | 1 | 1.0 | 1.000000 | 0.000000 |
| 12 | WrappedEventCriteriaBuilderMethod | 1 | 1 | 1 | 1.0 | 1.000000 | 0.000000 |
| 13 | com.fasterxml.jackson.annotation | 1 | 2 | 2 | 2.0 | 2.000000 | 0.000000 |
| 14 | com.fasterxml.jackson.core | 1 | 1 | 1 | 1.0 | 1.000000 | 0.000000 |
| 15 | com.google.gson | 1 | 1 | 1 | 1.0 | 1.000000 | 0.000000 |
| 16 | com.google.protobuf | 1 | 8 | 8 | 8.0 | 8.000000 | 0.000000 |
| 17 | io.axoniq.axonserver.connector.admin | 1 | 1 | 1 | 1.0 | 1.000000 | 0.000000 |
| 18 | io.axoniq.axonserver.connector.command | 1 | 1 | 1 | 1.0 | 1.000000 | 0.000000 |
| 19 | io.axoniq.axonserver.connector.event | 1 | 5 | 5 | 5.0 | 5.000000 | 0.000000 |
This table shows the top 20 most widely spread external packages focussing on the spread across the percentage of internal types.
| externalPackageName | numberOfArtifacts | minNumberOfTypesPercentage | maxNumberOfTypesPercentage | medNumberOfTypesPercentage | avgNumberOfTypesPercentage | stdNumberOfTypesPercentage | |
|---|---|---|---|---|---|---|---|
| 0 | org.slf4j | 10 | 1.282051 | 30.434783 | 5.677029 | 10.113492 | 9.523561 |
| 1 | jakarta.persistence | 4 | 0.690846 | 6.666667 | 3.282051 | 3.480404 | 2.519490 |
| 2 | com.fasterxml.jackson.databind | 3 | 0.641026 | 14.285714 | 2.666667 | 5.864469 | 7.363005 |
| 3 | com.fasterxml.jackson.databind.node | 2 | 0.641026 | 5.714286 | 3.177656 | 3.177656 | 3.587337 |
| 4 | io.axoniq.axonserver.connector | 2 | 1.333333 | 20.833333 | 11.083333 | 11.083333 | 13.788582 |
| 5 | io.axoniq.axonserver.connector.control | 2 | 1.333333 | 5.555556 | 3.444444 | 3.444444 | 2.985562 |
| 6 | org.apache.avro | 2 | 1.333333 | 11.428571 | 6.380952 | 6.380952 | 7.138411 |
| 7 | org.apache.avro.message | 2 | 4.000000 | 17.142857 | 10.571429 | 10.571429 | 9.293403 |
| 8 | tools.jackson.databind | 2 | 4.000000 | 14.285714 | 9.142857 | 9.142857 | 7.273098 |
| 9 | tools.jackson.databind.json | 2 | 1.333333 | 2.857143 | 2.095238 | 2.095238 | 1.077496 |
| 10 | IdTypeParameterResolver | 1 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 0.000000 |
| 11 | ScannedEntityCreator | 1 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 0.000000 |
| 12 | WrappedEventCriteriaBuilderMethod | 1 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 0.000000 |
| 13 | com.fasterxml.jackson.annotation | 1 | 0.345423 | 0.345423 | 0.345423 | 0.345423 | 0.000000 |
| 14 | com.fasterxml.jackson.core | 1 | 2.857143 | 2.857143 | 2.857143 | 2.857143 | 0.000000 |
| 15 | com.google.gson | 1 | 1.282051 | 1.282051 | 1.282051 | 1.282051 | 0.000000 |
| 16 | com.google.protobuf | 1 | 11.111111 | 11.111111 | 11.111111 | 11.111111 | 0.000000 |
| 17 | io.axoniq.axonserver.connector.admin | 1 | 1.388889 | 1.388889 | 1.388889 | 1.388889 | 0.000000 |
| 18 | io.axoniq.axonserver.connector.command | 1 | 1.388889 | 1.388889 | 1.388889 | 1.388889 | 0.000000 |
| 19 | io.axoniq.axonserver.connector.event | 1 | 6.944444 | 6.944444 | 6.944444 | 6.944444 | 0.000000 |
External packages that are used less than 0.5% are grouped into the name "others" to get a cleaner chart with the most significant external packages.
<Figure size 640x480 with 0 Axes>
Table 3 Chart 1b - Most widely spread external packages in % by types (less than 0.5% overall "others" drill-down)
Shows the lowest (less than 0.5% overall) most spread external packages. Therefore, this plot breaks down the "others" slice of the pie chart above. Values under 0.3% from that will be grouped into "others" to get a cleaner plot.
<Figure size 640x480 with 0 Axes>
External packages that are used less than 0.5% are grouped into the name "others" to get a cleaner chart with the most significant external packages.
<Figure size 640x480 with 0 Axes>
Table 3 Chart 2b - Most widely spread external packages in % by packages (less than 0.5% overall "others" drill-down)
Shows the lowest (less than 0.5% overall) most spread external packages. Therefore, this plot breaks down the "others" slice of the pie chart above. Values under 0.3% from that will be grouped into "others" to get a cleaner plot.
No data to plot for title 'Top external package usage spread [%] by type (less than 0.7% overall "others" drill-down)'.
This table shows external packages grouped by their first 2 layers that are used by many different artifacts with the highest number of artifacts first. External annotations are filtered out to only get those external packages that significantly add to coupling.
Statistics like minimum, maximum, average, median and standard deviation are provided for the number of packages and number of types in every artifact that uses the listed external package.
The intuition behind that is to find external package dependencies that are used in a widely spread manner. This should uncover libraries and frameworks and make it easier to distinguish them from external dependencies that are used for specific tasks. It can also be used to find external dependencies that are used sparsely regarding artifacts but are used in many different packages there. This could then be improved by applying a Hexagonal architecture.
Only the top 20 entries are shown. The whole table can be found in the following CSV report:
External_package_usage_spread
Columns:
- externalPackageName identifies the external package as defined above. All other columns contain aggregated data for this external package.
- numberOfArtifacts contains the number of artifacts that use the external package
- sumNumberOfPackages contains the sum of all packages that use the external package
- min/max/med/avg/stdNumberOfPackages provide statistics based on the number of packages of each artifact that uses the external package
- min/max/med/avg/stdNumberOfPackagesPercentage provide statistics in percent (%) based on the number of packages of each artifact that uses the external package
- min/max/med/avg/stdNumberOfTypes provide statistics based on the number of types of each artifact that uses the external package
- min/max/med/avg/stdNumberOfPackagesPercentage provide statistics in percent (%) based on the number of types of each artifact that uses the external package
- someArtifactNames contain some of the artifacts that contain the external package for reference
| externalSecondLevelPackageName | numberOfArtifacts | sumNumberOfPackages | minNumberOfPackages | maxNumberOfPackages | medNumberOfPackages | avgNumberOfPackages | stdNumberOfPackages | minNumberOfPackagesPercentage | maxNumberOfPackagesPercentage | ... | maxNumberOfTypes | medNumberOfTypes | avgNumberOfTypes | stdNumberOfTypes | minNumberOfTypesPercentage | maxNumberOfTypesPercentage | medNumberOfTypesPercentage | avgNumberOfTypesPercentage | stdNumberOfTypesPercentage | someArtifactNames | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | org.slf4j | 10 | 38 | 1 | 15 | 2.5 | 3.8 | 4.104198 | 16.666667 | 100.000000 | ... | 31 | 5.0 | 7.40 | 9.020963 | 1.282051 | 30.434783 | 5.677029 | 10.113492 | 9.523561 | [axon-test-5.0.3, axon-common-5.0.3, axon-trac... |
| 1 | com.fasterxml | 4 | 4 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 1.694915 | 20.000000 | ... | 5 | 2.0 | 2.50 | 1.732051 | 0.345423 | 14.285714 | 1.653846 | 4.484707 | 6.614947 | [axon-common-5.0.3, axon-conversion-5.0.3, axo... |
| 2 | jakarta.persistence | 4 | 6 | 1 | 2 | 1.5 | 1.5 | 0.577350 | 3.389831 | 28.571429 | ... | 5 | 4.0 | 4.25 | 0.500000 | 0.690846 | 6.666667 | 3.282051 | 3.480404 | 2.519490 | [axon-common-5.0.3, axon-eventsourcing-5.0.3, ... |
| 3 | com.google | 2 | 5 | 1 | 4 | 2.5 | 2.5 | 2.121320 | 16.666667 | 80.000000 | ... | 8 | 4.5 | 4.50 | 4.949747 | 1.282051 | 11.111111 | 6.196581 | 6.196581 | 6.950195 | [axon-test-5.0.3, axon-server-connector-5.0.3] |
| 4 | io.axoniq | 2 | 6 | 1 | 5 | 3.0 | 3.0 | 2.828427 | 14.285714 | 100.000000 | ... | 44 | 22.5 | 22.50 | 30.405592 | 1.333333 | 61.111111 | 31.222222 | 31.222222 | 42.269272 | [axon-server-connector-5.0.3, axon-spring-boot... |
| 5 | org.apache | 2 | 2 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 14.285714 | 20.000000 | ... | 9 | 6.0 | 6.00 | 4.242641 | 4.000000 | 25.714286 | 14.857143 | 14.857143 | 15.354319 | [axon-conversion-5.0.3, axon-spring-boot-autoc... |
| 6 | reactor.core | 2 | 6 | 1 | 5 | 3.0 | 3.0 | 2.828427 | 8.474576 | 20.000000 | ... | 8 | 4.5 | 4.50 | 4.949747 | 1.381693 | 1.388889 | 1.385291 | 1.385291 | 0.005089 | [axon-messaging-5.0.3, axon-server-connector-5... |
| 7 | tools.jackson | 2 | 2 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 14.285714 | 20.000000 | ... | 5 | 4.5 | 4.50 | 0.707107 | 5.333333 | 14.285714 | 9.809524 | 9.809524 | 6.330289 | [axon-conversion-5.0.3, axon-spring-boot-autoc... |
| 8 | IdTypeParameterResolver | 1 | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 14.285714 | 14.285714 | ... | 1 | 1.0 | 1.00 | 0.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 0.000000 | [axon-eventsourcing-5.0.3] |
| 9 | ScannedEntityCreator | 1 | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 14.285714 | 14.285714 | ... | 1 | 1.0 | 1.00 | 0.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 0.000000 | [axon-eventsourcing-5.0.3] |
| 10 | WrappedEventCriteriaBuilderMethod | 1 | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 14.285714 | 14.285714 | ... | 1 | 1.0 | 1.00 | 0.000000 | 1.000000 | 1.000000 | 1.000000 | 1.000000 | 0.000000 | [axon-eventsourcing-5.0.3] |
| 11 | io.grpc | 1 | 3 | 3 | 3 | 3.0 | 3.0 | 0.000000 | 60.000000 | 60.000000 | ... | 10 | 10.0 | 10.00 | 0.000000 | 13.888889 | 13.888889 | 13.888889 | 13.888889 | 0.000000 | [axon-server-connector-5.0.3] |
| 12 | io.micrometer | 1 | 3 | 3 | 3 | 3.0 | 3.0 | 0.000000 | 100.000000 | 100.000000 | ... | 13 | 13.0 | 13.00 | 0.000000 | 81.250000 | 81.250000 | 81.250000 | 81.250000 | 0.000000 | [axon-metrics-micrometer-5.0.3] |
| 13 | io.opentelemetry | 1 | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 100.000000 | 100.000000 | ... | 5 | 5.0 | 5.00 | 0.000000 | 100.000000 | 100.000000 | 100.000000 | 100.000000 | 0.000000 | [axon-tracing-opentelemetry-5.0.3] |
| 14 | jakarta.validation | 1 | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 1.694915 | 1.694915 | ... | 2 | 2.0 | 2.00 | 0.000000 | 0.345423 | 0.345423 | 0.345423 | 0.345423 | 0.000000 | [axon-messaging-5.0.3] |
| 15 | javax.cache | 1 | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 6.666667 | 6.666667 | ... | 2 | 2.0 | 2.00 | 0.000000 | 1.282051 | 1.282051 | 1.282051 | 1.282051 | 0.000000 | [axon-common-5.0.3] |
| 16 | org.awaitility | 1 | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 16.666667 | 16.666667 | ... | 1 | 1.0 | 1.00 | 0.000000 | 1.282051 | 1.282051 | 1.282051 | 1.282051 | 0.000000 | [axon-test-5.0.3] |
| 17 | org.axonframework | 1 | 3 | 3 | 3 | 3.0 | 3.0 | 0.000000 | 42.857143 | 42.857143 | ... | 10 | 10.0 | 10.00 | 0.000000 | 13.333333 | 13.333333 | 13.333333 | 13.333333 | 0.000000 | [axon-spring-boot-autoconfigure-5.0.3] |
| 18 | org.ehcache | 1 | 1 | 1 | 1 | 1.0 | 1.0 | 0.000000 | 6.666667 | 6.666667 | ... | 3 | 3.0 | 3.00 | 0.000000 | 1.923077 | 1.923077 | 1.923077 | 1.923077 | 0.000000 | [axon-common-5.0.3] |
| 19 | org.hamcrest | 1 | 3 | 3 | 3 | 3.0 | 3.0 | 0.000000 | 50.000000 | 50.000000 | ... | 22 | 22.0 | 22.00 | 0.000000 | 28.205128 | 28.205128 | 28.205128 | 28.205128 | 0.000000 | [axon-test-5.0.3] |
20 rows × 25 columns
Table 4 Chart 1a - Most widely spread second level external packages in % by type (more than 0.5% overall)
External package groups that are used less than 0.5% are grouped into the name "others" to get a cleaner chart with the most significant external packages and how ofter they are called in percent.
<Figure size 640x480 with 0 Axes>
Table 4 Chart 1b - Most widely spread second level external packages in % by type (less than 0.5% overall "others" drill-down)
External packages that are used less than 0.5% are grouped into the name "others" to get a cleaner chart with the most significant external packages.
<Figure size 640x480 with 0 Axes>
Table 4 Chart 2a - Most widely spread second level external packages in % by package (more than 0.5% overall)
External package groups that are used less than 0.5% are grouped into the name "others" to get a cleaner chart with the most significant external packages and how ofter they are called in percent.
<Figure size 640x480 with 0 Axes>
Table 4 Chart 2b - Most widely spread second level external packages in % by package (less than 0.5% overall "others" drill-down)
External packages that are used less than 0.5% are grouped into the name "others" to get a cleaner chart with the most significant external packages.
No data to plot for title 'Top external package (less than 0.7% overall "others" drill-down)'.
This table identifies external packages that aren't used very often. This could help to find libraries that aren't actually needed or maybe easily replaceable. Some of them might be used sparsely on purpose for example as an adapter to an external library that is actually important. Thus, decisions need to be made on a case-by-case basis.
Only the last 20 entries are shown. The whole table can be found in the following CSV report:
External_package_usage_overall
Columns:
- externalPackageName identifies the external package as described above
- numberOfExternalTypeCalls includes every invocation or reference to the types in the external package
| externalPackageName | numberOfExternalTypeCalls | |
|---|---|---|
| 0 | reactor.core.scheduler | 2 |
| 1 | org.testcontainers.utility | 2 |
| 2 | org.testcontainers.containers.wait.strategy | 2 |
| 3 | org.testcontainers.containers | 2 |
| 4 | org.springframework.boot.docker.compose.servic... | 2 |
| 5 | org.springframework.boot.docker.compose.core | 2 |
| 6 | org.axonframework.extension.spring.config.anno... | 2 |
| 7 | tools.jackson.dataformat.cbor | 3 |
| 8 | tools.jackson.databind.node | 3 |
| 9 | javax.cache.configuration | 3 |
| 10 | org.axonframework.extension.spring.conversion.... | 3 |
| 11 | io.grpc.stub | 4 |
| 12 | org.apache.avro.specific | 4 |
| 13 | org.springframework.beans.factory | 4 |
| 14 | org.springframework.boot.testcontainers.servic... | 4 |
| 15 | com.google.gson | 4 |
| 16 | tools.jackson.databind.json | 4 |
| 17 | org.springframework.boot.context.properties.bind | 5 |
| 18 | jakarta.validation | 5 |
| 19 | com.fasterxml.jackson.databind.node | 5 |
The following table shows the most used external packages separately for each artifact including external annotations. The results are sorted by the artifacts with the highest external type usage rate descending.
The intention of this table is to find artifacts that use a lot of external dependencies in relation to their size and get all the external packages and their usage.
Only the last 40 entries are shown. The whole table can be found in the following CSV report:
External_package_usage_per_artifact_sorted
Columns:
- artifactName is used to group the the external package usage per artifact for a more detailed analysis.
- externalPackageName identifies the external package as described above
- numberOfExternalTypeCaller refers to the distinct types that make use of the external package
- numberOfExternalTypeCalls includes every invocation or reference to the types in the external package
- numberOfTypesInArtifact represents the total count of all analyzed types for the artifact
- numberOfExternalTypesInArtifact is the number of all external types that are used by the artifact
- numberOfExternalPackagesInArtifact is the number of all external packages that are used by the artifact
- externalTypeRate is the numberOfExternalTypesInArtifact / numberOfTypesInArtifact * 100
- externalTypeNames contains a list of actually utilized types of the external package
| artifactName | externalPackageName | numberOfExternalTypeCaller | numberOfExternalTypeCalls | numberOfTypesInArtifact | numberOfExternalTypesInArtifact | numberOfExternalPackagesInArtifact | externalTypeRate | externalTypeNames | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | axon-tracing-opentelemetry-5.0.3 | io.opentelemetry.api.trace | 9 | 46 | 5 | 16 | 6 | 320.000000 | [Tracer, SpanKind, Span, SpanBuilder, StatusCo... |
| 1 | axon-tracing-opentelemetry-5.0.3 | io.opentelemetry.context.propagation | 9 | 15 | 5 | 16 | 6 | 320.000000 | [ContextPropagators, TextMapPropagator, TextMa... |
| 2 | axon-tracing-opentelemetry-5.0.3 | jakarta.annotation | 3 | 8 | 5 | 16 | 6 | 320.000000 | [Nonnull] |
| 3 | axon-tracing-opentelemetry-5.0.3 | io.opentelemetry.context | 2 | 7 | 5 | 16 | 6 | 320.000000 | [Context, Scope] |
| 4 | axon-tracing-opentelemetry-5.0.3 | org.slf4j | 2 | 7 | 5 | 16 | 6 | 320.000000 | [Logger, LoggerFactory] |
| 5 | axon-tracing-opentelemetry-5.0.3 | io.opentelemetry.api | 1 | 2 | 5 | 16 | 6 | 320.000000 | [GlobalOpenTelemetry] |
| 6 | axon-server-connector-5.0.3 | io.axoniq.axonserver.grpc | 40 | 271 | 72 | 113 | 23 | 156.944444 | [MetaDataValue$DataCase, ProcessingKey, Proces... |
| 7 | axon-server-connector-5.0.3 | jakarta.annotation | 31 | 181 | 72 | 113 | 23 | 156.944444 | [Nonnull, Nullable] |
| 8 | axon-server-connector-5.0.3 | io.axoniq.axonserver.grpc.event.dcb | 28 | 104 | 72 | 113 | 23 | 156.944444 | [SequencedEvent, StreamEventsResponse, Tag, St... |
| 9 | axon-server-connector-5.0.3 | io.grpc | 23 | 51 | 72 | 113 | 23 | 156.944444 | [ManagedChannelBuilder, Status, Metadata, Meta... |
| 10 | axon-server-connector-5.0.3 | io.axoniq.axonserver.connector | 22 | 123 | 72 | 113 | 23 | 156.944444 | [AxonServerConnectionFactory, AxonServerConnec... |
| 11 | axon-server-connector-5.0.3 | org.slf4j | 19 | 70 | 72 | 113 | 23 | 156.944444 | [Logger, LoggerFactory] |
| 12 | axon-server-connector-5.0.3 | io.axoniq.axonserver.grpc.query | 14 | 98 | 72 | 113 | 23 | 156.944444 | [QueryUpdate, QueryRequest, QueryResponse, Que... |
| 13 | axon-server-connector-5.0.3 | io.axoniq.axonserver.grpc.control | 13 | 86 | 72 | 113 | 23 | 156.944444 | [UpdateType, TopologyChange, CommandSubscripti... |
| 14 | axon-server-connector-5.0.3 | com.google.protobuf | 8 | 29 | 72 | 113 | 23 | 156.944444 | [ByteString, MessageLite] |
| 15 | axon-server-connector-5.0.3 | io.axoniq.axonserver.connector.event | 8 | 38 | 72 | 113 | 23 | 156.944444 | [AggregateEventStream, EventChannel, AppendEve... |
| 16 | axon-server-connector-5.0.3 | io.axoniq.axonserver.grpc.command | 8 | 63 | 72 | 113 | 23 | 156.944444 | [Command, CommandResponse, Command$Builder, Co... |
| 17 | axon-server-connector-5.0.3 | io.axoniq.axonserver.connector.query | 6 | 19 | 72 | 113 | 23 | 156.944444 | [QueryHandler$UpdateHandler, QueryHandler, Que... |
| 18 | axon-server-connector-5.0.3 | io.axoniq.axonserver.grpc.event | 5 | 31 | 72 | 113 | 23 | 156.944444 | [Event, Event$Builder, EventWithToken, Confirm... |
| 19 | axon-server-connector-5.0.3 | io.axoniq.axonserver.connector.control | 4 | 5 | 72 | 113 | 23 | 156.944444 | [ControlChannel, ProcessorInstructionHandler] |
| 20 | axon-server-connector-5.0.3 | io.grpc.stub | 4 | 11 | 72 | 113 | 23 | 156.944444 | [StreamObserver, ClientCallStreamObserver, Cli... |
| 21 | axon-server-connector-5.0.3 | reactor.core.scheduler | 2 | 2 | 72 | 113 | 23 | 156.944444 | [Scheduler, Schedulers] |
| 22 | axon-server-connector-5.0.3 | io.axoniq.axonserver.connector.admin | 1 | 3 | 72 | 113 | 23 | 156.944444 | [AdminChannel] |
| 23 | axon-server-connector-5.0.3 | io.axoniq.axonserver.connector.command | 1 | 3 | 72 | 113 | 23 | 156.944444 | [CommandChannel] |
| 24 | axon-server-connector-5.0.3 | io.axoniq.axonserver.connector.impl | 1 | 3 | 72 | 113 | 23 | 156.944444 | [ServerAddress] |
| 25 | axon-server-connector-5.0.3 | io.grpc.netty.shaded.io.grpc.netty | 1 | 1 | 72 | 113 | 23 | 156.944444 | [GrpcSslContexts] |
| 26 | axon-server-connector-5.0.3 | io.grpc.netty.shaded.io.netty.handler.ssl | 1 | 2 | 72 | 113 | 23 | 156.944444 | [SslContextBuilder] |
| 27 | axon-server-connector-5.0.3 | javax.annotation | 1 | 1 | 72 | 113 | 23 | 156.944444 | [Nonnull] |
| 28 | axon-server-connector-5.0.3 | org.springframework.boot.context.properties | 1 | 2 | 72 | 113 | 23 | 156.944444 | [ConfigurationProperties] |
| 29 | axon-spring-boot-autoconfigure-5.0.3 | org.springframework.boot.autoconfigure.condition | 52 | 84 | 75 | 100 | 39 | 133.333333 | [AnyNestedCondition, AllNestedConditions, Cond... |
| 30 | axon-spring-boot-autoconfigure-5.0.3 | org.springframework.context.annotation | 40 | 74 | 75 | 100 | 39 | 133.333333 | [ConfigurationCondition$ConfigurationPhase, Be... |
| 31 | axon-spring-boot-autoconfigure-5.0.3 | org.springframework.boot.autoconfigure | 33 | 34 | 75 | 100 | 39 | 133.333333 | [AutoConfigureAfter, AutoConfiguration, AutoCo... |
| 32 | axon-spring-boot-autoconfigure-5.0.3 | org.springframework.boot.context.properties | 20 | 26 | 75 | 100 | 39 | 133.333333 | [EnableConfigurationProperties, NestedConfigur... |
| 33 | axon-spring-boot-autoconfigure-5.0.3 | jakarta.annotation | 15 | 30 | 75 | 100 | 39 | 133.333333 | [Nullable, Nonnull] |
| 34 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.spring.config | 13 | 42 | 75 | 100 | 39 | 133.333333 | [SpringComponentRegistry, SpringLifecycleRegis... |
| 35 | axon-spring-boot-autoconfigure-5.0.3 | org.springframework.boot.actuate.health | 7 | 24 | 75 | 100 | 39 | 133.333333 | [SimpleStatusAggregator, Status, Health$Builde... |
| 36 | axon-spring-boot-autoconfigure-5.0.3 | jakarta.persistence | 6 | 13 | 75 | 100 | 39 | 133.333333 | [EntityManagerFactory, EntityManager, Persiste... |
| 37 | axon-spring-boot-autoconfigure-5.0.3 | org.springframework.boot.context.properties.bind | 5 | 11 | 75 | 100 | 39 | 133.333333 | [ConstructorBinding, DefaultValue, Bindable, B... |
| 38 | axon-spring-boot-autoconfigure-5.0.3 | org.springframework.context | 5 | 9 | 75 | 100 | 39 | 133.333333 | [ApplicationContextAware, ApplicationContext] |
| 39 | axon-spring-boot-autoconfigure-5.0.3 | org.apache.avro.message | 4 | 10 | 75 | 100 | 39 | 133.333333 | [SchemaStore, SchemaStore$Cache] |
The following table shows the artifacts with the highest external dependency usage broken down by each external package including external annotations. The results are sorted by the artifacts with the highest external package usage rate descending.
The intention of this table is to find artifacts that use a lot of external dependencies and show in detail which external packages are used by them and how many internal packages.
Only the last 30 entries are shown. The whole table can be found in the following CSV report:
External_package_usage_per_artifact_and_external_package
Columns:
- artifactName is the name of the artifact with external dependencies (first grouping column)
- artifactPackages is the number of packages in the artifact
- artifactTypes is the number of types in the artifact
- artifactExternalPackages is the number of external packages used by the artifact
- artifactExternalCallingPackages is the number of packages that use external packages in the artifact
- artifactExternalCallingPackagesRate is artifactExternalCallingPackages / artifactPackages * 100%
- externalPackageName the name of the external package (second grouping column)
- numberOfPackages is the number of internal packages of the artifact that use the external packages
- numberOfTypes is the number of internal types of the artifact that use the external packages
- packagesCallingExternalRate is numberOfPackages / artifactPackages * 100%
- typesCallingExternalRate is numberOfTypes / artifactTypes * 100%
- nameOfPackages names of the internal packages that use the external package in the artifact
- someTypeNames some (10) names of the internal types that use the external package in the artifact
| artifactName | artifactPackages | artifactTypes | artifactExternalPackages | artifactExternalCallingPackages | artifactExternalCallingPackagesRate | externalPackageName | numberOfPackages | numberOfTypes | packagesCallingExternalRate | typesCallingExternalRate | nameOfPackages | someTypeNames | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | jakarta.annotation | 5 | 30 | 100.000000 | 85.714286 | [org.axonframework.conversion, org.axonframewo... | [org.axonframework.conversion.ChainedConverter... |
| 1 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | org.slf4j | 4 | 4 | 80.000000 | 11.428571 | [org.axonframework.conversion, org.axonframewo... | [org.axonframework.conversion.ChainingContentT... |
| 2 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | com.fasterxml.jackson.core | 1 | 1 | 20.000000 | 2.857143 | [org.axonframework.conversion.jackson2] | [org.axonframework.conversion.jackson2.JsonNod... |
| 3 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | com.fasterxml.jackson.databind | 1 | 5 | 20.000000 | 14.285714 | [org.axonframework.conversion.jackson2] | [org.axonframework.conversion.jackson2.ByteArr... |
| 4 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | com.fasterxml.jackson.databind.node | 1 | 2 | 20.000000 | 5.714286 | [org.axonframework.conversion.jackson2] | [org.axonframework.conversion.jackson2.JsonNod... |
| 5 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | org.apache.avro | 1 | 4 | 20.000000 | 11.428571 | [org.axonframework.conversion.avro] | [org.axonframework.conversion.avro.SpecificRec... |
| 6 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | org.apache.avro.generic | 1 | 6 | 20.000000 | 17.142857 | [org.axonframework.conversion.avro] | [org.axonframework.conversion.avro.SpecificRec... |
| 7 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | org.apache.avro.io | 1 | 1 | 20.000000 | 2.857143 | [org.axonframework.conversion.avro] | [org.axonframework.conversion.avro.ByteArrayTo... |
| 8 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | org.apache.avro.message | 1 | 6 | 20.000000 | 17.142857 | [org.axonframework.conversion.avro] | [org.axonframework.conversion.avro.SpecificRec... |
| 9 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | org.apache.avro.specific | 1 | 2 | 20.000000 | 5.714286 | [org.axonframework.conversion.avro] | [org.axonframework.conversion.avro.SpecificRec... |
| 10 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | org.apache.commons.lang3.tuple | 1 | 1 | 20.000000 | 2.857143 | [org.axonframework.conversion.avro] | [org.axonframework.conversion.avro.DefaultSche... |
| 11 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | tools.jackson.core | 1 | 3 | 20.000000 | 8.571429 | [org.axonframework.conversion.jackson] | [org.axonframework.conversion.jackson.JacksonC... |
| 12 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | tools.jackson.databind | 1 | 5 | 20.000000 | 14.285714 | [org.axonframework.conversion.jackson] | [org.axonframework.conversion.jackson.JacksonC... |
| 13 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | tools.jackson.databind.json | 1 | 1 | 20.000000 | 2.857143 | [org.axonframework.conversion.jackson] | [org.axonframework.conversion.jackson.JacksonC... |
| 14 | axon-conversion-5.0.3 | 5 | 35 | 15 | 5 | 100.0 | tools.jackson.databind.node | 1 | 2 | 20.000000 | 5.714286 | [org.axonframework.conversion.jackson] | [org.axonframework.conversion.jackson.JsonNode... |
| 15 | axon-eventsourcing-5.0.3 | 7 | 100 | 6 | 7 | 100.0 | jakarta.annotation | 7 | 60 | 100.000000 | 60.000000 | [org.axonframework.eventsourcing, org.axonfram... | [org.axonframework.eventsourcing.CriteriaResol... |
| 16 | axon-eventsourcing-5.0.3 | 7 | 100 | 6 | 7 | 100.0 | org.slf4j | 2 | 6 | 28.571429 | 6.000000 | [org.axonframework.eventsourcing.eventstore.in... | [org.axonframework.eventsourcing.eventstore.in... |
| 17 | axon-eventsourcing-5.0.3 | 7 | 100 | 6 | 7 | 100.0 | IdTypeParameterResolver | 1 | 1 | 14.285714 | 1.000000 | [org.axonframework.eventsourcing.annotation.re... | [org.axonframework.eventsourcing.annotation.re... |
| 18 | axon-eventsourcing-5.0.3 | 7 | 100 | 6 | 7 | 100.0 | ScannedEntityCreator | 1 | 1 | 14.285714 | 1.000000 | [org.axonframework.eventsourcing.annotation.re... | [org.axonframework.eventsourcing.annotation.re... |
| 19 | axon-eventsourcing-5.0.3 | 7 | 100 | 6 | 7 | 100.0 | WrappedEventCriteriaBuilderMethod | 1 | 1 | 14.285714 | 1.000000 | [org.axonframework.eventsourcing.annotation] | [org.axonframework.eventsourcing.annotation.An... |
| 20 | axon-eventsourcing-5.0.3 | 7 | 100 | 6 | 7 | 100.0 | jakarta.persistence | 1 | 4 | 14.285714 | 4.000000 | [org.axonframework.eventsourcing.eventstore.jpa] | [org.axonframework.eventsourcing.eventstore.jp... |
| 21 | axon-metrics-micrometer-5.0.3 | 3 | 16 | 7 | 3 | 100.0 | io.micrometer.core.instrument | 3 | 13 | 100.000000 | 81.250000 | [org.axonframework.extension.metrics.micromete... | [org.axonframework.extension.metrics.micromete... |
| 22 | axon-metrics-micrometer-5.0.3 | 3 | 16 | 7 | 3 | 100.0 | io.micrometer.core.instrument.simple | 2 | 2 | 66.666667 | 12.500000 | [org.axonframework.extension.metrics.micromete... | [org.axonframework.extension.metrics.micromete... |
| 23 | axon-metrics-micrometer-5.0.3 | 3 | 16 | 7 | 3 | 100.0 | jakarta.annotation | 2 | 7 | 66.666667 | 43.750000 | [org.axonframework.extension.metrics.micromete... | [org.axonframework.extension.metrics.micromete... |
| 24 | axon-metrics-micrometer-5.0.3 | 3 | 16 | 7 | 3 | 100.0 | org.springframework.boot.autoconfigure | 1 | 1 | 33.333333 | 6.250000 | [org.axonframework.extension.metrics.micromete... | [org.axonframework.extension.metrics.micromete... |
| 25 | axon-metrics-micrometer-5.0.3 | 3 | 16 | 7 | 3 | 100.0 | org.springframework.boot.autoconfigure.condition | 1 | 1 | 33.333333 | 6.250000 | [org.axonframework.extension.metrics.micromete... | [org.axonframework.extension.metrics.micromete... |
| 26 | axon-metrics-micrometer-5.0.3 | 3 | 16 | 7 | 3 | 100.0 | org.springframework.boot.context.properties | 1 | 2 | 33.333333 | 12.500000 | [org.axonframework.extension.metrics.micromete... | [org.axonframework.extension.metrics.micromete... |
| 27 | axon-metrics-micrometer-5.0.3 | 3 | 16 | 7 | 3 | 100.0 | org.springframework.context.annotation | 1 | 1 | 33.333333 | 6.250000 | [org.axonframework.extension.metrics.micromete... | [org.axonframework.extension.metrics.micromete... |
| 28 | axon-modelling-5.0.3 | 7 | 92 | 2 | 7 | 100.0 | jakarta.annotation | 7 | 76 | 100.000000 | 82.608696 | [org.axonframework.modelling, org.axonframewor... | [org.axonframework.modelling.PayloadBasedEntit... |
| 29 | axon-modelling-5.0.3 | 7 | 92 | 2 | 7 | 100.0 | org.slf4j | 2 | 2 | 28.571429 | 2.173913 | [org.axonframework.modelling, org.axonframewor... | [org.axonframework.modelling.SimpleEntityEvolv... |
The following table groups the external packages by their first two levels. For example javax.xml.namespace and javax.xml.stream will be grouped together to javax.xml.
| artifactName | artifactPackages | artifactTypes | artifactExternalPackagesFirst2Levels | artifactExternalCallingPackages | artifactExternalCallingPackagesRate | externalPackageNameFirst2Levels | numberOfPackages | numberOfTypes | packagesCallingExternalRate | typesCallingExternalRate | nameOfPackages | someTypeNames | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | axon-conversion-5.0.3 | 5 | 35 | 5 | 5 | 100.0 | jakarta.annotation | 5 | 30 | 100.000000 | 85.714286 | [org.axonframework.conversion, org.axonframewo... | [org.axonframework.conversion.ChainedConverter... |
| 1 | axon-conversion-5.0.3 | 5 | 35 | 5 | 5 | 100.0 | org.slf4j | 4 | 4 | 80.000000 | 11.428571 | [org.axonframework.conversion, org.axonframewo... | [org.axonframework.conversion.ChainingContentT... |
| 2 | axon-conversion-5.0.3 | 5 | 35 | 5 | 5 | 100.0 | com.fasterxml | 1 | 5 | 20.000000 | 14.285714 | [org.axonframework.conversion.jackson2] | [org.axonframework.conversion.jackson2.ByteArr... |
| 3 | axon-conversion-5.0.3 | 5 | 35 | 5 | 5 | 100.0 | org.apache | 1 | 9 | 20.000000 | 25.714286 | [org.axonframework.conversion.avro] | [org.axonframework.conversion.avro.SpecificRec... |
| 4 | axon-conversion-5.0.3 | 5 | 35 | 5 | 5 | 100.0 | tools.jackson | 1 | 5 | 20.000000 | 14.285714 | [org.axonframework.conversion.jackson] | [org.axonframework.conversion.jackson.JacksonC... |
| 5 | axon-eventsourcing-5.0.3 | 7 | 100 | 6 | 7 | 100.0 | jakarta.annotation | 7 | 60 | 100.000000 | 60.000000 | [org.axonframework.eventsourcing, org.axonfram... | [org.axonframework.eventsourcing.CriteriaResol... |
| 6 | axon-eventsourcing-5.0.3 | 7 | 100 | 6 | 7 | 100.0 | org.slf4j | 2 | 6 | 28.571429 | 6.000000 | [org.axonframework.eventsourcing.eventstore.in... | [org.axonframework.eventsourcing.eventstore.in... |
| 7 | axon-eventsourcing-5.0.3 | 7 | 100 | 6 | 7 | 100.0 | IdTypeParameterResolver | 1 | 1 | 14.285714 | 1.000000 | [org.axonframework.eventsourcing.annotation.re... | [org.axonframework.eventsourcing.annotation.re... |
| 8 | axon-eventsourcing-5.0.3 | 7 | 100 | 6 | 7 | 100.0 | ScannedEntityCreator | 1 | 1 | 14.285714 | 1.000000 | [org.axonframework.eventsourcing.annotation.re... | [org.axonframework.eventsourcing.annotation.re... |
| 9 | axon-eventsourcing-5.0.3 | 7 | 100 | 6 | 7 | 100.0 | WrappedEventCriteriaBuilderMethod | 1 | 1 | 14.285714 | 1.000000 | [org.axonframework.eventsourcing.annotation] | [org.axonframework.eventsourcing.annotation.An... |
| 10 | axon-eventsourcing-5.0.3 | 7 | 100 | 6 | 7 | 100.0 | jakarta.persistence | 1 | 4 | 14.285714 | 4.000000 | [org.axonframework.eventsourcing.eventstore.jpa] | [org.axonframework.eventsourcing.eventstore.jp... |
| 11 | axon-metrics-micrometer-5.0.3 | 3 | 16 | 3 | 3 | 100.0 | io.micrometer | 3 | 13 | 100.000000 | 81.250000 | [org.axonframework.extension.metrics.micromete... | [org.axonframework.extension.metrics.micromete... |
| 12 | axon-metrics-micrometer-5.0.3 | 3 | 16 | 3 | 3 | 100.0 | jakarta.annotation | 2 | 7 | 66.666667 | 43.750000 | [org.axonframework.extension.metrics.micromete... | [org.axonframework.extension.metrics.micromete... |
| 13 | axon-metrics-micrometer-5.0.3 | 3 | 16 | 3 | 3 | 100.0 | org.springframework | 1 | 2 | 33.333333 | 12.500000 | [org.axonframework.extension.metrics.micromete... | [org.axonframework.extension.metrics.micromete... |
| 14 | axon-modelling-5.0.3 | 7 | 92 | 2 | 7 | 100.0 | jakarta.annotation | 7 | 76 | 100.000000 | 82.608696 | [org.axonframework.modelling, org.axonframewor... | [org.axonframework.modelling.PayloadBasedEntit... |
| 15 | axon-modelling-5.0.3 | 7 | 92 | 2 | 7 | 100.0 | org.slf4j | 2 | 2 | 28.571429 | 2.173913 | [org.axonframework.modelling, org.axonframewor... | [org.axonframework.modelling.SimpleEntityEvolv... |
| 16 | axon-server-connector-5.0.3 | 5 | 72 | 8 | 5 | 100.0 | io.axoniq | 5 | 44 | 100.000000 | 61.111111 | [org.axonframework.axonserver.connector, org.a... | [org.axonframework.axonserver.connector.Defaul... |
| 17 | axon-server-connector-5.0.3 | 5 | 72 | 8 | 5 | 100.0 | jakarta.annotation | 5 | 25 | 100.000000 | 34.722222 | [org.axonframework.axonserver.connector, org.a... | [org.axonframework.axonserver.connector.Metada... |
| 18 | axon-server-connector-5.0.3 | 5 | 72 | 8 | 5 | 100.0 | com.google | 4 | 8 | 80.000000 | 11.111111 | [org.axonframework.axonserver.connector.util, ... | [org.axonframework.axonserver.connector.util.G... |
| 19 | axon-server-connector-5.0.3 | 5 | 72 | 8 | 5 | 100.0 | org.slf4j | 4 | 12 | 80.000000 | 16.666667 | [org.axonframework.axonserver.connector.util, ... | [org.axonframework.axonserver.connector.util.G... |
| 20 | axon-server-connector-5.0.3 | 5 | 72 | 8 | 5 | 100.0 | io.grpc | 3 | 10 | 60.000000 | 13.888889 | [org.axonframework.axonserver.connector, org.a... | [org.axonframework.axonserver.connector.Defaul... |
| 21 | axon-server-connector-5.0.3 | 5 | 72 | 8 | 5 | 100.0 | javax.annotation | 1 | 1 | 20.000000 | 1.388889 | [org.axonframework.axonserver.connector] | [org.axonframework.axonserver.connector.AxonSe... |
| 22 | axon-server-connector-5.0.3 | 5 | 72 | 8 | 5 | 100.0 | org.springframework | 1 | 1 | 20.000000 | 1.388889 | [org.axonframework.axonserver.connector] | [org.axonframework.axonserver.connector.AxonSe... |
| 23 | axon-server-connector-5.0.3 | 5 | 72 | 8 | 5 | 100.0 | reactor.core | 1 | 1 | 20.000000 | 1.388889 | [org.axonframework.axonserver.connector.util] | [org.axonframework.axonserver.connector.util.P... |
| 24 | axon-spring-boot-autoconfigure-5.0.3 | 7 | 75 | 9 | 7 | 100.0 | org.springframework | 6 | 60 | 85.714286 | 80.000000 | [org.axonframework.extension.springboot, org.a... | [org.axonframework.extension.springboot.TagsCo... |
| 25 | axon-spring-boot-autoconfigure-5.0.3 | 7 | 75 | 9 | 7 | 100.0 | jakarta.annotation | 4 | 15 | 57.142857 | 20.000000 | [org.axonframework.extension.springboot, org.a... | [org.axonframework.extension.springboot.EventP... |
| 26 | axon-spring-boot-autoconfigure-5.0.3 | 7 | 75 | 9 | 7 | 100.0 | org.axonframework | 3 | 10 | 42.857143 | 13.333333 | [org.axonframework.extension.springboot, org.a... | [org.axonframework.extension.springboot.EventP... |
| 27 | axon-spring-boot-autoconfigure-5.0.3 | 7 | 75 | 9 | 7 | 100.0 | jakarta.persistence | 2 | 5 | 28.571429 | 6.666667 | [org.axonframework.extension.springboot.autoco... | [org.axonframework.extension.springboot.autoco... |
| 28 | axon-spring-boot-autoconfigure-5.0.3 | 7 | 75 | 9 | 7 | 100.0 | org.slf4j | 2 | 2 | 28.571429 | 2.666667 | [org.axonframework.extension.springboot.servic... | [org.axonframework.extension.springboot.servic... |
| 29 | axon-spring-boot-autoconfigure-5.0.3 | 7 | 75 | 9 | 7 | 100.0 | com.fasterxml | 1 | 2 | 14.285714 | 2.666667 | [org.axonframework.extension.springboot.autoco... | [org.axonframework.extension.springboot.autoco... |
The following table uses pivot to show the artifacts in columns, the external dependencies in rows and the number of internal packages as values.
| artifactName | axon-messaging-5.0.3 | axon-spring-boot-autoconfigure-5.0.3 | axon-server-connector-5.0.3 | axon-common-5.0.3 | axon-conversion-5.0.3 | axon-test-5.0.3 | axon-eventsourcing-5.0.3 | axon-metrics-micrometer-5.0.3 | axon-modelling-5.0.3 | axon-update-5.0.3 | axon-tracing-opentelemetry-5.0.3 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| externalPackageName | |||||||||||
| IdTypeParameterResolver | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| ScannedEntityCreator | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| WrappedEventCriteriaBuilderMethod | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| com.fasterxml.jackson.annotation | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| com.fasterxml.jackson.core | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| tools.jackson.core | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| tools.jackson.databind | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| tools.jackson.databind.json | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| tools.jackson.databind.node | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| tools.jackson.dataformat.cbor | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
95 rows × 11 columns
Table 7c - Top 15 external dependency using artifacts as columns with their external packages (first 2 levels)
The following table uses pivot to show the artifacts in columns, the external package name grouped by its first two levels in rows and the number of internal packages as values. For example javax.xml.namespace and javax.xml.stream will be grouped together to javax.xml.
| artifactName | axon-messaging-5.0.3 | axon-server-connector-5.0.3 | axon-spring-boot-autoconfigure-5.0.3 | axon-common-5.0.3 | axon-test-5.0.3 | axon-eventsourcing-5.0.3 | axon-conversion-5.0.3 | axon-modelling-5.0.3 | axon-update-5.0.3 | axon-metrics-micrometer-5.0.3 | axon-tracing-opentelemetry-5.0.3 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| externalPackageNameFirst2Levels | |||||||||||
| IdTypeParameterResolver | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| ScannedEntityCreator | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| WrappedEventCriteriaBuilderMethod | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| com.fasterxml | 3 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| com.google | 0 | 4 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| io.axoniq | 0 | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| io.grpc | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| io.micrometer | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 |
| io.opentelemetry | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| jakarta.annotation | 58 | 5 | 4 | 9 | 4 | 7 | 5 | 7 | 4 | 2 | 1 |
| jakarta.persistence | 2 | 0 | 2 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| jakarta.validation | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| javax.annotation | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| javax.cache | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| org.apache | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| org.awaitility | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| org.axonframework | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| org.ehcache | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| org.hamcrest | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
| org.jetbrains | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| org.junit | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
| org.reactivestreams | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| org.slf4j | 15 | 4 | 2 | 4 | 1 | 2 | 4 | 2 | 3 | 0 | 1 |
| org.springframework | 0 | 1 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| org.testcontainers | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| reactor.core | 5 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| reactor.util | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| tools.jackson | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
The following chart shows the top 15 external package using artifacts and breaks down which external packages they use in how many different internal packages with stacked bars.
Note that every external dependency is counted separately so that if on internal package uses two external packages it will be displayed for both and so stacked twice.
<Figure size 640x480 with 0 Axes>
Table 7 Chart 2 - Top 15 external dependency using artifacts and their external packages (first 2 levels) stacked
The following chart shows the top 15 external package using artifacts and breaks down which external packages (first 2 levels) are used in how many different internal packages with stacked bars.
Note that every external dependency is counted separately so that if on internal package uses two external packages it will be displayed for both and so stacked twice.
<Figure size 640x480 with 0 Axes>
The following table shows the most used external packages separately for each artifact including external annotations. The results are grouped per artifact and sorted by the artifacts with the highest external type usage rate descending. Additionally, for each artifact the top 5 used external packages are listed in the top5ExternalPackages column.
The intention of this table is to find artifacts that use a lot of external dependencies in relation to their size and get an overview per artifact with the top 5 used external packages, the number of external types and packages used etc. .
Only the last 40 entries are shown. The whole table can be found in the following CSV report:
External_package_usage_per_artifact_sorted_top
Columns:
- artifactName is used to group the the external package usage per artifact for a more detailed analysis.
- numberOfTypesInArtifact represents the total count of all analyzed types for the artifact
- numberOfExternalTypesInArtifact is the number of all external types that are used by the artifact
- numberOfExternalPackagesInArtifact is the number of all external packages that are used by the artifact
- externalTypeRate is the numberOfExternalTypesInArtifact / numberOfTypesInArtifact * 100
- numberOfExternalTypeCaller refers to the distinct types that make use of the external package
- numberOfExternalTypeCalls includes every invocation or reference to the types in the external package
- numberOfExternalPackages is the number of distinct external packages used by the artifact
- top5ExternalPackages contains a list of the top 5 most used external packages of the artifact
- someExternalTypes contains a list of lists and is also mean't to provide some examples of external types used
| artifactName | numberOfTypesInArtifact | numberOfExternalTypesInArtifact | numberOfExternalPackagesInArtifact | externalTypeRate | numberOfExternalTypeCaller | numberOfExternalTypeCalls | numberOfExternalPackages | top5ExternalPackages | someExternalTypes | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | axon-tracing-opentelemetry-5.0.3 | 5 | 16 | 6 | 320.000000 | 26 | 85 | 6 | [io.opentelemetry.context.propagation, io.open... | [ContextPropagators, TextMapPropagator, TextMa... |
| 1 | axon-server-connector-5.0.3 | 72 | 113 | 23 | 156.944444 | 242 | 1197 | 23 | [io.axoniq.axonserver.grpc, jakarta.annotation... | [MetaDataValue$DataCase, ProcessingKey, Proces... |
| 2 | axon-spring-boot-autoconfigure-5.0.3 | 75 | 100 | 39 | 133.333333 | 259 | 485 | 39 | [org.springframework.boot.autoconfigure.condit... | [AnyNestedCondition, AllNestedConditions, Cond... |
| 3 | axon-metrics-micrometer-5.0.3 | 16 | 20 | 7 | 125.000000 | 55 | 170 | 7 | [io.micrometer.core.instrument, jakarta.annota... | [Clock, MeterRegistry, Timer, Timer$Builder, T... |
| 4 | axon-conversion-5.0.3 | 35 | 40 | 15 | 114.285714 | 127 | 517 | 15 | [jakarta.annotation, org.apache.avro, org.apac... | [Nonnull, Nullable, AvroRuntimeException, Sche... |
| 5 | axon-test-5.0.3 | 78 | 32 | 12 | 41.025641 | 105 | 496 | 12 | [org.hamcrest, jakarta.annotation, org.junit.j... | [Matcher, Description, TypeSafeMatcher, BaseMa... |
| 6 | axon-eventsourcing-5.0.3 | 100 | 20 | 6 | 20.000000 | 101 | 389 | 6 | [jakarta.annotation, jakarta.persistence, org.... | [Nonnull, Nullable, EntityManager, TypedQuery,... |
| 7 | axon-common-5.0.3 | 156 | 29 | 11 | 18.589744 | 116 | 560 | 11 | [jakarta.annotation, org.slf4j, org.ehcache.ev... | [Nonnull, Nullable, Logger, LoggerFactory, Eve... |
| 8 | axon-update-5.0.3 | 23 | 4 | 2 | 17.391304 | 28 | 129 | 2 | [jakarta.annotation, org.slf4j] | [Nonnull, Nullable, Logger, LoggerFactory] |
| 9 | axon-messaging-5.0.3 | 579 | 35 | 9 | 6.044905 | 633 | 3386 | 9 | [jakarta.annotation, org.slf4j, com.fasterxml.... | [Nonnull, Nullable, Logger, LoggerFactory, Jso... |
| 10 | axon-modelling-5.0.3 | 92 | 4 | 2 | 4.347826 | 89 | 558 | 2 | [jakarta.annotation, org.slf4j] | [Nonnull, Nullable, Logger, LoggerFactory] |
This table lists internal packages and the artifacts they belong to that use many different external types of a specific external package without taking external annotations into account.
Only the last 40 entries are shown. The whole table can be found in the following CSV report:
External_package_usage_per_artifact_and_package
Columns:
- artifactName that contains the type that calls the external package
- fullPackageName is the package within the artifact that contains the type that calls the external package
- externalPackageName identifies the external package as described above
- numberOfExternalTypeCaller refers to the distinct types that make use of the external package
- numberOfExternalTypeCalls includes every invocation or reference to the types in the external package
- numberOfTypesInPackage represents the total count of all types in that package
- externalTypeNames contains a list of actually utilized types of the external package
- packageName contains the name of the package (last part of fullPackageName)
| artifactName | fullPackageName | externalPackageName | numberOfExternalTypeCaller | numberOfExternalTypeCalls | numberOfTypesInPackage | externalTypeNames | packageName | |
|---|---|---|---|---|---|---|---|---|
| 0 | axon-test-5.0.3 | org.axonframework.test.matchers | org.hamcrest | 36 | 142 | 23 | [BaseMatcher, Description, Matcher, TypeSafeMa... | matchers |
| 1 | axon-metrics-micrometer-5.0.3 | org.axonframework.extension.metrics.micrometer | io.micrometer.core.instrument | 35 | 134 | 11 | [MeterRegistry, Timer, Timer$Builder, Clock, T... | micrometer |
| 2 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.event | io.axoniq.axonserver.grpc.event.dcb | 28 | 104 | 14 | [GetSequenceAtResponse, TaggedEvent, Event, Ge... | event |
| 3 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.util | io.grpc | 17 | 35 | 13 | [Status, Metadata, Metadata$AsciiMarshaller, M... | util |
| 4 | axon-conversion-5.0.3 | org.axonframework.conversion.avro | org.apache.avro | 16 | 54 | 10 | [AvroRuntimeException, SchemaCompatibility$Inc... | avro |
| 5 | axon-messaging-5.0.3 | org.axonframework.messaging.eventhandling.proc... | org.slf4j | 15 | 87 | 24 | [Logger, LoggerFactory] | pooled |
| 6 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.query | io.axoniq.axonserver.grpc.query | 14 | 98 | 11 | [SubscriptionQuery, QueryResponse, QueryReques... | query |
| 7 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector | io.axoniq.axonserver.grpc | 12 | 94 | 28 | [ErrorMessage, InstructionAck$Builder, Instruc... | connector |
| 8 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.event | org.slf4j | 10 | 44 | 14 | [LoggerFactory, Logger] | event |
| 9 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.query | io.axoniq.axonserver.connector | 10 | 37 | 11 | [FlowControl, Registration, ReplyChannel, Resu... | query |
| 10 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.query | io.axoniq.axonserver.grpc | 9 | 50 | 11 | [ErrorMessage, SerializedObject$Builder, MetaD... | query |
| 11 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.autoconfig | org.axonframework.extension.spring.config | 9 | 33 | 41 | [SpringComponentRegistry, SpringLifecycleRegis... | autoconfig |
| 12 | axon-tracing-opentelemetry-5.0.3 | org.axonframework.extension.tracing.opentelemetry | io.opentelemetry.api.trace | 9 | 46 | 5 | [SpanKind, Span, Tracer, SpanBuilder, StatusCo... | opentelemetry |
| 13 | axon-tracing-opentelemetry-5.0.3 | org.axonframework.extension.tracing.opentelemetry | io.opentelemetry.context.propagation | 9 | 15 | 5 | [TextMapSetter, TextMapPropagator, TextMapGett... | opentelemetry |
| 14 | axon-common-5.0.3 | org.axonframework.common.caching | org.ehcache.event | 8 | 30 | 13 | [EventOrdering, EventFiring, EventType, CacheE... | caching |
| 15 | axon-common-5.0.3 | org.axonframework.common.caching | javax.cache.event | 8 | 26 | 13 | [CacheEntryRemovedListener, CacheEntryUpdatedL... | caching |
| 16 | axon-conversion-5.0.3 | org.axonframework.conversion.avro | org.apache.avro.message | 8 | 28 | 10 | [SchemaStore, BinaryMessageEncoder, BinaryMess... | avro |
| 17 | axon-conversion-5.0.3 | org.axonframework.conversion.jackson | tools.jackson.databind | 8 | 39 | 5 | [ObjectMapper, JavaType, JsonNode] | jackson |
| 18 | axon-conversion-5.0.3 | org.axonframework.conversion.jackson2 | com.fasterxml.jackson.databind | 8 | 42 | 5 | [ObjectMapper, JsonNode, JavaType] | jackson2 |
| 19 | axon-messaging-5.0.3 | org.axonframework.messaging.core.annotation | org.slf4j | 8 | 17 | 51 | [Logger, LoggerFactory] | annotation |
| 20 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector | io.axoniq.axonserver.grpc.control | 8 | 46 | 28 | [TopologyChange, UpdateType, CommandSubscripti... | connector |
| 21 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.command | io.axoniq.axonserver.grpc.command | 8 | 63 | 6 | [Command$Builder, CommandResponse$Builder, Com... | command |
| 22 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.event | io.axoniq.axonserver.connector.event | 8 | 38 | 14 | [DcbEventChannel$AppendEventsTransaction, DcbE... | event |
| 23 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.util | io.axoniq.axonserver.grpc | 8 | 81 | 13 | [ProcessingKey, ProcessingInstruction$Builder,... | util |
| 24 | axon-test-5.0.3 | org.axonframework.test.extension | org.junit.jupiter.api.extension | 8 | 28 | 4 | [ParameterResolutionException, BeforeEachCallb... | extension |
| 25 | axon-update-5.0.3 | org.axonframework.update | org.slf4j | 8 | 27 | 5 | [LoggerFactory, Logger] | update |
| 26 | axon-conversion-5.0.3 | org.axonframework.conversion.avro | org.apache.avro.generic | 7 | 29 | 10 | [GenericRecord, GenericData, GenericDatumReader] | avro |
| 27 | axon-eventsourcing-5.0.3 | org.axonframework.eventsourcing.eventstore.jpa | org.slf4j | 7 | 16 | 13 | [Logger, LoggerFactory] | jpa |
| 28 | axon-eventsourcing-5.0.3 | org.axonframework.eventsourcing.eventstore.jpa | jakarta.persistence | 7 | 40 | 13 | [EntityManager, TypedQuery, Index, GenerationT... | jpa |
| 29 | axon-messaging-5.0.3 | org.axonframework.messaging.core | reactor.core.publisher | 7 | 30 | 80 | [Mono, Flux, FluxSink] | core |
| 30 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.command | io.axoniq.axonserver.grpc | 7 | 31 | 6 | [ErrorMessage, ProcessingInstruction$Builder, ... | command |
| 31 | axon-test-5.0.3 | org.axonframework.test.fixture | org.hamcrest | 7 | 47 | 32 | [Matcher, Description, CoreMatchers, StringDes... | fixture |
| 32 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.query | io.axoniq.axonserver.connector.query | 6 | 19 | 11 | [QueryHandler, QueryHandler$UpdateHandler, Que... | query |
| 33 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.autoconfig | org.springframework.context.annotation | 6 | 10 | 41 | [ConfigurationCondition$ConfigurationPhase, Co... | autoconfig |
| 34 | axon-common-5.0.3 | org.axonframework.common | org.slf4j | 5 | 14 | 34 | [LoggerFactory, Logger] | common |
| 35 | axon-common-5.0.3 | org.axonframework.common.configuration | org.slf4j | 5 | 27 | 46 | [LoggerFactory, Logger] | configuration |
| 36 | axon-common-5.0.3 | org.axonframework.common.jpa | jakarta.persistence | 5 | 11 | 4 | [EntityManager, EntityManagerFactory] | jpa |
| 37 | axon-messaging-5.0.3 | org.axonframework.messaging.core | org.reactivestreams | 5 | 10 | 80 | [Subscription, Subscriber, Publisher] | core |
| 38 | axon-messaging-5.0.3 | org.axonframework.messaging.core.interception | jakarta.validation | 5 | 16 | 21 | [ConstraintViolation, Validation, ValidatorFac... | interception |
| 39 | axon-messaging-5.0.3 | org.axonframework.messaging.core.unitofwork.tr... | jakarta.persistence | 5 | 16 | 2 | [EntityManagerFactory, EntityManager, EntityTr... | jpa |
This table shows internal types that utilize the most different external types and packages. These have the highest probability of change depending on external libraries. A case-by-case approach is also advisable here because there could for example also be code units that encapsulate an external library and have this high count of external dependencies on purpose.
Only the last 20 entries are shown. The whole table can be found in the following CSV report:
External_package_usage_per_type
Columns:
- artifactName that contains the type that calls the external package
- fullPackageName is the package within the artifact that contains the type that calls external types
- typeName identifies the internal type within the package and artifact that calls external types
- numberOfExternalTypeCaller and numberOfExternalTypes refers to the distinct external types that are used by the internal type
- numberOfExternalTypeCalls includes every invocation or reference to the types in the external package
- numberOfTypesInPackage represents the total count of all types in that package
- numberOfExternalPackages shows how many different external packages are used by the internal type
- externalPackageNames contains the list of names of the different external packages that are used by the internal type
- externalTypeNames contains a list of actually utilized types of the external package
- packageName contains the name of the package (last part of fullPackageName)
| artifactName | fullPackageName | typeName | numberOfExternalTypeCaller | numberOfExternalTypeCalls | numberOfExternalPackages | numberOfExternalTypes | externalPackageNames | externalTypeNames | packageName | fullTypeName | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.autoconfig | ConverterAutoConfiguration | 17 | 53 | 12 | 17 | [jakarta.annotation, org.springframework.boot.... | [jakarta.annotation.Nonnull, org.springframewo... | autoconfig | org.axonframework.extension.springboot.autocon... |
| 1 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.autoconfig | AxonServerAutoConfiguration | 14 | 24 | 10 | 14 | [jakarta.annotation, org.springframework.boot.... | [jakarta.annotation.Nonnull, org.springframewo... | autoconfig | org.axonframework.extension.springboot.autocon... |
| 2 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.autoconfig | AvroSchemaStoreAutoConfiguration | 14 | 28 | 8 | 14 | [org.springframework.boot.autoconfigure, org.s... | [org.springframework.boot.autoconfigure.AutoCo... | autoconfig | org.axonframework.extension.springboot.autocon... |
| 3 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.util | AbstractQualifiedBeanCondition | 12 | 24 | 8 | 12 | [org.slf4j, jakarta.annotation, org.springfram... | [org.slf4j.Logger, org.slf4j.LoggerFactory, ja... | util | org.axonframework.extension.springboot.util.Ab... |
| 4 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.autoconfig | EventProcessingAutoConfiguration | 10 | 17 | 7 | 10 | [jakarta.annotation, org.springframework.boot.... | [jakarta.annotation.Nonnull, org.springframewo... | autoconfig | org.axonframework.extension.springboot.autocon... |
| 5 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.autoconfig | JpaTransactionAutoConfiguration | 8 | 11 | 7 | 8 | [org.springframework.boot.autoconfigure, org.s... | [org.springframework.boot.autoconfigure.AutoCo... | autoconfig | org.axonframework.extension.springboot.autocon... |
| 6 | axon-metrics-micrometer-5.0.3 | org.axonframework.extension.metrics.micrometer... | MicrometerMetricsAutoConfiguration | 10 | 18 | 6 | 10 | [io.micrometer.core.instrument, io.micrometer.... | [io.micrometer.core.instrument.MeterRegistry, ... | springboot | org.axonframework.extension.metrics.micrometer... |
| 7 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector | AxonServerConnectionManager$Builder | 9 | 45 | 6 | 9 | [io.axoniq.axonserver.connector, io.axoniq.axo... | [io.axoniq.axonserver.connector.AxonServerConn... | connector | org.axonframework.axonserver.connector.AxonSer... |
| 8 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.event | AggregateBasedAxonServerEventStorageEngine | 13 | 64 | 6 | 13 | [io.axoniq.axonserver.grpc, jakarta.annotation... | [io.axoniq.axonserver.grpc.MetaDataValue$Build... | event | org.axonframework.axonserver.connector.event.A... |
| 9 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.event | EventProcessorControlService | 7 | 31 | 6 | 7 | [jakarta.annotation, org.slf4j, io.axoniq.axon... | [jakarta.annotation.Nonnull, org.slf4j.Logger,... | event | org.axonframework.axonserver.connector.event.E... |
| 10 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.autoconfig | JpaEventStoreAutoConfiguration | 7 | 8 | 6 | 7 | [org.springframework.boot.autoconfigure, org.s... | [org.springframework.boot.autoconfigure.AutoCo... | autoconfig | org.axonframework.extension.springboot.autocon... |
| 11 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.autoconfig | ObjectMapperAutoConfiguration | 11 | 14 | 6 | 11 | [org.springframework.boot.autoconfigure, org.s... | [org.springframework.boot.autoconfigure.AutoCo... | autoconfig | org.axonframework.extension.springboot.autocon... |
| 12 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.autoconfig | AxonAutoConfiguration | 12 | 48 | 6 | 12 | [org.springframework.boot.autoconfigure, org.s... | [org.springframework.boot.autoconfigure.AutoCo... | autoconfig | org.axonframework.extension.springboot.autocon... |
| 13 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.autoconfig | JpaAutoConfiguration | 8 | 14 | 6 | 8 | [org.springframework.boot.autoconfigure, org.s... | [org.springframework.boot.autoconfigure.AutoCo... | autoconfig | org.axonframework.extension.springboot.autocon... |
| 14 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.autoconfig | JdbcTransactionAutoConfiguration | 7 | 10 | 6 | 7 | [org.springframework.boot.autoconfigure, org.s... | [org.springframework.boot.autoconfigure.AutoCo... | autoconfig | org.axonframework.extension.springboot.autocon... |
| 15 | axon-spring-boot-autoconfigure-5.0.3 | org.axonframework.extension.springboot.util | DefaultEntityRegistrar | 6 | 7 | 6 | 6 | [jakarta.annotation, org.springframework.boot.... | [jakarta.annotation.Nonnull, org.springframewo... | util | org.axonframework.extension.springboot.util.De... |
| 16 | axon-conversion-5.0.3 | org.axonframework.conversion.avro | AvroUtil | 16 | 71 | 5 | 16 | [org.apache.avro, jakarta.annotation, org.apac... | [org.apache.avro.SchemaCompatibility$Incompati... | avro | org.axonframework.conversion.avro.AvroUtil |
| 17 | axon-conversion-5.0.3 | org.axonframework.conversion.avro | SpecificRecordBaseConverterStrategy | 8 | 38 | 5 | 8 | [jakarta.annotation, org.apache.avro.generic, ... | [jakarta.annotation.Nonnull, org.apache.avro.g... | avro | org.axonframework.conversion.avro.SpecificReco... |
| 18 | axon-conversion-5.0.3 | org.axonframework.conversion.jackson | JacksonConverter | 9 | 42 | 5 | 9 | [jakarta.annotation, tools.jackson.databind, t... | [jakarta.annotation.Nonnull, jakarta.annotatio... | jackson | org.axonframework.conversion.jackson.JacksonCo... |
| 19 | axon-server-connector-5.0.3 | org.axonframework.axonserver.connector.command | AxonServerCommandBusConnector | 9 | 40 | 5 | 9 | [jakarta.annotation, org.slf4j, io.axoniq.axon... | [jakarta.annotation.Nonnull, org.slf4j.Logger,... | command | org.axonframework.axonserver.connector.command... |
This table shows how many types use one external package, how many use two, etc. . This gives an overview of the distribution of external package calls and the overall coupling to external libraries. The higher the count of distinct external packages the lower should be the count of types that use them. Dependencies to external annotations are left out here.
More details about which types have the highest external package dependency usage can be in the tables 4 and 5 above.
Only the last 40 entries are shown. The whole table can be found in the following CSV report:
External_package_usage_per_artifact_distribution
Columns:
- artifactName that contains the type that calls the external package
- artifactTypes the total count of types in the artifact
- numberOfExternalPackages the number of distinct external packages used
- numberOfTypes in the artifact where the numberOfExternalPackages applies
- numberOfTypesPercentage in the artifact where the numberOfExternalPackages applies in %
| artifactName | artifactPackages | artifactTypes | numberOfExternalPackages | numberOfPackages | numberOfTypes | typesCallingExternalRate | packagesCallingExternalRate | |
|---|---|---|---|---|---|---|---|---|
| 0 | axon-messaging-5.0.3 | 59 | 579 | 7 | 20 | 48 | 8.290155 | 33.898305 |
| 1 | axon-common-5.0.3 | 15 | 156 | 10 | 7 | 18 | 11.538462 | 46.666667 |
| 2 | axon-spring-boot-autoconfigure-5.0.3 | 7 | 75 | 35 | 7 | 36 | 48.000000 | 100.000000 |
| 3 | axon-server-connector-5.0.3 | 5 | 72 | 20 | 5 | 51 | 70.833333 | 100.000000 |
| 4 | axon-test-5.0.3 | 6 | 78 | 10 | 5 | 25 | 32.051282 | 83.333333 |
| 5 | axon-conversion-5.0.3 | 5 | 35 | 14 | 4 | 20 | 57.142857 | 80.000000 |
| 6 | axon-eventsourcing-5.0.3 | 7 | 100 | 5 | 4 | 9 | 9.000000 | 57.142857 |
| 7 | axon-metrics-micrometer-5.0.3 | 3 | 16 | 2 | 3 | 13 | 81.250000 | 100.000000 |
| 8 | axon-update-5.0.3 | 5 | 23 | 1 | 3 | 7 | 30.434783 | 60.000000 |
| 9 | axon-modelling-5.0.3 | 7 | 92 | 1 | 2 | 2 | 2.173913 | 28.571429 |
| 10 | axon-tracing-opentelemetry-5.0.3 | 1 | 5 | 5 | 1 | 5 | 100.000000 | 100.000000 |
The following table shows the external package usage for every artifact grouped by the number of distinct internal dependent packages. The intention is to find external package usage spread across multiple internal packages in artifacts.
Artifacts that encapsulate external dependency calls in one internal package overall (or each) are easier to change if those external dependencies change and are most likely applying a Hexagonal architecture. Artifacts that use external dependencies in multiple internal packages need more effort to adapt to changes of those external dependencies. On one hand this could be intended e.g. when using standardized libraries. On the other hand this might indicate higher than necessary coupling.
The whole table can be found in the following CSV report:
External_package_usage_per_internal_package_count
| artifactName | axon-common-5.0.3 | axon-conversion-5.0.3 | axon-eventsourcing-5.0.3 | axon-messaging-5.0.3 | axon-metrics-micrometer-5.0.3 | axon-modelling-5.0.3 | axon-server-connector-5.0.3 | axon-spring-boot-autoconfigure-5.0.3 | axon-test-5.0.3 | axon-update-5.0.3 |
|---|---|---|---|---|---|---|---|---|---|---|
| numberOfPackages | ||||||||||
| 2 | 0.000000 | 0.0 | 28.571429 | 3.389831 | 66.666667 | 28.571429 | 40.0 | 28.571429 | 33.333333 | 0.0 |
| 3 | 0.000000 | 0.0 | 0.000000 | 5.084746 | 100.000000 | 0.000000 | 60.0 | 42.857143 | 50.000000 | 60.0 |
| 4 | 26.666667 | 80.0 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 80.0 | 57.142857 | 66.666667 | 80.0 |
| 5 | 0.000000 | 100.0 | 0.000000 | 8.474576 | 0.000000 | 0.000000 | 100.0 | 0.000000 | 0.000000 | 0.0 |
| 7 | 0.000000 | 0.0 | 100.000000 | 0.000000 | 0.000000 | 100.000000 | 0.0 | 0.000000 | 0.000000 | 0.0 |
| 9 | 60.000000 | 0.0 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.0 | 0.000000 | 0.000000 | 0.0 |
| 15 | 0.000000 | 0.0 | 0.000000 | 25.423729 | 0.000000 | 0.000000 | 0.0 | 0.000000 | 0.000000 | 0.0 |
| 58 | 0.000000 | 0.0 | 0.000000 | 98.305085 | 0.000000 | 0.000000 | 0.0 | 0.000000 | 0.000000 | 0.0 |
This table lists all artifacts and their external package dependencies usage aggregated over internal packages.
The intention behind this is to find artifacts that use an external dependency across multiple internal packages. This might be intended for frameworks and standardized libraries and helps to quantify how widely those are used. For some external dependencies it might be beneficial to only access it from one package and provide an abstraction for internal usage following a Hexagonal architecture. Thus, this table may also help in finding application for the Hexagonal architecture or similar approaches (Domain Driven Design Anti Corruption Layer). After all it is easier to update or replace such external dependencies when they are used in specific areas and not all over the code.
Only the last 40 entries are shown. The whole table can be found in the following CSV report:
External_package_usage_per_artifact_package_aggregated
Columns:
- artifactName that contains the type that calls the external package
- artifactPackages is the total count of packages in the artifact
- artifactTypes is the total count of types in the artifact
- numberOfExternalPackages the number of distinct external packages used
- [min,max,med,avg,std]NumberOfPackages provide statistics based on each external package and its package usage within the artifact
- [min,max,med,avg,std]NumberOfPackagesPercentage provide statistics in % based on each external package and its package usage within the artifact in respect to the overall count of packages in the artifact
- [min,max,med,avg,std]NumberOfTypes provide statistics based on each external package and its type usage within the artifact
- [min,max,med,avg,std]NumberOfTypePercentage provide statistics in % based on each external package and its type usage within the artifact in respect to the overall count of packages in the artifact
- numberOfTypes in the artifact where the numberOfExternalPackages applies
- numberOfTypesPercentage in the artifact where the numberOfExternalPackages applies in %
| artifactName | artifactPackages | numberOfExternalPackages | minNumberOfPackages | medNumberOfPackages | avgNumberOfPackages | maxNumberOfPackages | stdNumberOfPackages | |
|---|---|---|---|---|---|---|---|---|
| 0 | axon-messaging-5.0.3 | 59 | 7 | 1 | 2.0 | 4.000000 | 15 | 5.066228 |
| 1 | axon-server-connector-5.0.3 | 5 | 20 | 1 | 1.0 | 1.900000 | 5 | 1.333772 |
| 2 | axon-common-5.0.3 | 15 | 10 | 1 | 1.0 | 1.300000 | 4 | 0.948683 |
| 3 | axon-conversion-5.0.3 | 5 | 14 | 1 | 1.0 | 1.214286 | 4 | 0.801784 |
| 4 | axon-metrics-micrometer-5.0.3 | 3 | 2 | 2 | 2.5 | 2.500000 | 3 | 0.707107 |
| 5 | axon-spring-boot-autoconfigure-5.0.3 | 7 | 35 | 1 | 1.0 | 1.285714 | 3 | 0.518563 |
| 6 | axon-test-5.0.3 | 6 | 10 | 1 | 1.0 | 1.200000 | 3 | 0.632456 |
| 7 | axon-update-5.0.3 | 5 | 1 | 3 | 3.0 | 3.000000 | 3 | 0.000000 |
| 8 | axon-eventsourcing-5.0.3 | 7 | 5 | 1 | 1.0 | 1.200000 | 2 | 0.447214 |
| 9 | axon-modelling-5.0.3 | 7 | 1 | 2 | 2.0 | 2.000000 | 2 | 0.000000 |
| 10 | axon-tracing-opentelemetry-5.0.3 | 1 | 5 | 1 | 1.0 | 1.000000 | 1 | 0.000000 |
| artifactName | artifactPackages | numberOfExternalPackages | minNumberOfPackagesPercentage | medNumberOfPackagesPercentage | avgNumberOfPackagesPercentage | maxNumberOfPackagesPercentage | stdNumberOfPackagesPercentage | |
|---|---|---|---|---|---|---|---|---|
| 0 | axon-messaging-5.0.3 | 59 | 7 | 1.694915 | 3.389831 | 6.779661 | 25.423729 | 8.586827 |
| 1 | axon-server-connector-5.0.3 | 5 | 20 | 20.000000 | 20.000000 | 38.000000 | 100.000000 | 26.675437 |
| 2 | axon-common-5.0.3 | 15 | 10 | 6.666667 | 6.666667 | 8.666667 | 26.666667 | 6.324555 |
| 3 | axon-conversion-5.0.3 | 5 | 14 | 20.000000 | 20.000000 | 24.285714 | 80.000000 | 16.035675 |
| 4 | axon-metrics-micrometer-5.0.3 | 3 | 2 | 66.666667 | 83.333333 | 83.333333 | 100.000000 | 23.570226 |
| 5 | axon-spring-boot-autoconfigure-5.0.3 | 7 | 35 | 14.285714 | 14.285714 | 18.367347 | 42.857143 | 7.408043 |
| 6 | axon-test-5.0.3 | 6 | 10 | 16.666667 | 16.666667 | 20.000000 | 50.000000 | 10.540926 |
| 7 | axon-update-5.0.3 | 5 | 1 | 60.000000 | 60.000000 | 60.000000 | 60.000000 | 0.000000 |
| 8 | axon-eventsourcing-5.0.3 | 7 | 5 | 14.285714 | 14.285714 | 17.142857 | 28.571429 | 6.388766 |
| 9 | axon-modelling-5.0.3 | 7 | 1 | 28.571429 | 28.571429 | 28.571429 | 28.571429 | 0.000000 |
| 10 | axon-tracing-opentelemetry-5.0.3 | 1 | 5 | 100.000000 | 100.000000 | 100.000000 | 100.000000 | 0.000000 |
| artifactName | artifactTypes | numberOfExternalPackages | minNumberOfTypes | medNumberOfTypes | avgNumberOfTypes | maxNumberOfTypes | stdNumberOfTypes | |
|---|---|---|---|---|---|---|---|---|
| 0 | axon-messaging-5.0.3 | 579 | 7 | 2 | 4.0 | 7.857143 | 31 | 10.463087 |
| 1 | axon-server-connector-5.0.3 | 72 | 20 | 1 | 3.5 | 5.200000 | 18 | 4.840618 |
| 2 | axon-common-5.0.3 | 156 | 10 | 1 | 1.0 | 2.300000 | 8 | 2.263233 |
| 3 | axon-conversion-5.0.3 | 35 | 14 | 1 | 2.5 | 3.071429 | 6 | 1.899971 |
| 4 | axon-metrics-micrometer-5.0.3 | 16 | 2 | 2 | 7.5 | 7.500000 | 13 | 7.778175 |
| 5 | axon-spring-boot-autoconfigure-5.0.3 | 75 | 35 | 1 | 2.0 | 2.285714 | 8 | 1.724758 |
| 6 | axon-test-5.0.3 | 78 | 10 | 1 | 1.0 | 3.100000 | 22 | 6.640783 |
| 7 | axon-update-5.0.3 | 23 | 1 | 7 | 7.0 | 7.000000 | 7 | 0.000000 |
| 8 | axon-eventsourcing-5.0.3 | 100 | 5 | 1 | 1.0 | 2.600000 | 6 | 2.302173 |
| 9 | axon-modelling-5.0.3 | 92 | 1 | 2 | 2.0 | 2.000000 | 2 | 0.000000 |
| 10 | axon-tracing-opentelemetry-5.0.3 | 5 | 5 | 1 | 2.0 | 2.200000 | 4 | 1.303840 |
| artifactName | artifactTypes | numberOfExternalPackages | minNumberOfTypesPercentage | medNumberOfTypesPercentage | avgNumberOfTypesPercentage | maxNumberOfTypesPercentage | stdNumberOfTypesPercentage | |
|---|---|---|---|---|---|---|---|---|
| 0 | axon-messaging-5.0.3 | 579 | 7 | 0.345423 | 0.690846 | 1.357019 | 5.354059 | 1.807096 |
| 1 | axon-server-connector-5.0.3 | 72 | 20 | 1.388889 | 4.861111 | 7.222222 | 25.000000 | 6.723080 |
| 2 | axon-common-5.0.3 | 156 | 10 | 0.641026 | 0.641026 | 1.474359 | 5.128205 | 1.450790 |
| 3 | axon-conversion-5.0.3 | 35 | 14 | 2.857143 | 7.142857 | 8.775510 | 17.142857 | 5.428489 |
| 4 | axon-metrics-micrometer-5.0.3 | 16 | 2 | 12.500000 | 46.875000 | 46.875000 | 81.250000 | 48.613591 |
| 5 | axon-spring-boot-autoconfigure-5.0.3 | 75 | 35 | 1.333333 | 2.666667 | 3.047619 | 10.666667 | 2.299677 |
| 6 | axon-test-5.0.3 | 78 | 10 | 1.282051 | 1.282051 | 3.974359 | 28.205128 | 8.513824 |
| 7 | axon-update-5.0.3 | 23 | 1 | 30.434783 | 30.434783 | 30.434783 | 30.434783 | 0.000000 |
| 8 | axon-eventsourcing-5.0.3 | 100 | 5 | 1.000000 | 1.000000 | 2.600000 | 6.000000 | 2.302173 |
| 9 | axon-modelling-5.0.3 | 92 | 1 | 2.173913 | 2.173913 | 2.173913 | 2.173913 | 0.000000 |
| 10 | axon-tracing-opentelemetry-5.0.3 | 5 | 5 | 20.000000 | 40.000000 | 44.000000 | 80.000000 | 26.076810 |
This chart shows per artifact the maximum percentage of internal packages (compared to all packages in that artifact) that use one specific external package.
Example: One artifact might use 10 external packages where 7 of them are used in one internal package, 2 of them are used in two packages and one external dependency is used in 5 packages. So for this artifact there will be a point at x = 10 (external packages used by the artifact) and 5 (max internal packages). Instead of the count the percentage of internal packages compared to all packages in that artifact is used to get a normalized plot.
<Figure size 640x480 with 0 Axes>
This chart shows per artifact the median (0.5 percentile) of internal packages (compared to all packages in that artifact) that use one specific external package.
Example: One artifact might use 9 external packages where 3 of them are used in 1 internal package, 3 of them are used in 2 package and the last 3 ones are used in 3 packages. So for this artifact there will be a point at x = 10 (external packages used by the artifact) and 2 (median internal packages). Instead of the count the percentage of internal packages compared to all packages in that artifact is used to get a normalized plot.
<Figure size 640x480 with 0 Axes>
If Maven is used as for package and dependency management and a ".pom" file is included in the artifact, the following table shows the external dependencies that are declared there.
| pom.artifactId | pom.name | scope | dependency.optional | dependentArtifact.group | dependentArtifact.name | |
|---|---|---|---|---|---|---|
| 0 | axon-common | Axon Framework - Common | default | True | org.hibernate.orm | hibernate-core |
| 1 | axon-common | Axon Framework - Common | test | False | org.glassfish.expressly | expressly |
| 2 | axon-common | Axon Framework - Common | test | False | org.hibernate.validator | hibernate-validator |
| 3 | axon-common | Axon Framework - Common | default | False | org.slf4j | slf4j-api |
| 4 | axon-common | Axon Framework - Common | default | True | jakarta.annotation | jakarta.annotation-api |
| ... | ... | ... | ... | ... | ... | ... |
| 200 | axon-tracing-opentelemetry | Axon Extension - Tracing - OpenTelemetry | default | False | jakarta.annotation | jakarta.annotation-api |
| 201 | axon-tracing-opentelemetry | Axon Extension - Tracing - OpenTelemetry | provided | False | com.google.code.findbugs | jsr305 |
| 202 | axon-update | Axon Framework - Update | default | False | org.axonframework | axon-common |
| 203 | axon-update | Axon Framework - Update | test | False | org.axonframework | axon-common |
| 204 | axon-update | Axon Framework - Update | default | False | jakarta.annotation | jakarta.annotation-api |
205 rows × 6 columns

















