bottlerocket-os / bottlerocket
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 (122 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 122 components.
  • 901 files, 49,794 lines of code (100.0% vs. main code).
  • "sources/api" is biggest, containing 38.4% of code.
  • "variants" is smallest, containing 0.04% of code.


sources/api19120 LOC (38%) 242 files
sources/models5355 LOC (10%) 136 files
tools/pubsys4070 LOC (8%) 22 files
sources/updater2623 LOC (5%) 23 files
ROOT1302 LOC (2%) 4 files
tools/infrasys1172 LOC (2%) 9 files
tools/buildsys1149 LOC (2%) 11 files
sources/logdog876 LOC (1%) 6 files
sources/host-ctr867 LOC (1%) 3 files
sources/imdsclient789 LOC (1%) 3 files
packages/os550 LOC (1%) 4 files
sources/metricdog535 LOC (1%) 8 files
tools/pubsys-config412 LOC (<1%) 3 files
sources/driverdog383 LOC (<1%) 3 files
packages/systemd349 LOC (<1%) 4 files
packages/util-linux342 LOC (<1%) 4 files
sources/prairiedog321 LOC (<1%) 3 files
sources/growpart315 LOC (<1%) 5 files
tools/pubsys-setup313 LOC (<1%) 2 files
packages/ecs-agent307 LOC (<1%) 5 files
packages/release280 LOC (<1%) 8 files
packages/grub275 LOC (<1%) 6 files
sources254 LOC (<1%) 3 files
packages/glibc227 LOC (<1%) 4 files
packages/kmod-5.10-nvidia221 LOC (<1%) 9 files
sources/ghostdog187 LOC (<1%) 3 files
packages/coreutils174 LOC (<1%) 4 files
packages/wicked159 LOC (<1%) 4 files
sources/parse-datetime155 LOC (<1%) 3 files
packages/e2fsprogs132 LOC (<1%) 4 files
packages/open-vm-tools126 LOC (<1%) 4 files
sources/shimpei125 LOC (<1%) 3 files
sources/bottlerocket-release124 LOC (<1%) 3 files
packages/ncurses122 LOC (<1%) 4 files
packages/microcode117 LOC (<1%) 4 files
packages/containerd117 LOC (<1%) 5 files
sources/retry-read116 LOC (<1%) 3 files
packages/libselinux114 LOC (<1%) 4 files
packages/bash111 LOC (<1%) 4 files
packages/hotdog110 LOC (<1%) 4 files
packages/docker-engine108 LOC (<1%) 5 files
packages/iproute105 LOC (<1%) 4 files
packages/iptables102 LOC (<1%) 4 files
packages/libaudit101 LOC (<1%) 4 files
packages/libnvidia-container100 LOC (<1%) 4 files
packages/libglib100 LOC (<1%) 4 files
sources/webpki-roots-shim94 LOC (<1%) 2 files
packages/procps90 LOC (<1%) 4 files
packages/selinux-policy90 LOC (<1%) 4 files
packages/chrony90 LOC (<1%) 4 files
packages/libdbus84 LOC (<1%) 4 files
packages/libbzip284 LOC (<1%) 5 files
packages/docker-cli82 LOC (<1%) 5 files
packages/cni-plugins81 LOC (<1%) 4 files
packages/binutils81 LOC (<1%) 4 files
packages/dbus-broker80 LOC (<1%) 4 files
packages/libsemanage80 LOC (<1%) 4 files
packages/nvidia-container-toolkit80 LOC (<1%) 5 files
packages/kmod80 LOC (<1%) 4 files
packages/libcap80 LOC (<1%) 4 files
packages/policycoreutils80 LOC (<1%) 4 files
packages/libpcre78 LOC (<1%) 4 files
packages/conntrack-tools76 LOC (<1%) 4 files
packages/iputils76 LOC (<1%) 4 files
packages/host-ctr76 LOC (<1%) 5 files
packages/filesystem74 LOC (<1%) 4 files
packages/libelf74 LOC (<1%) 4 files
packages/makedumpfile70 LOC (<1%) 4 files
packages/oci-add-hooks70 LOC (<1%) 4 files
packages/libacl69 LOC (<1%) 4 files
packages/libxcrypt68 LOC (<1%) 4 files
packages/runc68 LOC (<1%) 4 files
packages/libnl67 LOC (<1%) 4 files
packages/libsepol67 LOC (<1%) 4 files
packages/libnetfilter_conntrack66 LOC (<1%) 4 files
packages/libattr66 LOC (<1%) 4 files
packages/docker-proxy66 LOC (<1%) 5 files
packages/libz65 LOC (<1%) 4 files
packages/libnetfilter_queue65 LOC (<1%) 4 files
packages/libzstd64 LOC (<1%) 4 files
packages/libnftnl64 LOC (<1%) 4 files
packages/readline64 LOC (<1%) 4 files
packages/libtirpc63 LOC (<1%) 4 files
packages/libnetfilter_cthelper62 LOC (<1%) 4 files
packages/aws-iam-authenticator62 LOC (<1%) 5 files
packages/libseccomp62 LOC (<1%) 4 files
packages/libexpat62 LOC (<1%) 4 files
packages/libnetfilter_cttimeout62 LOC (<1%) 4 files
variants/metal-dev61 LOC (<1%) 3 files
variants/vmware-dev61 LOC (<1%) 3 files
packages/libpcap61 LOC (<1%) 4 files
packages/cni61 LOC (<1%) 4 files
packages/libiw61 LOC (<1%) 4 files
packages/libffi60 LOC (<1%) 4 files
packages/nvidia-k8s-device-plugin59 LOC (<1%) 4 files
packages/libmnl59 LOC (<1%) 4 files
packages/libnfnetlink59 LOC (<1%) 4 files
packages/acpid59 LOC (<1%) 4 files
variants/aws-dev57 LOC (<1%) 3 files
packages/findutils56 LOC (<1%) 4 files
packages/grep56 LOC (<1%) 4 files
tools53 LOC (<1%) 2 files
packages/strace50 LOC (<1%) 4 files
packages/tcpdump50 LOC (<1%) 4 files
packages/docker-init50 LOC (<1%) 4 files
packages/ca-certificates49 LOC (<1%) 4 files
packages/kexec-tools49 LOC (<1%) 4 files
packages/login47 LOC (<1%) 4 files
variants/aws-ecs-145 LOC (<1%) 3 files
variants/metal-k8s-1.2145 LOC (<1%) 3 files
variants/vmware-k8s-1.2045 LOC (<1%) 3 files
variants/vmware-k8s-1.2145 LOC (<1%) 3 files
variants/aws-k8s-1.21-nvidia45 LOC (<1%) 3 files
packages/log4j2-hotpatch45 LOC (<1%) 4 files
sources/constants44 LOC (<1%) 3 files
packages/libstd-rust42 LOC (<1%) 4 files
packages/libgcc42 LOC (<1%) 4 files
variants/aws-k8s-1.2141 LOC (<1%) 3 files
variants/aws-k8s-1.1841 LOC (<1%) 3 files
variants/aws-k8s-1.1941 LOC (<1%) 3 files
variants/aws-k8s-1.2041 LOC (<1%) 3 files
variants20 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-02-01 04:00