openai / softnet
File Churn

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 13 files with 1,013 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 0 files changed 21-50 times (0 lines of code)
    • 5 files changed 6-20 times (685 lines of code)
    • 8 files changed 1-5 times (328 lines of code)
0% | 0% | 0% | 67% | 32%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 13 files with 1,013 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 0 files changed by 11-25 contributors (0 lines of code)
    • 0 files changed by 6-10 contributors (0 lines of code)
    • 5 files changed by 2-5 contributors (623 lines of code)
    • 8 files changed by 1 contributor (390 lines of code)
0% | 0% | 0% | 61% | 38%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
rs, toml, yaml, txt, gitignore, md
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
rs0% | 0% | 0% | 67% | 32%
toml0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
lib0% | 0% | 0% | 60% | 39%
src0% | 0% | 0% | 100% | 0%
.cargo0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 14)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
main.rs
in src
197 4 2022-06-14 2026-05-15 12 3 +212 / -52 edigaryev@gmail.com edigaryev@gmail.com
mod.rs
in lib/proxy
233 6 2022-12-12 2026-05-15 12 2 +266 / -41 edigaryev@gmail.com edigaryev@gmail.com
host.rs
in lib
146 2 2022-11-19 2025-10-28 9 2 +103 / -37 edigaryev@gmail.com edigaryev@gmail.com
poller.rs
in lib
80 2 2022-12-12 2026-01-14 7 1 +84 / -67 edigaryev@gmail.com edigaryev@gmail.com
host.rs
in lib/proxy
29 - 2022-11-10 2025-10-21 6 1 +25 / -9 edigaryev@gmail.com edigaryev@gmail.com
vm.rs
in lib/proxy
94 2 2022-08-12 2025-10-21 5 1 +60 / -34 edigaryev@gmail.com edigaryev@gmail.com
exposed_port.rs
in lib/proxy
41 2 2025-01-09 2025-10-21 3 2 +49 / -2 edigaryev@gmail.com edigaryev@gmail.com
83 - 2025-01-09 2026-01-14 3 1 +35 / -12 edigaryev@gmail.com edigaryev@gmail.com
mod.rs
in lib
6 - 2022-12-12 2024-03-01 2 2 +1 / -25 edigaryev@gmail.com 8136445+sparshev@users.nore...
2 - 2024-07-23 2024-07-23 1 1 +2 / -0 edigaryev@gmail.com edigaryev@gmail.com
config.toml
in .cargo
2 - 2025-10-21 2025-10-21 1 1 +2 / -0 edigaryev@gmail.com edigaryev@gmail.com
vm.rs
in lib
24 1 2022-12-12 2022-12-12 1 1 +2 / -3 edigaryev@gmail.com edigaryev@gmail.com
port_forwarder.rs
in lib/proxy
76 2 2025-01-09 2025-01-09 1 1 +99 / -0 edigaryev@gmail.com edigaryev@gmail.com
20 4
Files With Most Churn (Top 14)
Based on the number of lines added and deleted across all commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
mod.rs
in lib/proxy
233 6 2022-12-12 2026-05-15 12 2 +266 / -41 edigaryev@gmail.com edigaryev@gmail.com
main.rs
in src
197 4 2022-06-14 2026-05-15 12 3 +212 / -52 edigaryev@gmail.com edigaryev@gmail.com
poller.rs
in lib
80 2 2022-12-12 2026-01-14 7 1 +84 / -67 edigaryev@gmail.com edigaryev@gmail.com
host.rs
in lib
146 2 2022-11-19 2025-10-28 9 2 +103 / -37 edigaryev@gmail.com edigaryev@gmail.com
port_forwarder.rs
in lib/proxy
76 2 2025-01-09 2025-01-09 1 1 +99 / -0 edigaryev@gmail.com edigaryev@gmail.com
vm.rs
in lib/proxy
94 2 2022-08-12 2025-10-21 5 1 +60 / -34 edigaryev@gmail.com edigaryev@gmail.com
exposed_port.rs
in lib/proxy
41 2 2025-01-09 2025-10-21 3 2 +49 / -2 edigaryev@gmail.com edigaryev@gmail.com
83 - 2025-01-09 2026-01-14 3 1 +35 / -12 edigaryev@gmail.com edigaryev@gmail.com
host.rs
in lib/proxy
29 - 2022-11-10 2025-10-21 6 1 +25 / -9 edigaryev@gmail.com edigaryev@gmail.com
mod.rs
in lib
6 - 2022-12-12 2024-03-01 2 2 +1 / -25 edigaryev@gmail.com 8136445+sparshev@users.nore...
vm.rs
in lib
24 1 2022-12-12 2022-12-12 1 1 +2 / -3 edigaryev@gmail.com edigaryev@gmail.com
2 - 2024-07-23 2024-07-23 1 1 +2 / -0 edigaryev@gmail.com edigaryev@gmail.com
config.toml
in .cargo
2 - 2025-10-21 2025-10-21 1 1 +2 / -0 edigaryev@gmail.com edigaryev@gmail.com
20 4
Files With Most Contributors (Top 14)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
main.rs
in src
197 4 2022-06-14 2026-05-15 12 3 +212 / -52 edigaryev@gmail.com edigaryev@gmail.com
mod.rs
in lib/proxy
233 6 2022-12-12 2026-05-15 12 2 +266 / -41 edigaryev@gmail.com edigaryev@gmail.com
host.rs
in lib
146 2 2022-11-19 2025-10-28 9 2 +103 / -37 edigaryev@gmail.com edigaryev@gmail.com
exposed_port.rs
in lib/proxy
41 2 2025-01-09 2025-10-21 3 2 +49 / -2 edigaryev@gmail.com edigaryev@gmail.com
mod.rs
in lib
6 - 2022-12-12 2024-03-01 2 2 +1 / -25 edigaryev@gmail.com 8136445+sparshev@users.nore...
poller.rs
in lib
80 2 2022-12-12 2026-01-14 7 1 +84 / -67 edigaryev@gmail.com edigaryev@gmail.com
host.rs
in lib/proxy
29 - 2022-11-10 2025-10-21 6 1 +25 / -9 edigaryev@gmail.com edigaryev@gmail.com
vm.rs
in lib/proxy
94 2 2022-08-12 2025-10-21 5 1 +60 / -34 edigaryev@gmail.com edigaryev@gmail.com
83 - 2025-01-09 2026-01-14 3 1 +35 / -12 edigaryev@gmail.com edigaryev@gmail.com
config.toml
in .cargo
2 - 2025-10-21 2025-10-21 1 1 +2 / -0 edigaryev@gmail.com edigaryev@gmail.com
2 - 2024-07-23 2024-07-23 1 1 +2 / -0 edigaryev@gmail.com edigaryev@gmail.com
vm.rs
in lib
24 1 2022-12-12 2022-12-12 1 1 +2 / -3 edigaryev@gmail.com edigaryev@gmail.com
port_forwarder.rs
in lib/proxy
76 2 2025-01-09 2025-01-09 1 1 +99 / -0 edigaryev@gmail.com edigaryev@gmail.com
20 4
Files With Least Contributors (Top 14)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
20 4
vm.rs
in lib/proxy
94 2 2022-08-12 2025-10-21 5 1 +60 / -34 edigaryev@gmail.com edigaryev@gmail.com
83 - 2025-01-09 2026-01-14 3 1 +35 / -12 edigaryev@gmail.com edigaryev@gmail.com
poller.rs
in lib
80 2 2022-12-12 2026-01-14 7 1 +84 / -67 edigaryev@gmail.com edigaryev@gmail.com
port_forwarder.rs
in lib/proxy
76 2 2025-01-09 2025-01-09 1 1 +99 / -0 edigaryev@gmail.com edigaryev@gmail.com
host.rs
in lib/proxy
29 - 2022-11-10 2025-10-21 6 1 +25 / -9 edigaryev@gmail.com edigaryev@gmail.com
vm.rs
in lib
24 1 2022-12-12 2022-12-12 1 1 +2 / -3 edigaryev@gmail.com edigaryev@gmail.com
config.toml
in .cargo
2 - 2025-10-21 2025-10-21 1 1 +2 / -0 edigaryev@gmail.com edigaryev@gmail.com
2 - 2024-07-23 2024-07-23 1 1 +2 / -0 edigaryev@gmail.com edigaryev@gmail.com
mod.rs
in lib/proxy
233 6 2022-12-12 2026-05-15 12 2 +266 / -41 edigaryev@gmail.com edigaryev@gmail.com
host.rs
in lib
146 2 2022-11-19 2025-10-28 9 2 +103 / -37 edigaryev@gmail.com edigaryev@gmail.com
exposed_port.rs
in lib/proxy
41 2 2025-01-09 2025-10-21 3 2 +49 / -2 edigaryev@gmail.com edigaryev@gmail.com
mod.rs
in lib
6 - 2022-12-12 2024-03-01 2 2 +1 / -25 edigaryev@gmail.com 8136445+sparshev@users.nore...
main.rs
in src
197 4 2022-06-14 2026-05-15 12 3 +212 / -52 edigaryev@gmail.com edigaryev@gmail.com
Correlations

File Size vs. Number of Changes: 13 points

lib/proxy/mod.rs x: 233 lines of code y: 12 # changes src/main.rs x: 197 lines of code y: 12 # changes lib/dhcp_snooper.rs x: 83 lines of code y: 3 # changes lib/poller.rs x: 80 lines of code y: 7 # changes lib/host.rs x: 146 lines of code y: 9 # changes .cargo/config.toml x: 2 lines of code y: 1 # changes lib/proxy/exposed_port.rs x: 41 lines of code y: 3 # changes lib/proxy/host.rs x: 29 lines of code y: 6 # changes lib/proxy/vm.rs x: 94 lines of code y: 5 # changes lib/proxy/port_forwarder.rs x: 76 lines of code y: 1 # changes lib/mod.rs x: 6 lines of code y: 2 # changes lib/vm.rs x: 24 lines of code y: 1 # changes
12.0
# changes
  min: 1.0
  average: 4.85
  25th percentile: 1.0
  median: 3.0
  75th percentile: 8.0
  max: 12.0
0 233.0
lines of code
min: 2.0 | average: 77.92 | 25th percentile: 15.0 | median: 76.0 | 75th percentile: 120.0 | max: 233.0

Number of Contributors vs. Number of Changes: 13 points

lib/proxy/mod.rs x: 2 # contributors y: 12 # changes src/main.rs x: 3 # contributors y: 12 # changes lib/dhcp_snooper.rs x: 1 # contributors y: 3 # changes lib/poller.rs x: 1 # contributors y: 7 # changes lib/host.rs x: 2 # contributors y: 9 # changes .cargo/config.toml x: 1 # contributors y: 1 # changes lib/proxy/exposed_port.rs x: 2 # contributors y: 3 # changes lib/proxy/host.rs x: 1 # contributors y: 6 # changes lib/proxy/vm.rs x: 1 # contributors y: 5 # changes lib/mod.rs x: 2 # contributors y: 2 # changes
12.0
# changes
  min: 1.0
  average: 4.85
  25th percentile: 1.0
  median: 3.0
  75th percentile: 8.0
  max: 12.0
0 3.0
# contributors
min: 1.0 | average: 1.46 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 3.0

Number of Contributors vs. File Size: 13 points

lib/proxy/mod.rs x: 2 # contributors y: 233 lines of code src/main.rs x: 3 # contributors y: 197 lines of code lib/dhcp_snooper.rs x: 1 # contributors y: 83 lines of code lib/poller.rs x: 1 # contributors y: 80 lines of code lib/host.rs x: 2 # contributors y: 146 lines of code .cargo/config.toml x: 1 # contributors y: 2 lines of code lib/proxy/exposed_port.rs x: 2 # contributors y: 41 lines of code lib/proxy/host.rs x: 1 # contributors y: 29 lines of code lib/proxy/vm.rs x: 1 # contributors y: 94 lines of code lib/proxy/port_forwarder.rs x: 1 # contributors y: 76 lines of code lib/mod.rs x: 2 # contributors y: 6 lines of code lib/vm.rs x: 1 # contributors y: 24 lines of code
233.0
lines of code
  min: 2.0
  average: 77.92
  25th percentile: 15.0
  median: 76.0
  75th percentile: 120.0
  max: 233.0
0 3.0
# contributors
min: 1.0 | average: 1.46 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 3.0

Number of Changes vs. Line Churn: 23 points

LICENSE x: 2 # changes y: 1353 line churn lib/proxy/mod.rs x: 12 # changes y: 307 line churn src/main.rs x: 12 # changes y: 264 line churn Cargo.lock x: 13 # changes y: 4914 line churn Cargo.toml x: 12 # changes y: 70 line churn lib/dhcp_snooper.rs x: 3 # changes y: 47 line churn lib/poller.rs x: 7 # changes y: 151 line churn .goreleaser.yml x: 5 # changes y: 117 line churn .cirrus.yml x: 8 # changes y: 138 line churn lib/host.rs x: 9 # changes y: 140 line churn .cargo/config.toml x: 1 # changes y: 2 line churn lib/proxy/host.rs x: 6 # changes y: 34 line churn lib/proxy/vm.rs x: 5 # changes y: 94 line churn .github/dependabot.yml x: 2 # changes y: 10 line churn lib/proxy/port_forwarder.rs x: 1 # changes y: 99 line churn lib/mod.rs x: 2 # changes y: 26 line churn
4914.0
line churn
  min: 1.0
  average: 341.78
  25th percentile: 5.0
  median: 51.0
  75th percentile: 140.0
  max: 4914.0
0 13.0
# changes
min: 1.0 | average: 5.0 | 25th percentile: 1.0 | median: 3.0 | 75th percentile: 8.0 | max: 13.0

Number of Contributors vs. Line Churn: 13 points

lib/proxy/mod.rs x: 2 # contributors y: 307 line churn src/main.rs x: 3 # contributors y: 264 line churn lib/dhcp_snooper.rs x: 1 # contributors y: 47 line churn lib/poller.rs x: 1 # contributors y: 151 line churn lib/host.rs x: 2 # contributors y: 140 line churn .cargo/config.toml x: 1 # contributors y: 2 line churn lib/proxy/exposed_port.rs x: 2 # contributors y: 51 line churn lib/proxy/host.rs x: 1 # contributors y: 34 line churn lib/proxy/vm.rs x: 1 # contributors y: 94 line churn lib/proxy/port_forwarder.rs x: 1 # contributors y: 99 line churn lib/mod.rs x: 2 # contributors y: 26 line churn lib/vm.rs x: 1 # contributors y: 5 line churn
307.0
line churn
  min: 2.0
  average: 94.0
  25th percentile: 15.5
  median: 51.0
  75th percentile: 145.5
  max: 307.0
0 3.0
# contributors
min: 1.0 | average: 1.46 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 3.0

File Size vs. Line Churn: 13 points

lib/proxy/mod.rs x: 233 lines of code y: 307 line churn src/main.rs x: 197 lines of code y: 264 line churn lib/dhcp_snooper.rs x: 83 lines of code y: 47 line churn lib/poller.rs x: 80 lines of code y: 151 line churn lib/host.rs x: 146 lines of code y: 140 line churn .cargo/config.toml x: 2 lines of code y: 2 line churn lib/proxy/exposed_port.rs x: 41 lines of code y: 51 line churn lib/proxy/host.rs x: 29 lines of code y: 34 line churn lib/proxy/vm.rs x: 94 lines of code y: 94 line churn lib/proxy/port_forwarder.rs x: 76 lines of code y: 99 line churn lib/mod.rs x: 6 lines of code y: 26 line churn lib/vm.rs x: 24 lines of code y: 5 line churn
307.0
line churn
  min: 2.0
  average: 94.0
  25th percentile: 15.5
  median: 51.0
  75th percentile: 145.5
  max: 307.0
0 233.0
lines of code
min: 2.0 | average: 77.92 | 25th percentile: 15.0 | median: 76.0 | 75th percentile: 120.0 | max: 233.0