guardian / mobile-n10n
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 233 files with 11,751 lines of code.
    • 1 file changed more than 100 times (410 lines of code)
    • 8 files changed 51-100 times (870 lines of code)
    • 37 files changed 21-50 times (3,572 lines of code)
    • 97 files changed 6-20 times (4,757 lines of code)
    • 90 files changed 1-5 times (2,142 lines of code)
3% | 7% | 30% | 40% | 18%
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 233 files with 11,751 lines of code.
    • 2 files changed by more than 25 contributors (425 lines of code)
    • 35 files changed by 11-25 contributors (3,639 lines of code)
    • 71 files changed by 6-10 contributors (3,498 lines of code)
    • 90 files changed by 2-5 contributors (3,183 lines of code)
    • 35 files changed by 1 contributor (1,006 lines of code)
3% | 30% | 29% | 27% | 8%
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, yaml, md, xml, ts, json, properties, snap, sbt, gitignore, js, sh, npmignore, sql, markdown, editorconfig, txt
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
sbt96% | 3% | 0% | <1% | 0%
scala0% | 10% | 25% | 43% | 20%
yaml0% | 0% | 49% | 44% | 5%
ts0% | 0% | 54% | 3% | 41%
xml0% | 0% | 0% | 37% | 62%
sql0% | 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
ROOT76% | 0% | 0% | 8% | 15%
notificationworkerlambda0% | 7% | 47% | 31% | 13%
notification0% | 19% | 48% | 23% | 8%
common0% | 13% | 23% | 54% | 8%
registration0% | 15% | 52% | 17% | 13%
project0% | 40% | 0% | 0% | 59%
eventconsumer0% | 0% | 31% | 59% | 8%
reportextractor0% | 0% | 45% | 38% | 15%
report0% | 0% | 23% | 74% | 2%
fakebreakingnewslambda0% | 0% | 0% | 90% | 9%
schedulelambda0% | 0% | 0% | 90% | 9%
api-models0% | 0% | 0% | 89% | 10%
football0% | 0% | 0% | 27% | 72%
slomonitor0% | 0% | 0% | 82% | 17%
commonscheduledynamodb0% | 0% | 0% | 100% | 0%
commoneventconsumer0% | 0% | 0% | 28% | 72%
cdk0% | 0% | 0% | 7% | 92%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
build.sbt
in root
410 1 2015-09-09 2025-04-24 311 38 alexandre.dufournet@gmail.com 47318984+aracho1@users.nore...
plugins.sbt
in project
15 - 2015-09-09 2025-04-09 100 29 alexandre.dufournet@gmail.com 47318984+aracho1@users.nore...
NotificationApplicationLoader.scala
in notification/app/notification
78 - 2016-06-01 2024-07-10 72 13 artur.gulowaty@guardian.co.uk 47318984+aracho1@users.nore...
Main.scala
in notification/app/notification/controllers
145 6 2015-10-13 2023-08-22 68 17 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
Main.scala
in registration/app/registration/controllers
94 5 2015-10-13 2024-07-10 62 15 david.furey@guardian.co.uk 47318984+aracho1@users.nore...
FcmClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm
127 6 2018-10-31 2024-07-10 60 16 thomas.bonnin@gmail.com 47318984+aracho1@users.nore...
Configuration.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
140 7 2018-10-30 2024-07-10 60 15 thomas.bonnin@gmail.com 47318984+aracho1@users.nore...
Notification.scala
in common/src/main/scala/models
218 3 2015-10-01 2023-08-22 55 16 david@furey.me.uk 45561419+davidlawes@users.n...
RegistrationApplicationLoader.scala
in registration/app/registration
53 - 2016-06-03 2024-07-10 54 14 artur.gulowaty@guardian.co.uk 47318984+aracho1@users.nore...
Configuration.scala
in notification/app/notification/services
21 - 2015-11-16 2022-11-17 47 13 alexandre.dufournet@gmail.com jacob.winch@guardian.co.uk
AndroidSender.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
109 4 2019-03-01 2024-07-10 44 13 37694514+markrichardsg@user... 47318984+aracho1@users.nore...
Harvester.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
170 7 2019-03-14 2023-08-22 43 12 37694514+markrichardsg@user... 45561419+davidlawes@users.n...
NotificationRegistrar.scala
in registration/app/registration/services
22 1 2015-11-24 2023-08-22 42 14 alexandre.dufournet@gmail.com 45561419+davidlawes@users.n...
GuardianNotificationSender.scala
in notification/app/notification/services/guardian
105 5 2018-10-22 2023-08-22 39 10 alex.dufournet@theguardian.com 45561419+davidlawes@users.n...
ApnsClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns
118 3 2018-10-31 2024-07-10 39 12 thomas.bonnin@gmail.com 47318984+aracho1@users.nore...
Report.scala
in report/app/report/controllers
44 2 2015-10-13 2022-06-16 38 14 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
SenderRequestHandler.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
95 4 2019-03-01 2024-07-10 38 11 37694514+markrichardsg@user... 47318984+aracho1@users.nore...
ApnsPayloadBuilder.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload
217 8 2019-05-10 2020-10-28 35 4 alex.dufournet@guardian.co.uk francesca.hammond@guardian....
ReportApplicationLoader.scala
in report/app/report
40 - 2016-06-03 2024-07-10 34 12 artur.gulowaty@guardian.co.uk 47318984+aracho1@users.nore...
harvester-cfn.yaml
in notificationworkerlambda
241 - 2019-03-14 2023-08-22 33 12 37694514+markrichardsg@user... 45561419+davidlawes@users.n...
RegistrationService.scala
in common/src/main/scala/db
53 7 2018-10-16 2022-06-16 32 9 thomas.bonnin@gmail.com 45561419+davidlawes@users.n...
SqlRegistrationRepository.scala
in common/src/main/scala/db
99 7 2018-10-17 2022-06-24 31 11 alex.dufournet@theguardian.com 89925410+waisingyiu@users.n...
Configuration.scala
in registration/app/registration/services
19 - 2015-11-16 2019-07-18 30 9 alexandre.dufournet@gmail.com nathaniel.bennett@guardian....
riff-raff.yaml
in notificationworkerlambda
55 - 2018-10-26 2022-11-17 30 10 alex.dufournet@theguardian.com jacob.winch@guardian.co.uk
Cloudwatch.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
108 6 2018-10-30 2023-08-22 29 11 thomas.bonnin@gmail.com 45561419+davidlawes@users.n...
LegacyRegistrationConverter.scala
in registration/app/registration/services
59 3 2016-07-21 2022-06-16 28 9 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
DeliveryService.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery
77 2 2018-10-31 2024-07-10 27 11 alex.dufournet@theguardian.com 47318984+aracho1@users.nore...
Logging.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
84 4 2018-10-30 2024-07-10 27 11 thomas.bonnin@gmail.com 47318984+aracho1@users.nore...
notification.yaml
in notification/conf
417 - 2019-07-12 2024-07-10 27 12 alex.dufournet@guardian.co.uk 47318984+aracho1@users.nore...
IOSSender.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
22 1 2019-03-01 2024-07-10 26 12 37694514+markrichardsg@user... 47318984+aracho1@users.nore...
riff-raff.yaml
in registration/conf
20 - 2017-09-20 2023-08-22 25 12 nathaniel.bennett@guardian.... 45561419+davidlawes@users.n...
riff-raff.yaml
in notification/conf
23 - 2017-09-20 2023-09-05 25 9 nathaniel.bennett@guardian.... 89925410+waisingyiu@users.n...
Topic.scala
in common/src/main/scala/models
24 3 2015-09-17 2023-08-22 25 11 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
cfn.yaml
in eventconsumer
163 - 2018-08-31 2022-12-12 25 9 37694514+markrichardsg@user... 89925410+waisingyiu@users.n...
FcmPayloadBuilder.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload
175 7 2019-05-10 2020-10-28 25 4 alex.dufournet@guardian.co.uk francesca.hammond@guardian....
riff-raff.yaml
in report/conf
18 - 2017-09-20 2023-09-05 24 12 nathaniel.bennett@guardian.... 89925410+waisingyiu@users.n...
TopicType.scala
in common/src/main/scala/models
44 2 2015-09-28 2023-08-22 24 11 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
senderworker.ts
in notificationworkerlambda/cdk/lib
263 2 2022-01-19 2024-10-10 24 11 paul.roberts@guardian.co.uk 89925410+waisingyiu@users.n...
LegacyNewsstandRegistrationConverter.scala
in registration/app/registration/services
31 2 2016-09-07 2020-04-30 23 6 david.furey@guardian.co.uk alex.dufournet@guardian.co.uk
InMemoryNotificationReportRepository.scala
in common/src/main/scala/tracking
32 4 2015-10-02 2022-06-16 23 13 david@furey.me.uk 45561419+davidlawes@users.n...
NotificationType.scala
in common/src/main/scala/models
34 2 2015-11-26 2023-08-22 23 14 alex.dufournet@guardian.co.uk 45561419+davidlawes@users.n...
NotificationReport.scala
in common/src/main/scala/models
67 2 2015-10-02 2023-08-22 23 11 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
DeliveryClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery
14 - 2018-10-31 2024-07-10 21 12 thomas.bonnin@gmail.com 47318984+aracho1@users.nore...
Platform.scala
in common/src/main/scala/models
28 2 2015-09-17 2023-08-22 21 10 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
Lambda.scala
in reportextractor/src/main/scala/com/gu/notifications/extractor
116 5 2019-04-15 2024-07-10 21 9 alex.dufournet@guardian.co.uk 47318984+aracho1@users.nore...
registration.yaml
in registration/conf
345 - 2019-07-12 2024-07-10 21 12 alex.dufournet@guardian.co.uk 47318984+aracho1@users.nore...
Topic.scala
in api-models/src/main/scala/com/gu/mobile.notifications.client/models
47 - 2019-07-12 2024-09-04 20 12 alex.dufournet@guardian.co.uk lindsey.dew@guardian.co.uk
FrontendAlerts.scala
in notification/app/notification/services/frontend
54 3 2016-02-17 2023-08-22 20 9 artur.gulowaty@guardian.co.uk 45561419+davidlawes@users.n...
registration-cleaning-worker-cfn.yaml
in notificationworkerlambda
171 - 2018-11-07 2022-09-28 20 11 alex.dufournet@theguardian.com 45561419+davidlawes@users.n...
RegistrationRepository.scala
in common/src/main/scala/db
13 - 2018-10-16 2020-02-25 19 6 thomas.bonnin@gmail.com francesca.hammond@guardian....
Files With Most Contributors (Top 50)
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
410 1 2015-09-09 2025-04-24 311 38 alexandre.dufournet@gmail.com 47318984+aracho1@users.nore...
plugins.sbt
in project
15 - 2015-09-09 2025-04-09 100 29 alexandre.dufournet@gmail.com 47318984+aracho1@users.nore...
Main.scala
in notification/app/notification/controllers
145 6 2015-10-13 2023-08-22 68 17 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
FcmClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm
127 6 2018-10-31 2024-07-10 60 16 thomas.bonnin@gmail.com 47318984+aracho1@users.nore...
Notification.scala
in common/src/main/scala/models
218 3 2015-10-01 2023-08-22 55 16 david@furey.me.uk 45561419+davidlawes@users.n...
Main.scala
in registration/app/registration/controllers
94 5 2015-10-13 2024-07-10 62 15 david.furey@guardian.co.uk 47318984+aracho1@users.nore...
Configuration.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
140 7 2018-10-30 2024-07-10 60 15 thomas.bonnin@gmail.com 47318984+aracho1@users.nore...
RegistrationApplicationLoader.scala
in registration/app/registration
53 - 2016-06-03 2024-07-10 54 14 artur.gulowaty@guardian.co.uk 47318984+aracho1@users.nore...
NotificationRegistrar.scala
in registration/app/registration/services
22 1 2015-11-24 2023-08-22 42 14 alexandre.dufournet@gmail.com 45561419+davidlawes@users.n...
Report.scala
in report/app/report/controllers
44 2 2015-10-13 2022-06-16 38 14 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
NotificationType.scala
in common/src/main/scala/models
34 2 2015-11-26 2023-08-22 23 14 alex.dufournet@guardian.co.uk 45561419+davidlawes@users.n...
NotificationApplicationLoader.scala
in notification/app/notification
78 - 2016-06-01 2024-07-10 72 13 artur.gulowaty@guardian.co.uk 47318984+aracho1@users.nore...
Configuration.scala
in notification/app/notification/services
21 - 2015-11-16 2022-11-17 47 13 alexandre.dufournet@gmail.com jacob.winch@guardian.co.uk
AndroidSender.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
109 4 2019-03-01 2024-07-10 44 13 37694514+markrichardsg@user... 47318984+aracho1@users.nore...
InMemoryNotificationReportRepository.scala
in common/src/main/scala/tracking
32 4 2015-10-02 2022-06-16 23 13 david@furey.me.uk 45561419+davidlawes@users.n...
Harvester.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
170 7 2019-03-14 2023-08-22 43 12 37694514+markrichardsg@user... 45561419+davidlawes@users.n...
ApnsClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns
118 3 2018-10-31 2024-07-10 39 12 thomas.bonnin@gmail.com 47318984+aracho1@users.nore...
ReportApplicationLoader.scala
in report/app/report
40 - 2016-06-03 2024-07-10 34 12 artur.gulowaty@guardian.co.uk 47318984+aracho1@users.nore...
harvester-cfn.yaml
in notificationworkerlambda
241 - 2019-03-14 2023-08-22 33 12 37694514+markrichardsg@user... 45561419+davidlawes@users.n...
notification.yaml
in notification/conf
417 - 2019-07-12 2024-07-10 27 12 alex.dufournet@guardian.co.uk 47318984+aracho1@users.nore...
IOSSender.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
22 1 2019-03-01 2024-07-10 26 12 37694514+markrichardsg@user... 47318984+aracho1@users.nore...
riff-raff.yaml
in registration/conf
20 - 2017-09-20 2023-08-22 25 12 nathaniel.bennett@guardian.... 45561419+davidlawes@users.n...
riff-raff.yaml
in report/conf
18 - 2017-09-20 2023-09-05 24 12 nathaniel.bennett@guardian.... 89925410+waisingyiu@users.n...
registration.yaml
in registration/conf
345 - 2019-07-12 2024-07-10 21 12 alex.dufournet@guardian.co.uk 47318984+aracho1@users.nore...
DeliveryClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery
14 - 2018-10-31 2024-07-10 21 12 thomas.bonnin@gmail.com 47318984+aracho1@users.nore...
Topic.scala
in api-models/src/main/scala/com/gu/mobile.notifications.client/models
47 - 2019-07-12 2024-09-04 20 12 alex.dufournet@guardian.co.uk lindsey.dew@guardian.co.uk
NewsAlert.scala
in notification/app/notification/services/frontend
38 1 2016-02-17 2023-08-22 17 12 artur.gulowaty@guardian.co.uk 45561419+davidlawes@users.n...
SenderRequestHandler.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
95 4 2019-03-01 2024-07-10 38 11 37694514+markrichardsg@user... 47318984+aracho1@users.nore...
SqlRegistrationRepository.scala
in common/src/main/scala/db
99 7 2018-10-17 2022-06-24 31 11 alex.dufournet@theguardian.com 89925410+waisingyiu@users.n...
Cloudwatch.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
108 6 2018-10-30 2023-08-22 29 11 thomas.bonnin@gmail.com 45561419+davidlawes@users.n...
Logging.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
84 4 2018-10-30 2024-07-10 27 11 thomas.bonnin@gmail.com 47318984+aracho1@users.nore...
DeliveryService.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery
77 2 2018-10-31 2024-07-10 27 11 alex.dufournet@theguardian.com 47318984+aracho1@users.nore...
Topic.scala
in common/src/main/scala/models
24 3 2015-09-17 2023-08-22 25 11 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
senderworker.ts
in notificationworkerlambda/cdk/lib
263 2 2022-01-19 2024-10-10 24 11 paul.roberts@guardian.co.uk 89925410+waisingyiu@users.n...
TopicType.scala
in common/src/main/scala/models
44 2 2015-09-28 2023-08-22 24 11 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
NotificationReport.scala
in common/src/main/scala/models
67 2 2015-10-02 2023-08-22 23 11 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
registration-cleaning-worker-cfn.yaml
in notificationworkerlambda
171 - 2018-11-07 2022-09-28 20 11 alex.dufournet@theguardian.com 45561419+davidlawes@users.n...
GuardianNotificationSender.scala
in notification/app/notification/services/guardian
105 5 2018-10-22 2023-08-22 39 10 alex.dufournet@theguardian.com 45561419+davidlawes@users.n...
riff-raff.yaml
in notificationworkerlambda
55 - 2018-10-26 2022-11-17 30 10 alex.dufournet@theguardian.com jacob.winch@guardian.co.uk
Platform.scala
in common/src/main/scala/models
28 2 2015-09-17 2023-08-22 21 10 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
LegacyRegistration.scala
in registration/app/registration/models
64 2 2016-07-19 2023-08-22 17 10 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
Configuration.scala
in report/app/report/services
7 - 2015-11-16 2019-03-06 15 10 alexandre.dufournet@gmail.com 37694514+markrichardsg@user...
JsonUtils.scala
in common/src/main/scala/models
47 8 2015-09-28 2023-08-22 15 10 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
PushResult.scala
in notification/app/notification/models
18 2 2015-12-07 2023-08-22 14 10 alexandre.dufournet@gmail.com 45561419+davidlawes@users.n...
RegistrationService.scala
in common/src/main/scala/db
53 7 2018-10-16 2022-06-16 32 9 thomas.bonnin@gmail.com 45561419+davidlawes@users.n...
Configuration.scala
in registration/app/registration/services
19 - 2015-11-16 2019-07-18 30 9 alexandre.dufournet@gmail.com nathaniel.bennett@guardian....
LegacyRegistrationConverter.scala
in registration/app/registration/services
59 3 2016-07-21 2022-06-16 28 9 david.furey@guardian.co.uk 45561419+davidlawes@users.n...
cfn.yaml
in eventconsumer
163 - 2018-08-31 2022-12-12 25 9 37694514+markrichardsg@user... 89925410+waisingyiu@users.n...
riff-raff.yaml
in notification/conf
23 - 2017-09-20 2023-09-05 25 9 nathaniel.bennett@guardian.... 89925410+waisingyiu@users.n...
Lambda.scala
in reportextractor/src/main/scala/com/gu/notifications/extractor
116 5 2019-04-15 2024-07-10 21 9 alex.dufournet@guardian.co.uk 47318984+aracho1@users.nore...
Files With Least Contributors (Top 50)
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
MatchStatusNotificationBuilder.scala
in football/src/main/scala/com/gu/mobile/notifications/football/notificationbuilders
144 7 2020-09-01 2020-09-03 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
MatchEvents.scala
in football/src/main/scala/com/gu/mobile/notifications/football/models
104 6 2020-09-01 2020-09-03 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
FootballData.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
90 3 2020-09-01 2020-09-03 3 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
OkGoogleHttpRequest.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/oktransport
81 5 2019-01-15 2019-01-15 1 1 37694514+markrichardsg@user... 37694514+markrichardsg@user...
Athena.scala
in commoneventconsumer/src/main/scala/com/gu/notifications/athena
70 3 2022-09-08 2022-11-17 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
SqsDeliveryService.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/tokens
56 4 2019-03-01 2019-03-06 2 1 37694514+markrichardsg@user... 37694514+markrichardsg@user...
SyntheticMatchEventGenerator.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
53 2 2020-09-01 2020-09-03 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
ArticleSearcher.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
36 1 2020-09-01 2020-09-03 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
EventFilter.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
35 3 2020-09-01 2020-09-03 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
EventConsumer.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
27 2 2020-09-01 2020-09-03 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
ExpiredRegistrationCleaner.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
25 2 2020-02-11 2020-02-12 2 1 alex.dufournet@guardian.co.uk alex.dufournet@guardian.co.uk
OkGoogleHttpResponse.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/oktransport
24 - 2019-01-15 2019-01-15 1 1 37694514+markrichardsg@user... 37694514+markrichardsg@user...
riff-raff.yaml
in slomonitor
21 - 2022-09-08 2022-11-17 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
SloTrackingSender.scala
in notification/app/notification/services
21 1 2022-09-08 2022-11-17 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
PushNotificationResponseListenerWithTimeout.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns
20 3 2019-11-06 2019-11-06 1 1 alex.dufournet@guardian.co.uk alex.dufournet@guardian.co.uk
Batch.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
19 1 2020-09-01 2020-09-03 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
CustomErrorHandler.scala
in registration/app/registration
17 1 2020-10-13 2020-10-13 1 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
MatchData.scala
in football/src/main/scala/com/gu/mobile/notifications/football/models
17 - 2020-09-01 2020-09-03 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
NotificationSender.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
16 2 2020-09-01 2020-09-03 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
log4j2.xml
in football/src/main/resources
15 - 2020-09-01 2020-09-03 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
EnvDependencies.scala
in eventconsumer/src/main/scala/com/gu/notifications/events
15 1 2018-12-19 2018-12-20 2 1 37694514+markrichardsg@user... 37694514+markrichardsg@user...
HttpProvider.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
12 - 2020-09-01 2020-09-03 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
Env.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
11 - 2019-03-01 2019-03-01 1 1 37694514+markrichardsg@user... 37694514+markrichardsg@user...
11 - 2018-05-30 2018-05-30 1 1 37694514+markrichardsg@user... 37694514+markrichardsg@user...
11 - 2018-05-30 2018-05-30 1 1 37694514+markrichardsg@user... 37694514+markrichardsg@user...
logback.xml
in slomonitor/src/main/resources
10 - 2022-09-08 2022-11-17 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
RawEvent.scala
in eventconsumer/src/main/scala/com/gu/notifications/events/model
9 - 2018-12-11 2018-12-14 2 1 37694514+markrichardsg@user... 37694514+markrichardsg@user...
HarvestedToken.scala
in common/src/main/scala/db
8 - 2020-02-19 2020-02-25 3 1 francesca.hammond@guardian.... francesca.hammond@guardian....
TimeToLive.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/utils
6 - 2019-01-02 2019-01-02 1 1 nathaniel.bennett@guardian.... nathaniel.bennett@guardian....
Aws.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
5 - 2019-03-01 2019-03-01 1 1 37694514+markrichardsg@user... 37694514+markrichardsg@user...
Logging.scala
in football/src/main/scala/com/gu/mobile/notifications/football
5 - 2020-09-01 2020-09-03 2 1 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
TopicCounterLocalRun.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
4 - 2019-03-13 2019-03-13 1 1 nathaniel.bennett@guardian.... nathaniel.bennett@guardian....
LocalRun.scala
in eventconsumer/src/main/scala/com/gu/notifications/events
4 - 2018-12-19 2019-01-23 4 1 37694514+markrichardsg@user... 37694514+markrichardsg@user...
NewsstandShardConfig.scala
in common/src/main/scala/models
2 - 2018-06-01 2018-06-01 1 1 37694514+markrichardsg@user... 37694514+markrichardsg@user...
TopicCounterException.scala
in common/src/main/scala/exception
2 - 2019-03-19 2019-03-21 3 1 nathaniel.bennett@guardian.... nathaniel.bennett@guardian....
95 1 2022-09-08 2022-12-07 5 2 jacob.winch@guardian.co.uk jacob.winch@guardian.co.uk
80 - 2018-12-17 2019-10-17 3 2 alex.dufournet@theguardian.com alex.dufournet@guardian.co.uk
DynamoDistinctCheck.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
54 2 2020-09-01 2020-12-08 4 2 jacob.winch@guardian.co.uk francesca.hammond@guardian....
ecr.yaml
in notificationworkerlambda
51 - 2021-09-07 2022-01-19 4 2 paul.roberts@theguardian.com paul.roberts@guardian.co.uk
FootballMatchAuditor.scala
in registration/app/registration/auditor
42 3 2019-07-12 2020-04-30 4 2 alex.dufournet@guardian.co.uk alex.dufournet@guardian.co.uk
TopicCounterLambda.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
36 2 2019-03-13 2019-03-21 4 2 nathaniel.bennett@guardian.... nathaniel.bennett@guardian....
NewsstandSender.scala
in notification/app/notification/services
29 1 2018-12-13 2018-12-17 2 2 alex.dufournet@theguardian.com alex.dufournet@guardian.co.uk
Provider.scala
in common/src/main/scala/models
28 2 2018-08-16 2018-12-18 7 2 alex.dufournet@guardian.co.uk alex.dufournet@guardian.co.uk
LiveBlogAuditor.scala
in registration/app/registration/auditor
23 2 2019-07-12 2019-07-18 3 2 alex.dufournet@guardian.co.uk nathaniel.bennett@guardian....
AuthAction.scala
in common/src/main/scala/authentication
23 2 2018-02-26 2019-03-06 5 2 nathaniel.bennett@guardian.... 37694514+markrichardsg@user...
log4j2.xml
in reportextractor/src/main/resources
15 - 2019-04-15 2019-04-30 3 2 alex.dufournet@guardian.co.uk nathaniel.bennett@guardian....
TimeExpiringAuditor.scala
in registration/app/registration/auditor
14 1 2019-07-12 2019-07-18 3 2 alex.dufournet@guardian.co.uk nathaniel.bennett@guardian....
ReportAuthAction.scala
in report/app/report/authentication
11 - 2018-02-26 2019-03-06 2 2 nathaniel.bennett@guardian.... 37694514+markrichardsg@user...
UnwrappingExecutionException.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
8 1 2018-11-13 2018-11-14 2 2 alex.dufournet@theguardian.com alex.dufournet@guardian.co.uk
PlatformUri.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload
8 - 2018-10-31 2018-11-05 2 2 thomas.bonnin@gmail.com alex.dufournet@guardian.co.uk
Correlations

File Size vs. Number of Changes: 233 points

build.sbt x: 410 lines of code y: 311 # changes project/plugins.sbt x: 15 lines of code y: 100 # changes notificationworkerlambda/cdk/lib/senderworker.ts x: 263 lines of code y: 24 # changes api-models/src/main/scala/com/gu/mobile.notifications.client/models/Topic.scala x: 47 lines of code y: 20 # changes version.sbt x: 1 lines of code y: 7 # changes common/src/main/scala/metrics/MetricActor.scala x: 93 lines of code y: 13 # changes common/src/main/scala/metrics/Metrics.scala x: 39 lines of code y: 10 # changes common/src/main/scala/utils/CustomApplicationLoader.scala x: 37 lines of code y: 14 # changes dynamo.yaml x: 42 lines of code y: 9 # changes fakebreakingnewslambda/src/main/scala/fakebreakingnews/FakeBreakingNewsLambda.scala x: 54 lines of code y: 17 # changes football/cfn.yaml x: 24 lines of code y: 12 # changes football/src/main/scala/com/gu/mobile/notifications/football/Lambda.scala x: 88 lines of code y: 8 # changes notification/app/notification/NotificationApplicationLoader.scala x: 78 lines of code y: 72 # changes notification/conf/notification.yaml x: 417 lines of code y: 27 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/AndroidSender.scala x: 109 lines of code y: 44 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/Configuration.scala x: 140 lines of code y: 60 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/IOSSender.scala x: 22 lines of code y: 26 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/NotificationWorkerLocalRun.scala x: 67 lines of code y: 16 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/SenderRequestHandler.scala x: 95 lines of code y: 38 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/DeliveryClient.scala x: 14 lines of code y: 21 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/DeliveryService.scala x: 77 lines of code y: 27 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/ApnsClient.scala x: 118 lines of code y: 39 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/FcmClient.scala x: 127 lines of code y: 60 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/FcmException.scala x: 32 lines of code y: 4 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/FcmTransportJdkImpl.scala x: 114 lines of code y: 10 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/FcmConfig.scala x: 8 lines of code y: 4 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload/FcmResponse.scala x: 24 lines of code y: 6 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils/Logging.scala x: 84 lines of code y: 27 # changes registration/app/registration/RegistrationApplicationLoader.scala x: 53 lines of code y: 54 # changes registration/app/registration/controllers/Main.scala x: 94 lines of code y: 62 # changes registration/conf/registration.yaml x: 345 lines of code y: 21 # changes report/app/report/ReportApplicationLoader.scala x: 40 lines of code y: 34 # changes reportextractor/src/main/scala/com/gu/notifications/extractor/Lambda.scala x: 116 lines of code y: 21 # changes schedulelambda/src/main/scala/com/gu/notificationschedule/ProcessNotificationScheduleLambda.scala x: 95 lines of code y: 12 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/tokens/TokenService.scala x: 46 lines of code y: 17 # changes notification/conf/riff-raff.yaml x: 23 lines of code y: 25 # changes report/conf/riff-raff.yaml x: 18 lines of code y: 24 # changes api-models/src/main/scala/com/gu/mobile.notifications.client/lib/JsonFormatsHelper.scala x: 34 lines of code y: 8 # changes api-models/src/main/scala/com/gu/mobile.notifications.client/models/Editions.scala x: 47 lines of code y: 7 # changes api-models/src/main/scala/com/gu/mobile.notifications.client/models/Importance.scala x: 13 lines of code y: 5 # changes api-models/src/main/scala/com/gu/mobile.notifications.client/models/NotificationPayloadType.scala x: 17 lines of code y: 5 # changes api-models/src/main/scala/com/gu/mobile.notifications.client/models/Payloads.scala x: 185 lines of code y: 12 # changes api-models/src/main/scala/com/gu/mobile.notifications.client/models/SendNotificationReply.scala x: 6 lines of code y: 5 # changes cdk/lib/registration.ts x: 17 lines of code y: 7 # changes common/src/main/scala/models/GoalType.scala x: 21 lines of code y: 5 # changes common/src/main/scala/models/GuardianItemType.scala x: 14 lines of code y: 7 # changes common/src/main/scala/models/Importance.scala x: 13 lines of code y: 7 # changes common/src/main/scala/models/JsonUtils.scala x: 47 lines of code y: 15 # changes common/src/main/scala/models/Link.scala x: 29 lines of code y: 13 # changes common/src/main/scala/models/Notification.scala x: 218 lines of code y: 55 # changes common/src/main/scala/models/NotificationMetadata.scala x: 7 lines of code y: 2 # changes common/src/main/scala/models/NotificationReport.scala x: 67 lines of code y: 23 # changes common/src/main/scala/models/NotificationType.scala x: 34 lines of code y: 23 # changes common/src/main/scala/models/Platform.scala x: 28 lines of code y: 21 # changes common/src/main/scala/models/PlatformStatistics.scala x: 6 lines of code y: 7 # changes common/src/main/scala/models/ShardedNotification.scala x: 16 lines of code y: 15 # changes common/src/main/scala/models/Topic.scala x: 24 lines of code y: 25 # changes common/src/main/scala/models/TopicType.scala x: 44 lines of code y: 24 # changes commoneventconsumer/src/main/scala/com/gu/notifications/events/model/EventAggregation.scala x: 16 lines of code y: 12 # changes commoneventconsumer/src/main/scala/com/gu/notifications/events/model/PlatformCount.scala x: 12 lines of code y: 14 # changes eventconsumer/src/main/scala/com/gu/notifications/events/model/AggregationCounts.scala x: 28 lines of code y: 8 # changes fakebreakingnewslambda/src/main/scala/fakebreakingnews/FakeRegistrations.scala x: 57 lines of code y: 12 # changes fakebreakingnewslambda/src/main/scala/fakebreakingnews/NotificationClient.scala x: 46 lines of code y: 10 # changes fakebreakingnewslambda/src/main/scala/fakebreakingnews/TopUkRegularStory.scala x: 69 lines of code y: 13 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/NotificationHttpProvider.scala x: 29 lines of code y: 5 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/NotificationsApiClient.scala x: 60 lines of code y: 9 # changes notification/app/notification/controllers/Main.scala x: 145 lines of code y: 68 # changes notification/app/notification/models/PushResult.scala x: 18 lines of code y: 14 # changes notification/app/notification/services/NotificationSender.scala x: 7 lines of code y: 13 # changes notification/app/notification/services/frontend/FrontendAlerts.scala x: 54 lines of code y: 20 # changes notification/app/notification/services/frontend/NewsAlert.scala x: 38 lines of code y: 17 # changes notification/app/notification/services/guardian/GuardianNotificationSender.scala x: 105 lines of code y: 39 # changes notificationworkerlambda/harvester-cfn.yaml x: 241 lines of code y: 33 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/Harvester.scala x: 170 lines of code y: 43 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/DeliverySuccess.scala x: 14 lines of code y: 10 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload/Editions.scala x: 28 lines of code y: 5 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/models/SendingResults.scala x: 79 lines of code y: 13 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils/Cloudwatch.scala x: 108 lines of code y: 29 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils/Reporting.scala x: 31 lines of code y: 13 # changes registration/app/registration/models/LegacyRegistration.scala x: 64 lines of code y: 17 # changes registration/app/registration/services/NotificationRegistrar.scala x: 22 lines of code y: 42 # changes registration/conf/riff-raff.yaml x: 20 lines of code y: 25 # changes schedulelambda/src/main/scala/com/gu/notificationschedule/notifications/RequestNotification.scala x: 61 lines of code y: 8 # changes slomonitor/src/main/scala/com.gu.notifications.slos/SloMonitor.scala x: 148 lines of code y: 8 # changes eventconsumer/cfn.yaml x: 163 lines of code y: 25 # changes fakebreakingnewslambda/fakebreakingnewslambda-cfn.yaml x: 140 lines of code y: 11 # changes fakebreakingnewslambda/riff-raff.yaml x: 17 lines of code y: 4 # changes reportextractor/cfn.yaml x: 98 lines of code y: 10 # changes schedulelambda/cfn.yaml x: 94 lines of code y: 8 # changes cdk/lib/slo-monitoring.ts x: 95 lines of code y: 5 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/ApnsConfig.scala x: 12 lines of code y: 11 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils/NotificationParser.scala x: 44 lines of code y: 11 # changes commoneventconsumer/src/main/scala/com/gu/notifications/athena/Athena.scala x: 70 lines of code y: 2 # changes eventconsumer/riff-raff.yaml x: 20 lines of code y: 10 # changes eventconsumer/src/main/scala/com/gu/notifications/events/AthenaLambda.scala x: 87 lines of code y: 15 # changes eventconsumer/src/main/scala/com/gu/notifications/events/AthenaMetrics.scala x: 97 lines of code y: 14 # changes notification/app/notification/services/Configuration.scala x: 21 lines of code y: 47 # changes notification/app/notification/services/SloTrackingSender.scala x: 21 lines of code y: 2 # changes notificationworkerlambda/riff-raff.yaml x: 55 lines of code y: 30 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/cleaning/CleaningClient.scala x: 37 lines of code y: 13 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/DeliveryException.scala x: 48 lines of code y: 11 # changes reportextractor/riff-raff.yaml x: 19 lines of code y: 5 # changes schedulelambda/riff-raff.yaml x: 19 lines of code y: 4 # changes slomonitor/src/main/resources/logback.xml x: 10 lines of code y: 2 # changes notificationworkerlambda/registration-cleaning-worker-cfn.yaml x: 171 lines of code y: 20 # changes cdk/lib/registrations-db-proxy.ts x: 105 lines of code y: 4 # changes common/src/main/scala/aws/AWSAsync.scala x: 21 lines of code y: 8 # changes common/src/main/scala/aws/DynamoJsonConversions.scala x: 51 lines of code y: 16 # changes common/src/main/scala/aws/S3.scala x: 60 lines of code y: 7 # changes common/src/main/scala/utils/LruCache.scala x: 68 lines of code y: 6 # changes commonscheduledynamodb/src/main/scala/com/gu/notificationschedule/dynamo/NotificationSchedulePersistenceImpl.scala x: 58 lines of code y: 8 # changes eventconsumer/src/main/scala/com/gu/notifications/events/dynamo/DynamoReportUpdater.scala x: 60 lines of code y: 19 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/PaFootballClient.scala x: 42 lines of code y: 7 # changes notification/app/notification/data/DataStore.scala x: 22 lines of code y: 8 # changes schedulelambda/src/main/scala/com/gu/notificationschedule/cloudwatch/CloudWatch.scala x: 83 lines of code y: 11 # changes notificationworkerlambda/src/main/resources/logback.xml x: 10 lines of code y: 5 # changes notificationworkerlambda/expired-registration-cleaner-cfn.yaml x: 121 lines of code y: 10 # changes notificationworkerlambda/topic-counter-cfn.yaml x: 153 lines of code y: 12 # changes common/src/main/scala/db/SqlRegistrationRepository.scala x: 99 lines of code y: 31 # changes common/src/main/scala/db/RegistrationService.scala x: 53 lines of code y: 32 # changes common/src/main/scala/tracking/InMemoryNotificationReportRepository.scala x: 32 lines of code y: 23 # changes common/src/main/scala/tracking/NotificationReportRepository.scala x: 92 lines of code y: 14 # changes registration/app/registration/services/DatabaseRegistrar.scala x: 47 lines of code y: 18 # changes registration/app/registration/services/LegacyRegistrationConverter.scala x: 59 lines of code y: 28 # changes report/app/report/controllers/Report.scala x: 44 lines of code y: 38 # changes notificationworkerlambda/ecr.yaml x: 51 lines of code y: 4 # changes report/conf/report.yaml x: 300 lines of code y: 9 # changes common/src/main/scala/utils/MobileAwsCredentialsProvider.scala x: 18 lines of code y: 8 # changes common/src/main/scala/db/DatabaseConfig.scala x: 47 lines of code y: 17 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/DynamoDistinctCheck.scala x: 54 lines of code y: 4 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload/ApnsPayloadBuilder.scala x: 217 lines of code y: 35 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload/CustomProperty.scala x: 67 lines of code y: 14 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload/MessageTypes.scala x: 6 lines of code y: 4 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload/FcmPayloadBuilder.scala x: 175 lines of code y: 25 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload/Keys.scala x: 61 lines of code y: 10 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload/MessageTypes.scala x: 8 lines of code y: 5 # changes registration/app/registration/CustomErrorHandler.scala x: 17 lines of code y: 1 # changes football/src/main/resources/log4j2.xml x: 15 lines of code y: 2 # changes football/src/main/scala/com/gu/mobile/notifications/football/Logging.scala x: 5 lines of code y: 2 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/ArticleSearcher.scala x: 36 lines of code y: 2 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/Batch.scala x: 19 lines of code y: 2 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/EventConsumer.scala x: 27 lines of code y: 2 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/EventFilter.scala x: 35 lines of code y: 2 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/FootballData.scala x: 90 lines of code y: 3 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/HttpProvider.scala x: 12 lines of code y: 2 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/NotificationSender.scala x: 16 lines of code y: 2 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/SyntheticMatchEventGenerator.scala x: 53 lines of code y: 2 # changes football/src/main/scala/com/gu/mobile/notifications/football/models/MatchData.scala x: 17 lines of code y: 2 # changes football/src/main/scala/com/gu/mobile/notifications/football/models/MatchEvents.scala x: 104 lines of code y: 2 # changes football/src/main/scala/com/gu/mobile/notifications/football/notificationbuilders/MatchStatusNotificationBuilder.scala x: 144 lines of code y: 2 # changes common/src/main/scala/binders/querystringbinders/package.scala x: 34 lines of code y: 18 # changes eventconsumer/src/main/scala/com/gu/notifications/events/dynamo/DynamoConversion.scala x: 16 lines of code y: 6 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/RegistrationCleaningWorker.scala x: 61 lines of code y: 5 # changes common/src/main/scala/db/Registration.scala x: 60 lines of code y: 16 # changes notification/app/notification/authentication/NotificationAuthAction.scala x: 23 lines of code y: 4 # changes notification/app/notification/services/FastlyPurge.scala x: 27 lines of code y: 7 # changes registration/app/registration/auditor/FootballMatchAuditor.scala x: 42 lines of code y: 4 # changes registration/app/registration/services/LegacyNewsstandRegistrationConverter.scala x: 31 lines of code y: 23 # changes common/src/main/scala/db/HarvestedToken.scala x: 8 lines of code y: 3 # changes common/src/main/scala/db/RegistrationRepository.scala x: 13 lines of code y: 19 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/ExpiredRegistrationCleaner.scala x: 25 lines of code y: 2 # changes common/src/main/scala/models/Registration.scala x: 12 lines of code y: 17 # changes notification/app/notification/services/ArticlePurge.scala x: 22 lines of code y: 7 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/PushNotificationResponseListenerWithTimeout.scala x: 20 lines of code y: 1 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/DeliveryPayload.scala x: 12 lines of code y: 9 # changes athena-tables.sql x: 80 lines of code y: 3 # changes notification/app/notification/controllers/Schedule.scala x: 25 lines of code y: 4 # changes common/src/main/scala/models/DeviceToken.scala x: 12 lines of code y: 5 # changes common/src/main/scala/tracking/SentNotificationReportRepository.scala x: 12 lines of code y: 12 # changes notification/app/notification/services/guardian/ReportTopicRegistrationCounter.scala x: 17 lines of code y: 12 # changes notification/app/notification/services/guardian/TopicRegistrationCounter.scala x: 7 lines of code y: 9 # changes registration/app/registration/auditor/Auditor.scala x: 6 lines of code y: 3 # changes registration/app/registration/auditor/AuditorApiConfig.scala x: 3 lines of code y: 3 # changes registration/app/registration/auditor/LiveBlogAuditor.scala x: 23 lines of code y: 3 # changes registration/app/registration/auditor/TimeExpiringAuditor.scala x: 14 lines of code y: 3 # changes registration/app/registration/services/Configuration.scala x: 19 lines of code y: 30 # changes registration/app/registration/services/WSPaClient.scala x: 14 lines of code y: 5 # changes registration/app/registration/services/topic/TopicValidator.scala x: 30 lines of code y: 19 # changes reportextractor/src/main/resources/log4j2.xml x: 15 lines of code y: 3 # changes eventconsumer/src/main/resources/log4j2.xml x: 15 lines of code y: 4 # changes fakebreakingnewslambda/src/main/resources/log4j2.xml x: 15 lines of code y: 5 # changes common/src/main/scala/exception/TopicCounterException.scala x: 2 lines of code y: 3 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/TopicCounterLambda.scala x: 36 lines of code y: 4 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/TopicCounterLocalRun.scala x: 4 lines of code y: 1 # changes common/src/main/scala/authentication/AuthAction.scala x: 23 lines of code y: 5 # changes report/app/report/authentication/ReportAuthAction.scala x: 11 lines of code y: 2 # changes report/app/report/services/Configuration.scala x: 7 lines of code y: 15 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/tokens/SqsDeliveryService.scala x: 56 lines of code y: 2 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/Env.scala x: 11 lines of code y: 1 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/Apns.scala x: 7 lines of code y: 7 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils/Aws.scala x: 5 lines of code y: 1 # changes eventconsumer/src/main/scala/com/gu/notifications/events/LocalRun.scala x: 4 lines of code y: 4 # changes common/src/main/scala/error/Errors.scala x: 7 lines of code y: 3 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/oktransport/OkGoogleHttpRequest.scala x: 81 lines of code y: 1 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/oktransport/OkGoogleHttpResponse.scala x: 24 lines of code y: 1 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/utils/TimeToLive.scala x: 6 lines of code y: 1 # changes common/src/main/scala/aws/AsyncDynamo.scala x: 34 lines of code y: 11 # changes common/src/main/scala/binders/pathbinders/package.scala x: 26 lines of code y: 9 # changes common/src/main/scala/models/Provider.scala x: 28 lines of code y: 7 # changes notification/app/notification/services/NewsstandSender.scala x: 29 lines of code y: 2 # changes eventconsumer/src/main/scala/com/gu/notifications/events/model/RawEvent.scala x: 9 lines of code y: 2 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils/UnwrappingExecutionException.scala x: 8 lines of code y: 2 # changes registration/conf/logback.xml x: 19 lines of code y: 8 # changes report/conf/logback.xml x: 20 lines of code y: 6 # changes notification/app/notification/services/package.scala x: 15 lines of code y: 14 # changes common/src/main/scala/models/NewsstandShardConfig.scala x: 2 lines of code y: 1 # changes registration/app/registration/services/RegistrationConverter.scala x: 7 lines of code y: 6 # changes common/src/main/scala/error/NotificationsError.scala x: 5 lines of code y: 4 # changes
311.0
# changes
  min: 1.0
  average: 14.15
  25th percentile: 4.0
  median: 8.0
  75th percentile: 17.0
  max: 311.0
0 417.0
lines of code
min: 1.0 | average: 50.43 | 25th percentile: 14.0 | median: 27.0 | 75th percentile: 61.0 | max: 417.0

Number of Contributors vs. Number of Changes: 233 points

build.sbt x: 38 # contributors y: 311 # changes project/plugins.sbt x: 29 # contributors y: 100 # changes notificationworkerlambda/cdk/lib/senderworker.ts x: 11 # contributors y: 24 # changes api-models/src/main/scala/com/gu/mobile.notifications.client/models/Topic.scala x: 12 # contributors y: 20 # changes version.sbt x: 5 # contributors y: 7 # changes common/src/main/scala/metrics/MetricActor.scala x: 7 # contributors y: 13 # changes common/src/main/scala/metrics/Metrics.scala x: 8 # contributors y: 10 # changes common/src/main/scala/utils/CustomApplicationLoader.scala x: 8 # contributors y: 14 # changes dynamo.yaml x: 6 # contributors y: 9 # changes fakebreakingnewslambda/src/main/scala/fakebreakingnews/FakeBreakingNewsLambda.scala x: 8 # contributors y: 17 # changes football/cfn.yaml x: 6 # contributors y: 12 # changes football/src/main/scala/com/gu/mobile/notifications/football/Lambda.scala x: 7 # contributors y: 8 # changes notification/app/notification/NotificationApplicationLoader.scala x: 13 # contributors y: 72 # changes notification/conf/notification.yaml x: 12 # contributors y: 27 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/AndroidSender.scala x: 13 # contributors y: 44 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/Configuration.scala x: 15 # contributors y: 60 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/IOSSender.scala x: 12 # contributors y: 26 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/SenderRequestHandler.scala x: 11 # contributors y: 38 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/DeliveryClient.scala x: 12 # contributors y: 21 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/DeliveryService.scala x: 11 # contributors y: 27 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/ApnsClient.scala x: 12 # contributors y: 39 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/FcmClient.scala x: 16 # contributors y: 60 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/FcmException.scala x: 4 # contributors y: 4 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/FcmTransportJdkImpl.scala x: 4 # contributors y: 10 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/FcmConfig.scala x: 5 # contributors y: 4 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload/FcmResponse.scala x: 4 # contributors y: 6 # changes registration/app/registration/RegistrationApplicationLoader.scala x: 14 # contributors y: 54 # changes registration/app/registration/controllers/Main.scala x: 15 # contributors y: 62 # changes report/app/report/ReportApplicationLoader.scala x: 12 # contributors y: 34 # changes reportextractor/src/main/scala/com/gu/notifications/extractor/Lambda.scala x: 9 # contributors y: 21 # changes schedulelambda/src/main/scala/com/gu/notificationschedule/ProcessNotificationScheduleLambda.scala x: 7 # contributors y: 12 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/tokens/TokenService.scala x: 9 # contributors y: 17 # changes notification/conf/riff-raff.yaml x: 9 # contributors y: 25 # changes report/conf/riff-raff.yaml x: 12 # contributors y: 24 # changes api-models/src/main/scala/com/gu/mobile.notifications.client/models/Editions.scala x: 7 # contributors y: 7 # changes api-models/src/main/scala/com/gu/mobile.notifications.client/models/Importance.scala x: 6 # contributors y: 5 # changes common/src/main/scala/models/Importance.scala x: 8 # contributors y: 7 # changes common/src/main/scala/models/JsonUtils.scala x: 10 # contributors y: 15 # changes common/src/main/scala/models/Link.scala x: 9 # contributors y: 13 # changes common/src/main/scala/models/Notification.scala x: 16 # contributors y: 55 # changes common/src/main/scala/models/NotificationMetadata.scala x: 3 # contributors y: 2 # changes common/src/main/scala/models/NotificationReport.scala x: 11 # contributors y: 23 # changes common/src/main/scala/models/NotificationType.scala x: 14 # contributors y: 23 # changes common/src/main/scala/models/Platform.scala x: 10 # contributors y: 21 # changes common/src/main/scala/models/ShardedNotification.scala x: 8 # contributors y: 15 # changes common/src/main/scala/models/Topic.scala x: 11 # contributors y: 25 # changes commoneventconsumer/src/main/scala/com/gu/notifications/events/model/EventAggregation.scala x: 8 # contributors y: 12 # changes commoneventconsumer/src/main/scala/com/gu/notifications/events/model/PlatformCount.scala x: 9 # contributors y: 14 # changes fakebreakingnewslambda/src/main/scala/fakebreakingnews/NotificationClient.scala x: 7 # contributors y: 10 # changes fakebreakingnewslambda/src/main/scala/fakebreakingnews/TopUkRegularStory.scala x: 8 # contributors y: 13 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/NotificationHttpProvider.scala x: 5 # contributors y: 5 # changes notification/app/notification/controllers/Main.scala x: 17 # contributors y: 68 # changes notification/app/notification/models/PushResult.scala x: 10 # contributors y: 14 # changes notification/app/notification/services/frontend/FrontendAlerts.scala x: 9 # contributors y: 20 # changes notification/app/notification/services/frontend/NewsAlert.scala x: 12 # contributors y: 17 # changes notification/app/notification/services/guardian/GuardianNotificationSender.scala x: 10 # contributors y: 39 # changes notificationworkerlambda/harvester-cfn.yaml x: 12 # contributors y: 33 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/Harvester.scala x: 12 # contributors y: 43 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils/Cloudwatch.scala x: 11 # contributors y: 29 # changes registration/app/registration/models/LegacyRegistration.scala x: 10 # contributors y: 17 # changes registration/app/registration/services/NotificationRegistrar.scala x: 14 # contributors y: 42 # changes registration/conf/riff-raff.yaml x: 12 # contributors y: 25 # changes schedulelambda/src/main/scala/com/gu/notificationschedule/notifications/RequestNotification.scala x: 6 # contributors y: 8 # changes slomonitor/src/main/scala/com.gu.notifications.slos/SloMonitor.scala x: 5 # contributors y: 8 # changes fakebreakingnewslambda/fakebreakingnewslambda-cfn.yaml x: 6 # contributors y: 11 # changes reportextractor/cfn.yaml x: 5 # contributors y: 10 # changes cdk/lib/slo-monitoring.ts x: 2 # contributors y: 5 # changes commoneventconsumer/src/main/scala/com/gu/notifications/athena/Athena.scala x: 1 # contributors y: 2 # changes eventconsumer/src/main/scala/com/gu/notifications/events/AthenaLambda.scala x: 5 # contributors y: 15 # changes eventconsumer/src/main/scala/com/gu/notifications/events/AthenaMetrics.scala x: 6 # contributors y: 14 # changes notification/app/notification/services/Configuration.scala x: 13 # contributors y: 47 # changes notificationworkerlambda/riff-raff.yaml x: 10 # contributors y: 30 # changes notificationworkerlambda/registration-cleaning-worker-cfn.yaml x: 11 # contributors y: 20 # changes cdk/lib/registrations-db-proxy.ts x: 3 # contributors y: 4 # changes common/src/main/scala/aws/S3.scala x: 3 # contributors y: 7 # changes eventconsumer/src/main/scala/com/gu/notifications/events/dynamo/DynamoReportUpdater.scala x: 6 # contributors y: 19 # changes notification/app/notification/data/DataStore.scala x: 4 # contributors y: 8 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/models/InvalidTokens.scala x: 4 # contributors y: 7 # changes common/src/main/scala/db/SqlRegistrationRepository.scala x: 11 # contributors y: 31 # changes common/src/main/scala/db/RegistrationService.scala x: 9 # contributors y: 32 # changes common/src/main/scala/tracking/InMemoryNotificationReportRepository.scala x: 13 # contributors y: 23 # changes registration/app/registration/services/DatabaseRegistrar.scala x: 8 # contributors y: 18 # changes registration/app/registration/services/LegacyRegistrationConverter.scala x: 9 # contributors y: 28 # changes report/app/report/controllers/Report.scala x: 14 # contributors y: 38 # changes notificationworkerlambda/ecr.yaml x: 2 # contributors y: 4 # changes report/conf/report.yaml x: 5 # contributors y: 9 # changes common/src/main/scala/utils/MobileAwsCredentialsProvider.scala x: 3 # contributors y: 8 # changes common/src/main/scala/db/DatabaseConfig.scala x: 4 # contributors y: 17 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload/ApnsPayloadBuilder.scala x: 4 # contributors y: 35 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload/CustomProperty.scala x: 5 # contributors y: 14 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload/FcmPayloadBuilder.scala x: 4 # contributors y: 25 # changes registration/app/registration/CustomErrorHandler.scala x: 1 # contributors y: 1 # changes football/src/main/scala/com/gu/mobile/notifications/football/lib/FootballData.scala x: 1 # contributors y: 3 # changes common/src/main/scala/binders/querystringbinders/package.scala x: 7 # contributors y: 18 # changes eventconsumer/src/main/scala/com/gu/notifications/events/dynamo/DynamoConversion.scala x: 3 # contributors y: 6 # changes common/src/main/scala/db/Registration.scala x: 5 # contributors y: 16 # changes registration/app/registration/services/LegacyNewsstandRegistrationConverter.scala x: 6 # contributors y: 23 # changes notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/DeliveryPayload.scala x: 4 # contributors y: 9 # changes athena-tables.sql x: 2 # contributors y: 3 # changes notification/app/notification/services/guardian/ReportTopicRegistrationCounter.scala x: 4 # contributors y: 12 # changes notification/app/notification/services/guardian/TopicRegistrationCounter.scala x: 3 # contributors y: 9 # changes registration/app/registration/services/Configuration.scala x: 9 # contributors y: 30 # changes registration/app/registration/services/topic/TopicValidator.scala x: 8 # contributors y: 19 # changes fakebreakingnewslambda/src/main/scala/fakebreakingnews/LocalRun.scala x: 2 # contributors y: 2 # changes eventconsumer/src/main/scala/com/gu/notifications/events/LocalRun.scala x: 1 # contributors y: 4 # changes common/src/main/scala/error/Errors.scala x: 3 # contributors y: 3 # changes common/src/main/scala/models/Provider.scala x: 2 # contributors y: 7 # changes commoneventconsumer/src/main/scala/com/gu/notifications/events/model/NotificationReportEvent.scala x: 4 # contributors y: 3 # changes
311.0
# changes
  min: 1.0
  average: 14.15
  25th percentile: 4.0
  median: 8.0
  75th percentile: 17.0
  max: 311.0
0 38.0
# contributors
min: 1.0 | average: 5.98 | 25th percentile: 2.0 | median: 5.0 | 75th percentile: 8.0 | max: 38.0

Number of Contributors vs. File Size: 233 points

build.sbt x: 38 # contributors y: 410 lines of code project/plugins.sbt x: 29 # contributors y: 15 lines of code notificationworkerlambda/cdk/lib/senderworker.ts x: 11 # contributors y: 263 lines of code api-models/src/main/scala/com/gu/mobile.notifications.client/models/Topic.scala x: 12 # contributors y: 47 lines of code version.sbt x: 5 # contributors y: 1 lines of code common/src/main/scala/metrics/MetricActor.scala x: 7 # contributors y: 93 lines of code common/src/main/scala/metrics/Metrics.scala x: 8 # contributors y: 39 lines of code common/src/main/scala/utils/CustomApplicationLoader.scala x: 8 # contributors y: 37 lines of code dynamo.yaml x: 6 # contributors y: 42 lines of code fakebreakingnewslambda/src/main/scala/fakebreakingnews/FakeBreakingNewsLambda.scala x: 8 # contributors y: 54 lines of code football/cfn.yaml x: 6 # contributors y: 24 lines of code football/src/main/scala/com/gu/mobile/notifications/football/Lambda.scala x: 7 # contributors y: 88 lines of code notification/app/notification/NotificationApplicationLoader.scala x: 13 # contributors y: 78 lines of code notification/conf/notification.yaml x: 12 # contributors y: 417 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/AndroidSender.scala x: 13 # contributors y: 109 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/Configuration.scala x: 15 # contributors y: 140 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/IOSSender.scala x: 12 # contributors y: 22 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/NotificationWorkerLocalRun.scala x: 8 # contributors y: 67 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/SenderRequestHandler.scala x: 11 # contributors y: 95 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/DeliveryClient.scala x: 12 # contributors y: 14 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/DeliveryService.scala x: 11 # contributors y: 77 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/ApnsClient.scala x: 12 # contributors y: 118 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/FcmClient.scala x: 16 # contributors y: 127 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/FcmException.scala x: 4 # contributors y: 32 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/FcmTransportJdkImpl.scala x: 4 # contributors y: 114 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/FcmConfig.scala x: 5 # contributors y: 8 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload/FcmResponse.scala x: 4 # contributors y: 24 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils/Logging.scala x: 11 # contributors y: 84 lines of code registration/app/registration/RegistrationApplicationLoader.scala x: 14 # contributors y: 53 lines of code registration/app/registration/controllers/Main.scala x: 15 # contributors y: 94 lines of code registration/conf/registration.yaml x: 12 # contributors y: 345 lines of code report/app/report/ReportApplicationLoader.scala x: 12 # contributors y: 40 lines of code reportextractor/src/main/scala/com/gu/notifications/extractor/Lambda.scala x: 9 # contributors y: 116 lines of code schedulelambda/src/main/scala/com/gu/notificationschedule/ProcessNotificationScheduleLambda.scala x: 7 # contributors y: 95 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/tokens/TokenService.scala x: 9 # contributors y: 46 lines of code notification/conf/riff-raff.yaml x: 9 # contributors y: 23 lines of code report/conf/riff-raff.yaml x: 12 # contributors y: 18 lines of code api-models/src/main/scala/com/gu/mobile.notifications.client/lib/JsonFormatsHelper.scala x: 7 # contributors y: 34 lines of code api-models/src/main/scala/com/gu/mobile.notifications.client/models/Editions.scala x: 7 # contributors y: 47 lines of code api-models/src/main/scala/com/gu/mobile.notifications.client/models/Importance.scala x: 6 # contributors y: 13 lines of code api-models/src/main/scala/com/gu/mobile.notifications.client/models/NotificationPayloadType.scala x: 6 # contributors y: 17 lines of code api-models/src/main/scala/com/gu/mobile.notifications.client/models/Payloads.scala x: 7 # contributors y: 185 lines of code api-models/src/main/scala/com/gu/mobile.notifications.client/models/SendNotificationReply.scala x: 6 # contributors y: 6 lines of code cdk/lib/registration.ts x: 5 # contributors y: 17 lines of code common/src/main/scala/models/GoalType.scala x: 6 # contributors y: 21 lines of code common/src/main/scala/models/GuardianItemType.scala x: 7 # contributors y: 14 lines of code common/src/main/scala/models/Importance.scala x: 8 # contributors y: 13 lines of code common/src/main/scala/models/JsonUtils.scala x: 10 # contributors y: 47 lines of code common/src/main/scala/models/Link.scala x: 9 # contributors y: 29 lines of code common/src/main/scala/models/Notification.scala x: 16 # contributors y: 218 lines of code common/src/main/scala/models/NotificationMetadata.scala x: 3 # contributors y: 7 lines of code common/src/main/scala/models/NotificationReport.scala x: 11 # contributors y: 67 lines of code common/src/main/scala/models/NotificationType.scala x: 14 # contributors y: 34 lines of code common/src/main/scala/models/Platform.scala x: 10 # contributors y: 28 lines of code common/src/main/scala/models/PlatformStatistics.scala x: 8 # contributors y: 6 lines of code common/src/main/scala/models/ShardedNotification.scala x: 8 # contributors y: 16 lines of code common/src/main/scala/models/Topic.scala x: 11 # contributors y: 24 lines of code common/src/main/scala/models/TopicType.scala x: 11 # contributors y: 44 lines of code commoneventconsumer/src/main/scala/com/gu/notifications/events/model/PlatformCount.scala x: 9 # contributors y: 12 lines of code eventconsumer/src/main/scala/com/gu/notifications/events/model/AggregationCounts.scala x: 7 # contributors y: 28 lines of code fakebreakingnewslambda/src/main/scala/fakebreakingnews/FakeRegistrations.scala x: 7 # contributors y: 57 lines of code fakebreakingnewslambda/src/main/scala/fakebreakingnews/TopUkRegularStory.scala x: 8 # contributors y: 69 lines of code football/src/main/scala/com/gu/mobile/notifications/football/lib/NotificationHttpProvider.scala x: 5 # contributors y: 29 lines of code football/src/main/scala/com/gu/mobile/notifications/football/lib/NotificationsApiClient.scala x: 6 # contributors y: 60 lines of code notification/app/notification/controllers/Main.scala x: 17 # contributors y: 145 lines of code notification/app/notification/models/PushResult.scala x: 10 # contributors y: 18 lines of code notification/app/notification/services/NotificationSender.scala x: 8 # contributors y: 7 lines of code notification/app/notification/services/frontend/FrontendAlerts.scala x: 9 # contributors y: 54 lines of code notification/app/notification/services/frontend/NewsAlert.scala x: 12 # contributors y: 38 lines of code notification/app/notification/services/guardian/GuardianNotificationSender.scala x: 10 # contributors y: 105 lines of code notificationworkerlambda/harvester-cfn.yaml x: 12 # contributors y: 241 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/Harvester.scala x: 12 # contributors y: 170 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload/Editions.scala x: 4 # contributors y: 28 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/models/SendingResults.scala x: 8 # contributors y: 79 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils/Cloudwatch.scala x: 11 # contributors y: 108 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils/Reporting.scala x: 8 # contributors y: 31 lines of code registration/app/registration/models/LegacyRegistration.scala x: 10 # contributors y: 64 lines of code registration/app/registration/services/NotificationRegistrar.scala x: 14 # contributors y: 22 lines of code registration/conf/riff-raff.yaml x: 12 # contributors y: 20 lines of code schedulelambda/src/main/scala/com/gu/notificationschedule/notifications/RequestNotification.scala x: 6 # contributors y: 61 lines of code slomonitor/src/main/scala/com.gu.notifications.slos/SloMonitor.scala x: 5 # contributors y: 148 lines of code eventconsumer/cfn.yaml x: 9 # contributors y: 163 lines of code fakebreakingnewslambda/fakebreakingnewslambda-cfn.yaml x: 6 # contributors y: 140 lines of code fakebreakingnewslambda/riff-raff.yaml x: 4 # contributors y: 17 lines of code reportextractor/cfn.yaml x: 5 # contributors y: 98 lines of code schedulelambda/cfn.yaml x: 5 # contributors y: 94 lines of code cdk/lib/slo-monitoring.ts x: 2 # contributors y: 95 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/ApnsConfig.scala x: 5 # contributors y: 12 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils/NotificationParser.scala x: 8 # contributors y: 44 lines of code commoneventconsumer/src/main/scala/com/gu/notifications/athena/Athena.scala x: 1 # contributors y: 70 lines of code eventconsumer/riff-raff.yaml x: 5 # contributors y: 20 lines of code eventconsumer/src/main/scala/com/gu/notifications/events/AthenaLambda.scala x: 5 # contributors y: 87 lines of code eventconsumer/src/main/scala/com/gu/notifications/events/AthenaMetrics.scala x: 6 # contributors y: 97 lines of code notification/app/notification/services/Configuration.scala x: 13 # contributors y: 21 lines of code notification/app/notification/services/SloTrackingSender.scala x: 1 # contributors y: 21 lines of code notificationworkerlambda/riff-raff.yaml x: 10 # contributors y: 55 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/cleaning/CleaningClient.scala x: 7 # contributors y: 37 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/DeliveryException.scala x: 7 # contributors y: 48 lines of code reportextractor/riff-raff.yaml x: 5 # contributors y: 19 lines of code slomonitor/src/main/resources/logback.xml x: 1 # contributors y: 10 lines of code notificationworkerlambda/registration-cleaning-worker-cfn.yaml x: 11 # contributors y: 171 lines of code cdk/lib/registrations-db-proxy.ts x: 3 # contributors y: 105 lines of code common/src/main/scala/aws/DynamoJsonConversions.scala x: 8 # contributors y: 51 lines of code common/src/main/scala/aws/S3.scala x: 3 # contributors y: 60 lines of code common/src/main/scala/utils/LruCache.scala x: 4 # contributors y: 68 lines of code commonscheduledynamodb/src/main/scala/com/gu/notificationschedule/dynamo/NotificationSchedulePersistenceImpl.scala x: 5 # contributors y: 58 lines of code football/src/main/scala/com/gu/mobile/notifications/football/lib/PaFootballClient.scala x: 3 # contributors y: 42 lines of code notification/app/notification/data/DataStore.scala x: 4 # contributors y: 22 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/TopicCounter.scala x: 4 # contributors y: 21 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/models/InvalidTokens.scala x: 4 # contributors y: 14 lines of code schedulelambda/src/main/scala/com/gu/notificationschedule/cloudwatch/CloudWatch.scala x: 6 # contributors y: 83 lines of code notificationworkerlambda/src/main/resources/logback.xml x: 5 # contributors y: 10 lines of code notificationworkerlambda/expired-registration-cleaner-cfn.yaml x: 6 # contributors y: 121 lines of code notificationworkerlambda/topic-counter-cfn.yaml x: 7 # contributors y: 153 lines of code common/src/main/scala/db/SqlRegistrationRepository.scala x: 11 # contributors y: 99 lines of code common/src/main/scala/tracking/InMemoryNotificationReportRepository.scala x: 13 # contributors y: 32 lines of code common/src/main/scala/tracking/NotificationReportRepository.scala x: 6 # contributors y: 92 lines of code registration/app/registration/services/DatabaseRegistrar.scala x: 8 # contributors y: 47 lines of code registration/app/registration/services/LegacyRegistrationConverter.scala x: 9 # contributors y: 59 lines of code report/app/report/controllers/Report.scala x: 14 # contributors y: 44 lines of code notificationworkerlambda/ecr.yaml x: 2 # contributors y: 51 lines of code report/conf/report.yaml x: 5 # contributors y: 300 lines of code common/src/main/scala/utils/MobileAwsCredentialsProvider.scala x: 3 # contributors y: 18 lines of code common/src/main/scala/db/DatabaseConfig.scala x: 4 # contributors y: 47 lines of code football/src/main/scala/com/gu/mobile/notifications/football/lib/DynamoDistinctCheck.scala x: 2 # contributors y: 54 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload/ApnsPayloadBuilder.scala x: 4 # contributors y: 217 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload/CustomProperty.scala x: 5 # contributors y: 67 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload/MessageTypes.scala x: 3 # contributors y: 6 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload/FcmPayloadBuilder.scala x: 4 # contributors y: 175 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload/Keys.scala x: 5 # contributors y: 61 lines of code registration/app/registration/CustomErrorHandler.scala x: 1 # contributors y: 17 lines of code football/src/main/resources/log4j2.xml x: 1 # contributors y: 15 lines of code football/src/main/scala/com/gu/mobile/notifications/football/Logging.scala x: 1 # contributors y: 5 lines of code football/src/main/scala/com/gu/mobile/notifications/football/lib/ArticleSearcher.scala x: 1 # contributors y: 36 lines of code football/src/main/scala/com/gu/mobile/notifications/football/lib/Batch.scala x: 1 # contributors y: 19 lines of code football/src/main/scala/com/gu/mobile/notifications/football/lib/EventConsumer.scala x: 1 # contributors y: 27 lines of code football/src/main/scala/com/gu/mobile/notifications/football/lib/FootballData.scala x: 1 # contributors y: 90 lines of code football/src/main/scala/com/gu/mobile/notifications/football/lib/HttpProvider.scala x: 1 # contributors y: 12 lines of code football/src/main/scala/com/gu/mobile/notifications/football/lib/SyntheticMatchEventGenerator.scala x: 1 # contributors y: 53 lines of code football/src/main/scala/com/gu/mobile/notifications/football/models/MatchEvents.scala x: 1 # contributors y: 104 lines of code football/src/main/scala/com/gu/mobile/notifications/football/notificationbuilders/MatchStatusNotificationBuilder.scala x: 1 # contributors y: 144 lines of code eventconsumer/src/main/scala/com/gu/notifications/events/dynamo/DynamoConversion.scala x: 3 # contributors y: 16 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/RegistrationCleaningWorker.scala x: 3 # contributors y: 61 lines of code common/src/main/scala/db/Registration.scala x: 5 # contributors y: 60 lines of code notification/app/notification/authentication/NotificationAuthAction.scala x: 3 # contributors y: 23 lines of code notification/app/notification/services/FastlyPurge.scala x: 3 # contributors y: 27 lines of code registration/app/registration/auditor/FootballMatchAuditor.scala x: 2 # contributors y: 42 lines of code registration/app/registration/services/LegacyNewsstandRegistrationConverter.scala x: 6 # contributors y: 31 lines of code common/src/main/scala/db/HarvestedToken.scala x: 1 # contributors y: 8 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/ExpiredRegistrationCleaner.scala x: 1 # contributors y: 25 lines of code notification/app/notification/services/ArticlePurge.scala x: 3 # contributors y: 22 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/DeliveryPayload.scala x: 4 # contributors y: 12 lines of code athena-tables.sql x: 2 # contributors y: 80 lines of code notification/app/notification/controllers/Schedule.scala x: 3 # contributors y: 25 lines of code common/src/main/scala/models/DeviceToken.scala x: 3 # contributors y: 12 lines of code registration/app/registration/auditor/Auditor.scala x: 2 # contributors y: 6 lines of code registration/app/registration/auditor/AuditorApiConfig.scala x: 2 # contributors y: 3 lines of code registration/app/registration/auditor/LiveBlogAuditor.scala x: 2 # contributors y: 23 lines of code registration/app/registration/auditor/TimeExpiringAuditor.scala x: 2 # contributors y: 14 lines of code registration/app/registration/services/Configuration.scala x: 9 # contributors y: 19 lines of code reportextractor/src/main/resources/log4j2.xml x: 2 # contributors y: 15 lines of code common/src/main/scala/exception/TopicCounterException.scala x: 1 # contributors y: 2 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/TopicCounterLambda.scala x: 2 # contributors y: 36 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/TopicCounterLocalRun.scala x: 1 # contributors y: 4 lines of code report/app/report/authentication/ReportAuthAction.scala x: 2 # contributors y: 11 lines of code report/app/report/services/Configuration.scala x: 10 # contributors y: 7 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/tokens/SqsDeliveryService.scala x: 1 # contributors y: 56 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/Apns.scala x: 4 # contributors y: 7 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/oktransport/OkGoogleHttpRequest.scala x: 1 # contributors y: 81 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/oktransport/OkGoogleHttpResponse.scala x: 1 # contributors y: 24 lines of code common/src/main/scala/aws/AsyncDynamo.scala x: 8 # contributors y: 34 lines of code common/src/main/scala/binders/pathbinders/package.scala x: 5 # contributors y: 26 lines of code common/src/main/scala/models/Provider.scala x: 2 # contributors y: 28 lines of code eventconsumer/src/main/scala/com/gu/notifications/events/model/RawEvent.scala x: 1 # contributors y: 9 lines of code notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils/UnwrappingExecutionException.scala x: 2 # contributors y: 8 lines of code registration/conf/logback.xml x: 7 # contributors y: 19 lines of code commoneventconsumer/src/main/scala/com/gu/notifications/events/model/NotificationReportEvent.scala x: 4 # contributors y: 2 lines of code notification/app/notification/services/package.scala x: 6 # contributors y: 15 lines of code common/src/main/scala/error/NotificationsError.scala x: 4 # contributors y: 5 lines of code
417.0
lines of code
  min: 1.0
  average: 50.43
  25th percentile: 14.0
  median: 27.0
  75th percentile: 61.0
  max: 417.0
0 38.0
# contributors
min: 1.0 | average: 5.98 | 25th percentile: 2.0 | median: 5.0 | 75th percentile: 8.0 | max: 38.0