guardian / ssm-scala
File Change Frequency

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

Overview
File Change Frequency Overall
  • There are 20 files with 1,654 lines of code.
    • 1 file changed more than 100 times (28 lines of code)
    • 3 files changed 51-100 times (529 lines of code)
    • 4 files changed 21-50 times (418 lines of code)
    • 8 files changed 6-20 times (541 lines of code)
    • 4 files changed 1-5 times (138 lines of code)
1% | 31% | 25% | 32% | 8%
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 20 files with 1,654 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 8 files changed by 11-25 contributors (975 lines of code)
    • 5 files changed by 6-10 contributors (469 lines of code)
    • 6 files changed by 2-5 contributors (172 lines of code)
    • 1 file changed by 1 contributor (38 lines of code)
0% | 58% | 28% | 10% | 2%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
scala, md, yaml, sbt, gitignore, txt, sh, xml, editorconfig, properties
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
sbt96% | 0% | 0% | 3% | 0%
scala0% | 32% | 25% | 33% | 7%
xml0% | 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
ROOT100% | 0% | 0% | 0% | 0%
src0% | 32% | 25% | 33% | 8%
project0% | 0% | 0% | 100% | 0%
Most Frequently Changed Files (Top 20)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
build.sbt
in root
28 - 2018-01-09 2025-03-28 113 20 adam.fisher@guardian.co.uk adam.fisher@guardian.co.uk
Main.scala
in src/main/scala/com/gu/ssm
161 5 2018-01-09 2024-01-08 54 13 adam.fisher@guardian.co.uk philip.mcmahon@theguardian.com
models.scala
in src/main/scala/com/gu/ssm
109 - 2018-01-09 2024-01-08 51 15 adam.fisher@guardian.co.uk philip.mcmahon@theguardian.com
ArgumentParser.scala
in src/main/scala/com/gu/ssm
259 - 2018-01-19 2024-02-09 51 15 justin.rowles.casual@guardi... philip.mcmahon@theguardian.com
SSH.scala
in src/main/scala/com/gu/ssm
171 6 2018-01-19 2024-01-08 39 13 justin.rowles.casual@guardi... philip.mcmahon@theguardian.com
Logic.scala
in src/main/scala/com/gu/ssm
110 9 2018-01-11 2023-03-28 34 14 adam.fisher@guardian.co.uk jonathon.herbert@guardian.c...
EC2.scala
in src/main/scala/com/gu/ssm/aws
52 5 2018-01-11 2022-11-14 22 13 adam.fisher@guardian.co.uk kenoir@gmail.com
SSM.scala
in src/main/scala/com/gu/ssm/aws
85 8 2018-01-09 2022-11-14 21 12 adam.fisher@guardian.co.uk kenoir@gmail.com
IO.scala
in src/main/scala/com/gu/ssm
51 6 2018-01-11 2023-03-28 20 9 adam.fisher@guardian.co.uk jonathon.herbert@guardian.c...
UI.scala
in src/main/scala/com/gu/ssm
98 10 2018-01-09 2022-11-14 18 10 adam.fisher@guardian.co.uk kenoir@gmail.com
AwsAsyncHandler.scala
in src/main/scala/com/gu/ssm/aws
51 4 2018-01-12 2022-11-14 13 10 adam.fisher@guardian.co.uk kenoir@gmail.com
Interactive.scala
in src/main/scala/com/gu/ssm
150 10 2018-01-19 2022-11-16 12 8 justin.rowles.casual@guardi... kenoir@users.noreply.github...
Failure.scala
in src/main/scala/com/gu/ssm/utils/attempt
47 4 2018-01-12 2024-01-08 10 5 adam.fisher@guardian.co.uk philip.mcmahon@theguardian.com
plugins.sbt
in project
1 - 2018-01-09 2024-10-08 9 4 adam.fisher@guardian.co.uk 15648334+tjsilver@users.nor...
STS.scala
in src/main/scala/com/gu/ssm/aws
24 3 2018-01-09 2021-04-15 6 5 adam.fisher@guardian.co.uk mbarton@users.noreply.githu...
Attempt.scala
in src/main/scala/com/gu/ssm/utils/attempt
119 16 2018-01-12 2021-03-25 6 6 adam.fisher@guardian.co.uk michael.barton@guardian.co.uk
KeyMaker.scala
in src/main/scala/com/gu/ssm/utils
44 4 2018-01-19 2022-11-14 4 5 justin.rowles.casual@guardi... kenoir@gmail.com
logback.xml
in src/main/resources
12 - 2018-01-12 2018-06-21 3 2 adam.fisher@guardian.co.uk pascal@alseyn.net
RDS.scala
in src/main/scala/com/gu/ssm/aws
38 4 2023-03-17 2023-03-28 2 1 jonathon.herbert@guardian.c... jonathon.herbert@guardian.c...
FilePermissions.scala
in src/main/scala/com/gu/ssm/utils
44 3 2018-01-22 2018-01-22 1 2 justin.rowles@gmail.com justin.rowles.casual@guardi...
Files With Most Contributors (Top 20)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
build.sbt
in root
28 - 2018-01-09 2025-03-28 113 20 adam.fisher@guardian.co.uk adam.fisher@guardian.co.uk
models.scala
in src/main/scala/com/gu/ssm
109 - 2018-01-09 2024-01-08 51 15 adam.fisher@guardian.co.uk philip.mcmahon@theguardian.com
ArgumentParser.scala
in src/main/scala/com/gu/ssm
259 - 2018-01-19 2024-02-09 51 15 justin.rowles.casual@guardi... philip.mcmahon@theguardian.com
Logic.scala
in src/main/scala/com/gu/ssm
110 9 2018-01-11 2023-03-28 34 14 adam.fisher@guardian.co.uk jonathon.herbert@guardian.c...
Main.scala
in src/main/scala/com/gu/ssm
161 5 2018-01-09 2024-01-08 54 13 adam.fisher@guardian.co.uk philip.mcmahon@theguardian.com
SSH.scala
in src/main/scala/com/gu/ssm
171 6 2018-01-19 2024-01-08 39 13 justin.rowles.casual@guardi... philip.mcmahon@theguardian.com
EC2.scala
in src/main/scala/com/gu/ssm/aws
52 5 2018-01-11 2022-11-14 22 13 adam.fisher@guardian.co.uk kenoir@gmail.com
SSM.scala
in src/main/scala/com/gu/ssm/aws
85 8 2018-01-09 2022-11-14 21 12 adam.fisher@guardian.co.uk kenoir@gmail.com
UI.scala
in src/main/scala/com/gu/ssm
98 10 2018-01-09 2022-11-14 18 10 adam.fisher@guardian.co.uk kenoir@gmail.com
AwsAsyncHandler.scala
in src/main/scala/com/gu/ssm/aws
51 4 2018-01-12 2022-11-14 13 10 adam.fisher@guardian.co.uk kenoir@gmail.com
IO.scala
in src/main/scala/com/gu/ssm
51 6 2018-01-11 2023-03-28 20 9 adam.fisher@guardian.co.uk jonathon.herbert@guardian.c...
Interactive.scala
in src/main/scala/com/gu/ssm
150 10 2018-01-19 2022-11-16 12 8 justin.rowles.casual@guardi... kenoir@users.noreply.github...
Attempt.scala
in src/main/scala/com/gu/ssm/utils/attempt
119 16 2018-01-12 2021-03-25 6 6 adam.fisher@guardian.co.uk michael.barton@guardian.co.uk
Failure.scala
in src/main/scala/com/gu/ssm/utils/attempt
47 4 2018-01-12 2024-01-08 10 5 adam.fisher@guardian.co.uk philip.mcmahon@theguardian.com
STS.scala
in src/main/scala/com/gu/ssm/aws
24 3 2018-01-09 2021-04-15 6 5 adam.fisher@guardian.co.uk mbarton@users.noreply.githu...
KeyMaker.scala
in src/main/scala/com/gu/ssm/utils
44 4 2018-01-19 2022-11-14 4 5 justin.rowles.casual@guardi... kenoir@gmail.com
plugins.sbt
in project
1 - 2018-01-09 2024-10-08 9 4 adam.fisher@guardian.co.uk 15648334+tjsilver@users.nor...
logback.xml
in src/main/resources
12 - 2018-01-12 2018-06-21 3 2 adam.fisher@guardian.co.uk pascal@alseyn.net
FilePermissions.scala
in src/main/scala/com/gu/ssm/utils
44 3 2018-01-22 2018-01-22 1 2 justin.rowles@gmail.com justin.rowles.casual@guardi...
RDS.scala
in src/main/scala/com/gu/ssm/aws
38 4 2023-03-17 2023-03-28 2 1 jonathon.herbert@guardian.c... jonathon.herbert@guardian.c...
Files With Least Contributors (Top 20)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
RDS.scala
in src/main/scala/com/gu/ssm/aws
38 4 2023-03-17 2023-03-28 2 1 jonathon.herbert@guardian.c... jonathon.herbert@guardian.c...
FilePermissions.scala
in src/main/scala/com/gu/ssm/utils
44 3 2018-01-22 2018-01-22 1 2 justin.rowles@gmail.com justin.rowles.casual@guardi...
logback.xml
in src/main/resources
12 - 2018-01-12 2018-06-21 3 2 adam.fisher@guardian.co.uk pascal@alseyn.net
plugins.sbt
in project
1 - 2018-01-09 2024-10-08 9 4 adam.fisher@guardian.co.uk 15648334+tjsilver@users.nor...
Failure.scala
in src/main/scala/com/gu/ssm/utils/attempt
47 4 2018-01-12 2024-01-08 10 5 adam.fisher@guardian.co.uk philip.mcmahon@theguardian.com
KeyMaker.scala
in src/main/scala/com/gu/ssm/utils
44 4 2018-01-19 2022-11-14 4 5 justin.rowles.casual@guardi... kenoir@gmail.com
STS.scala
in src/main/scala/com/gu/ssm/aws
24 3 2018-01-09 2021-04-15 6 5 adam.fisher@guardian.co.uk mbarton@users.noreply.githu...
Attempt.scala
in src/main/scala/com/gu/ssm/utils/attempt
119 16 2018-01-12 2021-03-25 6 6 adam.fisher@guardian.co.uk michael.barton@guardian.co.uk
Interactive.scala
in src/main/scala/com/gu/ssm
150 10 2018-01-19 2022-11-16 12 8 justin.rowles.casual@guardi... kenoir@users.noreply.github...
IO.scala
in src/main/scala/com/gu/ssm
51 6 2018-01-11 2023-03-28 20 9 adam.fisher@guardian.co.uk jonathon.herbert@guardian.c...
UI.scala
in src/main/scala/com/gu/ssm
98 10 2018-01-09 2022-11-14 18 10 adam.fisher@guardian.co.uk kenoir@gmail.com
AwsAsyncHandler.scala
in src/main/scala/com/gu/ssm/aws
51 4 2018-01-12 2022-11-14 13 10 adam.fisher@guardian.co.uk kenoir@gmail.com
SSM.scala
in src/main/scala/com/gu/ssm/aws
85 8 2018-01-09 2022-11-14 21 12 adam.fisher@guardian.co.uk kenoir@gmail.com
SSH.scala
in src/main/scala/com/gu/ssm
171 6 2018-01-19 2024-01-08 39 13 justin.rowles.casual@guardi... philip.mcmahon@theguardian.com
Main.scala
in src/main/scala/com/gu/ssm
161 5 2018-01-09 2024-01-08 54 13 adam.fisher@guardian.co.uk philip.mcmahon@theguardian.com
EC2.scala
in src/main/scala/com/gu/ssm/aws
52 5 2018-01-11 2022-11-14 22 13 adam.fisher@guardian.co.uk kenoir@gmail.com
Logic.scala
in src/main/scala/com/gu/ssm
110 9 2018-01-11 2023-03-28 34 14 adam.fisher@guardian.co.uk jonathon.herbert@guardian.c...
ArgumentParser.scala
in src/main/scala/com/gu/ssm
259 - 2018-01-19 2024-02-09 51 15 justin.rowles.casual@guardi... philip.mcmahon@theguardian.com
models.scala
in src/main/scala/com/gu/ssm
109 - 2018-01-09 2024-01-08 51 15 adam.fisher@guardian.co.uk philip.mcmahon@theguardian.com
build.sbt
in root
28 - 2018-01-09 2025-03-28 113 20 adam.fisher@guardian.co.uk adam.fisher@guardian.co.uk
Correlations

File Size vs. Number of Changes: 20 points

build.sbt x: 28 lines of code y: 113 # changes project/plugins.sbt x: 1 lines of code y: 9 # changes src/main/scala/com/gu/ssm/ArgumentParser.scala x: 259 lines of code y: 51 # changes src/main/scala/com/gu/ssm/models.scala x: 109 lines of code y: 51 # changes src/main/scala/com/gu/ssm/utils/attempt/Failure.scala x: 47 lines of code y: 10 # changes src/main/scala/com/gu/ssm/SSH.scala x: 171 lines of code y: 39 # changes src/main/scala/com/gu/ssm/Main.scala x: 161 lines of code y: 54 # changes src/main/scala/com/gu/ssm/IO.scala x: 51 lines of code y: 20 # changes src/main/scala/com/gu/ssm/Logic.scala x: 110 lines of code y: 34 # changes src/main/scala/com/gu/ssm/aws/RDS.scala x: 38 lines of code y: 2 # changes src/main/scala/com/gu/ssm/Interactive.scala x: 150 lines of code y: 12 # changes src/main/scala/com/gu/ssm/UI.scala x: 98 lines of code y: 18 # changes src/main/scala/com/gu/ssm/aws/AwsAsyncHandler.scala x: 51 lines of code y: 13 # changes src/main/scala/com/gu/ssm/aws/EC2.scala x: 52 lines of code y: 22 # changes src/main/scala/com/gu/ssm/aws/SSM.scala x: 85 lines of code y: 21 # changes src/main/scala/com/gu/ssm/utils/KeyMaker.scala x: 44 lines of code y: 4 # changes src/main/scala/com/gu/ssm/aws/STS.scala x: 24 lines of code y: 6 # changes src/main/scala/com/gu/ssm/utils/attempt/Attempt.scala x: 119 lines of code y: 6 # changes src/main/resources/logback.xml x: 12 lines of code y: 3 # changes src/main/scala/com/gu/ssm/utils/FilePermissions.scala x: 44 lines of code y: 1 # changes
113.0
# changes
  min: 1.0
  average: 24.45
  25th percentile: 6.0
  median: 15.5
  75th percentile: 37.75
  max: 113.0
0 259.0
lines of code
min: 1.0 | average: 82.7 | 25th percentile: 39.5 | median: 51.5 | 75th percentile: 116.75 | max: 259.0

Number of Contributors vs. Number of Changes: 20 points

build.sbt x: 20 # contributors y: 113 # changes project/plugins.sbt x: 4 # contributors y: 9 # changes src/main/scala/com/gu/ssm/ArgumentParser.scala x: 15 # contributors y: 51 # changes src/main/scala/com/gu/ssm/utils/attempt/Failure.scala x: 5 # contributors y: 10 # changes src/main/scala/com/gu/ssm/SSH.scala x: 13 # contributors y: 39 # changes src/main/scala/com/gu/ssm/Main.scala x: 13 # contributors y: 54 # changes src/main/scala/com/gu/ssm/IO.scala x: 9 # contributors y: 20 # changes src/main/scala/com/gu/ssm/Logic.scala x: 14 # contributors y: 34 # changes src/main/scala/com/gu/ssm/aws/RDS.scala x: 1 # contributors y: 2 # changes src/main/scala/com/gu/ssm/Interactive.scala x: 8 # contributors y: 12 # changes src/main/scala/com/gu/ssm/UI.scala x: 10 # contributors y: 18 # changes src/main/scala/com/gu/ssm/aws/AwsAsyncHandler.scala x: 10 # contributors y: 13 # changes src/main/scala/com/gu/ssm/aws/EC2.scala x: 13 # contributors y: 22 # changes src/main/scala/com/gu/ssm/aws/SSM.scala x: 12 # contributors y: 21 # changes src/main/scala/com/gu/ssm/utils/KeyMaker.scala x: 5 # contributors y: 4 # changes src/main/scala/com/gu/ssm/aws/STS.scala x: 5 # contributors y: 6 # changes src/main/scala/com/gu/ssm/utils/attempt/Attempt.scala x: 6 # contributors y: 6 # changes src/main/resources/logback.xml x: 2 # contributors y: 3 # changes src/main/scala/com/gu/ssm/utils/FilePermissions.scala x: 2 # contributors y: 1 # changes
113.0
# changes
  min: 1.0
  average: 24.45
  25th percentile: 6.0
  median: 15.5
  75th percentile: 37.75
  max: 113.0
0 20.0
# contributors
min: 1.0 | average: 9.1 | 25th percentile: 5.0 | median: 9.5 | 75th percentile: 13.0 | max: 20.0

Number of Contributors vs. File Size: 20 points

build.sbt x: 20 # contributors y: 28 lines of code project/plugins.sbt x: 4 # contributors y: 1 lines of code src/main/scala/com/gu/ssm/ArgumentParser.scala x: 15 # contributors y: 259 lines of code src/main/scala/com/gu/ssm/models.scala x: 15 # contributors y: 109 lines of code src/main/scala/com/gu/ssm/utils/attempt/Failure.scala x: 5 # contributors y: 47 lines of code src/main/scala/com/gu/ssm/SSH.scala x: 13 # contributors y: 171 lines of code src/main/scala/com/gu/ssm/Main.scala x: 13 # contributors y: 161 lines of code src/main/scala/com/gu/ssm/IO.scala x: 9 # contributors y: 51 lines of code src/main/scala/com/gu/ssm/Logic.scala x: 14 # contributors y: 110 lines of code src/main/scala/com/gu/ssm/aws/RDS.scala x: 1 # contributors y: 38 lines of code src/main/scala/com/gu/ssm/Interactive.scala x: 8 # contributors y: 150 lines of code src/main/scala/com/gu/ssm/UI.scala x: 10 # contributors y: 98 lines of code src/main/scala/com/gu/ssm/aws/AwsAsyncHandler.scala x: 10 # contributors y: 51 lines of code src/main/scala/com/gu/ssm/aws/EC2.scala x: 13 # contributors y: 52 lines of code src/main/scala/com/gu/ssm/aws/SSM.scala x: 12 # contributors y: 85 lines of code src/main/scala/com/gu/ssm/utils/KeyMaker.scala x: 5 # contributors y: 44 lines of code src/main/scala/com/gu/ssm/aws/STS.scala x: 5 # contributors y: 24 lines of code src/main/scala/com/gu/ssm/utils/attempt/Attempt.scala x: 6 # contributors y: 119 lines of code src/main/resources/logback.xml x: 2 # contributors y: 12 lines of code src/main/scala/com/gu/ssm/utils/FilePermissions.scala x: 2 # contributors y: 44 lines of code
259.0
lines of code
  min: 1.0
  average: 82.7
  25th percentile: 39.5
  median: 51.5
  75th percentile: 116.75
  max: 259.0
0 20.0
# contributors
min: 1.0 | average: 9.1 | 25th percentile: 5.0 | median: 9.5 | 75th percentile: 13.0 | max: 20.0