Overview
File Change Frequency Overall
  • There are 9 files with 1,762 lines of code.
    • 1 file changed more than 100 times (1,115 lines of code)
    • 1 file changed 51-100 times (235 lines of code)
    • 1 file changed 21-50 times (201 lines of code)
    • 2 files changed 6-20 times (134 lines of code)
    • 4 files changed 1-5 times (77 lines of code)
63% | 13% | 11% | 7% | 4%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 9 files with 1,762 lines of code.
    • 1 file changed by more than 25 contributors (1,115 lines of code)
    • 2 files changed by 11-25 contributors (436 lines of code)
    • 1 file changed by 6-10 contributors (40 lines of code)
    • 4 files changed by 2-5 contributors (134 lines of code)
    • 1 file changed by 1 contributor (37 lines of code)
63% | 24% | 2% | 7% | 2%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
thrift, json, scala, sbt, txt, yml, yaml, gitignore, md, properties
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
thrift91% | 0% | 0% | 3% | 5%
scala0% | 43% | 37% | 17% | 2%
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
models91% | 0% | 0% | 3% | 5%
json0% | 52% | 44% | 0% | 2%
benchmarks0% | 0% | 0% | 100% | 0%
Most Frequently Changed Files (Top 9)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
v1.thrift
in models/src/main/thrift/content
1115 - 2016-04-14 2026-09-22 206 65 +5926 / -555 tom.forbes emily.bourke
CirceDecoders.scala
in json/src/main/scala/com/gu/contentapi/json
235 3 2016-09-21 2026-09-22 55 20 +801 / -457 tom.forbes emily.bourke
CirceEncoders.scala
in json/src/main/scala/com/gu/contentapi/json
201 2 2016-09-21 2026-09-22 48 20 +566 / -239 tom.forbes emily.bourke
event.thrift
in models/src/main/thrift/events/crier
40 - 2016-05-16 2021-02-24 13 8 +232 / -10 manlio.poltronieri justinpinner
JsonDecodeBenchmark.scala
in benchmarks/src/main/scala/benchmark
94 5 2016-06-28 2026-07-29 9 4 +352 / -96 chris.birchall 198982749+copilot
event.thrift
in models/src/main/thrift/events/fastly
13 - 2021-01-06 2021-09-17 4 3 +81 / -13 tonytw1 tony.mccrae.freelancer
auxiliaryAtomEvent.thrift
in models/src/main/thrift/events/flexible
15 - 2016-11-08 2020-06-05 4 2 +36 / -0 luke.taylor alex.dufournet
CapiModelEnrichment.scala
in json/src/main/scala/com/gu/contentapi/utils
12 1 2016-05-26 2017-10-03 3 2 +45 / -11 tom.forbes regis.kuckaertz
schema_org.thrift
in models/src/main/thrift/content
37 - 2024-03-12 2024-03-13 2 1 +86 / -4 frederick.obrien frederick.obrien
Files With Most Churn (Top 9)
Based on the number of lines added and deleted across all commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
v1.thrift
in models/src/main/thrift/content
1115 - 2016-04-14 2026-09-22 206 65 +5926 / -555 tom.forbes emily.bourke
CirceDecoders.scala
in json/src/main/scala/com/gu/contentapi/json
235 3 2016-09-21 2026-09-22 55 20 +801 / -457 tom.forbes emily.bourke
CirceEncoders.scala
in json/src/main/scala/com/gu/contentapi/json
201 2 2016-09-21 2026-09-22 48 20 +566 / -239 tom.forbes emily.bourke
JsonDecodeBenchmark.scala
in benchmarks/src/main/scala/benchmark
94 5 2016-06-28 2026-07-29 9 4 +352 / -96 chris.birchall 198982749+copilot
event.thrift
in models/src/main/thrift/events/crier
40 - 2016-05-16 2021-02-24 13 8 +232 / -10 manlio.poltronieri justinpinner
event.thrift
in models/src/main/thrift/events/fastly
13 - 2021-01-06 2021-09-17 4 3 +81 / -13 tonytw1 tony.mccrae.freelancer
schema_org.thrift
in models/src/main/thrift/content
37 - 2024-03-12 2024-03-13 2 1 +86 / -4 frederick.obrien frederick.obrien
CapiModelEnrichment.scala
in json/src/main/scala/com/gu/contentapi/utils
12 1 2016-05-26 2017-10-03 3 2 +45 / -11 tom.forbes regis.kuckaertz
auxiliaryAtomEvent.thrift
in models/src/main/thrift/events/flexible
15 - 2016-11-08 2020-06-05 4 2 +36 / -0 luke.taylor alex.dufournet
Files With Most Contributors (Top 9)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
v1.thrift
in models/src/main/thrift/content
1115 - 2016-04-14 2026-09-22 206 65 +5926 / -555 tom.forbes emily.bourke
CirceDecoders.scala
in json/src/main/scala/com/gu/contentapi/json
235 3 2016-09-21 2026-09-22 55 20 +801 / -457 tom.forbes emily.bourke
CirceEncoders.scala
in json/src/main/scala/com/gu/contentapi/json
201 2 2016-09-21 2026-09-22 48 20 +566 / -239 tom.forbes emily.bourke
event.thrift
in models/src/main/thrift/events/crier
40 - 2016-05-16 2021-02-24 13 8 +232 / -10 manlio.poltronieri justinpinner
JsonDecodeBenchmark.scala
in benchmarks/src/main/scala/benchmark
94 5 2016-06-28 2026-07-29 9 4 +352 / -96 chris.birchall 198982749+copilot
event.thrift
in models/src/main/thrift/events/fastly
13 - 2021-01-06 2021-09-17 4 3 +81 / -13 tonytw1 tony.mccrae.freelancer
auxiliaryAtomEvent.thrift
in models/src/main/thrift/events/flexible
15 - 2016-11-08 2020-06-05 4 2 +36 / -0 luke.taylor alex.dufournet
CapiModelEnrichment.scala
in json/src/main/scala/com/gu/contentapi/utils
12 1 2016-05-26 2017-10-03 3 2 +45 / -11 tom.forbes regis.kuckaertz
schema_org.thrift
in models/src/main/thrift/content
37 - 2024-03-12 2024-03-13 2 1 +86 / -4 frederick.obrien frederick.obrien
Files With Least Contributors (Top 9)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
schema_org.thrift
in models/src/main/thrift/content
37 - 2024-03-12 2024-03-13 2 1 +86 / -4 frederick.obrien frederick.obrien
auxiliaryAtomEvent.thrift
in models/src/main/thrift/events/flexible
15 - 2016-11-08 2020-06-05 4 2 +36 / -0 luke.taylor alex.dufournet
CapiModelEnrichment.scala
in json/src/main/scala/com/gu/contentapi/utils
12 1 2016-05-26 2017-10-03 3 2 +45 / -11 tom.forbes regis.kuckaertz
event.thrift
in models/src/main/thrift/events/fastly
13 - 2021-01-06 2021-09-17 4 3 +81 / -13 tonytw1 tony.mccrae.freelancer
JsonDecodeBenchmark.scala
in benchmarks/src/main/scala/benchmark
94 5 2016-06-28 2026-07-29 9 4 +352 / -96 chris.birchall 198982749+copilot
event.thrift
in models/src/main/thrift/events/crier
40 - 2016-05-16 2021-02-24 13 8 +232 / -10 manlio.poltronieri justinpinner
CirceDecoders.scala
in json/src/main/scala/com/gu/contentapi/json
235 3 2016-09-21 2026-09-22 55 20 +801 / -457 tom.forbes emily.bourke
CirceEncoders.scala
in json/src/main/scala/com/gu/contentapi/json
201 2 2016-09-21 2026-09-22 48 20 +566 / -239 tom.forbes emily.bourke
v1.thrift
in models/src/main/thrift/content
1115 - 2016-04-14 2026-09-22 206 65 +5926 / -555 tom.forbes emily.bourke
Correlations

File Size vs. Number of Changes: 9 points

json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala x: 235 lines of code y: 55 # changes json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala x: 201 lines of code y: 48 # changes models/src/main/thrift/content/v1.thrift x: 1115 lines of code y: 206 # changes benchmarks/src/main/scala/benchmark/JsonDecodeBenchmark.scala x: 94 lines of code y: 9 # changes models/src/main/thrift/content/schema_org.thrift x: 37 lines of code y: 2 # changes models/src/main/thrift/events/fastly/event.thrift x: 13 lines of code y: 4 # changes models/src/main/thrift/events/crier/event.thrift x: 40 lines of code y: 13 # changes models/src/main/thrift/events/flexible/auxiliaryAtomEvent.thrift x: 15 lines of code y: 4 # changes json/src/main/scala/com/gu/contentapi/utils/CapiModelEnrichment.scala x: 12 lines of code y: 3 # changes
206.0
# changes
  min: 2.0
  average: 38.22
  25th percentile: 3.5
  median: 9.0
  75th percentile: 51.5
  max: 206.0
0 1115.0
lines of code
min: 12.0 | average: 195.78 | 25th percentile: 14.0 | median: 40.0 | 75th percentile: 218.0 | max: 1115.0

Number of Contributors vs. Number of Changes: 9 points

json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala x: 20 # contributors y: 55 # changes json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala x: 20 # contributors y: 48 # changes models/src/main/thrift/content/v1.thrift x: 65 # contributors y: 206 # changes benchmarks/src/main/scala/benchmark/JsonDecodeBenchmark.scala x: 4 # contributors y: 9 # changes models/src/main/thrift/content/schema_org.thrift x: 1 # contributors y: 2 # changes models/src/main/thrift/events/fastly/event.thrift x: 3 # contributors y: 4 # changes models/src/main/thrift/events/crier/event.thrift x: 8 # contributors y: 13 # changes models/src/main/thrift/events/flexible/auxiliaryAtomEvent.thrift x: 2 # contributors y: 4 # changes json/src/main/scala/com/gu/contentapi/utils/CapiModelEnrichment.scala x: 2 # contributors y: 3 # changes
206.0
# changes
  min: 2.0
  average: 38.22
  25th percentile: 3.5
  median: 9.0
  75th percentile: 51.5
  max: 206.0
0 65.0
# contributors
min: 1.0 | average: 13.89 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 20.0 | max: 65.0

Number of Contributors vs. File Size: 9 points

json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala x: 20 # contributors y: 235 lines of code json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala x: 20 # contributors y: 201 lines of code models/src/main/thrift/content/v1.thrift x: 65 # contributors y: 1115 lines of code benchmarks/src/main/scala/benchmark/JsonDecodeBenchmark.scala x: 4 # contributors y: 94 lines of code models/src/main/thrift/content/schema_org.thrift x: 1 # contributors y: 37 lines of code models/src/main/thrift/events/fastly/event.thrift x: 3 # contributors y: 13 lines of code models/src/main/thrift/events/crier/event.thrift x: 8 # contributors y: 40 lines of code models/src/main/thrift/events/flexible/auxiliaryAtomEvent.thrift x: 2 # contributors y: 15 lines of code json/src/main/scala/com/gu/contentapi/utils/CapiModelEnrichment.scala x: 2 # contributors y: 12 lines of code
1115.0
lines of code
  min: 12.0
  average: 195.78
  25th percentile: 14.0
  median: 40.0
  75th percentile: 218.0
  max: 1115.0
0 65.0
# contributors
min: 1.0 | average: 13.89 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 20.0 | max: 65.0

Number of Changes vs. Line Churn: 96 points

version.sbt x: 229 # changes y: 1020 line churn json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala x: 55 # changes y: 1258 line churn json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala x: 48 # changes y: 805 line churn models/src/main/thrift/content/v1.thrift x: 206 # changes y: 6481 line churn scala/src/test/scala/com.gu.contentapi.scala/ThriftRoundTripSpec.scala x: 13 # changes y: 1048 line churn build.sbt x: 170 # changes y: 2614 line churn .gitignore x: 11 # changes y: 16 line churn .github/workflows/check-labels.yaml x: 3 # changes y: 27 line churn .github/workflows/ci.yml x: 4 # changes y: 63 line churn .github/workflows/release.yml x: 18 # changes y: 609 line churn .github/workflows/sbt-dependency-graph.yaml x: 5 # changes y: 67 line churn README.md x: 31 # changes y: 465 line churn benchmarks/src/main/scala/benchmark/JsonDecodeBenchmark.scala x: 9 # changes y: 448 line churn json/src/test/resources/templates/item-content-with-atom-explainer.json x: 6 # changes y: 151 line churn json/src/test/scala-2.12/com/gu/contentapi/json/CirceRoundTripSpec.scala x: 10 # changes y: 1134 line churn json/src/test/scala/com/gu/contentapi/json/CirceRoundTripSpec.scala x: 20 # changes y: 1315 line churn project/build.properties x: 14 # changes y: 33 line churn project/plugins.sbt x: 46 # changes y: 193 line churn json/src/test/scala-2.13/com/gu/contentapi/json/CirceRoundTripSpec.scala x: 2 # changes y: 372 line churn .tool-versions x: 1 # changes y: 1 line churn json/src/test/resources/templates/item-content.json x: 8 # changes y: 1040 line churn macros/src/main/scala/com/gu/contentapi/circe/CirceScroogeMacros.scala x: 16 # changes y: 1752 line churn json/src/test/scala/com/gu/contentapi/json/JsonParserItemTest.scala x: 12 # changes y: 2130 line churn benchmarks/src/main/resources/search-response.json x: 3 # changes y: 4048 line churn benchmarks/src/main/resources/massive-contents-list.json x: 2 # changes y: 398822 line churn json/src/test/resources/templates/item-content-with-rich-link-element.json x: 4 # changes y: 2484 line churn json/src/test/resources/templates/sections.json x: 1 # changes y: 2178 line churn src/main/thrift/content/v1.thrift x: 5 # changes y: 2998 line churn
398822.0
line churn
  min: 1.0
  average: 4709.66
  25th percentile: 63.75
  median: 160.0
  75th percentile: 804.25
  max: 398822.0
0 229.0
# changes
min: 1.0 | average: 13.07 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 10.0 | max: 229.0

Number of Contributors vs. Line Churn: 9 points

json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala x: 20 # contributors y: 1258 line churn json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala x: 20 # contributors y: 805 line churn models/src/main/thrift/content/v1.thrift x: 65 # contributors y: 6481 line churn benchmarks/src/main/scala/benchmark/JsonDecodeBenchmark.scala x: 4 # contributors y: 448 line churn models/src/main/thrift/content/schema_org.thrift x: 1 # contributors y: 90 line churn models/src/main/thrift/events/fastly/event.thrift x: 3 # contributors y: 94 line churn models/src/main/thrift/events/crier/event.thrift x: 8 # contributors y: 242 line churn models/src/main/thrift/events/flexible/auxiliaryAtomEvent.thrift x: 2 # contributors y: 36 line churn json/src/main/scala/com/gu/contentapi/utils/CapiModelEnrichment.scala x: 2 # contributors y: 56 line churn
6481.0
line churn
  min: 36.0
  average: 1056.67
  25th percentile: 73.0
  median: 242.0
  75th percentile: 1031.5
  max: 6481.0
0 65.0
# contributors
min: 1.0 | average: 13.89 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 20.0 | max: 65.0

File Size vs. Line Churn: 9 points

json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala x: 235 lines of code y: 1258 line churn json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala x: 201 lines of code y: 805 line churn models/src/main/thrift/content/v1.thrift x: 1115 lines of code y: 6481 line churn benchmarks/src/main/scala/benchmark/JsonDecodeBenchmark.scala x: 94 lines of code y: 448 line churn models/src/main/thrift/content/schema_org.thrift x: 37 lines of code y: 90 line churn models/src/main/thrift/events/fastly/event.thrift x: 13 lines of code y: 94 line churn models/src/main/thrift/events/crier/event.thrift x: 40 lines of code y: 242 line churn models/src/main/thrift/events/flexible/auxiliaryAtomEvent.thrift x: 15 lines of code y: 36 line churn json/src/main/scala/com/gu/contentapi/utils/CapiModelEnrichment.scala x: 12 lines of code y: 56 line churn
6481.0
line churn
  min: 36.0
  average: 1056.67
  25th percentile: 73.0
  median: 242.0
  75th percentile: 1031.5
  max: 6481.0
0 1115.0
lines of code
min: 12.0 | average: 195.78 | 25th percentile: 14.0 | median: 40.0 | 75th percentile: 218.0 | max: 1115.0