Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure at level 1 (relative to the source code root).

Bubble Chart | Tree Map
Static Dependencies
Dependencies among components are static code dependencies among files in different components.
  • Analyzed system has 25 links (arrows) between components.
  • The number on the arrow represents the number of files from referring component that depend on files in referred component.
  • These 25 links contain 164 dependencies.
flowchart TB
    n0["ribbon-test"]
    n1["ribbon-core"]
    n2["ribbon-loadbalancer"]
    n3["ribbon-transport"]
    n4["ribbon-guice"]
    n5["ribbon-eureka"]
    n6["ribbon"]
    n7["ribbon-archaius"]
    n8["ribbon-httpclient"]
    n9["ribbon-evcache"]
    n2 -->|"27"| n1
    n2 -->|"27"| n7
    n8 -->|"12"| n1
    n8 -->|"11"| n7
    n3 -->|"10"| n1
    n3 -->|"10"| n7
    n3 -->|"9"| n2
    n6 -->|"9"| n1
    n6 -->|"9"| n7
    n8 -->|"8"| n2
    n3 -->|"8"| n8
    n5 -->|"4"| n2
    n5 -->|"4"| n8
    n4 -->|"2"| n3
    n4 -->|"2"| n6
    n5 -->|"2"| n1
    n5 -->|"2"| n7
    n0 -->|"1"| n2
    n0 -->|"1"| n8
    n4 -->|"1"| n1
    n4 -->|"1"| n7
    n4 -->|"1"| n9
    n6 -->|"1"| n3
    n9 -->|"1"| n3
    n9 -->|"1"| n6
    classDef default fill:#808080,stroke:#ffffff,color:#000000;
    classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
    class n0,n1,n2,n3,n4,n5,n6,n7,n8,n9 highlighted;
    linkStyle 0 stroke:#00688bFF,stroke-width:10px
    linkStyle 1 stroke:#00688bFF,stroke-width:10px
    linkStyle 2 stroke:#00688b93,stroke-width:4px
    linkStyle 3 stroke:#00688b93,stroke-width:4px
    linkStyle 4 stroke:#00688b82,stroke-width:3px
    linkStyle 5 stroke:#00688b82,stroke-width:3px
    linkStyle 6 stroke:#00688b82,stroke-width:3px
    linkStyle 7 stroke:#00688b82,stroke-width:3px
    linkStyle 8 stroke:#00688b82,stroke-width:3px
    linkStyle 9 stroke:#00688b70,stroke-width:2px
    linkStyle 10 stroke:#00688b70,stroke-width:2px
    linkStyle 11 stroke:#00688b5E,stroke-width:1px
    linkStyle 12 stroke:#00688b5E,stroke-width:1px
    linkStyle 13 stroke:#00688b4C,stroke-width:1px
    linkStyle 14 stroke:#00688b4C,stroke-width:1px
    linkStyle 15 stroke:#00688b4C,stroke-width:1px
    linkStyle 16 stroke:#00688b4C,stroke-width:1px
    linkStyle 17 stroke:#00688b4C,stroke-width:1px
    linkStyle 18 stroke:#00688b4C,stroke-width:1px
    linkStyle 19 stroke:#00688b4C,stroke-width:1px
    linkStyle 20 stroke:#00688b4C,stroke-width:1px
    linkStyle 21 stroke:#00688b4C,stroke-width:1px
    linkStyle 22 stroke:#00688b4C,stroke-width:1px
    linkStyle 23 stroke:#00688b4C,stroke-width:1px
    linkStyle 24 stroke:#00688b4C,stroke-width:1px




Explore: 2D force graph | 3D force graph

Show more details about dependencies...
From Component
 --> To Component
From Component
(files with dependencies)
Details
ribbon-loadbalancer
  --> ribbon-core
27 files, 4109 LOC (76%)
27 source files
ribbon-loadbalancer
  --> ribbon-archaius
27 files, 4109 LOC (76%)
27 source files
ribbon-httpclient
  --> ribbon-core
12 files, 1485 LOC (79%)
12 source files
ribbon-httpclient
  --> ribbon-archaius
11 files, 1441 LOC (77%)
11 source files
ribbon-transport
  --> ribbon-core
10 files, 1105 LOC (98%)
10 source files
ribbon-transport
  --> ribbon-archaius
10 files, 1105 LOC (98%)
10 source files
ribbon-transport
  --> ribbon-loadbalancer
9 files, 1059 LOC (94%)
9 source files
ribbon
  --> ribbon-core
9 files, 465 LOC (21%)
9 source files
ribbon
  --> ribbon-archaius
9 files, 465 LOC (21%)
9 source files
ribbon-httpclient
  --> ribbon-loadbalancer
8 files, 1055 LOC (56%)
8 source files
ribbon-transport
  --> ribbon-httpclient
8 files, 1026 LOC (91%)
8 source files
ribbon-eureka
  --> ribbon-loadbalancer
4 files, 404 LOC (96%)
4 source files
ribbon-eureka
  --> ribbon-httpclient
4 files, 404 LOC (96%)
4 source files
ribbon-guice
  --> ribbon-transport
2 files, 48 LOC (100%)
2 source files
ribbon-guice
  --> ribbon
2 files, 48 LOC (100%)
2 source files
ribbon-eureka
  --> ribbon-core
2 files, 188 LOC (44%)
2 source files
ribbon-eureka
  --> ribbon-archaius
2 files, 188 LOC (44%)
2 source files
ribbon-test
  --> ribbon-loadbalancer
1 file, 58 LOC (23%)
1 source file
ribbon-test
  --> ribbon-httpclient
1 file, 58 LOC (23%)
1 source file
ribbon-guice
  --> ribbon-core
1 file, 19 LOC (39%)
1 source file
ribbon-guice
  --> ribbon-archaius
1 file, 19 LOC (39%)
1 source file
ribbon-guice
  --> ribbon-evcache
1 file, 19 LOC (39%)
1 source file
ribbon
  --> ribbon-transport
1 file, 220 LOC (10%)
1 source file
ribbon-evcache
  --> ribbon-transport
1 file, 109 LOC (42%)
1 source file
ribbon-evcache
  --> ribbon
1 file, 109 LOC (42%)
1 source file
About This Analysis

Static code dependencies refer to the relationships between different modules, libraries, or components in a software system that are established at compile-time rather than at runtime. These dependencies are determined by the code itself, meaning that one module directly references another through imports, includes, or explicit references in the code. Examples include:

  • Library and Module Imports
  • Class Dependencies (Inheritance & Composition)
  • Function and Method Calls
  • Dependency Injection Without Runtime Resolution
Learn more...
  • To learn more about good practices on componentization and dependencies, Sokrates recommends the following resources:


2026-10-07 19:05