bottlerocket-os / bottlerocket
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 901 files with 49,794 lines of code.
    • 2 very long files (2,605 lines of code)
    • 11 long files (7,624 lines of code)
    • 47 medium size files (14,658 lines of codeclsfd_ftr_w_mp_ins)
    • 66 small files (9,036 lines of code)
    • 775 very small files (15,871 lines of code)
5% | 15% | 29% | 18% | 31%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
rs4% | 19% | 36% | 19% | 19%
toml14% | 0% | 0% | 18% | 66%
go0% | 94% | 0% | 0% | 5%
spec0% | 0% | 29% | 12% | 58%
yaml0% | 0% | 90% | 0% | 9%
in0% | 0% | 0% | 0% | 100%
yml0% | 0% | 0% | 0% | 100%
cfg0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
sources/api7% | 11% | 42% | 12% | 25%
ROOT89% | 0% | 0% | 0% | 10%
sources/models0% | 26% | 4% | 37% | 32%
sources/updater0% | 49% | 8% | 21% | 20%
tools/pubsys0% | 28% | 36% | 31% | 3%
sources/host-ctr0% | 94% | 0% | 0% | 5%
sources/imdsclient0% | 94% | 0% | 0% | 5%
tools/buildsys0% | 0% | 57% | 15% | 26%
tools/infrasys0% | 0% | 50% | 35% | 13%
packages/os0% | 0% | 90% | 0% | 10%
sources/logdog0% | 0% | 45% | 35% | 18%
sources/driverdog0% | 0% | 89% | 0% | 10%
packages/systemd0% | 0% | 90% | 0% | 9%
packages/util-linux0% | 0% | 91% | 0% | 8%
tools/pubsys-setup0% | 0% | 93% | 0% | 6%
sources/prairiedog0% | 0% | 87% | 0% | 12%
packages/ecs-agent0% | 0% | 84% | 0% | 15%
packages/grub0% | 0% | 83% | 0% | 16%
tools/pubsys-config0% | 0% | 54% | 41% | 4%
packages/glibc0% | 0% | 90% | 0% | 9%
sources/metricdog0% | 0% | 0% | 64% | 35%
packages/release0% | 0% | 0% | 63% | 36%
packages/kmod-5.10-nvidia0% | 0% | 0% | 78% | 21%
sources/growpart0% | 0% | 0% | 51% | 48%
sources/ghostdog0% | 0% | 0% | 78% | 21%
packages/coreutils0% | 0% | 0% | 83% | 16%
sources0% | 0% | 0% | 51% | 48%
packages/wicked0% | 0% | 0% | 82% | 17%
sources/parse-datetime0% | 0% | 0% | 76% | 23%
packages/e2fsprogs0% | 0% | 0% | 81% | 18%
packages/open-vm-tools0% | 0% | 0% | 0% | 100%
sources/shimpei0% | 0% | 0% | 0% | 100%
sources/bottlerocket-release0% | 0% | 0% | 0% | 100%
packages/ncurses0% | 0% | 0% | 0% | 100%
packages/microcode0% | 0% | 0% | 0% | 100%
packages/containerd0% | 0% | 0% | 0% | 100%
sources/retry-read0% | 0% | 0% | 0% | 100%
packages/libselinux0% | 0% | 0% | 0% | 100%
packages/bash0% | 0% | 0% | 0% | 100%
packages/hotdog0% | 0% | 0% | 0% | 100%
packages/docker-engine0% | 0% | 0% | 0% | 100%
packages/iproute0% | 0% | 0% | 0% | 100%
packages/iptables0% | 0% | 0% | 0% | 100%
packages/libaudit0% | 0% | 0% | 0% | 100%
packages/libnvidia-container0% | 0% | 0% | 0% | 100%
packages/libglib0% | 0% | 0% | 0% | 100%
sources/webpki-roots-shim0% | 0% | 0% | 0% | 100%
packages/procps0% | 0% | 0% | 0% | 100%
packages/selinux-policy0% | 0% | 0% | 0% | 100%
packages/chrony0% | 0% | 0% | 0% | 100%
packages/libdbus0% | 0% | 0% | 0% | 100%
packages/libbzip20% | 0% | 0% | 0% | 100%
packages/docker-cli0% | 0% | 0% | 0% | 100%
packages/cni-plugins0% | 0% | 0% | 0% | 100%
packages/binutils0% | 0% | 0% | 0% | 100%
packages/dbus-broker0% | 0% | 0% | 0% | 100%
packages/libsemanage0% | 0% | 0% | 0% | 100%
packages/nvidia-container-toolkit0% | 0% | 0% | 0% | 100%
packages/kmod0% | 0% | 0% | 0% | 100%
packages/libcap0% | 0% | 0% | 0% | 100%
packages/policycoreutils0% | 0% | 0% | 0% | 100%
packages/libpcre0% | 0% | 0% | 0% | 100%
packages/conntrack-tools0% | 0% | 0% | 0% | 100%
packages/iputils0% | 0% | 0% | 0% | 100%
packages/host-ctr0% | 0% | 0% | 0% | 100%
packages/filesystem0% | 0% | 0% | 0% | 100%
packages/libelf0% | 0% | 0% | 0% | 100%
packages/makedumpfile0% | 0% | 0% | 0% | 100%
packages/oci-add-hooks0% | 0% | 0% | 0% | 100%
packages/libacl0% | 0% | 0% | 0% | 100%
packages/libxcrypt0% | 0% | 0% | 0% | 100%
packages/runc0% | 0% | 0% | 0% | 100%
packages/libnl0% | 0% | 0% | 0% | 100%
packages/libsepol0% | 0% | 0% | 0% | 100%
packages/libnetfilter_conntrack0% | 0% | 0% | 0% | 100%
packages/libattr0% | 0% | 0% | 0% | 100%
packages/docker-proxy0% | 0% | 0% | 0% | 100%
packages/libz0% | 0% | 0% | 0% | 100%
packages/libnetfilter_queue0% | 0% | 0% | 0% | 100%
packages/libzstd0% | 0% | 0% | 0% | 100%
packages/libnftnl0% | 0% | 0% | 0% | 100%
packages/readline0% | 0% | 0% | 0% | 100%
packages/libtirpc0% | 0% | 0% | 0% | 100%
packages/libnetfilter_cthelper0% | 0% | 0% | 0% | 100%
packages/aws-iam-authenticator0% | 0% | 0% | 0% | 100%
packages/libseccomp0% | 0% | 0% | 0% | 100%
packages/libexpat0% | 0% | 0% | 0% | 100%
packages/libnetfilter_cttimeout0% | 0% | 0% | 0% | 100%
variants/metal-dev0% | 0% | 0% | 0% | 100%
variants/vmware-dev0% | 0% | 0% | 0% | 100%
packages/libpcap0% | 0% | 0% | 0% | 100%
packages/cni0% | 0% | 0% | 0% | 100%
packages/libiw0% | 0% | 0% | 0% | 100%
packages/libffi0% | 0% | 0% | 0% | 100%
packages/nvidia-k8s-device-plugin0% | 0% | 0% | 0% | 100%
packages/libmnl0% | 0% | 0% | 0% | 100%
packages/libnfnetlink0% | 0% | 0% | 0% | 100%
packages/acpid0% | 0% | 0% | 0% | 100%
variants/aws-dev0% | 0% | 0% | 0% | 100%
packages/findutils0% | 0% | 0% | 0% | 100%
packages/grep0% | 0% | 0% | 0% | 100%
tools0% | 0% | 0% | 0% | 100%
packages/strace0% | 0% | 0% | 0% | 100%
packages/tcpdump0% | 0% | 0% | 0% | 100%
packages/docker-init0% | 0% | 0% | 0% | 100%
packages/ca-certificates0% | 0% | 0% | 0% | 100%
packages/kexec-tools0% | 0% | 0% | 0% | 100%
packages/login0% | 0% | 0% | 0% | 100%
variants/aws-ecs-10% | 0% | 0% | 0% | 100%
variants/metal-k8s-1.210% | 0% | 0% | 0% | 100%
variants/vmware-k8s-1.200% | 0% | 0% | 0% | 100%
variants/vmware-k8s-1.210% | 0% | 0% | 0% | 100%
variants/aws-k8s-1.21-nvidia0% | 0% | 0% | 0% | 100%
packages/log4j2-hotpatch0% | 0% | 0% | 0% | 100%
sources/constants0% | 0% | 0% | 0% | 100%
packages/libstd-rust0% | 0% | 0% | 0% | 100%
packages/libgcc0% | 0% | 0% | 0% | 100%
variants/aws-k8s-1.210% | 0% | 0% | 0% | 100%
variants/aws-k8s-1.180% | 0% | 0% | 0% | 100%
variants/aws-k8s-1.190% | 0% | 0% | 0% | 100%
variants/aws-k8s-1.200% | 0% | 0% | 0% | 100%
variants0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
helpers.rs
in sources/api/schnauzer/src
1445 70
Makefile.toml
in root
1160 -
common_migrations.rs
in sources/api/migration/migration-helpers/src
994 40
main.go
in sources/host-ctr/cmd/host-ctr
822 25
kubernetes.rs
in sources/models/src/modeled_types
791 48
main.rs
in sources/updater/updog/src
757 31
lib.rs
in sources/imdsclient/src
742 12
repo.rs
in tools/pubsys/src
628 9
controller.rs
in sources/api/apiserver/src/server
625 13
shared.rs
in sources/models/src/modeled_types
611 34
main.rs
in sources/api/apiclient/src
595 15
lib.rs
in sources/updater/update_metadata/src
544 13
mod.rs
in tools/pubsys/src/aws/publish_ami
515 -
spec
os.spec
in packages/os
495 -
mod.rs
in sources/api/apiserver/src/server
490 5
exec.rs
in sources/api/apiclient/src
471 14
mod.rs
in tools/pubsys/src/aws/ami
452 1
filesystem.rs
in sources/api/datastore/src
435 28
main.rs
in sources/api/host-containers/src
432 14
openapi.yaml
in sources/api
419 -
key.rs
in sources/api/datastore/src
414 28
main.rs
in sources/api/sundog/src
402 3
log_request.rs
in sources/logdog/src
402 9
pairs.rs
in sources/api/datastore/src/deserialization
390 14
builder.rs
in tools/buildsys/src
383 10
main.rs
in sources/api/storewolf/src
356 7
main.rs
in sources/driverdog/src
341 11
main.rs
in sources/api/migration/migrator/src
319 7
child.rs
in sources/api/apiserver/src/server/exec
318 12
spec
systemd.spec
in packages/systemd
317 -
update.rs
in sources/api/apiclient/src
316 2
s3.rs
in tools/infrasys/src
316 3
spec
util-linux.spec
in packages/util-linux
314 -
main.rs
in sources/api/thar-be-updates/src
297 14
ssm.rs
in tools/pubsys/src/aws/ssm
296 -
main.rs
in tools/pubsys-setup/src
293 3
vmware.rs
in sources/api/early-boot-config/src/provider
288 7
mod.rs
in tools/pubsys/src/aws/ssm
287 2
lib.rs
in sources/api/datastore/src
282 10
manifest.rs
in tools/buildsys/src
281 7
main.rs
in sources/prairiedog/src
280 7
main.rs
in tools/infrasys/src
279 5
main.rs
in sources/api/pluto/src
272 5
main.rs
in sources/api/servicedog/src
267 10
main.rs
in sources/api/netdog/src
266 11
main.rs
in sources/api/certdog/src
265 8
spec
ecs-agent.spec
in packages/ecs-agent
260 -
pairs.rs
in sources/api/datastore/src/serialization
250 38
status.rs
in sources/api/thar-be-updates/src
249 2
static_pods.rs
in sources/api/static-pods/src
244 5
Files With Most Units (Top 20)
File# lines# units
helpers.rs
in sources/api/schnauzer/src
1445 70
kubernetes.rs
in sources/models/src/modeled_types
791 48
common_migrations.rs
in sources/api/migration/migration-helpers/src
994 40
pairs.rs
in sources/api/datastore/src/serialization
250 38
shared.rs
in sources/models/src/modeled_types
611 34
mod.rs
in sources/api/datastore/src/serialization
115 32
main.rs
in sources/updater/updog/src
757 31
filesystem.rs
in sources/api/datastore/src
435 28
key.rs
in sources/api/datastore/src
414 28
main.go
in sources/host-ctr/cmd/host-ctr
822 25
memory.rs
in sources/api/datastore/src
219 18
service_check.rs
in sources/metricdog/src
129 18
main.rs
in sources/api/apiclient/src
595 15
exec.rs
in sources/api/apiclient/src
471 14
main.rs
in sources/api/host-containers/src
432 14
main.rs
in sources/api/thar-be-updates/src
297 14
pairs.rs
in sources/api/datastore/src/deserialization
390 14
controller.rs
in sources/api/apiserver/src/server
625 13
lib.rs
in sources/updater/update_metadata/src
544 13
child.rs
in sources/api/apiserver/src/server/exec
318 12
Files With Long Lines (Top 20)

There are 125 files with lines longer than 120 characters. In total, there are 251 long lines.

File# lines# units# long lines
Makefile.toml
in root
1160 - 26
spec
kmod-5.10-nvidia.spec
in packages/kmod-5.10-nvidia
174 - 15
main.go
in sources/host-ctr/cmd/host-ctr
822 25 14
lib.rs
in sources/api/apiserver/src
42 - 7
spec
ecs-agent.spec
in packages/ecs-agent
260 - 7
lib.rs
in sources/api/datastore/src
282 10 6
lib.rs
in sources/models/src
224 - 6
lib.rs
in sources/api/thar-be-settings/src
38 - 5
Cargo.toml
in packages/ecs-agent
34 - 5
Cargo.toml
in packages/oci-add-hooks
19 - 5
Cargo.toml
in packages/hotdog
29 - 5
lib.rs
in sources/webpki-roots-shim/src
71 3 4
main.rs
in sources/api/thar-be-updates/src
297 14 4
mod.rs
in sources/api/datastore/src/serialization
115 32 4
build.rs
in sources/models
86 5 4
Cargo.toml
in packages/microcode
15 - 4
pairs.rs
in sources/api/datastore/src/serialization
250 38 3
main.rs
in sources/api/servicedog/src
267 10 3
Cargo.toml
in packages/libglib
26 - 3
exec.rs
in sources/api/apiclient/src
471 14 2