guardian / mobile-n10n
File Size

The distribution of size of files (measured in lines of code).

Intro
Learn more...
File Size Overall
0% | 0% | 20% | 24% | 55%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: grouped by folders | grouped by size | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
yaml0% | 0% | 50% | 28% | 20%
scala0% | 0% | 5% | 25% | 69%
sbt0% | 0% | 96% | 0% | 3%
ts0% | 0% | 54% | 21% | 23%
xml0% | 0% | 0% | 0% | 100%
sql0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
notificationworkerlambda0% | 0% | 19% | 41% | 39%
notification0% | 0% | 35% | 21% | 42%
ROOT0% | 0% | 76% | 0% | 23%
registration0% | 0% | 36% | 0% | 63%
report0% | 0% | 68% | 0% | 31%
common0% | 0% | 13% | 0% | 86%
football0% | 0% | 0% | 26% | 73%
api-models0% | 0% | 0% | 53% | 46%
eventconsumer0% | 0% | 0% | 31% | 68%
slomonitor0% | 0% | 0% | 82% | 17%
fakebreakingnewslambda0% | 0% | 0% | 34% | 65%
reportextractor0% | 0% | 0% | 45% | 54%
cdk0% | 0% | 0% | 48% | 51%
schedulelambda0% | 0% | 0% | 0% | 100%
commoneventconsumer0% | 0% | 0% | 0% | 100%
commonscheduledynamodb0% | 0% | 0% | 0% | 100%
project0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
notification.yaml
in notification/conf
417 -
build.sbt
in root
410 1
registration.yaml
in registration/conf
345 -
report.yaml
in report/conf
300 -
senderworker.ts
in notificationworkerlambda/cdk/lib
263 2
harvester-cfn.yaml
in notificationworkerlambda
241 -
Notification.scala
in common/src/main/scala/models
218 3
ApnsPayloadBuilder.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload
217 8
Payloads.scala
in api-models/src/main/scala/com/gu/mobile.notifications.client/models
185 5
FcmPayloadBuilder.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload
175 7
registration-cleaning-worker-cfn.yaml
in notificationworkerlambda
171 -
Harvester.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
170 7
cfn.yaml
in eventconsumer
163 -
topic-counter-cfn.yaml
in notificationworkerlambda
153 -
SloMonitor.scala
in slomonitor/src/main/scala/com.gu.notifications.slos
148 5
Main.scala
in notification/app/notification/controllers
145 6
MatchStatusNotificationBuilder.scala
in football/src/main/scala/com/gu/mobile/notifications/football/notificationbuilders
144 7
Configuration.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
140 7
fakebreakingnewslambda-cfn.yaml
in fakebreakingnewslambda
140 -
FcmClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm
127 6
expired-registration-cleaner-cfn.yaml
in notificationworkerlambda
121 -
ApnsClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns
118 3
Lambda.scala
in reportextractor/src/main/scala/com/gu/notifications/extractor
116 5
FcmTransportJdkImpl.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm
114 7
AndroidSender.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
109 4
Cloudwatch.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
108 6
105 1
GuardianNotificationSender.scala
in notification/app/notification/services/guardian
105 5
MatchEvents.scala
in football/src/main/scala/com/gu/mobile/notifications/football/models
104 6
SqlRegistrationRepository.scala
in common/src/main/scala/db
99 7
cfn.yaml
in reportextractor
98 -
AthenaMetrics.scala
in eventconsumer/src/main/scala/com/gu/notifications/events
97 4
SenderRequestHandler.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
95 4
ProcessNotificationScheduleLambda.scala
in schedulelambda/src/main/scala/com/gu/notificationschedule
95 5
95 1
Main.scala
in registration/app/registration/controllers
94 5
cfn.yaml
in schedulelambda
94 -
MetricActor.scala
in common/src/main/scala/metrics
93 3
NotificationReportRepository.scala
in common/src/main/scala/tracking
92 4
FootballData.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
90 3
Lambda.scala
in football/src/main/scala/com/gu/mobile/notifications/football
88 4
AthenaLambda.scala
in eventconsumer/src/main/scala/com/gu/notifications/events
87 8
Logging.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
84 4
CloudWatch.scala
in schedulelambda/src/main/scala/com/gu/notificationschedule/cloudwatch
83 8
OkGoogleHttpRequest.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/oktransport
81 5
80 -
SendingResults.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/models
79 6
NotificationApplicationLoader.scala
in notification/app/notification
78 -
DeliveryService.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery
77 2
Athena.scala
in commoneventconsumer/src/main/scala/com/gu/notifications/athena
70 3
Files With Most Units (Top 50)
File# lines# units
ApnsPayloadBuilder.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload
217 8
CloudWatch.scala
in schedulelambda/src/main/scala/com/gu/notificationschedule/cloudwatch
83 8
JsonUtils.scala
in common/src/main/scala/models
47 8
AthenaLambda.scala
in eventconsumer/src/main/scala/com/gu/notifications/events
87 8
Configuration.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
140 7
Harvester.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
170 7
FcmPayloadBuilder.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload
175 7
FcmTransportJdkImpl.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm
114 7
SqlRegistrationRepository.scala
in common/src/main/scala/db
99 7
RegistrationService.scala
in common/src/main/scala/db
53 7
DynamoJsonConversions.scala
in common/src/main/scala/aws
51 7
MatchStatusNotificationBuilder.scala
in football/src/main/scala/com/gu/mobile/notifications/football/notificationbuilders
144 7
SendingResults.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/models
79 6
Cloudwatch.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
108 6
FcmClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm
127 6
FcmException.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm
32 6
JsonFormatsHelper.scala
in api-models/src/main/scala/com/gu/mobile.notifications.client/lib
34 6
MatchEvents.scala
in football/src/main/scala/com/gu/mobile/notifications/football/models
104 6
Main.scala
in notification/app/notification/controllers
145 6
Main.scala
in registration/app/registration/controllers
94 5
NotificationParser.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
44 5
OkGoogleHttpRequest.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/oktransport
81 5
SloMonitor.scala
in slomonitor/src/main/scala/com.gu.notifications.slos
148 5
Payloads.scala
in api-models/src/main/scala/com/gu/mobile.notifications.client/models
185 5
ProcessNotificationScheduleLambda.scala
in schedulelambda/src/main/scala/com/gu/notificationschedule
95 5
S3.scala
in common/src/main/scala/aws
60 5
GuardianNotificationSender.scala
in notification/app/notification/services/guardian
105 5
Lambda.scala
in reportextractor/src/main/scala/com/gu/notifications/extractor
116 5
SqsDeliveryService.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/tokens
56 4
Logging.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
84 4
CleaningClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/cleaning
37 4
AndroidSender.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
109 4
SenderRequestHandler.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
95 4
DatabaseConfig.scala
in common/src/main/scala/db
47 4
InMemoryNotificationReportRepository.scala
in common/src/main/scala/tracking
32 4
NotificationReportRepository.scala
in common/src/main/scala/tracking
92 4
Lambda.scala
in football/src/main/scala/com/gu/mobile/notifications/football
88 4
AthenaMetrics.scala
in eventconsumer/src/main/scala/com/gu/notifications/events
97 4
FootballMatchAuditor.scala
in registration/app/registration/auditor
42 3
LegacyRegistrationConverter.scala
in registration/app/registration/services
59 3
TokenService.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/tokens
46 3
PushNotificationResponseListenerWithTimeout.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns
20 3
ApnsClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns
118 3
RegistrationCleaningWorker.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
61 3
Athena.scala
in commoneventconsumer/src/main/scala/com/gu/notifications/athena
70 3
RequestNotification.scala
in schedulelambda/src/main/scala/com/gu/notificationschedule/notifications
61 3
Notification.scala
in common/src/main/scala/models
218 3
Topic.scala
in common/src/main/scala/models
24 3
Link.scala
in common/src/main/scala/models
29 3
MetricActor.scala
in common/src/main/scala/metrics
93 3
Files With Long Lines (Top 50)

There are 102 files with lines longer than 120 characters. In total, there are 286 long lines.

File# lines# units# long lines
AndroidSender.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
109 4 18
SenderRequestHandler.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
95 4 13
Athena.scala
in commoneventconsumer/src/main/scala/com/gu/notifications/athena
70 3 11
Harvester.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker
170 7 9
RegistrationApplicationLoader.scala
in registration/app/registration
53 - 8
Cloudwatch.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
108 6 8
senderworker.ts
in notificationworkerlambda/cdk/lib
263 2 8
ProcessNotificationScheduleLambda.scala
in schedulelambda/src/main/scala/com/gu/notificationschedule
95 5 8
CloudWatch.scala
in schedulelambda/src/main/scala/com/gu/notificationschedule/cloudwatch
83 8 8
NotificationApplicationLoader.scala
in notification/app/notification
78 - 8
FcmClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm
127 6 7
AthenaMetrics.scala
in eventconsumer/src/main/scala/com/gu/notifications/events
97 4 7
Logging.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
84 4 6
FcmPayloadBuilder.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/models/payload
175 7 6
Main.scala
in notification/app/notification/controllers
145 6 6
SendingResults.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/models
79 6 5
DynamoReportUpdater.scala
in eventconsumer/src/main/scala/com/gu/notifications/events/dynamo
60 3 5
Main.scala
in registration/app/registration/controllers
94 5 4
registration.yaml
in registration/conf
345 - 4
ApnsClient.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns
118 3 4
SloMonitor.scala
in slomonitor/src/main/scala/com.gu.notifications.slos
148 5 4
NotificationReportRepository.scala
in common/src/main/scala/tracking
92 4 4
AuthAction.scala
in common/src/main/scala/authentication
23 2 4
NotificationSchedulePersistenceImpl.scala
in commonscheduledynamodb/src/main/scala/com/gu/notificationschedule/dynamo
58 3 4
ReportApplicationLoader.scala
in report/app/report
40 - 3
build.sbt
in root
410 1 3
Reporting.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/utils
31 2 3
DeliverySuccess.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery
14 - 3
FcmTransportJdkImpl.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm
114 7 3
RequestNotification.scala
in schedulelambda/src/main/scala/com/gu/notificationschedule/notifications
61 3 3
MatchStatusNotificationBuilder.scala
in football/src/main/scala/com/gu/mobile/notifications/football/notificationbuilders
144 7 3
GuardianNotificationSender.scala
in notification/app/notification/services/guardian
105 5 3
notification.yaml
in notification/conf
417 - 3
Report.scala
in report/app/report/controllers
44 2 2
report.yaml
in report/conf
300 - 2
LegacyNewsstandRegistrationConverter.scala
in registration/app/registration/services
31 2 2
DatabaseRegistrar.scala
in registration/app/registration/services
47 1 2
TokenService.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/tokens
46 3 2
DeliveryException.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery
48 - 2
OkGoogleHttpRequest.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/fcm/oktransport
81 5 2
ApnsPayloadBuilder.scala
in notificationworkerlambda/src/main/scala/com/gu/notifications/worker/delivery/apns/models/payload
217 8 2
Payloads.scala
in api-models/src/main/scala/com/gu/mobile.notifications.client/models
185 5 2
MetricActor.scala
in common/src/main/scala/metrics
93 3 2
DatabaseConfig.scala
in common/src/main/scala/db
47 4 2
DynamoJsonConversions.scala
in common/src/main/scala/aws
51 7 2
S3.scala
in common/src/main/scala/aws
60 5 2
package.scala
in common/src/main/scala/binders/querystringbinders
34 1 2
EventFilter.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
35 3 2
EventConsumer.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
27 2 2
PaFootballClient.scala
in football/src/main/scala/com/gu/mobile/notifications/football/lib
42 3 2
Correlations

File Size vs. Commits (all time): 233 points

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

File Size vs. Contributors (all time): 233 points

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

File Size vs. Commits (30 days): 2 points

build.sbt x: 5 commits (30d) y: 410 lines of code project/plugins.sbt x: 1 commits (30d) y: 15 lines of code
410.0
lines of code
  min: 15.0
  average: 212.5
  25th percentile: 15.0
  median: 212.5
  75th percentile: 410.0
  max: 410.0
0 5.0
commits (30d)
min: 1.0 | average: 3.0 | 25th percentile: 1.0 | median: 3.0 | 75th percentile: 5.0 | max: 5.0

File Size vs. Contributors (30 days): 2 points

build.sbt x: 3 contributors (30d) y: 410 lines of code project/plugins.sbt x: 1 contributors (30d) y: 15 lines of code
410.0
lines of code
  min: 15.0
  average: 212.5
  25th percentile: 15.0
  median: 212.5
  75th percentile: 410.0
  max: 410.0
0 3.0
contributors (30d)
min: 1.0 | average: 2.0 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 3.0 | max: 3.0

File Size vs. Commits (90 days): 2 points

build.sbt x: 15 commits (90d) y: 410 lines of code project/plugins.sbt x: 4 commits (90d) y: 15 lines of code
410.0
lines of code
  min: 15.0
  average: 212.5
  25th percentile: 15.0
  median: 212.5
  75th percentile: 410.0
  max: 410.0
0 15.0
commits (90d)
min: 4.0 | average: 9.5 | 25th percentile: 4.0 | median: 9.5 | 75th percentile: 15.0 | max: 15.0

File Size vs. Contributors (90 days): 2 points

build.sbt x: 5 contributors (90d) y: 410 lines of code project/plugins.sbt x: 3 contributors (90d) y: 15 lines of code
410.0
lines of code
  min: 15.0
  average: 212.5
  25th percentile: 15.0
  median: 212.5
  75th percentile: 410.0
  max: 410.0
0 5.0
contributors (90d)
min: 3.0 | average: 4.0 | 25th percentile: 3.0 | median: 4.0 | 75th percentile: 5.0 | max: 5.0