Overview
File Change Frequency Overall
  • There are 10 files with 304 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)
    • 3 files changed 6-20 times (126 lines of code)
    • 7 files changed 1-5 times (178 lines of code)
0% | 0% | 0% | 41% | 58%
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 10 files with 304 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)
    • 3 files changed by 2-5 contributors (149 lines of code)
    • 7 files changed by 1 contributor (155 lines of code)
0% | 0% | 0% | 49% | 50%
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, sbt, txt, md, yml, yaml, gitignore, properties
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
scala0% | 0% | 0% | 41% | 58%
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
core0% | 0% | 0% | 75% | 24%
aws-parameterstore0% | 0% | 0% | 30% | 69%
play0% | 0% | 0% | 0% | 100%
secret-generator0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 10)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
SnapshotProvider.scala
in core/src/main/scala/com/gu/play/secretrotation
23 2 2018-05-01 2024-04-04 8 1 +134 / -26 roberto.tyley roberto.tyley
DualSecretTransition.scala
in core/src/main/scala/com/gu/play/secretrotation
75 2 2018-05-01 2024-04-03 8 1 +246 / -38 roberto.tyley roberto.tyley
SecretSupplier.scala
in aws-parameterstore/secret-supplier
28 1 2019-03-23 2026-02-03 6 2 +88 / -16 roberto.tyley 52038+rtyley
AwsSdkV2.scala
in aws-parameterstore/secret-supplier/aws-sdk-v2
8 - 2019-03-23 2023-11-08 4 1 +26 / -4 roberto.tyley roberto.tyley
Phase.scala
in core/src/main/scala/com/gu/play/secretrotation
22 1 2018-05-01 2023-11-08 4 1 +92 / -10 roberto.tyley roberto.tyley
Lambda.scala
in aws-parameterstore/lambda
50 2 2019-03-23 2026-02-03 4 2 +172 / -44 roberto.tyley 52038+rtyley
MinimalAwsSdkWrapper.scala
in aws-parameterstore/secret-supplier
7 - 2019-03-23 2019-10-06 3 1 +30 / -2 roberto.tyley roberto.tyley
TransitionTiming.scala
in core/src/main/scala/com/gu/play/secretrotation
10 - 2018-04-05 2018-06-22 3 1 +19 / -2 roberto.tyley roberto.tyley
71 2 2023-11-08 2024-05-24 3 2 +214 / -6 roberto.tyley divya.bhatt
SecretGenerator.scala
in secret-generator/src/main/scala/com/gu/play/secretrotation
10 - 2018-04-13 2018-04-13 1 1 +20 / -0 roberto.tyley roberto.tyley
Files With Most Churn (Top 10)
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
DualSecretTransition.scala
in core/src/main/scala/com/gu/play/secretrotation
75 2 2018-05-01 2024-04-03 8 1 +246 / -38 roberto.tyley roberto.tyley
71 2 2023-11-08 2024-05-24 3 2 +214 / -6 roberto.tyley divya.bhatt
Lambda.scala
in aws-parameterstore/lambda
50 2 2019-03-23 2026-02-03 4 2 +172 / -44 roberto.tyley 52038+rtyley
SnapshotProvider.scala
in core/src/main/scala/com/gu/play/secretrotation
23 2 2018-05-01 2024-04-04 8 1 +134 / -26 roberto.tyley roberto.tyley
SecretSupplier.scala
in aws-parameterstore/secret-supplier
28 1 2019-03-23 2026-02-03 6 2 +88 / -16 roberto.tyley 52038+rtyley
Phase.scala
in core/src/main/scala/com/gu/play/secretrotation
22 1 2018-05-01 2023-11-08 4 1 +92 / -10 roberto.tyley roberto.tyley
MinimalAwsSdkWrapper.scala
in aws-parameterstore/secret-supplier
7 - 2019-03-23 2019-10-06 3 1 +30 / -2 roberto.tyley roberto.tyley
AwsSdkV2.scala
in aws-parameterstore/secret-supplier/aws-sdk-v2
8 - 2019-03-23 2023-11-08 4 1 +26 / -4 roberto.tyley roberto.tyley
TransitionTiming.scala
in core/src/main/scala/com/gu/play/secretrotation
10 - 2018-04-05 2018-06-22 3 1 +19 / -2 roberto.tyley roberto.tyley
SecretGenerator.scala
in secret-generator/src/main/scala/com/gu/play/secretrotation
10 - 2018-04-13 2018-04-13 1 1 +20 / -0 roberto.tyley roberto.tyley
Files With Most Contributors (Top 10)
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
SecretSupplier.scala
in aws-parameterstore/secret-supplier
28 1 2019-03-23 2026-02-03 6 2 +88 / -16 roberto.tyley 52038+rtyley
Lambda.scala
in aws-parameterstore/lambda
50 2 2019-03-23 2026-02-03 4 2 +172 / -44 roberto.tyley 52038+rtyley
71 2 2023-11-08 2024-05-24 3 2 +214 / -6 roberto.tyley divya.bhatt
DualSecretTransition.scala
in core/src/main/scala/com/gu/play/secretrotation
75 2 2018-05-01 2024-04-03 8 1 +246 / -38 roberto.tyley roberto.tyley
SnapshotProvider.scala
in core/src/main/scala/com/gu/play/secretrotation
23 2 2018-05-01 2024-04-04 8 1 +134 / -26 roberto.tyley roberto.tyley
Phase.scala
in core/src/main/scala/com/gu/play/secretrotation
22 1 2018-05-01 2023-11-08 4 1 +92 / -10 roberto.tyley roberto.tyley
AwsSdkV2.scala
in aws-parameterstore/secret-supplier/aws-sdk-v2
8 - 2019-03-23 2023-11-08 4 1 +26 / -4 roberto.tyley roberto.tyley
TransitionTiming.scala
in core/src/main/scala/com/gu/play/secretrotation
10 - 2018-04-05 2018-06-22 3 1 +19 / -2 roberto.tyley roberto.tyley
MinimalAwsSdkWrapper.scala
in aws-parameterstore/secret-supplier
7 - 2019-03-23 2019-10-06 3 1 +30 / -2 roberto.tyley roberto.tyley
SecretGenerator.scala
in secret-generator/src/main/scala/com/gu/play/secretrotation
10 - 2018-04-13 2018-04-13 1 1 +20 / -0 roberto.tyley roberto.tyley
Files With Least Contributors (Top 10)
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
DualSecretTransition.scala
in core/src/main/scala/com/gu/play/secretrotation
75 2 2018-05-01 2024-04-03 8 1 +246 / -38 roberto.tyley roberto.tyley
SnapshotProvider.scala
in core/src/main/scala/com/gu/play/secretrotation
23 2 2018-05-01 2024-04-04 8 1 +134 / -26 roberto.tyley roberto.tyley
Phase.scala
in core/src/main/scala/com/gu/play/secretrotation
22 1 2018-05-01 2023-11-08 4 1 +92 / -10 roberto.tyley roberto.tyley
TransitionTiming.scala
in core/src/main/scala/com/gu/play/secretrotation
10 - 2018-04-05 2018-06-22 3 1 +19 / -2 roberto.tyley roberto.tyley
SecretGenerator.scala
in secret-generator/src/main/scala/com/gu/play/secretrotation
10 - 2018-04-13 2018-04-13 1 1 +20 / -0 roberto.tyley roberto.tyley
AwsSdkV2.scala
in aws-parameterstore/secret-supplier/aws-sdk-v2
8 - 2019-03-23 2023-11-08 4 1 +26 / -4 roberto.tyley roberto.tyley
MinimalAwsSdkWrapper.scala
in aws-parameterstore/secret-supplier
7 - 2019-03-23 2019-10-06 3 1 +30 / -2 roberto.tyley roberto.tyley
71 2 2023-11-08 2024-05-24 3 2 +214 / -6 roberto.tyley divya.bhatt
Lambda.scala
in aws-parameterstore/lambda
50 2 2019-03-23 2026-02-03 4 2 +172 / -44 roberto.tyley 52038+rtyley
SecretSupplier.scala
in aws-parameterstore/secret-supplier
28 1 2019-03-23 2026-02-03 6 2 +88 / -16 roberto.tyley 52038+rtyley
Correlations

File Size vs. Number of Changes: 10 points

aws-parameterstore/lambda/Lambda.scala x: 50 lines of code y: 4 # changes aws-parameterstore/secret-supplier/SecretSupplier.scala x: 28 lines of code y: 6 # changes play/play-v29/RotatingSecretComponents.scala x: 71 lines of code y: 3 # changes core/src/main/scala/com/gu/play/secretrotation/SnapshotProvider.scala x: 23 lines of code y: 8 # changes core/src/main/scala/com/gu/play/secretrotation/DualSecretTransition.scala x: 75 lines of code y: 8 # changes aws-parameterstore/secret-supplier/aws-sdk-v2/AwsSdkV2.scala x: 8 lines of code y: 4 # changes core/src/main/scala/com/gu/play/secretrotation/Phase.scala x: 22 lines of code y: 4 # changes aws-parameterstore/secret-supplier/MinimalAwsSdkWrapper.scala x: 7 lines of code y: 3 # changes core/src/main/scala/com/gu/play/secretrotation/TransitionTiming.scala x: 10 lines of code y: 3 # changes secret-generator/src/main/scala/com/gu/play/secretrotation/SecretGenerator.scala x: 10 lines of code y: 1 # changes
8.0
# changes
  min: 1.0
  average: 4.4
  25th percentile: 3.0
  median: 4.0
  75th percentile: 6.5
  max: 8.0
0 75.0
lines of code
min: 7.0 | average: 30.4 | 25th percentile: 9.5 | median: 22.5 | 75th percentile: 55.25 | max: 75.0

Number of Contributors vs. Number of Changes: 10 points

aws-parameterstore/lambda/Lambda.scala x: 2 # contributors y: 4 # changes aws-parameterstore/secret-supplier/SecretSupplier.scala x: 2 # contributors y: 6 # changes play/play-v29/RotatingSecretComponents.scala x: 2 # contributors y: 3 # changes core/src/main/scala/com/gu/play/secretrotation/SnapshotProvider.scala x: 1 # contributors y: 8 # changes aws-parameterstore/secret-supplier/aws-sdk-v2/AwsSdkV2.scala x: 1 # contributors y: 4 # changes aws-parameterstore/secret-supplier/MinimalAwsSdkWrapper.scala x: 1 # contributors y: 3 # changes secret-generator/src/main/scala/com/gu/play/secretrotation/SecretGenerator.scala x: 1 # contributors y: 1 # changes
8.0
# changes
  min: 1.0
  average: 4.4
  25th percentile: 3.0
  median: 4.0
  75th percentile: 6.5
  max: 8.0
0 2.0
# contributors
min: 1.0 | average: 1.3 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 2.0

Number of Contributors vs. File Size: 10 points

aws-parameterstore/lambda/Lambda.scala x: 2 # contributors y: 50 lines of code aws-parameterstore/secret-supplier/SecretSupplier.scala x: 2 # contributors y: 28 lines of code play/play-v29/RotatingSecretComponents.scala x: 2 # contributors y: 71 lines of code core/src/main/scala/com/gu/play/secretrotation/SnapshotProvider.scala x: 1 # contributors y: 23 lines of code core/src/main/scala/com/gu/play/secretrotation/DualSecretTransition.scala x: 1 # contributors y: 75 lines of code aws-parameterstore/secret-supplier/aws-sdk-v2/AwsSdkV2.scala x: 1 # contributors y: 8 lines of code core/src/main/scala/com/gu/play/secretrotation/Phase.scala x: 1 # contributors y: 22 lines of code aws-parameterstore/secret-supplier/MinimalAwsSdkWrapper.scala x: 1 # contributors y: 7 lines of code core/src/main/scala/com/gu/play/secretrotation/TransitionTiming.scala x: 1 # contributors y: 10 lines of code
75.0
lines of code
  min: 7.0
  average: 30.4
  25th percentile: 9.5
  median: 22.5
  75th percentile: 55.25
  max: 75.0
0 2.0
# contributors
min: 1.0 | average: 1.3 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 2.0

Number of Changes vs. Line Churn: 44 points

version.sbt x: 106 # changes y: 543 line churn project/plugins.sbt x: 54 # changes y: 202 line churn project/build.properties x: 83 # changes y: 190 line churn build.sbt x: 195 # changes y: 1474 line churn aws-parameterstore/README.md x: 13 # changes y: 355 line churn aws-parameterstore/lambda/Lambda.scala x: 4 # changes y: 216 line churn aws-parameterstore/secret-supplier/SecretSupplier.scala x: 6 # changes y: 104 line churn aws-parameterstore/secret-supplier/aws-sdk-v1/AwsSdkV1.scala x: 6 # changes y: 64 line churn .github/workflows/sbt-dependency-graph.yaml x: 4 # changes y: 78 line churn .scala-steward.conf x: 6 # changes y: 57 line churn README.md x: 9 # changes y: 75 line churn .github/workflows/check-labels.yaml x: 1 # changes y: 9 line churn .github/workflows/release.yml x: 9 # changes y: 46 line churn .github/workflows/snyk.yml x: 9 # changes y: 88 line churn .github/workflows/ci.yml x: 6 # changes y: 92 line churn play/play-v28/RotatingSecretComponents.scala x: 7 # changes y: 428 line churn play/play-v29/RotatingSecretComponents.scala x: 3 # changes y: 220 line churn play/play-v30/RotatingSecretComponents.scala x: 3 # changes y: 14 line churn .github/CODEOWNERS x: 3 # changes y: 5 line churn core/src/main/scala/com/gu/play/secretrotation/SnapshotProvider.scala x: 8 # changes y: 160 line churn core/src/main/scala/com/gu/play/secretrotation/DualSecretTransition.scala x: 8 # changes y: 284 line churn .tool-versions x: 1 # changes y: 2 line churn play/play-v27/RotatingSecretComponents.scala x: 4 # changes y: 252 line churn sonatype.sbt x: 6 # changes y: 41 line churn aws-parameterstore/secret-supplier/aws-sdk-v2/AwsSdkV2.scala x: 4 # changes y: 30 line churn core/src/main/scala/com/gu/play/secretrotation/Phase.scala x: 4 # changes y: 102 line churn play/play-v26/RotatingSecretComponents.scala x: 3 # changes y: 248 line churn .travis.yml x: 7 # changes y: 82 line churn core/src/test/scala/com/gu/play/secretrotation/PhaseScheduleSpec.scala x: 4 # changes y: 62 line churn aws-parameterstore/secret-supplier/MinimalAwsSdkWrapper.scala x: 3 # changes y: 32 line churn core/src/main/scala/com/gu/play/secretrotation/RotatingSecretComponents.scala x: 4 # changes y: 256 line churn aws-parameterstore/lambda/src/main/scala/com/gu/play/secretrotation/aws/ParameterStoreLambda.scala x: 4 # changes y: 195 line churn aws-parameterstore/state-supplier/src/main/scala/com/gu/play/secretrotation/aws/ParameterStore.scala x: 7 # changes y: 241 line churn core/src/main/scala/com/gu/play/secretrotation/RotatingKeySessionCookieBaker.scala x: 4 # changes y: 205 line churn core/src/main/scala/com/gu/play/secretrotation/SecretState.scala x: 5 # changes y: 339 line churn core/src/main/scala/com/gu/play/secretrotation/TransitionTiming.scala x: 3 # changes y: 21 line churn aws-parameterstore/src/main/scala/com/gu/play/secretrotation/aws/AwsParameterStore.scala x: 3 # changes y: 73 line churn aws-secretsmanager/src/main/scala/com/gu/play/secretrotation/aws/AwsSecretsManager.scala x: 3 # changes y: 56 line churn secret-generator/src/main/scala/com/gu/play/secretrotation/SecretGenerator.scala x: 1 # changes y: 20 line churn core/src/main/scala/com/gu/play/secretrotation/core/RotatingKeySessionCookieBaker.scala x: 1 # changes y: 62 line churn core/src/main/scala/com/gu/play/secretrotation/core/SecretState.scala x: 1 # changes y: 73 line churn core/src/main/scala/com/gu/play/secretrotation/core/TransitionTiming.scala x: 1 # changes y: 17 line churn
1474.0
line churn
  min: 2.0
  average: 162.14
  25th percentile: 34.25
  median: 80.0
  75th percentile: 219.0
  max: 1474.0
0 195.0
# changes
min: 1.0 | average: 14.14 | 25th percentile: 3.0 | median: 4.0 | 75th percentile: 7.0 | max: 195.0

Number of Contributors vs. Line Churn: 10 points

aws-parameterstore/lambda/Lambda.scala x: 2 # contributors y: 216 line churn aws-parameterstore/secret-supplier/SecretSupplier.scala x: 2 # contributors y: 104 line churn play/play-v29/RotatingSecretComponents.scala x: 2 # contributors y: 220 line churn core/src/main/scala/com/gu/play/secretrotation/SnapshotProvider.scala x: 1 # contributors y: 160 line churn core/src/main/scala/com/gu/play/secretrotation/DualSecretTransition.scala x: 1 # contributors y: 284 line churn aws-parameterstore/secret-supplier/aws-sdk-v2/AwsSdkV2.scala x: 1 # contributors y: 30 line churn core/src/main/scala/com/gu/play/secretrotation/Phase.scala x: 1 # contributors y: 102 line churn aws-parameterstore/secret-supplier/MinimalAwsSdkWrapper.scala x: 1 # contributors y: 32 line churn core/src/main/scala/com/gu/play/secretrotation/TransitionTiming.scala x: 1 # contributors y: 21 line churn secret-generator/src/main/scala/com/gu/play/secretrotation/SecretGenerator.scala x: 1 # contributors y: 20 line churn
284.0
line churn
  min: 20.0
  average: 118.9
  25th percentile: 27.75
  median: 103.0
  75th percentile: 217.0
  max: 284.0
0 2.0
# contributors
min: 1.0 | average: 1.3 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 2.0

File Size vs. Line Churn: 10 points

aws-parameterstore/lambda/Lambda.scala x: 50 lines of code y: 216 line churn aws-parameterstore/secret-supplier/SecretSupplier.scala x: 28 lines of code y: 104 line churn play/play-v29/RotatingSecretComponents.scala x: 71 lines of code y: 220 line churn core/src/main/scala/com/gu/play/secretrotation/SnapshotProvider.scala x: 23 lines of code y: 160 line churn core/src/main/scala/com/gu/play/secretrotation/DualSecretTransition.scala x: 75 lines of code y: 284 line churn aws-parameterstore/secret-supplier/aws-sdk-v2/AwsSdkV2.scala x: 8 lines of code y: 30 line churn core/src/main/scala/com/gu/play/secretrotation/Phase.scala x: 22 lines of code y: 102 line churn aws-parameterstore/secret-supplier/MinimalAwsSdkWrapper.scala x: 7 lines of code y: 32 line churn core/src/main/scala/com/gu/play/secretrotation/TransitionTiming.scala x: 10 lines of code y: 21 line churn secret-generator/src/main/scala/com/gu/play/secretrotation/SecretGenerator.scala x: 10 lines of code y: 20 line churn
284.0
line churn
  min: 20.0
  average: 118.9
  25th percentile: 27.75
  median: 103.0
  75th percentile: 217.0
  max: 284.0
0 75.0
lines of code
min: 7.0 | average: 30.4 | 25th percentile: 9.5 | median: 22.5 | 75th percentile: 55.25 | max: 75.0