Overview
File Change Frequency Overall
  • There are 9 files with 380 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)
    • 2 files changed 6-20 times (82 lines of code)
    • 7 files changed 1-5 times (298 lines of code)
0% | 0% | 0% | 21% | 78%
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 9 files with 380 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)
    • 0 files changed by 2-5 contributors (0 lines of code)
    • 9 files changed by 1 contributor (380 lines of code)
0% | 0% | 0% | 0% | 100%
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, txt, yaml, sbt, yml, gitignore, xml, md, properties
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
scala0% | 0% | 0% | 23% | 76%
yaml0% | 0% | 0% | 0% | 100%
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
lambda0% | 0% | 0% | 30% | 69%
cdk0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 9)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
ReminderHandler.scala
in lambda/src/main/scala/com/gu/meeting
29 2 2025-02-27 2025-08-05 6 1 +164 / -178 john.duffell john.duffell
ReminderHandlerSteps.scala
in lambda/src/main/scala/com/gu/meeting
53 2 2025-02-27 2025-05-08 6 1 +360 / -331 john.duffell john.duffell
Infra.scala
in cdk/src/main/scala/com/gu/meeting
86 1 2025-02-27 2025-08-05 5 1 +197 / -75 john.duffell john.duffell
24 - 2025-04-30 2025-08-05 2 1 +3 / -3 john.duffell john.duffell
Config.scala
in lambda/src/main/scala/com/gu/meeting/clients
37 - 2025-04-23 2025-08-05 2 1 +92 / -4 john.duffell john.duffell
logback.xml
in lambda/src/main/resources
12 - 2025-04-23 2025-04-23 1 1 +30 / -0 john.duffell john.duffell
GCal.scala
in lambda/src/main/scala/com/gu/meeting/clients
25 - 2025-04-23 2025-04-23 1 1 +72 / -0 john.duffell john.duffell
MeetingData.scala
in lambda/src/main/scala/com/gu/meeting
52 1 2025-05-08 2025-05-08 1 1 +122 / -0 john.duffell john.duffell
ChatMessage.scala
in lambda/src/main/scala/com/gu/meeting
62 2 2025-05-08 2025-05-08 1 1 +140 / -0 john.duffell john.duffell
Files With Most Churn (Top 9)
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
ReminderHandlerSteps.scala
in lambda/src/main/scala/com/gu/meeting
53 2 2025-02-27 2025-05-08 6 1 +360 / -331 john.duffell john.duffell
ReminderHandler.scala
in lambda/src/main/scala/com/gu/meeting
29 2 2025-02-27 2025-08-05 6 1 +164 / -178 john.duffell john.duffell
Infra.scala
in cdk/src/main/scala/com/gu/meeting
86 1 2025-02-27 2025-08-05 5 1 +197 / -75 john.duffell john.duffell
ChatMessage.scala
in lambda/src/main/scala/com/gu/meeting
62 2 2025-05-08 2025-05-08 1 1 +140 / -0 john.duffell john.duffell
MeetingData.scala
in lambda/src/main/scala/com/gu/meeting
52 1 2025-05-08 2025-05-08 1 1 +122 / -0 john.duffell john.duffell
Config.scala
in lambda/src/main/scala/com/gu/meeting/clients
37 - 2025-04-23 2025-08-05 2 1 +92 / -4 john.duffell john.duffell
GCal.scala
in lambda/src/main/scala/com/gu/meeting/clients
25 - 2025-04-23 2025-04-23 1 1 +72 / -0 john.duffell john.duffell
logback.xml
in lambda/src/main/resources
12 - 2025-04-23 2025-04-23 1 1 +30 / -0 john.duffell john.duffell
24 - 2025-04-30 2025-08-05 2 1 +3 / -3 john.duffell john.duffell
Files With Most Contributors (Top 9)
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
ReminderHandler.scala
in lambda/src/main/scala/com/gu/meeting
29 2 2025-02-27 2025-08-05 6 1 +164 / -178 john.duffell john.duffell
ReminderHandlerSteps.scala
in lambda/src/main/scala/com/gu/meeting
53 2 2025-02-27 2025-05-08 6 1 +360 / -331 john.duffell john.duffell
Infra.scala
in cdk/src/main/scala/com/gu/meeting
86 1 2025-02-27 2025-08-05 5 1 +197 / -75 john.duffell john.duffell
24 - 2025-04-30 2025-08-05 2 1 +3 / -3 john.duffell john.duffell
Config.scala
in lambda/src/main/scala/com/gu/meeting/clients
37 - 2025-04-23 2025-08-05 2 1 +92 / -4 john.duffell john.duffell
logback.xml
in lambda/src/main/resources
12 - 2025-04-23 2025-04-23 1 1 +30 / -0 john.duffell john.duffell
GCal.scala
in lambda/src/main/scala/com/gu/meeting/clients
25 - 2025-04-23 2025-04-23 1 1 +72 / -0 john.duffell john.duffell
ChatMessage.scala
in lambda/src/main/scala/com/gu/meeting
62 2 2025-05-08 2025-05-08 1 1 +140 / -0 john.duffell john.duffell
MeetingData.scala
in lambda/src/main/scala/com/gu/meeting
52 1 2025-05-08 2025-05-08 1 1 +122 / -0 john.duffell john.duffell
Files With Least Contributors (Top 9)
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
Infra.scala
in cdk/src/main/scala/com/gu/meeting
86 1 2025-02-27 2025-08-05 5 1 +197 / -75 john.duffell john.duffell
ChatMessage.scala
in lambda/src/main/scala/com/gu/meeting
62 2 2025-05-08 2025-05-08 1 1 +140 / -0 john.duffell john.duffell
ReminderHandlerSteps.scala
in lambda/src/main/scala/com/gu/meeting
53 2 2025-02-27 2025-05-08 6 1 +360 / -331 john.duffell john.duffell
MeetingData.scala
in lambda/src/main/scala/com/gu/meeting
52 1 2025-05-08 2025-05-08 1 1 +122 / -0 john.duffell john.duffell
Config.scala
in lambda/src/main/scala/com/gu/meeting/clients
37 - 2025-04-23 2025-08-05 2 1 +92 / -4 john.duffell john.duffell
ReminderHandler.scala
in lambda/src/main/scala/com/gu/meeting
29 2 2025-02-27 2025-08-05 6 1 +164 / -178 john.duffell john.duffell
GCal.scala
in lambda/src/main/scala/com/gu/meeting/clients
25 - 2025-04-23 2025-04-23 1 1 +72 / -0 john.duffell john.duffell
24 - 2025-04-30 2025-08-05 2 1 +3 / -3 john.duffell john.duffell
logback.xml
in lambda/src/main/resources
12 - 2025-04-23 2025-04-23 1 1 +30 / -0 john.duffell john.duffell
Correlations

File Size vs. Number of Changes: 9 points

cdk/src/main/scala/com/gu/meeting/Infra.scala x: 86 lines of code y: 5 # changes lambda/src/main/scala/com/gu/meeting/ReminderHandler.scala x: 29 lines of code y: 6 # changes lambda/src/main/scala/com/gu/meeting/clients/Config.scala x: 37 lines of code y: 2 # changes riff-raff.yaml x: 24 lines of code y: 2 # changes lambda/src/main/scala/com/gu/meeting/ChatMessage.scala x: 62 lines of code y: 1 # changes lambda/src/main/scala/com/gu/meeting/MeetingData.scala x: 52 lines of code y: 1 # changes lambda/src/main/scala/com/gu/meeting/ReminderHandlerSteps.scala x: 53 lines of code y: 6 # changes lambda/src/main/scala/com/gu/meeting/clients/GCal.scala x: 25 lines of code y: 1 # changes lambda/src/main/resources/logback.xml x: 12 lines of code y: 1 # changes
6.0
# changes
  min: 1.0
  average: 2.78
  25th percentile: 1.0
  median: 2.0
  75th percentile: 5.5
  max: 6.0
0 86.0
lines of code
min: 12.0 | average: 42.22 | 25th percentile: 24.5 | median: 37.0 | 75th percentile: 57.5 | max: 86.0

Number of Contributors vs. Number of Changes: 9 points

cdk/src/main/scala/com/gu/meeting/Infra.scala x: 1 # contributors y: 5 # changes lambda/src/main/scala/com/gu/meeting/ReminderHandler.scala x: 1 # contributors y: 6 # changes lambda/src/main/scala/com/gu/meeting/clients/Config.scala x: 1 # contributors y: 2 # changes lambda/src/main/scala/com/gu/meeting/ChatMessage.scala x: 1 # contributors y: 1 # changes
6.0
# changes
  min: 1.0
  average: 2.78
  25th percentile: 1.0
  median: 2.0
  75th percentile: 5.5
  max: 6.0
0 1.0
# contributors
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

Number of Contributors vs. File Size: 9 points

cdk/src/main/scala/com/gu/meeting/Infra.scala x: 1 # contributors y: 86 lines of code lambda/src/main/scala/com/gu/meeting/ReminderHandler.scala x: 1 # contributors y: 29 lines of code lambda/src/main/scala/com/gu/meeting/clients/Config.scala x: 1 # contributors y: 37 lines of code riff-raff.yaml x: 1 # contributors y: 24 lines of code lambda/src/main/scala/com/gu/meeting/ChatMessage.scala x: 1 # contributors y: 62 lines of code lambda/src/main/scala/com/gu/meeting/MeetingData.scala x: 1 # contributors y: 52 lines of code lambda/src/main/scala/com/gu/meeting/ReminderHandlerSteps.scala x: 1 # contributors y: 53 lines of code lambda/src/main/scala/com/gu/meeting/clients/GCal.scala x: 1 # contributors y: 25 lines of code lambda/src/main/resources/logback.xml x: 1 # contributors y: 12 lines of code
86.0
lines of code
  min: 12.0
  average: 42.22
  25th percentile: 24.5
  median: 37.0
  75th percentile: 57.5
  max: 86.0
0 1.0
# contributors
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

Number of Changes vs. Line Churn: 23 points

build.sbt x: 3 # changes y: 96 line churn .github/workflows/ci-scala.yml x: 6 # changes y: 39 line churn .github/workflows/sbt-dependency-graph.yaml x: 1 # changes y: 2 line churn .github/workflows/check-labels.yaml x: 1 # changes y: 9 line churn README.md x: 5 # changes y: 125 line churn cdk/src/main/scala/com/gu/meeting/Infra.scala x: 5 # changes y: 272 line churn lambda/src/main/scala/com/gu/meeting/ReminderHandler.scala x: 6 # changes y: 342 line churn lambda/src/main/scala/com/gu/meeting/clients/Config.scala x: 2 # changes y: 96 line churn riff-raff.yaml x: 2 # changes y: 6 line churn lambda/src/main/scala/com/gu/meeting/ChatMessage.scala x: 1 # changes y: 140 line churn lambda/src/main/scala/com/gu/meeting/MeetingData.scala x: 1 # changes y: 122 line churn lambda/src/main/scala/com/gu/meeting/ReminderHandlerSteps.scala x: 6 # changes y: 691 line churn lambda/src/test/scala/com/gu/meeting/ChatMessageTest.scala x: 1 # changes y: 152 line churn lambda/src/test/scala/com/gu/meeting/MeetingDataTest.scala x: 3 # changes y: 360 line churn cdk/src/test/scala/com/gu/meeting/InfraTest.scala x: 1 # changes y: 28 line churn lambda/src/main/scala/com/gu/meeting/clients/GCal.scala x: 1 # changes y: 72 line churn .scalafmt.conf x: 1 # changes y: 12 line churn project/plugins.sbt x: 2 # changes y: 3 line churn lambda/src/main/resources/logback.xml x: 1 # changes y: 30 line churn project/build.properties x: 1 # changes y: 4 line churn src/main/scala/com/gu/meeting/Infra.scala x: 1 # changes y: 82 line churn src/main/scala/com/gu/meeting/ReminderHandler.scala x: 1 # changes y: 114 line churn src/main/scala/com/gu/meeting/ReminderHandlerSteps.scala x: 1 # changes y: 99 line churn
691.0
line churn
  min: 2.0
  average: 125.91
  25th percentile: 12.0
  median: 96.0
  75th percentile: 140.0
  max: 691.0
0 6.0
# changes
min: 1.0 | average: 2.3 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 3.0 | max: 6.0

Number of Contributors vs. Line Churn: 9 points

cdk/src/main/scala/com/gu/meeting/Infra.scala x: 1 # contributors y: 272 line churn lambda/src/main/scala/com/gu/meeting/ReminderHandler.scala x: 1 # contributors y: 342 line churn lambda/src/main/scala/com/gu/meeting/clients/Config.scala x: 1 # contributors y: 96 line churn riff-raff.yaml x: 1 # contributors y: 6 line churn lambda/src/main/scala/com/gu/meeting/ChatMessage.scala x: 1 # contributors y: 140 line churn lambda/src/main/scala/com/gu/meeting/MeetingData.scala x: 1 # contributors y: 122 line churn lambda/src/main/scala/com/gu/meeting/ReminderHandlerSteps.scala x: 1 # contributors y: 691 line churn lambda/src/main/scala/com/gu/meeting/clients/GCal.scala x: 1 # contributors y: 72 line churn lambda/src/main/resources/logback.xml x: 1 # contributors y: 30 line churn
691.0
line churn
  min: 6.0
  average: 196.78
  25th percentile: 51.0
  median: 122.0
  75th percentile: 307.0
  max: 691.0
0 1.0
# contributors
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

File Size vs. Line Churn: 9 points

cdk/src/main/scala/com/gu/meeting/Infra.scala x: 86 lines of code y: 272 line churn lambda/src/main/scala/com/gu/meeting/ReminderHandler.scala x: 29 lines of code y: 342 line churn lambda/src/main/scala/com/gu/meeting/clients/Config.scala x: 37 lines of code y: 96 line churn riff-raff.yaml x: 24 lines of code y: 6 line churn lambda/src/main/scala/com/gu/meeting/ChatMessage.scala x: 62 lines of code y: 140 line churn lambda/src/main/scala/com/gu/meeting/MeetingData.scala x: 52 lines of code y: 122 line churn lambda/src/main/scala/com/gu/meeting/ReminderHandlerSteps.scala x: 53 lines of code y: 691 line churn lambda/src/main/scala/com/gu/meeting/clients/GCal.scala x: 25 lines of code y: 72 line churn lambda/src/main/resources/logback.xml x: 12 lines of code y: 30 line churn
691.0
line churn
  min: 6.0
  average: 196.78
  25th percentile: 51.0
  median: 122.0
  75th percentile: 307.0
  max: 691.0
0 86.0
lines of code
min: 12.0 | average: 42.22 | 25th percentile: 24.5 | median: 37.0 | 75th percentile: 57.5 | max: 86.0