kubernetes / examples
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components.This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (39 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure (relative to the source code root), with automatically defined folder depth to have at least 10 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 39 components.
  • 244 files, 5,855 lines of code (76.1% vs. main code).
  • "staging/volumes" is biggest, containing 20.14% of code.
  • "staging" is smallest, containing 0.02% of code.


staging/volumes1179 LOC (15%) 76 files
staging/storage899 LOC (11%) 29 files
staging/elasticsearch284 LOC (3%) 10 files
staging/spark233 LOC (3%) 12 files
guestbook/all-in-one224 LOC (2%) 3 files
mysql-wordpress-pd187 LOC (2%) 4 files
staging/openshift-origin184 LOC (2%) 7 files
staging/persistent-volume-provisioning171 LOC (2%) 13 files
cassandra/image153 LOC (1%) 2 files
staging/podsecuritypolicy146 LOC (1%) 5 files
volumes/storageos137 LOC (1%) 8 files
staging/cockroachdb133 LOC (1%) 1 files
guestbook130 LOC (1%) 6 files
staging/sysdig-cloud126 LOC (1%) 2 files
guestbook-go/public123 LOC (1%) 3 files
staging/https-nginx119 LOC (1%) 3 files
cassandra109 LOC (1%) 2 files
staging/explorer108 LOC (1%) 2 files
staging/nodesjs-mongodb98 LOC (1%) 5 files
staging/cluster-dns98 LOC (1%) 7 files
guestbook/php-redis82 LOC (1%) 3 files
guestbook/legacy79 LOC (1%) 3 files
staging/cpu-manager79 LOC (1%) 6 files
cassandra/java77 LOC (1%) 2 files
staging/newrelic69 LOC (<1%) 3 files
cassandra/go63 LOC (<1%) 1 files
guestbook-go63 LOC (<1%) 1 files
staging/newrelic-infrastructure62 LOC (<1%) 2 files
volumes/iscsi60 LOC (<1%) 3 files
volumes/rbd58 LOC (<1%) 3 files
staging/javaee54 LOC (<1%) 3 files
staging/javaweb-tomcat-sidecar50 LOC (<1%) 2 files
volumes/cephfs49 LOC (<1%) 3 files
mysql-cinder-pd41 LOC (<1%) 2 files
staging/sharing-clusters40 LOC (<1%) 1 files
staging/storm37 LOC (<1%) 1 files
volumes/glusterfs37 LOC (<1%) 3 files
staging/cloud-controller-manager13 LOC (<1%) 1 files
staging1 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-02-03 09:16