Overview
File Change Frequency Overall
  • There are 31 files with 1,453 lines of code.
    • 1 file changed more than 100 times (25 lines of code)
    • 2 files changed 51-100 times (522 lines of code)
    • 2 files changed 21-50 times (123 lines of code)
    • 10 files changed 6-20 times (215 lines of code)
    • 16 files changed 1-5 times (568 lines of code)
1% | 35% | 8% | 14% | 39%
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 31 files with 1,453 lines of code.
    • 2 files changed by more than 25 contributors (238 lines of code)
    • 3 files changed by 11-25 contributors (361 lines of code)
    • 5 files changed by 6-10 contributors (181 lines of code)
    • 21 files changed by 2-5 contributors (673 lines of code)
    • 0 files changed by 1 contributor (0 lines of code)
16% | 24% | 12% | 46% | 0%
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, md, sbt, json, txt, ts, gitignore, yml, properties, yaml, js, snap
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
scala1% | 36% | 8% | 15% | 38%
ts0% | 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
project100% | 0% | 0% | 0% | 0%
client0% | 55% | 13% | 18% | 13%
client-default0% | 0% | 0% | 100% | 0%
firehose-client0% | 0% | 0% | 0% | 100%
client-cats-effect0% | 0% | 0% | 0% | 100%
cdk0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 31)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
25 - 2018-03-28 2026-09-24 142 54 +405 / -291 regis_kuckaertz anna.beddow
CapiModelEnrichment.scala
in client/src/main/scala/com.gu.contentapi.client/utils
213 6 2016-01-08 2026-09-09 82 37 +1269 / -274 chris.birchall 52038+rtyley
Queries.scala
in client/src/main/scala/com.gu.contentapi.client/model
309 21 2016-01-08 2026-09-24 55 19 +1762 / -523 chris.birchall anna.beddow
ContentApiClient.scala
in client/src/main/scala/com.gu.contentapi.client
92 6 2018-03-27 2026-09-04 29 7 +1064 / -401 regis_kuckaertz roberto.tyley
Design.scala
in client/src/main/scala/com.gu.contentapi.client/utils/format
31 - 2021-02-24 2026-09-04 22 17 +129 / -6 josh.russell.buckland roberto.tyley
GuardianContentClient.scala
in client-default/src/main/scala/com.gu.contentapi.client
42 3 2018-03-27 2026-09-04 14 8 +266 / -36 regis_kuckaertz roberto.tyley
Parameters.scala
in client/src/main/scala/com.gu.contentapi.client
47 9 2016-01-08 2026-09-04 14 5 +307 / -121 chris.birchall roberto.tyley
HttpResponse.scala
in client/src/main/scala/com.gu.contentapi.client/model
8 - 2018-03-27 2026-09-04 13 6 +98 / -41 regis_kuckaertz roberto.tyley
DesignType.scala
in client/src/main/scala/com.gu.contentapi.client/utils
21 - 2018-01-09 2026-09-04 13 11 +78 / -3 tom.forbes roberto.tyley
QueryStringParams.scala
in client/src/main/scala/com.gu.contentapi.client/utils
12 1 2016-01-08 2026-09-09 12 4 +105 / -48 chris.birchall 52038+rtyley
Decoder.scala
in client/src/main/scala/com.gu.contentapi.client/model
27 1 2018-03-22 2026-09-04 12 6 +356 / -255 regis_kuckaertz roberto.tyley
ScheduledExecutor.scala
in client/src/main/scala/com.gu.contentapi.client
23 1 2019-10-07 2026-09-04 9 4 +275 / -136 justinpinner roberto.tyley
package.scala
in client/src/main/scala/com.gu.contentapi.client/model
10 - 2018-03-22 2026-09-04 7 3 +53 / -5 regis_kuckaertz roberto.tyley
Parameter.scala
in client/src/main/scala/com.gu.contentapi.client
13 - 2016-01-08 2026-09-04 7 3 +110 / -44 chris.birchall roberto.tyley
Theme.scala
in client/src/main/scala/com.gu.contentapi.client/utils/format
12 - 2021-02-24 2026-09-04 6 6 +60 / -1 josh.russell.buckland roberto.tyley
ContentApiError.scala
in client/src/main/scala/com.gu.contentapi.client/model
11 1 2018-03-27 2026-09-04 5 3 +61 / -1 regis_kuckaertz roberto.tyley
Display.scala
in client/src/main/scala/com.gu.contentapi.client/utils/format
7 - 2021-02-24 2026-09-04 3 4 +36 / -0 josh.russell.buckland roberto.tyley
ThriftDeserializer.scala
in client/src/main/scala/com.gu.contentapi.client/thrift
13 1 2018-01-09 2026-09-04 3 2 +54 / -0 tom.forbes roberto.tyley
CapiId.scala
in client/src/main/scala/com.gu.contentapi.client/model
5 - 2026-07-30 2026-09-09 2 2 +12 / -0 roberto.tyley 52038+rtyley
PublicationLogic.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/client
11 - 2026-09-04 2026-09-08 2 2 +104 / -0 roberto.tyley 52038+rtyley
KinesisStreamReaderConfig.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis
18 - 2026-09-04 2026-09-08 2 2 +46 / -0 roberto.tyley 52038+rtyley
24 1 2026-09-04 2026-09-08 2 2 +50 / -0 roberto.tyley 52038+rtyley
TokenBucket.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect
25 1 2026-07-30 2026-09-09 2 2 +74 / -0 roberto.tyley 52038+rtyley
BulkContentRequester.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries
33 1 2026-07-30 2026-09-09 2 2 +134 / -0 roberto.tyley 52038+rtyley
Retrying.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect
37 1 2026-07-30 2026-09-09 2 2 +102 / -0 roberto.tyley 52038+rtyley
ContentApiFirehoseConsumer.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose
47 2 2026-09-04 2026-09-08 2 2 +118 / -0 roberto.tyley 52038+rtyley
RequestSizing.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries
49 4 2026-07-30 2026-09-09 2 2 +188 / -0 roberto.tyley 52038+rtyley
IOCapiClient.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect
62 5 2026-07-30 2026-09-09 2 2 +156 / -0 roberto.tyley 52038+rtyley
KinesisStreamReader.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis
64 3 2026-09-04 2026-09-08 2 2 +172 / -0 roberto.tyley 52038+rtyley
SingleEventProcessor.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis
75 7 2026-09-04 2026-09-08 2 2 +212 / -0 roberto.tyley 52038+rtyley
BackoffStrategy.scala
in client/src/main/scala/com.gu.contentapi.client
87 4 2020-02-27 2026-09-04 2 2 +210 / -0 anshul.bajpai.freelancer roberto.tyley
Files With Most Churn (Top 31)
Based on the number of lines added and deleted across all commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
Queries.scala
in client/src/main/scala/com.gu.contentapi.client/model
309 21 2016-01-08 2026-09-24 55 19 +1762 / -523 chris.birchall anna.beddow
CapiModelEnrichment.scala
in client/src/main/scala/com.gu.contentapi.client/utils
213 6 2016-01-08 2026-09-09 82 37 +1269 / -274 chris.birchall 52038+rtyley
ContentApiClient.scala
in client/src/main/scala/com.gu.contentapi.client
92 6 2018-03-27 2026-09-04 29 7 +1064 / -401 regis_kuckaertz roberto.tyley
25 - 2018-03-28 2026-09-24 142 54 +405 / -291 regis_kuckaertz anna.beddow
Decoder.scala
in client/src/main/scala/com.gu.contentapi.client/model
27 1 2018-03-22 2026-09-04 12 6 +356 / -255 regis_kuckaertz roberto.tyley
Parameters.scala
in client/src/main/scala/com.gu.contentapi.client
47 9 2016-01-08 2026-09-04 14 5 +307 / -121 chris.birchall roberto.tyley
ScheduledExecutor.scala
in client/src/main/scala/com.gu.contentapi.client
23 1 2019-10-07 2026-09-04 9 4 +275 / -136 justinpinner roberto.tyley
GuardianContentClient.scala
in client-default/src/main/scala/com.gu.contentapi.client
42 3 2018-03-27 2026-09-04 14 8 +266 / -36 regis_kuckaertz roberto.tyley
SingleEventProcessor.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis
75 7 2026-09-04 2026-09-08 2 2 +212 / -0 roberto.tyley 52038+rtyley
BackoffStrategy.scala
in client/src/main/scala/com.gu.contentapi.client
87 4 2020-02-27 2026-09-04 2 2 +210 / -0 anshul.bajpai.freelancer roberto.tyley
RequestSizing.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries
49 4 2026-07-30 2026-09-09 2 2 +188 / -0 roberto.tyley 52038+rtyley
KinesisStreamReader.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis
64 3 2026-09-04 2026-09-08 2 2 +172 / -0 roberto.tyley 52038+rtyley
IOCapiClient.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect
62 5 2026-07-30 2026-09-09 2 2 +156 / -0 roberto.tyley 52038+rtyley
Parameter.scala
in client/src/main/scala/com.gu.contentapi.client
13 - 2016-01-08 2026-09-04 7 3 +110 / -44 chris.birchall roberto.tyley
QueryStringParams.scala
in client/src/main/scala/com.gu.contentapi.client/utils
12 1 2016-01-08 2026-09-09 12 4 +105 / -48 chris.birchall 52038+rtyley
HttpResponse.scala
in client/src/main/scala/com.gu.contentapi.client/model
8 - 2018-03-27 2026-09-04 13 6 +98 / -41 regis_kuckaertz roberto.tyley
Design.scala
in client/src/main/scala/com.gu.contentapi.client/utils/format
31 - 2021-02-24 2026-09-04 22 17 +129 / -6 josh.russell.buckland roberto.tyley
BulkContentRequester.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries
33 1 2026-07-30 2026-09-09 2 2 +134 / -0 roberto.tyley 52038+rtyley
ContentApiFirehoseConsumer.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose
47 2 2026-09-04 2026-09-08 2 2 +118 / -0 roberto.tyley 52038+rtyley
PublicationLogic.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/client
11 - 2026-09-04 2026-09-08 2 2 +104 / -0 roberto.tyley 52038+rtyley
Retrying.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect
37 1 2026-07-30 2026-09-09 2 2 +102 / -0 roberto.tyley 52038+rtyley
DesignType.scala
in client/src/main/scala/com.gu.contentapi.client/utils
21 - 2018-01-09 2026-09-04 13 11 +78 / -3 tom.forbes roberto.tyley
TokenBucket.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect
25 1 2026-07-30 2026-09-09 2 2 +74 / -0 roberto.tyley 52038+rtyley
ContentApiError.scala
in client/src/main/scala/com.gu.contentapi.client/model
11 1 2018-03-27 2026-09-04 5 3 +61 / -1 regis_kuckaertz roberto.tyley
Theme.scala
in client/src/main/scala/com.gu.contentapi.client/utils/format
12 - 2021-02-24 2026-09-04 6 6 +60 / -1 josh.russell.buckland roberto.tyley
package.scala
in client/src/main/scala/com.gu.contentapi.client/model
10 - 2018-03-22 2026-09-04 7 3 +53 / -5 regis_kuckaertz roberto.tyley
ThriftDeserializer.scala
in client/src/main/scala/com.gu.contentapi.client/thrift
13 1 2018-01-09 2026-09-04 3 2 +54 / -0 tom.forbes roberto.tyley
24 1 2026-09-04 2026-09-08 2 2 +50 / -0 roberto.tyley 52038+rtyley
KinesisStreamReaderConfig.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis
18 - 2026-09-04 2026-09-08 2 2 +46 / -0 roberto.tyley 52038+rtyley
Display.scala
in client/src/main/scala/com.gu.contentapi.client/utils/format
7 - 2021-02-24 2026-09-04 3 4 +36 / -0 josh.russell.buckland roberto.tyley
CapiId.scala
in client/src/main/scala/com.gu.contentapi.client/model
5 - 2026-07-30 2026-09-09 2 2 +12 / -0 roberto.tyley 52038+rtyley
Files With Most Contributors (Top 31)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
25 - 2018-03-28 2026-09-24 142 54 +405 / -291 regis_kuckaertz anna.beddow
CapiModelEnrichment.scala
in client/src/main/scala/com.gu.contentapi.client/utils
213 6 2016-01-08 2026-09-09 82 37 +1269 / -274 chris.birchall 52038+rtyley
Queries.scala
in client/src/main/scala/com.gu.contentapi.client/model
309 21 2016-01-08 2026-09-24 55 19 +1762 / -523 chris.birchall anna.beddow
Design.scala
in client/src/main/scala/com.gu.contentapi.client/utils/format
31 - 2021-02-24 2026-09-04 22 17 +129 / -6 josh.russell.buckland roberto.tyley
DesignType.scala
in client/src/main/scala/com.gu.contentapi.client/utils
21 - 2018-01-09 2026-09-04 13 11 +78 / -3 tom.forbes roberto.tyley
GuardianContentClient.scala
in client-default/src/main/scala/com.gu.contentapi.client
42 3 2018-03-27 2026-09-04 14 8 +266 / -36 regis_kuckaertz roberto.tyley
ContentApiClient.scala
in client/src/main/scala/com.gu.contentapi.client
92 6 2018-03-27 2026-09-04 29 7 +1064 / -401 regis_kuckaertz roberto.tyley
HttpResponse.scala
in client/src/main/scala/com.gu.contentapi.client/model
8 - 2018-03-27 2026-09-04 13 6 +98 / -41 regis_kuckaertz roberto.tyley
Decoder.scala
in client/src/main/scala/com.gu.contentapi.client/model
27 1 2018-03-22 2026-09-04 12 6 +356 / -255 regis_kuckaertz roberto.tyley
Theme.scala
in client/src/main/scala/com.gu.contentapi.client/utils/format
12 - 2021-02-24 2026-09-04 6 6 +60 / -1 josh.russell.buckland roberto.tyley
Parameters.scala
in client/src/main/scala/com.gu.contentapi.client
47 9 2016-01-08 2026-09-04 14 5 +307 / -121 chris.birchall roberto.tyley
QueryStringParams.scala
in client/src/main/scala/com.gu.contentapi.client/utils
12 1 2016-01-08 2026-09-09 12 4 +105 / -48 chris.birchall 52038+rtyley
ScheduledExecutor.scala
in client/src/main/scala/com.gu.contentapi.client
23 1 2019-10-07 2026-09-04 9 4 +275 / -136 justinpinner roberto.tyley
Display.scala
in client/src/main/scala/com.gu.contentapi.client/utils/format
7 - 2021-02-24 2026-09-04 3 4 +36 / -0 josh.russell.buckland roberto.tyley
Parameter.scala
in client/src/main/scala/com.gu.contentapi.client
13 - 2016-01-08 2026-09-04 7 3 +110 / -44 chris.birchall roberto.tyley
package.scala
in client/src/main/scala/com.gu.contentapi.client/model
10 - 2018-03-22 2026-09-04 7 3 +53 / -5 regis_kuckaertz roberto.tyley
ContentApiError.scala
in client/src/main/scala/com.gu.contentapi.client/model
11 1 2018-03-27 2026-09-04 5 3 +61 / -1 regis_kuckaertz roberto.tyley
ThriftDeserializer.scala
in client/src/main/scala/com.gu.contentapi.client/thrift
13 1 2018-01-09 2026-09-04 3 2 +54 / -0 tom.forbes roberto.tyley
24 1 2026-09-04 2026-09-08 2 2 +50 / -0 roberto.tyley 52038+rtyley
KinesisStreamReader.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis
64 3 2026-09-04 2026-09-08 2 2 +172 / -0 roberto.tyley 52038+rtyley
SingleEventProcessor.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis
75 7 2026-09-04 2026-09-08 2 2 +212 / -0 roberto.tyley 52038+rtyley
KinesisStreamReaderConfig.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis
18 - 2026-09-04 2026-09-08 2 2 +46 / -0 roberto.tyley 52038+rtyley
ContentApiFirehoseConsumer.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose
47 2 2026-09-04 2026-09-08 2 2 +118 / -0 roberto.tyley 52038+rtyley
PublicationLogic.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/client
11 - 2026-09-04 2026-09-08 2 2 +104 / -0 roberto.tyley 52038+rtyley
IOCapiClient.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect
62 5 2026-07-30 2026-09-09 2 2 +156 / -0 roberto.tyley 52038+rtyley
TokenBucket.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect
25 1 2026-07-30 2026-09-09 2 2 +74 / -0 roberto.tyley 52038+rtyley
BulkContentRequester.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries
33 1 2026-07-30 2026-09-09 2 2 +134 / -0 roberto.tyley 52038+rtyley
RequestSizing.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries
49 4 2026-07-30 2026-09-09 2 2 +188 / -0 roberto.tyley 52038+rtyley
Retrying.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect
37 1 2026-07-30 2026-09-09 2 2 +102 / -0 roberto.tyley 52038+rtyley
BackoffStrategy.scala
in client/src/main/scala/com.gu.contentapi.client
87 4 2020-02-27 2026-09-04 2 2 +210 / -0 anshul.bajpai.freelancer roberto.tyley
CapiId.scala
in client/src/main/scala/com.gu.contentapi.client/model
5 - 2026-07-30 2026-09-09 2 2 +12 / -0 roberto.tyley 52038+rtyley
Files With Least Contributors (Top 31)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
BackoffStrategy.scala
in client/src/main/scala/com.gu.contentapi.client
87 4 2020-02-27 2026-09-04 2 2 +210 / -0 anshul.bajpai.freelancer roberto.tyley
SingleEventProcessor.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis
75 7 2026-09-04 2026-09-08 2 2 +212 / -0 roberto.tyley 52038+rtyley
KinesisStreamReader.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis
64 3 2026-09-04 2026-09-08 2 2 +172 / -0 roberto.tyley 52038+rtyley
IOCapiClient.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect
62 5 2026-07-30 2026-09-09 2 2 +156 / -0 roberto.tyley 52038+rtyley
RequestSizing.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries
49 4 2026-07-30 2026-09-09 2 2 +188 / -0 roberto.tyley 52038+rtyley
ContentApiFirehoseConsumer.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose
47 2 2026-09-04 2026-09-08 2 2 +118 / -0 roberto.tyley 52038+rtyley
Retrying.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect
37 1 2026-07-30 2026-09-09 2 2 +102 / -0 roberto.tyley 52038+rtyley
BulkContentRequester.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries
33 1 2026-07-30 2026-09-09 2 2 +134 / -0 roberto.tyley 52038+rtyley
TokenBucket.scala
in client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect
25 1 2026-07-30 2026-09-09 2 2 +74 / -0 roberto.tyley 52038+rtyley
24 1 2026-09-04 2026-09-08 2 2 +50 / -0 roberto.tyley 52038+rtyley
KinesisStreamReaderConfig.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis
18 - 2026-09-04 2026-09-08 2 2 +46 / -0 roberto.tyley 52038+rtyley
ThriftDeserializer.scala
in client/src/main/scala/com.gu.contentapi.client/thrift
13 1 2018-01-09 2026-09-04 3 2 +54 / -0 tom.forbes roberto.tyley
PublicationLogic.scala
in firehose-client/src/main/scala/com/gu/contentapi/firehose/client
11 - 2026-09-04 2026-09-08 2 2 +104 / -0 roberto.tyley 52038+rtyley
CapiId.scala
in client/src/main/scala/com.gu.contentapi.client/model
5 - 2026-07-30 2026-09-09 2 2 +12 / -0 roberto.tyley 52038+rtyley
Parameter.scala
in client/src/main/scala/com.gu.contentapi.client
13 - 2016-01-08 2026-09-04 7 3 +110 / -44 chris.birchall roberto.tyley
ContentApiError.scala
in client/src/main/scala/com.gu.contentapi.client/model
11 1 2018-03-27 2026-09-04 5 3 +61 / -1 regis_kuckaertz roberto.tyley
package.scala
in client/src/main/scala/com.gu.contentapi.client/model
10 - 2018-03-22 2026-09-04 7 3 +53 / -5 regis_kuckaertz roberto.tyley
ScheduledExecutor.scala
in client/src/main/scala/com.gu.contentapi.client
23 1 2019-10-07 2026-09-04 9 4 +275 / -136 justinpinner roberto.tyley
QueryStringParams.scala
in client/src/main/scala/com.gu.contentapi.client/utils
12 1 2016-01-08 2026-09-09 12 4 +105 / -48 chris.birchall 52038+rtyley
Display.scala
in client/src/main/scala/com.gu.contentapi.client/utils/format
7 - 2021-02-24 2026-09-04 3 4 +36 / -0 josh.russell.buckland roberto.tyley
Parameters.scala
in client/src/main/scala/com.gu.contentapi.client
47 9 2016-01-08 2026-09-04 14 5 +307 / -121 chris.birchall roberto.tyley
Decoder.scala
in client/src/main/scala/com.gu.contentapi.client/model
27 1 2018-03-22 2026-09-04 12 6 +356 / -255 regis_kuckaertz roberto.tyley
Theme.scala
in client/src/main/scala/com.gu.contentapi.client/utils/format
12 - 2021-02-24 2026-09-04 6 6 +60 / -1 josh.russell.buckland roberto.tyley
HttpResponse.scala
in client/src/main/scala/com.gu.contentapi.client/model
8 - 2018-03-27 2026-09-04 13 6 +98 / -41 regis_kuckaertz roberto.tyley
ContentApiClient.scala
in client/src/main/scala/com.gu.contentapi.client
92 6 2018-03-27 2026-09-04 29 7 +1064 / -401 regis_kuckaertz roberto.tyley
GuardianContentClient.scala
in client-default/src/main/scala/com.gu.contentapi.client
42 3 2018-03-27 2026-09-04 14 8 +266 / -36 regis_kuckaertz roberto.tyley
DesignType.scala
in client/src/main/scala/com.gu.contentapi.client/utils
21 - 2018-01-09 2026-09-04 13 11 +78 / -3 tom.forbes roberto.tyley
Design.scala
in client/src/main/scala/com.gu.contentapi.client/utils/format
31 - 2021-02-24 2026-09-04 22 17 +129 / -6 josh.russell.buckland roberto.tyley
Queries.scala
in client/src/main/scala/com.gu.contentapi.client/model
309 21 2016-01-08 2026-09-24 55 19 +1762 / -523 chris.birchall anna.beddow
CapiModelEnrichment.scala
in client/src/main/scala/com.gu.contentapi.client/utils
213 6 2016-01-08 2026-09-09 82 37 +1269 / -274 chris.birchall 52038+rtyley
25 - 2018-03-28 2026-09-24 142 54 +405 / -291 regis_kuckaertz anna.beddow
Correlations

File Size vs. Number of Changes: 31 points

client/src/main/scala/com.gu.contentapi.client/model/Queries.scala x: 309 lines of code y: 55 # changes project/Dependencies.scala x: 25 lines of code y: 142 # changes client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/IOCapiClient.scala x: 62 lines of code y: 2 # changes client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/Retrying.scala x: 37 lines of code y: 2 # changes client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/TokenBucket.scala x: 25 lines of code y: 2 # changes client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries/BulkContentRequester.scala x: 33 lines of code y: 2 # changes client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries/RequestSizing.scala x: 49 lines of code y: 2 # changes client/src/main/scala/com.gu.contentapi.client/model/CapiId.scala x: 5 lines of code y: 2 # changes client/src/main/scala/com.gu.contentapi.client/utils/CapiModelEnrichment.scala x: 213 lines of code y: 82 # changes client/src/main/scala/com.gu.contentapi.client/utils/QueryStringParams.scala x: 12 lines of code y: 12 # changes cdk/lib/content-api-clients-testing.ts x: 24 lines of code y: 2 # changes firehose-client/src/main/scala/com/gu/contentapi/firehose/ContentApiFirehoseConsumer.scala x: 47 lines of code y: 2 # changes firehose-client/src/main/scala/com/gu/contentapi/firehose/client/PublicationLogic.scala x: 11 lines of code y: 2 # changes firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis/KinesisStreamReader.scala x: 64 lines of code y: 2 # changes firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis/KinesisStreamReaderConfig.scala x: 18 lines of code y: 2 # changes firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis/SingleEventProcessor.scala x: 75 lines of code y: 2 # changes client-default/src/main/scala/com.gu.contentapi.client/GuardianContentClient.scala x: 42 lines of code y: 14 # changes client/src/main/scala/com.gu.contentapi.client/BackoffStrategy.scala x: 87 lines of code y: 2 # changes client/src/main/scala/com.gu.contentapi.client/ContentApiClient.scala x: 92 lines of code y: 29 # changes client/src/main/scala/com.gu.contentapi.client/Parameter.scala x: 13 lines of code y: 7 # changes client/src/main/scala/com.gu.contentapi.client/Parameters.scala x: 47 lines of code y: 14 # changes client/src/main/scala/com.gu.contentapi.client/ScheduledExecutor.scala x: 23 lines of code y: 9 # changes client/src/main/scala/com.gu.contentapi.client/model/ContentApiError.scala x: 11 lines of code y: 5 # changes client/src/main/scala/com.gu.contentapi.client/model/Decoder.scala x: 27 lines of code y: 12 # changes client/src/main/scala/com.gu.contentapi.client/model/HttpResponse.scala x: 8 lines of code y: 13 # changes client/src/main/scala/com.gu.contentapi.client/model/package.scala x: 10 lines of code y: 7 # changes client/src/main/scala/com.gu.contentapi.client/thrift/ThriftDeserializer.scala x: 13 lines of code y: 3 # changes client/src/main/scala/com.gu.contentapi.client/utils/DesignType.scala x: 21 lines of code y: 13 # changes client/src/main/scala/com.gu.contentapi.client/utils/format/Design.scala x: 31 lines of code y: 22 # changes client/src/main/scala/com.gu.contentapi.client/utils/format/Display.scala x: 7 lines of code y: 3 # changes client/src/main/scala/com.gu.contentapi.client/utils/format/Theme.scala x: 12 lines of code y: 6 # changes
142.0
# changes
  min: 2.0
  average: 15.29
  25th percentile: 2.0
  median: 5.0
  75th percentile: 13.0
  max: 142.0
0 309.0
lines of code
min: 5.0 | average: 46.87 | 25th percentile: 12.0 | median: 25.0 | 75th percentile: 49.0 | max: 309.0

Number of Contributors vs. Number of Changes: 31 points

client/src/main/scala/com.gu.contentapi.client/model/Queries.scala x: 19 # contributors y: 55 # changes project/Dependencies.scala x: 54 # contributors y: 142 # changes client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/IOCapiClient.scala x: 2 # contributors y: 2 # changes client/src/main/scala/com.gu.contentapi.client/utils/CapiModelEnrichment.scala x: 37 # contributors y: 82 # changes client/src/main/scala/com.gu.contentapi.client/utils/QueryStringParams.scala x: 4 # contributors y: 12 # changes client-default/src/main/scala/com.gu.contentapi.client/GuardianContentClient.scala x: 8 # contributors y: 14 # changes client/src/main/scala/com.gu.contentapi.client/ContentApiClient.scala x: 7 # contributors y: 29 # changes client/src/main/scala/com.gu.contentapi.client/Parameter.scala x: 3 # contributors y: 7 # changes client/src/main/scala/com.gu.contentapi.client/Parameters.scala x: 5 # contributors y: 14 # changes client/src/main/scala/com.gu.contentapi.client/ScheduledExecutor.scala x: 4 # contributors y: 9 # changes client/src/main/scala/com.gu.contentapi.client/model/ContentApiError.scala x: 3 # contributors y: 5 # changes client/src/main/scala/com.gu.contentapi.client/model/Decoder.scala x: 6 # contributors y: 12 # changes client/src/main/scala/com.gu.contentapi.client/model/HttpResponse.scala x: 6 # contributors y: 13 # changes client/src/main/scala/com.gu.contentapi.client/thrift/ThriftDeserializer.scala x: 2 # contributors y: 3 # changes client/src/main/scala/com.gu.contentapi.client/utils/DesignType.scala x: 11 # contributors y: 13 # changes client/src/main/scala/com.gu.contentapi.client/utils/format/Design.scala x: 17 # contributors y: 22 # changes client/src/main/scala/com.gu.contentapi.client/utils/format/Display.scala x: 4 # contributors y: 3 # changes client/src/main/scala/com.gu.contentapi.client/utils/format/Theme.scala x: 6 # contributors y: 6 # changes
142.0
# changes
  min: 2.0
  average: 15.29
  25th percentile: 2.0
  median: 5.0
  75th percentile: 13.0
  max: 142.0
0 54.0
# contributors
min: 2.0 | average: 7.26 | 25th percentile: 2.0 | median: 3.0 | 75th percentile: 6.0 | max: 54.0

Number of Contributors vs. File Size: 31 points

client/src/main/scala/com.gu.contentapi.client/model/Queries.scala x: 19 # contributors y: 309 lines of code project/Dependencies.scala x: 54 # contributors y: 25 lines of code client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/IOCapiClient.scala x: 2 # contributors y: 62 lines of code client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/Retrying.scala x: 2 # contributors y: 37 lines of code client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/TokenBucket.scala x: 2 # contributors y: 25 lines of code client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries/BulkContentRequester.scala x: 2 # contributors y: 33 lines of code client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries/RequestSizing.scala x: 2 # contributors y: 49 lines of code client/src/main/scala/com.gu.contentapi.client/model/CapiId.scala x: 2 # contributors y: 5 lines of code client/src/main/scala/com.gu.contentapi.client/utils/CapiModelEnrichment.scala x: 37 # contributors y: 213 lines of code client/src/main/scala/com.gu.contentapi.client/utils/QueryStringParams.scala x: 4 # contributors y: 12 lines of code cdk/lib/content-api-clients-testing.ts x: 2 # contributors y: 24 lines of code firehose-client/src/main/scala/com/gu/contentapi/firehose/ContentApiFirehoseConsumer.scala x: 2 # contributors y: 47 lines of code firehose-client/src/main/scala/com/gu/contentapi/firehose/client/PublicationLogic.scala x: 2 # contributors y: 11 lines of code firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis/KinesisStreamReader.scala x: 2 # contributors y: 64 lines of code firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis/KinesisStreamReaderConfig.scala x: 2 # contributors y: 18 lines of code firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis/SingleEventProcessor.scala x: 2 # contributors y: 75 lines of code client-default/src/main/scala/com.gu.contentapi.client/GuardianContentClient.scala x: 8 # contributors y: 42 lines of code client/src/main/scala/com.gu.contentapi.client/BackoffStrategy.scala x: 2 # contributors y: 87 lines of code client/src/main/scala/com.gu.contentapi.client/ContentApiClient.scala x: 7 # contributors y: 92 lines of code client/src/main/scala/com.gu.contentapi.client/Parameter.scala x: 3 # contributors y: 13 lines of code client/src/main/scala/com.gu.contentapi.client/Parameters.scala x: 5 # contributors y: 47 lines of code client/src/main/scala/com.gu.contentapi.client/ScheduledExecutor.scala x: 4 # contributors y: 23 lines of code client/src/main/scala/com.gu.contentapi.client/model/ContentApiError.scala x: 3 # contributors y: 11 lines of code client/src/main/scala/com.gu.contentapi.client/model/Decoder.scala x: 6 # contributors y: 27 lines of code client/src/main/scala/com.gu.contentapi.client/model/HttpResponse.scala x: 6 # contributors y: 8 lines of code client/src/main/scala/com.gu.contentapi.client/model/package.scala x: 3 # contributors y: 10 lines of code client/src/main/scala/com.gu.contentapi.client/thrift/ThriftDeserializer.scala x: 2 # contributors y: 13 lines of code client/src/main/scala/com.gu.contentapi.client/utils/DesignType.scala x: 11 # contributors y: 21 lines of code client/src/main/scala/com.gu.contentapi.client/utils/format/Design.scala x: 17 # contributors y: 31 lines of code client/src/main/scala/com.gu.contentapi.client/utils/format/Display.scala x: 4 # contributors y: 7 lines of code client/src/main/scala/com.gu.contentapi.client/utils/format/Theme.scala x: 6 # contributors y: 12 lines of code
309.0
lines of code
  min: 5.0
  average: 46.87
  25th percentile: 12.0
  median: 25.0
  75th percentile: 49.0
  max: 309.0
0 54.0
# contributors
min: 2.0 | average: 7.26 | 25th percentile: 2.0 | median: 3.0 | 75th percentile: 6.0 | max: 54.0

Number of Changes vs. Line Churn: 362 points

version.sbt x: 329 # changes y: 1511 line churn client/src/main/scala/com.gu.contentapi.client/model/Queries.scala x: 55 # changes y: 2285 line churn client/src/test/scala/com.gu.contentapi.client/model/ContentApiQueryTest.scala x: 24 # changes y: 445 line churn project/Dependencies.scala x: 142 # changes y: 696 line churn build.sbt x: 228 # changes y: 4148 line churn client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/IOCapiClient.scala x: 2 # changes y: 156 line churn client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/TokenBucket.scala x: 2 # changes y: 74 line churn client-default/src/test/scala/com.gu.contentapi.client/GuardianContentClientTest.scala x: 29 # changes y: 1089 line churn client/src/main/scala/com.gu.contentapi.client/utils/CapiModelEnrichment.scala x: 82 # changes y: 1543 line churn client/src/main/scala/com.gu.contentapi.client/utils/QueryStringParams.scala x: 12 # changes y: 153 line churn .github/workflows/check-labels.yaml x: 3 # changes y: 27 line churn .github/workflows/ci.yml x: 8 # changes y: 264 line churn cdk/bin/cdk.ts x: 4 # changes y: 22 line churn cdk/lib/__snapshots__/content-api-clients-testing.test.ts.snap x: 2 # changes y: 224 line churn cdk/package-lock.json x: 3 # changes y: 25470 line churn cdk/package.json x: 3 # changes y: 216 line churn firehose-client/README.md x: 2 # changes y: 314 line churn project/build.properties x: 80 # changes y: 246 line churn .github/workflows/old-firehose-ci.yml x: 1 # changes y: 68 line churn cdk/lib/__snapshots__/content-api-firehose-client-testing.test.ts.snap x: 3 # changes y: 336 line churn firehose-client/build.sbt x: 1 # changes y: 138 line churn .github/workflows/sbt-dependency-graph.yaml x: 8 # changes y: 196 line churn .gitignore x: 16 # changes y: 71 line churn CODEOWNERS x: 5 # changes y: 10 line churn LICENSE x: 3 # changes y: 429 line churn README.md x: 70 # changes y: 2921 line churn client-default/src/main/scala/com.gu.contentapi.client/GuardianContentClient.scala x: 14 # changes y: 302 line churn client-default/src/test/scala/com.gu.contentapi.client/GuardianContentClientBackoffTest.scala x: 8 # changes y: 564 line churn client/CHANGELOG.md x: 67 # changes y: 2137 line churn client/src/main/scala/com.gu.contentapi.client/ContentApiClient.scala x: 29 # changes y: 1465 line churn client/src/main/scala/com.gu.contentapi.client/Parameter.scala x: 7 # changes y: 154 line churn client/src/main/scala/com.gu.contentapi.client/Parameters.scala x: 14 # changes y: 428 line churn client/src/main/scala/com.gu.contentapi.client/ScheduledExecutor.scala x: 9 # changes y: 411 line churn client/src/main/scala/com.gu.contentapi.client/model/Decoder.scala x: 12 # changes y: 611 line churn client/src/main/scala/com.gu.contentapi.client/model/HttpResponse.scala x: 13 # changes y: 139 line churn client/src/main/scala/com.gu.contentapi.client/model/package.scala x: 7 # changes y: 58 line churn client/src/main/scala/com.gu.contentapi.client/utils/DesignType.scala x: 13 # changes y: 81 line churn client/src/main/scala/com.gu.contentapi.client/utils/format/Design.scala x: 22 # changes y: 135 line churn client/src/main/scala/com.gu.contentapi.client/utils/format/Theme.scala x: 6 # changes y: 61 line churn client/src/test/scala/com.gu.contentapi.client/BackoffTest.scala x: 11 # changes y: 884 line churn client/src/test/scala/com.gu.contentapi.client/ContentApiClientTest.scala x: 21 # changes y: 567 line churn client/src/test/scala/com.gu.contentapi.client/RetryTest.scala x: 4 # changes y: 116 line churn client/src/test/scala/com.gu.contentapi.client/model/utils/CapiModelEnrichmentTest.scala x: 44 # changes y: 3006 line churn docs/release.md x: 23 # changes y: 470 line churn project/plugins.sbt x: 50 # changes y: 294 line churn CHANGELOG.md x: 129 # changes y: 1722 line churn src/main/scala/com/gu/contentapi/firehose/ContentApiFirehoseConsumer.scala x: 17 # changes y: 296 line churn src/main/scala/com/gu/contentapi/firehose/kinesis/KinesisStreamReader.scala x: 12 # changes y: 381 line churn src/main/scala/com/gu/contentapi/firehose/kinesis/SingleEventProcessor.scala x: 11 # changes y: 357 line churn .github/workflows/release.yml x: 15 # changes y: 492 line churn .github/workflows/testonpush.yml x: 5 # changes y: 160 line churn project/Metadata.scala x: 7 # changes y: 226 line churn aws/src/main/scala/com/gu/contentapi/client/IAMEncoder.scala x: 3 # changes y: 148 line churn aws/version.sbt x: 12 # changes y: 33 line churn .github/workflows/release-snapshot.yml x: 9 # changes y: 532 line churn client-default/version.sbt x: 22 # changes y: 81 line churn client/version.sbt x: 33 # changes y: 110 line churn client/src/main/scala/com.gu.contentapi.client/Backoff.scala x: 4 # changes y: 292 line churn client/project/build.properties x: 8 # changes y: 11 line churn aws/build.sbt x: 9 # changes y: 309 line churn client/build.sbt x: 10 # changes y: 736 line churn client/project/plugins.sbt x: 9 # changes y: 40 line churn client/src/main/scala/com.gu.contentapi.client/GuardianContentClient.scala x: 17 # changes y: 1817 line churn client/src/test/scala/com.gu.contentapi.client/GuardianContentClientTest.scala x: 14 # changes y: 1062 line churn src/main/scala/com.gu.contentapi.client/GuardianContentClient.scala x: 50 # changes y: 3540 line churn src/main/scala/com.gu.contentapi.client/Parameters.scala x: 13 # changes y: 516 line churn src/main/scala/com.gu.contentapi.client/model/Queries.scala x: 29 # changes y: 1998 line churn src/main/scala/com.gu.contentapi.client/utils/CapiModelEnrichment.scala x: 19 # changes y: 358 line churn src/main/scala/com.gu.contentapi.client/utils/DesignType.scala x: 6 # changes y: 108 line churn src/test/scala/com.gu.contentapi.client/GuardianContentClientTest.scala x: 31 # changes y: 1152 line churn src/test/scala/com.gu.contentapi.client/model/ContentApiQueryTest.scala x: 11 # changes y: 260 line churn src/test/scala/com.gu.contentapi.client/model/utils/CapiModelEnrichmentTest.scala x: 8 # changes y: 1188 line churn src/main/scala/com.gu.contentapi.client/Limits.scala x: 9 # changes y: 110 line churn src/test/scala/com.gu.contentapi.client/ClientTest.scala x: 10 # changes y: 130 line churn src/main/scala/com.gu.contentapi.client/model/Responses.scala x: 19 # changes y: 694 line churn src/main/scala/com.gu.contentapi.client/parser/JsonParser.scala x: 35 # changes y: 2249 line churn src/test/resources/templates/item-content-with-atom-quiz.json x: 4 # changes y: 324 line churn src/test/resources/templates/item-content-with-atom-viewpoints.json x: 4 # changes y: 440 line churn src/test/resources/templates/item-content-with-blocks.json x: 19 # changes y: 1524 line churn src/test/resources/templates/item-content-with-crossword.json x: 10 # changes y: 3580 line churn src/test/resources/templates/item-content-with-membership-element.json x: 7 # changes y: 632 line churn src/test/resources/templates/item-content-with-rich-link-element.json x: 7 # changes y: 8376 line churn src/test/resources/templates/item-content-with-tweets.json x: 4 # changes y: 1196 line churn src/test/resources/templates/item-content.json x: 22 # changes y: 4054 line churn src/test/resources/templates/item-section.json x: 14 # changes y: 3604 line churn src/test/resources/templates/item-tag.json x: 18 # changes y: 2568 line churn src/test/resources/templates/search.json x: 14 # changes y: 2608 line churn src/test/resources/templates/sections.json x: 11 # changes y: 9596 line churn src/test/resources/templates/tags.json x: 11 # changes y: 1066 line churn src/test/scala/com.gu.contentapi.client/parser/JsonParserItemTest.scala x: 39 # changes y: 5268 line churn src/test/scala/com.gu.contentapi.client/parser/JsonParserSectionsTest.scala x: 9 # changes y: 224 line churn src/test/scala/com.gu.contentapi.client/parser/JsonParserTagsTest.scala x: 10 # changes y: 260 line churn src/test/scala/com.gu.contentapi.client/utils/GuardianContentClientThriftTest.scala x: 5 # changes y: 300 line churn project/build.scala x: 36 # changes y: 1019 line churn client/src/main/scala/com.gu.contentapi.client/parser/JsonParser.scala x: 16 # changes y: 1382 line churn client/src/test/resources/templates/item-content-with-atom-quiz.json x: 6 # changes y: 342 line churn client/src/test/resources/templates/item-content-with-blocks.json x: 7 # changes y: 768 line churn client/src/test/resources/templates/item-content-with-crossword.json x: 5 # changes y: 1792 line churn client/src/test/resources/templates/item-content-with-rich-link-element.json x: 4 # changes y: 4188 line churn client/src/test/resources/templates/item-content-with-tweets.json x: 3 # changes y: 1196 line churn client/src/test/resources/templates/item-content.json x: 5 # changes y: 1824 line churn client/src/test/resources/templates/item-section.json x: 4 # changes y: 1600 line churn client/src/test/resources/templates/item-tag.json x: 4 # changes y: 932 line churn client/src/test/resources/templates/sections.json x: 4 # changes y: 4356 line churn client/src/test/scala/com.gu.contentapi.client/parser/JsonParserItemTest.scala x: 19 # changes y: 2632 line churn models/src/main/thrift/content/v1.thrift x: 21 # changes y: 5402 line churn src/main/thrift/content/v1.thrift x: 21 # changes y: 4816 line churn client/src/main/thrift/content/v1.thrift x: 1 # changes y: 2148 line churn src/main/scala/com.gu.contentapi.client/model/Model.scala x: 29 # changes y: 2844 line churn src/main/scala/com.gu.contentapi.client/Api.scala x: 6 # changes y: 1024 line churn src/test/scala/com.gu.contentapi.client/ApiTest.scala x: 5 # changes y: 304 line churn src/test/scala/com.gu.contentapi.client/parser/CollectionJsonParserTest.scala x: 6 # changes y: 246 line churn src/test/scala/com.gu.contentapi.client/parser/ItemJsonParserTest.scala x: 6 # changes y: 1176 line churn src/test/scala/com.gu.contentapi.client/parser/SearchJsonParserTest.scala x: 6 # changes y: 852 line churn src/test/resources/templates/search-internal.json x: 5 # changes y: 404 line churn src/test/scala/com.gu.contentapi.client/ExampleUsageTest.scala x: 4 # changes y: 1256 line churn src/test/scala/ExampleUsageTest.scala x: 27 # changes y: 1449 line churn src/test/scala/HttpTest.scala x: 16 # changes y: 389 line churn src/main/scala/com/gu/openplatform/contentapi/Api.scala x: 40 # changes y: 2790 line churn src/main/scala/com/gu/openplatform/contentapi/connection/Http.scala x: 28 # changes y: 787 line churn src/main/scala/com/gu/openplatform/contentapi/model/Model.scala x: 39 # changes y: 2075 line churn src/main/scala/com/gu/openplatform/contentapi/parser/JsonParser.scala x: 14 # changes y: 221 line churn src/test/resources/com/gu/openplatform/contentapi/parser/collection-sport.json x: 7 # changes y: 472 line churn src/test/resources/com/gu/openplatform/contentapi/parser/item-tag.json x: 7 # changes y: 942 line churn src/test/resources/com/gu/openplatform/contentapi/parser/search-internal.json x: 6 # changes y: 452 line churn src/test/resources/com/gu/openplatform/contentapi/parser/search.json x: 6 # changes y: 1962 line churn src/test/resources/com/gu/openplatform/contentapi/parser/sections.json x: 3 # changes y: 609 line churn src/test/scala/com/gu/openplatform/contentapi/ApiTest.scala x: 11 # changes y: 164 line churn src/test/scala/com/gu/openplatform/contentapi/parser/SearchJsonParserTest.scala x: 14 # changes y: 864 line churn readme.markdown x: 18 # changes y: 428 line churn src/main/scala/com/gu/openplatform/contentapi/parser/XmlParser.scala x: 2 # changes y: 440 line churn src/test/scala/com/gu/openplatform/contentapi/ExampleUsageTest.scala x: 4 # changes y: 550 line churn content-api-client.ipr x: 2 # changes y: 590 line churn content-api-client.iws x: 3 # changes y: 1768 line churn src/test/scala/com/gu/openplatform/contentapi/ExampleUsages.scala x: 1 # changes y: 254 line churn
25470.0
line churn
  min: 2.0
  average: 558.9
  25th percentile: 23.5
  median: 126.0
  75th percentile: 383.0
  max: 25470.0
0 329.0
# changes
min: 1.0 | average: 9.61 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 8.0 | max: 329.0

Number of Contributors vs. Line Churn: 31 points

client/src/main/scala/com.gu.contentapi.client/model/Queries.scala x: 19 # contributors y: 2285 line churn project/Dependencies.scala x: 54 # contributors y: 696 line churn client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/IOCapiClient.scala x: 2 # contributors y: 156 line churn client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/Retrying.scala x: 2 # contributors y: 102 line churn client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/TokenBucket.scala x: 2 # contributors y: 74 line churn client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries/BulkContentRequester.scala x: 2 # contributors y: 134 line churn client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries/RequestSizing.scala x: 2 # contributors y: 188 line churn client/src/main/scala/com.gu.contentapi.client/model/CapiId.scala x: 2 # contributors y: 12 line churn client/src/main/scala/com.gu.contentapi.client/utils/CapiModelEnrichment.scala x: 37 # contributors y: 1543 line churn client/src/main/scala/com.gu.contentapi.client/utils/QueryStringParams.scala x: 4 # contributors y: 153 line churn cdk/lib/content-api-clients-testing.ts x: 2 # contributors y: 50 line churn firehose-client/src/main/scala/com/gu/contentapi/firehose/ContentApiFirehoseConsumer.scala x: 2 # contributors y: 118 line churn firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis/KinesisStreamReader.scala x: 2 # contributors y: 172 line churn firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis/SingleEventProcessor.scala x: 2 # contributors y: 212 line churn client-default/src/main/scala/com.gu.contentapi.client/GuardianContentClient.scala x: 8 # contributors y: 302 line churn client/src/main/scala/com.gu.contentapi.client/ContentApiClient.scala x: 7 # contributors y: 1465 line churn client/src/main/scala/com.gu.contentapi.client/Parameter.scala x: 3 # contributors y: 154 line churn client/src/main/scala/com.gu.contentapi.client/Parameters.scala x: 5 # contributors y: 428 line churn client/src/main/scala/com.gu.contentapi.client/ScheduledExecutor.scala x: 4 # contributors y: 411 line churn client/src/main/scala/com.gu.contentapi.client/model/ContentApiError.scala x: 3 # contributors y: 62 line churn client/src/main/scala/com.gu.contentapi.client/model/Decoder.scala x: 6 # contributors y: 611 line churn client/src/main/scala/com.gu.contentapi.client/model/HttpResponse.scala x: 6 # contributors y: 139 line churn client/src/main/scala/com.gu.contentapi.client/thrift/ThriftDeserializer.scala x: 2 # contributors y: 54 line churn client/src/main/scala/com.gu.contentapi.client/utils/DesignType.scala x: 11 # contributors y: 81 line churn client/src/main/scala/com.gu.contentapi.client/utils/format/Design.scala x: 17 # contributors y: 135 line churn client/src/main/scala/com.gu.contentapi.client/utils/format/Display.scala x: 4 # contributors y: 36 line churn client/src/main/scala/com.gu.contentapi.client/utils/format/Theme.scala x: 6 # contributors y: 61 line churn
2285.0
line churn
  min: 12.0
  average: 330.71
  25th percentile: 62.0
  median: 139.0
  75th percentile: 302.0
  max: 2285.0
0 54.0
# contributors
min: 2.0 | average: 7.26 | 25th percentile: 2.0 | median: 3.0 | 75th percentile: 6.0 | max: 54.0

File Size vs. Line Churn: 31 points

client/src/main/scala/com.gu.contentapi.client/model/Queries.scala x: 309 lines of code y: 2285 line churn project/Dependencies.scala x: 25 lines of code y: 696 line churn client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/IOCapiClient.scala x: 62 lines of code y: 156 line churn client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/Retrying.scala x: 37 lines of code y: 102 line churn client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/TokenBucket.scala x: 25 lines of code y: 74 line churn client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries/BulkContentRequester.scala x: 33 lines of code y: 134 line churn client-cats-effect/src/main/scala/com/gu/contentapi/client/catseffect/bulkqueries/RequestSizing.scala x: 49 lines of code y: 188 line churn client/src/main/scala/com.gu.contentapi.client/model/CapiId.scala x: 5 lines of code y: 12 line churn client/src/main/scala/com.gu.contentapi.client/utils/CapiModelEnrichment.scala x: 213 lines of code y: 1543 line churn client/src/main/scala/com.gu.contentapi.client/utils/QueryStringParams.scala x: 12 lines of code y: 153 line churn cdk/lib/content-api-clients-testing.ts x: 24 lines of code y: 50 line churn firehose-client/src/main/scala/com/gu/contentapi/firehose/ContentApiFirehoseConsumer.scala x: 47 lines of code y: 118 line churn firehose-client/src/main/scala/com/gu/contentapi/firehose/client/PublicationLogic.scala x: 11 lines of code y: 104 line churn firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis/KinesisStreamReader.scala x: 64 lines of code y: 172 line churn firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis/KinesisStreamReaderConfig.scala x: 18 lines of code y: 46 line churn firehose-client/src/main/scala/com/gu/contentapi/firehose/kinesis/SingleEventProcessor.scala x: 75 lines of code y: 212 line churn client-default/src/main/scala/com.gu.contentapi.client/GuardianContentClient.scala x: 42 lines of code y: 302 line churn client/src/main/scala/com.gu.contentapi.client/BackoffStrategy.scala x: 87 lines of code y: 210 line churn client/src/main/scala/com.gu.contentapi.client/ContentApiClient.scala x: 92 lines of code y: 1465 line churn client/src/main/scala/com.gu.contentapi.client/Parameter.scala x: 13 lines of code y: 154 line churn client/src/main/scala/com.gu.contentapi.client/Parameters.scala x: 47 lines of code y: 428 line churn client/src/main/scala/com.gu.contentapi.client/ScheduledExecutor.scala x: 23 lines of code y: 411 line churn client/src/main/scala/com.gu.contentapi.client/model/ContentApiError.scala x: 11 lines of code y: 62 line churn client/src/main/scala/com.gu.contentapi.client/model/Decoder.scala x: 27 lines of code y: 611 line churn client/src/main/scala/com.gu.contentapi.client/model/HttpResponse.scala x: 8 lines of code y: 139 line churn client/src/main/scala/com.gu.contentapi.client/model/package.scala x: 10 lines of code y: 58 line churn client/src/main/scala/com.gu.contentapi.client/thrift/ThriftDeserializer.scala x: 13 lines of code y: 54 line churn client/src/main/scala/com.gu.contentapi.client/utils/DesignType.scala x: 21 lines of code y: 81 line churn client/src/main/scala/com.gu.contentapi.client/utils/format/Design.scala x: 31 lines of code y: 135 line churn client/src/main/scala/com.gu.contentapi.client/utils/format/Display.scala x: 7 lines of code y: 36 line churn client/src/main/scala/com.gu.contentapi.client/utils/format/Theme.scala x: 12 lines of code y: 61 line churn
2285.0
line churn
  min: 12.0
  average: 330.71
  25th percentile: 62.0
  median: 139.0
  75th percentile: 302.0
  max: 2285.0
0 309.0
lines of code
min: 5.0 | average: 46.87 | 25th percentile: 12.0 | median: 25.0 | 75th percentile: 49.0 | max: 309.0