Overview
File Change Frequency Overall
  • There are 2 files with 60 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 0 files changed 21-50 times (0 lines of code)
    • 1 file changed 6-20 times (45 lines of code)
    • 1 file changed 1-5 times (15 lines of code)
0% | 0% | 0% | 75% | 25%
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 2 files with 60 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 0 files changed by 11-25 contributors (0 lines of code)
    • 0 files changed by 6-10 contributors (0 lines of code)
    • 1 file changed by 2-5 contributors (45 lines of code)
    • 1 file changed by 1 contributor (15 lines of code)
0% | 0% | 0% | 75% | 25%
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, txt, sbt, yml, gitignore, md, properties, yaml
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
scala0% | 0% | 0% | 75% | 25%
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
src0% | 0% | 0% | 75% | 25%
Most Frequently Changed Files (Top 2)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
IAMSigner.scala
in src/main/scala/com/gu/contentapi/client
45 1 2024-01-16 2025-10-27 6 4 +140 / -62 divya.bhatt 10963046+andrew-nowak
IAMEncoder.scala
in src/main/scala/com/gu/contentapi/client
15 2 2024-01-16 2024-01-16 1 1 +37 / -0 divya.bhatt divya.bhatt
Files With Most Churn (Top 2)
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
IAMSigner.scala
in src/main/scala/com/gu/contentapi/client
45 1 2024-01-16 2025-10-27 6 4 +140 / -62 divya.bhatt 10963046+andrew-nowak
IAMEncoder.scala
in src/main/scala/com/gu/contentapi/client
15 2 2024-01-16 2024-01-16 1 1 +37 / -0 divya.bhatt divya.bhatt
Files With Most Contributors (Top 2)
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
IAMSigner.scala
in src/main/scala/com/gu/contentapi/client
45 1 2024-01-16 2025-10-27 6 4 +140 / -62 divya.bhatt 10963046+andrew-nowak
IAMEncoder.scala
in src/main/scala/com/gu/contentapi/client
15 2 2024-01-16 2024-01-16 1 1 +37 / -0 divya.bhatt divya.bhatt
Files With Least Contributors (Top 2)
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
IAMEncoder.scala
in src/main/scala/com/gu/contentapi/client
15 2 2024-01-16 2024-01-16 1 1 +37 / -0 divya.bhatt divya.bhatt
IAMSigner.scala
in src/main/scala/com/gu/contentapi/client
45 1 2024-01-16 2025-10-27 6 4 +140 / -62 divya.bhatt 10963046+andrew-nowak
Correlations

File Size vs. Number of Changes: 2 points

src/main/scala/com/gu/contentapi/client/IAMSigner.scala x: 45 lines of code y: 6 # changes src/main/scala/com/gu/contentapi/client/IAMEncoder.scala x: 15 lines of code y: 1 # changes
6.0
# changes
  min: 1.0
  average: 3.5
  25th percentile: 1.0
  median: 3.5
  75th percentile: 6.0
  max: 6.0
0 45.0
lines of code
min: 15.0 | average: 30.0 | 25th percentile: 15.0 | median: 30.0 | 75th percentile: 45.0 | max: 45.0

Number of Contributors vs. Number of Changes: 2 points

src/main/scala/com/gu/contentapi/client/IAMSigner.scala x: 4 # contributors y: 6 # changes src/main/scala/com/gu/contentapi/client/IAMEncoder.scala x: 1 # contributors y: 1 # changes
6.0
# changes
  min: 1.0
  average: 3.5
  25th percentile: 1.0
  median: 3.5
  75th percentile: 6.0
  max: 6.0
0 4.0
# contributors
min: 1.0 | average: 2.5 | 25th percentile: 1.0 | median: 2.5 | 75th percentile: 4.0 | max: 4.0

Number of Contributors vs. File Size: 2 points

src/main/scala/com/gu/contentapi/client/IAMSigner.scala x: 4 # contributors y: 45 lines of code src/main/scala/com/gu/contentapi/client/IAMEncoder.scala x: 1 # contributors y: 15 lines of code
45.0
lines of code
  min: 15.0
  average: 30.0
  25th percentile: 15.0
  median: 30.0
  75th percentile: 45.0
  max: 45.0
0 4.0
# contributors
min: 1.0 | average: 2.5 | 25th percentile: 1.0 | median: 2.5 | 75th percentile: 4.0 | max: 4.0

Number of Changes vs. Line Churn: 322 points

version.sbt x: 243 # changes y: 1061 line churn src/main/scala/com/gu/contentapi/client/IAMSigner.scala x: 6 # changes y: 202 line churn build.sbt x: 154 # changes y: 2767 line churn .github/workflows/sbt-dependency-graph.yaml x: 3 # changes y: 46 line churn .github/workflows/release.yml x: 7 # changes y: 150 line churn project/plugins.sbt x: 27 # changes y: 139 line churn README.md x: 59 # changes y: 2464 line churn src/test/scala/com/gu/contentapi/client/IAMSignerSpec.scala x: 2 # changes y: 50 line churn project/build.properties x: 54 # changes y: 173 line churn .github/workflows/ci.yml x: 3 # changes y: 34 line churn .github/workflows/snyk.yml x: 4 # changes y: 88 line churn .tool-versions x: 1 # changes y: 1 line churn .github/workflows/testonpush.yml x: 3 # changes y: 113 line churn aws/src/main/scala/com/gu/contentapi/client/IAMSigner.scala x: 8 # changes y: 212 line churn aws/version.sbt x: 12 # changes y: 32 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: 6 # changes y: 554 line churn client-default/src/test/scala/com.gu.contentapi.client/GuardianContentClientTest.scala x: 25 # changes y: 1067 line churn client/CHANGELOG.md x: 67 # changes y: 2137 line churn client/src/main/scala/com.gu.contentapi.client/BackoffStrategy.scala x: 2 # changes y: 210 line churn client/src/main/scala/com.gu.contentapi.client/ContentApiClient.scala x: 27 # changes y: 1460 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/ContentApiError.scala x: 5 # changes y: 62 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/Queries.scala x: 44 # changes y: 2146 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/CapiModelEnrichment.scala x: 65 # changes y: 1452 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/QueryStringParams.scala x: 10 # changes y: 141 line churn client/src/main/scala/com.gu.contentapi.client/utils/format/Design.scala x: 18 # changes y: 117 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: 9 # changes y: 874 line churn client/src/test/scala/com.gu.contentapi.client/ContentApiClientTest.scala x: 19 # changes y: 557 line churn client/src/test/scala/com.gu.contentapi.client/HttpRetryTest.scala x: 2 # changes y: 84 line churn client/src/test/scala/com.gu.contentapi.client/model/ContentApiErrorTest.scala x: 4 # changes y: 36 line churn client/src/test/scala/com.gu.contentapi.client/model/ContentApiQueryTest.scala x: 18 # changes y: 364 line churn client/src/test/scala/com.gu.contentapi.client/model/utils/CapiModelEnrichmentTest.scala x: 35 # changes y: 2879 line churn docs/release.md x: 22 # changes y: 369 line churn project/Dependencies.scala x: 70 # changes y: 404 line churn project/Metadata.scala x: 6 # changes y: 155 line churn .github/workflows/release-snapshot.yml x: 6 # changes y: 246 line churn .gitignore x: 9 # changes y: 33 line churn client/src/main/scala/com.gu.contentapi.client/model/PaginatedApiResponse.scala x: 5 # changes y: 156 line churn client-default/version.sbt x: 22 # changes y: 81 line churn client/version.sbt x: 33 # changes y: 110 line churn CODEOWNERS x: 2 # changes y: 2 line churn client/src/main/scala/com.gu.contentapi.client/ContentApiBackoff.scala x: 9 # changes y: 429 line churn client/src/main/scala/com.gu.contentapi.client/Backoff.scala x: 4 # changes y: 292 line churn client-default/src/test/scala/com.gu.contentapi.client/TroublesomeGuardianClientTest.scala x: 2 # changes y: 152 line churn client/project/build.properties x: 8 # changes y: 11 line churn aws/build.sbt x: 9 # changes y: 309 line churn aws/project/plugins.sbt x: 7 # changes y: 27 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 client/src/main/scala/com.gu.contentapi.client/model/PaginatedApiResult.scala x: 1 # changes y: 82 line churn CHANGELOG.md x: 126 # changes y: 1698 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/Parameter.scala x: 8 # changes y: 176 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/GuardianContentClientThriftTest.scala x: 3 # changes y: 330 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/editions.json x: 7 # changes y: 264 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-package.json x: 4 # changes y: 236 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/removed.json x: 7 # changes y: 192 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/JsonParserSearchTest.scala x: 14 # changes y: 392 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 project/project/plugins.scala x: 8 # changes y: 82 line churn client/src/main/scala/com.gu.contentapi.client/Limits.scala x: 4 # changes y: 52 line churn client/src/main/scala/com.gu.contentapi.client/model/Responses.scala x: 7 # changes y: 288 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/editions.json x: 4 # changes y: 132 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-package.json x: 8 # changes y: 244 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/search.json x: 4 # changes y: 456 line churn client/src/test/resources/templates/sections.json x: 4 # changes y: 4356 line churn client/src/test/resources/templates/tags.json x: 4 # changes y: 412 line churn client/src/test/scala/com.gu.contentapi.client/parser/JsonParserItemTest.scala x: 19 # changes y: 2632 line churn client/src/test/scala/com.gu.contentapi.client/parser/JsonParserSearchTest.scala x: 4 # changes y: 184 line churn models/src/main/thrift/content/v1.thrift x: 21 # changes y: 5402 line churn models/src/main/thrift/content/quiz.thrift x: 2 # changes y: 114 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 lib/org/json4s/json4s-core_2.11/3.3.1-SNAPSHOT/json4s-core_2.11-3.3.1-SNAPSHOT.pom x: 1 # changes y: 132 line churn lib/org/json4s/json4s-tests_2.11/3.3.1-SNAPSHOT/json4s-tests_2.11-3.3.1-SNAPSHOT.pom x: 1 # changes y: 176 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/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/scala/com.gu.contentapi.client/parser/SectionsJsonParserTest.scala x: 6 # changes y: 148 line churn src/test/resources/templates/search-internal.json x: 5 # changes y: 404 line churn src/test/resources/templates/search-partner.json x: 5 # changes y: 232 line churn src/test/scala/com.gu.contentapi.client/ExampleUsageTest.scala x: 4 # changes y: 1256 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/Parameters.scala x: 11 # changes y: 310 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-content.json x: 3 # changes y: 291 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-partner.json x: 3 # changes y: 168 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/resources/com/gu/openplatform/contentapi/parser/tags.json x: 5 # changes y: 142 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/CollectionJsonParserTest.scala x: 9 # changes y: 176 line churn src/test/scala/com/gu/openplatform/contentapi/parser/ItemJsonParserTest.scala x: 7 # changes y: 436 line churn src/test/scala/com/gu/openplatform/contentapi/parser/JodaJsonSerializerTest.scala x: 5 # changes y: 90 line churn src/test/scala/com/gu/openplatform/contentapi/parser/SearchJsonParserTest.scala x: 14 # changes y: 864 line churn src/test/scala/com/gu/openplatform/contentapi/parser/TagsJsonParserTest.scala x: 8 # changes y: 119 line churn project/build.sbt x: 5 # changes y: 8 line churn readme.markdown x: 18 # changes y: 428 line churn src/test/scala/com/gu/openplatform/contentapi/parser/TagItemJsonParserTest.scala x: 6 # changes y: 304 line churn project/build/ContentApiClient.scala x: 8 # changes y: 70 line churn project/plugins/project/build.properties x: 6 # changes y: 14 line churn src/main/scala/com/gu/openplatform/contentapi/connection/Api.scala x: 3 # changes y: 405 line churn src/main/scala/com/gu/openplatform/contentapi/model/NewModel.scala x: 2 # changes y: 294 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 src/test/scala/com/gu/openplatform/contentapi/parser/XMLParserTest.scala x: 2 # changes y: 460 line churn src/test/scala/com/gu/openplatform/contentapi/parser/TagJsonParserTest.scala x: 1 # changes y: 66 line churn src/main/scala/com/gu/openplatform/contentapi/parser/XMLParser.scala x: 2 # changes y: 258 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
9596.0
line churn
  min: 1.0
  average: 519.02
  25th percentile: 11.0
  median: 118.0
  75th percentile: 404.25
  max: 9596.0
0 243.0
# changes
min: 1.0 | average: 9.1 | 25th percentile: 1.0 | median: 4.0 | 75th percentile: 8.0 | max: 243.0

Number of Contributors vs. Line Churn: 2 points

src/main/scala/com/gu/contentapi/client/IAMSigner.scala x: 4 # contributors y: 202 line churn src/main/scala/com/gu/contentapi/client/IAMEncoder.scala x: 1 # contributors y: 37 line churn
202.0
line churn
  min: 37.0
  average: 119.5
  25th percentile: 37.0
  median: 119.5
  75th percentile: 202.0
  max: 202.0
0 4.0
# contributors
min: 1.0 | average: 2.5 | 25th percentile: 1.0 | median: 2.5 | 75th percentile: 4.0 | max: 4.0

File Size vs. Line Churn: 2 points

src/main/scala/com/gu/contentapi/client/IAMSigner.scala x: 45 lines of code y: 202 line churn src/main/scala/com/gu/contentapi/client/IAMEncoder.scala x: 15 lines of code y: 37 line churn
202.0
line churn
  min: 37.0
  average: 119.5
  25th percentile: 37.0
  median: 119.5
  75th percentile: 202.0
  max: 202.0
0 45.0
lines of code
min: 15.0 | average: 30.0 | 25th percentile: 15.0 | median: 30.0 | 75th percentile: 45.0 | max: 45.0