guardian / gatehouse
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 36 files with 1,459 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)
    • 4 files changed 6-20 times (675 lines of code)
    • 32 files changed 1-5 times (784 lines of code)
0% | 0% | 0% | 46% | 53%
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 36 files with 1,459 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)
    • 10 files changed by 2-5 contributors (757 lines of code)
    • 26 files changed by 1 contributor (702 lines of code)
0% | 0% | 0% | 51% | 48%
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, sql, yaml, md, json, ts, sbt, gitignore, sh, xml, js, txt, properties, snap
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
ts0% | 0% | 0% | 100% | 0%
scala0% | 0% | 0% | 15% | 84%
sbt0% | 0% | 0% | 94% | 5%
sql0% | 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
cdk0% | 0% | 0% | 100% | 0%
app0% | 0% | 0% | 15% | 84%
ROOT0% | 0% | 0% | 100% | 0%
db0% | 0% | 0% | 0% | 100%
conf0% | 0% | 0% | 0% | 100%
project0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 36)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
gatehouse.ts
in cdk/lib
507 1 2024-01-25 2025-04-15 19 3 kelvin.chappell@theguardian... ashcorr20@gmail.com
build.sbt
in root
52 - 2024-01-24 2025-04-08 15 3 kelvin.chappell@theguardian... mahesh@makani.dev
53 - 2024-01-24 2024-03-18 9 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
User.scala
in app/model
63 3 2024-02-21 2025-03-20 7 3 kelvin.chappell@theguardian... mahesh@makani.dev
UserController.scala
in app/controllers
24 1 2024-02-09 2024-05-08 5 2 kelvin.chappell@theguardian... pvighi@gmail.com
UserService.scala
in app/services
6 - 2024-02-21 2024-05-08 4 2 kelvin.chappell@theguardian... pvighi@gmail.com
Name.scala
in app/model
12 - 2024-02-22 2024-03-20 4 2 kelvin.chappell@theguardian... pvighi@gmail.com
HealthCheckController.scala
in app/controllers
15 1 2024-01-25 2024-03-12 4 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
Address.scala
in app/model
23 - 2024-02-22 2024-03-20 4 2 kelvin.chappell@theguardian... pvighi@gmail.com
43 3 2024-02-21 2024-03-20 4 2 kelvin.chappell@theguardian... pvighi@gmail.com
7 - 2024-02-09 2024-05-08 3 2 kelvin.chappell@theguardian... pvighi@gmail.com
20 2 2024-03-12 2024-05-08 3 2 kelvin.chappell@theguardian... pvighi@gmail.com
37 1 2024-02-09 2024-03-19 3 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
LogEntry.scala
in app/logging
41 2 2024-01-31 2024-03-19 3 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
AppLoader.scala
in app/load
54 2 2024-02-06 2024-04-26 3 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
2 - 2025-04-14 2025-04-15 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
2 - 2025-02-17 2025-02-26 2 1 pvighi@gmail.com pvighi@gmail.com
plugins.sbt
in project
3 - 2024-01-24 2024-01-25 2 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
7 - 2024-02-09 2024-03-18 2 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
9 - 2025-03-14 2025-03-31 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
V0__init.sql
in db/migrations
9 - 2025-01-16 2025-01-24 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
10 - 2025-02-25 2025-02-26 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
PhoneNumber.scala
in app/model
17 - 2024-02-22 2024-03-12 2 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
19 - 2025-03-14 2025-03-31 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
20 - 2025-02-25 2025-02-27 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
Country.scala
in app/model
261 - 2024-03-19 2024-03-20 2 1 pvighi@gmail.com pvighi@gmail.com
1 - 2025-02-04 2025-02-04 1 1 ashcorr20@gmail.com ashcorr20@gmail.com
StringHelper.scala
in app/utils
5 - 2024-03-12 2024-03-12 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
Service.scala
in app/services
5 - 2024-03-12 2024-03-12 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
6 - 2024-03-19 2024-03-19 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
Permission.scala
in app/model
6 - 2024-02-22 2024-02-22 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
FutureHelper.scala
in app/utils
10 1 2024-03-12 2024-03-12 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
23 - 2024-01-31 2024-01-31 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
OktaUserService.scala
in app/services
25 2 2024-03-12 2024-03-12 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
27 1 2024-01-31 2024-01-31 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
35 - 2025-02-04 2025-02-04 1 1 ashcorr20@gmail.com ashcorr20@gmail.com
Files With Most Contributors (Top 36)
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
gatehouse.ts
in cdk/lib
507 1 2024-01-25 2025-04-15 19 3 kelvin.chappell@theguardian... ashcorr20@gmail.com
build.sbt
in root
52 - 2024-01-24 2025-04-08 15 3 kelvin.chappell@theguardian... mahesh@makani.dev
User.scala
in app/model
63 3 2024-02-21 2025-03-20 7 3 kelvin.chappell@theguardian... mahesh@makani.dev
UserController.scala
in app/controllers
24 1 2024-02-09 2024-05-08 5 2 kelvin.chappell@theguardian... pvighi@gmail.com
43 3 2024-02-21 2024-03-20 4 2 kelvin.chappell@theguardian... pvighi@gmail.com
UserService.scala
in app/services
6 - 2024-02-21 2024-05-08 4 2 kelvin.chappell@theguardian... pvighi@gmail.com
Address.scala
in app/model
23 - 2024-02-22 2024-03-20 4 2 kelvin.chappell@theguardian... pvighi@gmail.com
Name.scala
in app/model
12 - 2024-02-22 2024-03-20 4 2 kelvin.chappell@theguardian... pvighi@gmail.com
20 2 2024-03-12 2024-05-08 3 2 kelvin.chappell@theguardian... pvighi@gmail.com
7 - 2024-02-09 2024-05-08 3 2 kelvin.chappell@theguardian... pvighi@gmail.com
53 - 2024-01-24 2024-03-18 9 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
HealthCheckController.scala
in app/controllers
15 1 2024-01-25 2024-03-12 4 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
LogEntry.scala
in app/logging
41 2 2024-01-31 2024-03-19 3 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
AppLoader.scala
in app/load
54 2 2024-02-06 2024-04-26 3 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
37 1 2024-02-09 2024-03-19 3 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
plugins.sbt
in project
3 - 2024-01-24 2024-01-25 2 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
PhoneNumber.scala
in app/model
17 - 2024-02-22 2024-03-12 2 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
Country.scala
in app/model
261 - 2024-03-19 2024-03-20 2 1 pvighi@gmail.com pvighi@gmail.com
7 - 2024-02-09 2024-03-18 2 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
V0__init.sql
in db/migrations
9 - 2025-01-16 2025-01-24 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
20 - 2025-02-25 2025-02-27 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
10 - 2025-02-25 2025-02-26 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
2 - 2025-02-17 2025-02-26 2 1 pvighi@gmail.com pvighi@gmail.com
9 - 2025-03-14 2025-03-31 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
2 - 2025-04-14 2025-04-15 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
19 - 2025-03-14 2025-03-31 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
23 - 2024-01-31 2024-01-31 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
OktaUserService.scala
in app/services
25 2 2024-03-12 2024-03-12 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
Service.scala
in app/services
5 - 2024-03-12 2024-03-12 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
Permission.scala
in app/model
6 - 2024-02-22 2024-02-22 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
FutureHelper.scala
in app/utils
10 1 2024-03-12 2024-03-12 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
6 - 2024-03-19 2024-03-19 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
StringHelper.scala
in app/utils
5 - 2024-03-12 2024-03-12 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
27 1 2024-01-31 2024-01-31 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
35 - 2025-02-04 2025-02-04 1 1 ashcorr20@gmail.com ashcorr20@gmail.com
1 - 2025-02-04 2025-02-04 1 1 ashcorr20@gmail.com ashcorr20@gmail.com
Files With Least Contributors (Top 36)
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
Country.scala
in app/model
261 - 2024-03-19 2024-03-20 2 1 pvighi@gmail.com pvighi@gmail.com
AppLoader.scala
in app/load
54 2 2024-02-06 2024-04-26 3 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
53 - 2024-01-24 2024-03-18 9 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
LogEntry.scala
in app/logging
41 2 2024-01-31 2024-03-19 3 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
37 1 2024-02-09 2024-03-19 3 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
35 - 2025-02-04 2025-02-04 1 1 ashcorr20@gmail.com ashcorr20@gmail.com
27 1 2024-01-31 2024-01-31 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
OktaUserService.scala
in app/services
25 2 2024-03-12 2024-03-12 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
23 - 2024-01-31 2024-01-31 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
20 - 2025-02-25 2025-02-27 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
19 - 2025-03-14 2025-03-31 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
PhoneNumber.scala
in app/model
17 - 2024-02-22 2024-03-12 2 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
HealthCheckController.scala
in app/controllers
15 1 2024-01-25 2024-03-12 4 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
FutureHelper.scala
in app/utils
10 1 2024-03-12 2024-03-12 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
10 - 2025-02-25 2025-02-26 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
V0__init.sql
in db/migrations
9 - 2025-01-16 2025-01-24 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
9 - 2025-03-14 2025-03-31 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
7 - 2024-02-09 2024-03-18 2 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
Permission.scala
in app/model
6 - 2024-02-22 2024-02-22 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
6 - 2024-03-19 2024-03-19 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
Service.scala
in app/services
5 - 2024-03-12 2024-03-12 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
StringHelper.scala
in app/utils
5 - 2024-03-12 2024-03-12 1 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
plugins.sbt
in project
3 - 2024-01-24 2024-01-25 2 1 kelvin.chappell@theguardian... kelvin.chappell@theguardian...
2 - 2025-02-17 2025-02-26 2 1 pvighi@gmail.com pvighi@gmail.com
2 - 2025-04-14 2025-04-15 2 1 ashcorr20@gmail.com ashcorr20@gmail.com
1 - 2025-02-04 2025-02-04 1 1 ashcorr20@gmail.com ashcorr20@gmail.com
43 3 2024-02-21 2024-03-20 4 2 kelvin.chappell@theguardian... pvighi@gmail.com
UserController.scala
in app/controllers
24 1 2024-02-09 2024-05-08 5 2 kelvin.chappell@theguardian... pvighi@gmail.com
Address.scala
in app/model
23 - 2024-02-22 2024-03-20 4 2 kelvin.chappell@theguardian... pvighi@gmail.com
20 2 2024-03-12 2024-05-08 3 2 kelvin.chappell@theguardian... pvighi@gmail.com
Name.scala
in app/model
12 - 2024-02-22 2024-03-20 4 2 kelvin.chappell@theguardian... pvighi@gmail.com
7 - 2024-02-09 2024-05-08 3 2 kelvin.chappell@theguardian... pvighi@gmail.com
UserService.scala
in app/services
6 - 2024-02-21 2024-05-08 4 2 kelvin.chappell@theguardian... pvighi@gmail.com
gatehouse.ts
in cdk/lib
507 1 2024-01-25 2025-04-15 19 3 kelvin.chappell@theguardian... ashcorr20@gmail.com
User.scala
in app/model
63 3 2024-02-21 2025-03-20 7 3 kelvin.chappell@theguardian... mahesh@makani.dev
build.sbt
in root
52 - 2024-01-24 2025-04-08 15 3 kelvin.chappell@theguardian... mahesh@makani.dev
Correlations

File Size vs. Number of Changes: 36 points

cdk/lib/gatehouse.ts x: 507 lines of code y: 19 # changes db/migrations/V202504140953__rename_idapi_tables.sql x: 2 lines of code y: 2 # changes build.sbt x: 52 lines of code y: 15 # changes db/migrations/V202503141216__identity_admin_api_user.sql x: 9 lines of code y: 2 # changes db/migrations/V202503141217__client_access_tokens.sql x: 19 lines of code y: 2 # changes app/model/User.scala x: 63 lines of code y: 7 # changes db/migrations/V202502251530__puzzle_id_column.sql x: 20 lines of code y: 2 # changes db/migrations/V202502251527__identity_okta_tools_user.sql x: 10 lines of code y: 2 # changes db/migrations/V202502031121__db_users_schema.sql x: 35 lines of code y: 1 # changes db/migrations/V202502041538__grant_identity_api_access.sql x: 1 lines of code y: 1 # changes app/auth/RequestWithClaims.scala x: 7 lines of code y: 3 # changes app/controllers/UserController.scala x: 24 lines of code y: 5 # changes app/services/CompositeUserService.scala x: 20 lines of code y: 3 # changes app/services/UserService.scala x: 6 lines of code y: 4 # changes app/load/AppLoader.scala x: 54 lines of code y: 3 # changes app/services/LegacyIdentityDbUserService.scala x: 43 lines of code y: 4 # changes app/model/Address.scala x: 23 lines of code y: 4 # changes app/model/Country.scala x: 261 lines of code y: 2 # changes app/model/Name.scala x: 12 lines of code y: 4 # changes app/auth/AuthorisedAction.scala x: 37 lines of code y: 3 # changes app/logging/LogEntry.scala x: 41 lines of code y: 3 # changes app/utils/RequestHelper.scala x: 6 lines of code y: 1 # changes app/auth/AccessScopes.scala x: 7 lines of code y: 2 # changes app/load/AppComponents.scala x: 53 lines of code y: 9 # changes app/controllers/HealthCheckController.scala x: 15 lines of code y: 4 # changes app/model/PhoneNumber.scala x: 17 lines of code y: 2 # changes app/services/OktaUserService.scala x: 25 lines of code y: 1 # changes app/services/Service.scala x: 5 lines of code y: 1 # changes app/utils/FutureHelper.scala x: 10 lines of code y: 1 # changes app/logging/RequestLoggingFilter.scala x: 27 lines of code y: 1 # changes conf/logback.xml x: 23 lines of code y: 1 # changes project/plugins.sbt x: 3 lines of code y: 2 # changes
19.0
# changes
  min: 1.0
  average: 3.39
  25th percentile: 1.0
  median: 2.0
  75th percentile: 4.0
  max: 19.0
0 507.0
lines of code
min: 1.0 | average: 40.53 | 25th percentile: 6.25 | median: 18.0 | 75th percentile: 36.5 | max: 507.0

Number of Contributors vs. Number of Changes: 36 points

cdk/lib/gatehouse.ts x: 3 # contributors y: 19 # changes db/migrations/V202504140953__rename_idapi_tables.sql x: 1 # contributors y: 2 # changes build.sbt x: 3 # contributors y: 15 # changes app/model/User.scala x: 3 # contributors y: 7 # changes db/migrations/V202502031121__db_users_schema.sql x: 1 # contributors y: 1 # changes app/auth/RequestWithClaims.scala x: 2 # contributors y: 3 # changes app/controllers/UserController.scala x: 2 # contributors y: 5 # changes app/services/UserService.scala x: 2 # contributors y: 4 # changes app/load/AppLoader.scala x: 1 # contributors y: 3 # changes app/load/AppComponents.scala x: 1 # contributors y: 9 # changes app/controllers/HealthCheckController.scala x: 1 # contributors y: 4 # changes
19.0
# changes
  min: 1.0
  average: 3.39
  25th percentile: 1.0
  median: 2.0
  75th percentile: 4.0
  max: 19.0
0 3.0
# contributors
min: 1.0 | average: 1.36 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 3.0

Number of Contributors vs. File Size: 36 points

cdk/lib/gatehouse.ts x: 3 # contributors y: 507 lines of code db/migrations/V202504140953__rename_idapi_tables.sql x: 1 # contributors y: 2 lines of code build.sbt x: 3 # contributors y: 52 lines of code db/migrations/V202503141216__identity_admin_api_user.sql x: 1 # contributors y: 9 lines of code db/migrations/V202503141217__client_access_tokens.sql x: 1 # contributors y: 19 lines of code app/model/User.scala x: 3 # contributors y: 63 lines of code db/migrations/V202502251530__puzzle_id_column.sql x: 1 # contributors y: 20 lines of code db/migrations/V202502251527__identity_okta_tools_user.sql x: 1 # contributors y: 10 lines of code db/migrations/V202502031121__db_users_schema.sql x: 1 # contributors y: 35 lines of code db/migrations/V202502041538__grant_identity_api_access.sql x: 1 # contributors y: 1 lines of code app/auth/RequestWithClaims.scala x: 2 # contributors y: 7 lines of code app/controllers/UserController.scala x: 2 # contributors y: 24 lines of code app/services/CompositeUserService.scala x: 2 # contributors y: 20 lines of code app/load/AppLoader.scala x: 1 # contributors y: 54 lines of code app/services/LegacyIdentityDbUserService.scala x: 2 # contributors y: 43 lines of code app/model/Address.scala x: 2 # contributors y: 23 lines of code app/model/Country.scala x: 1 # contributors y: 261 lines of code app/model/Name.scala x: 2 # contributors y: 12 lines of code app/auth/AuthorisedAction.scala x: 1 # contributors y: 37 lines of code app/logging/LogEntry.scala x: 1 # contributors y: 41 lines of code app/utils/RequestHelper.scala x: 1 # contributors y: 6 lines of code app/load/AppComponents.scala x: 1 # contributors y: 53 lines of code app/controllers/HealthCheckController.scala x: 1 # contributors y: 15 lines of code app/model/PhoneNumber.scala x: 1 # contributors y: 17 lines of code app/services/OktaUserService.scala x: 1 # contributors y: 25 lines of code app/services/Service.scala x: 1 # contributors y: 5 lines of code app/logging/RequestLoggingFilter.scala x: 1 # contributors y: 27 lines of code conf/logback.xml x: 1 # contributors y: 23 lines of code
507.0
lines of code
  min: 1.0
  average: 40.53
  25th percentile: 6.25
  median: 18.0
  75th percentile: 36.5
  max: 507.0
0 3.0
# contributors
min: 1.0 | average: 1.36 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 3.0