File Size Overall
  • There are 22 files with 3,744 lines of code.
    • 0 very long files (0 lines of code)
    • 1 long files (947 lines of code)
    • 7 medium size files (1,937 lines of code)
    • 4 small files (568 lines of code)
    • 10 very small files (292 lines of code)
0% | 25% | 51% | 15% | 7%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: grouped by folders | grouped by size | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
rs0% | 25% | 52% | 15% | 6%
yaml0% | 0% | 0% | 0% | 100%
toml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
lib0% | 27% | 48% | 16% | 7%
src0% | 0% | 100% | 0% | 0%
ROOT0% | 0% | 0% | 0% | 100%
.github0% | 0% | 0% | 0% | 100%
.cargo0% | 0% | 0% | 0% | 100%
Longest Files (Top 22)
File# lines# units
control.rs
in lib/proxy
947 40
mod.rs
in lib/proxy
356 15
mod.rs
in lib/proxy/flows
318 10
mod.rs
in lib/dhcp_server
309 8
main.rs
in src
301 7
rules.rs
in lib/proxy
230 11
vm.rs
in lib/proxy
221 11
vm.rs
in lib
202 12
host.rs
in lib
152 2
icmp.rs
in lib/proxy/flows
147 5
rule.rs
in lib/proxy
140 9
tcp.rs
in lib/proxy/flows
129 6
udp.rs
in lib/proxy/flows
74 3
mod.rs
in lib/subnet_finder
57 1
exposed_port.rs
in lib/proxy
41 2
37 -
poller.rs
in lib
31 -
host.rs
in lib/proxy
29 -
dependabot.yml
in .github
10 -
mod.rs
in lib
7 -
config.toml
in .cargo
4 -
2 -
Large Files That Change Often (Top 20)
To change a file, an AI coding agent (or a person) has to read it: these files are read the most for the changes in the past year (lines × changes).
File# lines≈ tokens
to read
# changes
(1y)
≈ lines edited
per change
lines read per
line changed
mod.rs
in lib/proxy
356 ~2k–5k 11 ~30 ~10
main.rs
in src
301 ~2k–5k 8 ~20 ~15
control.rs
in lib/proxy
947 ~5k–15k 2 ~700 ~2
vm.rs
in lib/proxy
221 ~1.5k–5k 5 ~70 ~3
mod.rs
in lib/proxy/flows
318 ~2k–5k 2 ~200 ~2
host.rs
in lib
152 ~1k–3k 3 ~20 ~7
vm.rs
in lib
202 ~1k–3k 2 ~70 ~3
mod.rs
in lib/dhcp_server
309 ~2k–5k 1 ~300 ~1
rules.rs
in lib/proxy
230 ~1.5k–5k 1 ~300 ~1
37 under 1k 5 ~10 ~3
host.rs
in lib/proxy
29 under 1k 6 ~30 ~1
icmp.rs
in lib/proxy/flows
147 ~1k–3k 1 ~150 ~1
rule.rs
in lib/proxy
140 ~700–2k 1 ~150 ~1
tcp.rs
in lib/proxy/flows
129 ~700–2k 1 ~150 ~1
poller.rs
in lib
31 under 1k 4 ~20 ~2
udp.rs
in lib/proxy/flows
74 ~500–1.5k 1 ~100 ~1
mod.rs
in lib/subnet_finder
57 ~300–1k 1 ~100 ~1
exposed_port.rs
in lib/proxy
41 under 1k 1 ~15 ~2
config.toml
in .cargo
4 under 1k 2 ~2 ~2
mod.rs
in lib
7 under 1k 1 ~10 ~1

Tokens are lines × 7 to 14 (analysis.fileReadsForChanges). Lines edited per change are the file's lines added and deleted divided by its commits over the whole history. Agents read about 2,000 lines at a time: when a 17,000-line file was split into modules, the tokens an agent read for the same change fell by 83% (The Economic Benefit of Refactoring, 2026).

Files With Most Units (Top 15)
File# lines# units
control.rs
in lib/proxy
947 40
mod.rs
in lib/proxy
356 15
vm.rs
in lib
202 12
rules.rs
in lib/proxy
230 11
vm.rs
in lib/proxy
221 11
mod.rs
in lib/proxy/flows
318 10
rule.rs
in lib/proxy
140 9
mod.rs
in lib/dhcp_server
309 8
main.rs
in src
301 7
tcp.rs
in lib/proxy/flows
129 6
icmp.rs
in lib/proxy/flows
147 5
udp.rs
in lib/proxy/flows
74 3
host.rs
in lib
152 2
exposed_port.rs
in lib/proxy
41 2
mod.rs
in lib/subnet_finder
57 1
Files With Long Lines (Top 1)

There is only one file with lines longer than 120 characters. In total, there are 6 long lines.

File# lines# units# long lines
control.rs
in lib/proxy
947 40 6
Correlations

File Size vs. Commits (all time): 22 points

.cargo/config.toml x: 2 commits (all time) y: 4 lines of code .goreleaser.yml x: 11 commits (all time) y: 37 lines of code lib/dhcp_server/mod.rs x: 1 commits (all time) y: 309 lines of code lib/host.rs x: 12 commits (all time) y: 152 lines of code lib/mod.rs x: 3 commits (all time) y: 7 lines of code lib/proxy/flows/mod.rs x: 2 commits (all time) y: 318 lines of code lib/proxy/host.rs x: 11 commits (all time) y: 29 lines of code lib/proxy/mod.rs x: 19 commits (all time) y: 356 lines of code lib/proxy/vm.rs x: 10 commits (all time) y: 221 lines of code lib/subnet_finder/mod.rs x: 1 commits (all time) y: 57 lines of code lib/poller.rs x: 9 commits (all time) y: 31 lines of code src/main.rs x: 21 commits (all time) y: 301 lines of code lib/vm.rs x: 3 commits (all time) y: 202 lines of code lib/proxy/control.rs x: 2 commits (all time) y: 947 lines of code lib/proxy/flows/icmp.rs x: 1 commits (all time) y: 147 lines of code lib/proxy/flows/tcp.rs x: 1 commits (all time) y: 129 lines of code lib/proxy/flows/udp.rs x: 1 commits (all time) y: 74 lines of code lib/proxy/rule.rs x: 1 commits (all time) y: 140 lines of code lib/proxy/rules.rs x: 1 commits (all time) y: 230 lines of code lib/proxy/exposed_port.rs x: 3 commits (all time) y: 41 lines of code .github/dependabot.yml x: 2 commits (all time) y: 10 lines of code rust-toolchain.toml x: 1 commits (all time) y: 2 lines of code
947.0
lines of code
  min: 2.0
  average: 170.18
  25th percentile: 30.5
  median: 134.5
  75th percentile: 247.75
  max: 947.0
0 21.0
commits (all time)
min: 1.0 | average: 5.36 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 10.25 | max: 21.0

File Size vs. Contributors (all time): 22 points

.cargo/config.toml x: 2 contributors (all time) y: 4 lines of code .goreleaser.yml x: 6 contributors (all time) y: 37 lines of code lib/dhcp_server/mod.rs x: 1 contributors (all time) y: 309 lines of code lib/host.rs x: 4 contributors (all time) y: 152 lines of code lib/mod.rs x: 3 contributors (all time) y: 7 lines of code lib/proxy/flows/mod.rs x: 1 contributors (all time) y: 318 lines of code lib/proxy/host.rs x: 3 contributors (all time) y: 29 lines of code lib/proxy/mod.rs x: 6 contributors (all time) y: 356 lines of code lib/proxy/vm.rs x: 4 contributors (all time) y: 221 lines of code lib/subnet_finder/mod.rs x: 1 contributors (all time) y: 57 lines of code lib/poller.rs x: 3 contributors (all time) y: 31 lines of code src/main.rs x: 7 contributors (all time) y: 301 lines of code lib/vm.rs x: 3 contributors (all time) y: 202 lines of code lib/proxy/control.rs x: 2 contributors (all time) y: 947 lines of code lib/proxy/flows/icmp.rs x: 1 contributors (all time) y: 147 lines of code lib/proxy/flows/tcp.rs x: 1 contributors (all time) y: 129 lines of code lib/proxy/flows/udp.rs x: 1 contributors (all time) y: 74 lines of code lib/proxy/rule.rs x: 1 contributors (all time) y: 140 lines of code lib/proxy/rules.rs x: 1 contributors (all time) y: 230 lines of code lib/proxy/exposed_port.rs x: 2 contributors (all time) y: 41 lines of code .github/dependabot.yml x: 1 contributors (all time) y: 10 lines of code rust-toolchain.toml x: 1 contributors (all time) y: 2 lines of code
947.0
lines of code
  min: 2.0
  average: 170.18
  25th percentile: 30.5
  median: 134.5
  75th percentile: 247.75
  max: 947.0
0 7.0
contributors (all time)
min: 1.0 | average: 2.5 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.25 | max: 7.0

File Size vs. Commits (30 days): 10 points

.cargo/config.toml x: 1 commits (30d) y: 4 lines of code .goreleaser.yml x: 1 commits (30d) y: 37 lines of code lib/dhcp_server/mod.rs x: 1 commits (30d) y: 309 lines of code lib/host.rs x: 1 commits (30d) y: 152 lines of code lib/mod.rs x: 1 commits (30d) y: 7 lines of code lib/proxy/flows/mod.rs x: 1 commits (30d) y: 318 lines of code lib/proxy/host.rs x: 1 commits (30d) y: 29 lines of code lib/proxy/mod.rs x: 1 commits (30d) y: 356 lines of code lib/proxy/vm.rs x: 1 commits (30d) y: 221 lines of code lib/subnet_finder/mod.rs x: 1 commits (30d) y: 57 lines of code
356.0
lines of code
  min: 4.0
  average: 149.0
  25th percentile: 23.5
  median: 104.5
  75th percentile: 311.25
  max: 356.0
0 1.0
commits (30d)
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

File Size vs. Contributors (30 days): 10 points

.cargo/config.toml x: 1 contributors (30d) y: 4 lines of code .goreleaser.yml x: 1 contributors (30d) y: 37 lines of code lib/dhcp_server/mod.rs x: 1 contributors (30d) y: 309 lines of code lib/host.rs x: 1 contributors (30d) y: 152 lines of code lib/mod.rs x: 1 contributors (30d) y: 7 lines of code lib/proxy/flows/mod.rs x: 1 contributors (30d) y: 318 lines of code lib/proxy/host.rs x: 1 contributors (30d) y: 29 lines of code lib/proxy/mod.rs x: 1 contributors (30d) y: 356 lines of code lib/proxy/vm.rs x: 1 contributors (30d) y: 221 lines of code lib/subnet_finder/mod.rs x: 1 contributors (30d) y: 57 lines of code
356.0
lines of code
  min: 4.0
  average: 149.0
  25th percentile: 23.5
  median: 104.5
  75th percentile: 311.25
  max: 356.0
0 1.0
contributors (30d)
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

File Size vs. Commits (90 days): 19 points

.cargo/config.toml x: 1 commits (90d) y: 4 lines of code .goreleaser.yml x: 2 commits (90d) y: 37 lines of code lib/dhcp_server/mod.rs x: 1 commits (90d) y: 309 lines of code lib/host.rs x: 1 commits (90d) y: 152 lines of code lib/proxy/flows/mod.rs x: 2 commits (90d) y: 318 lines of code lib/proxy/host.rs x: 5 commits (90d) y: 29 lines of code lib/proxy/mod.rs x: 7 commits (90d) y: 356 lines of code lib/proxy/vm.rs x: 3 commits (90d) y: 221 lines of code lib/subnet_finder/mod.rs x: 1 commits (90d) y: 57 lines of code lib/poller.rs x: 2 commits (90d) y: 31 lines of code src/main.rs x: 6 commits (90d) y: 301 lines of code lib/vm.rs x: 2 commits (90d) y: 202 lines of code lib/proxy/control.rs x: 2 commits (90d) y: 947 lines of code lib/proxy/flows/icmp.rs x: 1 commits (90d) y: 147 lines of code lib/proxy/flows/tcp.rs x: 1 commits (90d) y: 129 lines of code lib/proxy/flows/udp.rs x: 1 commits (90d) y: 74 lines of code lib/proxy/rule.rs x: 1 commits (90d) y: 140 lines of code lib/proxy/rules.rs x: 1 commits (90d) y: 230 lines of code
947.0
lines of code
  min: 4.0
  average: 194.26
  25th percentile: 37.0
  median: 147.0
  75th percentile: 301.0
  max: 947.0
0 7.0
commits (90d)
min: 1.0 | average: 2.16 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 7.0

File Size vs. Contributors (90 days): 19 points

.cargo/config.toml x: 1 contributors (90d) y: 4 lines of code .goreleaser.yml x: 1 contributors (90d) y: 37 lines of code lib/dhcp_server/mod.rs x: 1 contributors (90d) y: 309 lines of code lib/host.rs x: 1 contributors (90d) y: 152 lines of code lib/proxy/flows/mod.rs x: 1 contributors (90d) y: 318 lines of code lib/proxy/host.rs x: 2 contributors (90d) y: 29 lines of code lib/proxy/mod.rs x: 4 contributors (90d) y: 356 lines of code lib/proxy/vm.rs x: 1 contributors (90d) y: 221 lines of code lib/subnet_finder/mod.rs x: 1 contributors (90d) y: 57 lines of code lib/poller.rs x: 2 contributors (90d) y: 31 lines of code src/main.rs x: 4 contributors (90d) y: 301 lines of code lib/vm.rs x: 2 contributors (90d) y: 202 lines of code lib/proxy/control.rs x: 2 contributors (90d) y: 947 lines of code lib/proxy/flows/icmp.rs x: 1 contributors (90d) y: 147 lines of code lib/proxy/flows/tcp.rs x: 1 contributors (90d) y: 129 lines of code lib/proxy/flows/udp.rs x: 1 contributors (90d) y: 74 lines of code lib/proxy/rule.rs x: 1 contributors (90d) y: 140 lines of code lib/proxy/rules.rs x: 1 contributors (90d) y: 230 lines of code
947.0
lines of code
  min: 4.0
  average: 194.26
  25th percentile: 37.0
  median: 147.0
  75th percentile: 301.0
  max: 947.0
0 4.0
contributors (90d)
min: 1.0 | average: 1.53 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 4.0
About This Analysis
  • 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...