guardian / ophan-thrift-swift
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 45 files with 3,407 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 1 file changed 21-50 times (314 lines of code)
    • 10 files changed 6-20 times (1,486 lines of code)
    • 34 files changed 1-5 times (1,607 lines of code)
0% | 0% | 9% | 43% | 47%
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 45 files with 3,407 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)
    • 1 file changed by 6-10 contributors (20 lines of code)
    • 42 files changed by 2-5 contributors (3,332 lines of code)
    • 2 files changed by 1 contributor (55 lines of code)
0% | 0% | <1% | 97% | 1%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
swift, sh, txt, gitignore, md, yaml
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
swift0% | 0% | 9% | 43% | 47%
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
Sources0% | 0% | 9% | 43% | 47%
ROOT0% | 0% | 0% | 100% | 0%
Most Frequently Changed Files (Top 45)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
componentevent.swift
in Sources/OphanThrift
314 - 2019-11-21 2025-04-28 21 2
nativeapp.swift
in Sources/OphanThrift
235 - 2019-11-21 2025-01-02 14 2
20 - 2019-11-22 2024-12-12 13 7 david.furey@guardian.co.uk simone.smith@guardian.co.uk
nativeapp+Exts.swift
in Sources/OphanThrift
494 - 2019-11-21 2025-01-02 11 2
significantsite.swift
in Sources/OphanThrift
110 - 2019-11-21 2025-01-02 8 2
acquisition.swift
in Sources/OphanThrift
204 - 2019-11-21 2025-01-02 8 2
referrer+Exts.swift
in Sources/OphanThrift
132 - 2019-11-21 2025-01-02 7 2
referrer.swift
in Sources/OphanThrift
40 - 2019-11-21 2025-01-02 6 2
googlereferral+Exts.swift
in Sources/OphanThrift
54 - 2019-11-21 2025-01-02 6 2
product.swift
in Sources/OphanThrift
71 - 2019-11-21 2025-01-02 6 2
componentevent+Exts.swift
in Sources/OphanThrift
126 - 2019-11-21 2025-01-02 6 2
link+Exts.swift
in Sources/OphanThrift
39 - 2019-11-21 2025-01-02 5 2
printoptions+Exts.swift
in Sources/OphanThrift
46 - 2019-11-21 2025-01-02 5 2
queryparameter+Exts.swift
in Sources/OphanThrift
46 - 2019-11-21 2025-01-02 5 2
interaction+Exts.swift
in Sources/OphanThrift
50 - 2019-11-21 2025-01-02 5 2
media+Exts.swift
in Sources/OphanThrift
58 - 2019-11-21 2025-01-02 5 2
url+Exts.swift
in Sources/OphanThrift
68 - 2019-11-21 2025-01-02 5 2
googlereferral.swift
in Sources/OphanThrift
69 - 2019-11-21 2025-01-02 5 2
ads+Exts.swift
in Sources/OphanThrift
70 - 2019-11-21 2025-01-02 5 2
abtest+Exts.swift
in Sources/OphanThrift
94 - 2019-11-21 2025-01-02 5 2
media.swift
in Sources/OphanThrift
95 - 2019-11-21 2025-01-02 5 2
benchmark+Exts.swift
in Sources/OphanThrift
101 - 2019-11-21 2025-01-02 5 2
acquisition+Exts.swift
in Sources/OphanThrift
143 - 2019-11-21 2025-01-02 5 2
subscription+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
platform+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
printproduct+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
product+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
device+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
significantsite+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
source+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
link.swift
in Sources/OphanThrift
9 - 2019-11-21 2025-01-02 4 2
queryparameter.swift
in Sources/OphanThrift
10 - 2019-11-21 2025-01-02 4 2
printoptions.swift
in Sources/OphanThrift
10 - 2019-11-21 2025-01-02 4 2
interaction.swift
in Sources/OphanThrift
15 - 2019-11-21 2025-01-02 4 2
ads.swift
in Sources/OphanThrift
23 - 2019-11-21 2025-01-02 4 2
url.swift
in Sources/OphanThrift
24 - 2019-11-21 2025-01-02 4 2
abtest.swift
in Sources/OphanThrift
24 - 2019-11-21 2025-01-02 4 2
device.swift
in Sources/OphanThrift
41 - 2019-11-21 2025-01-02 4 2
subscription.swift
in Sources/OphanThrift
83 - 2019-11-21 2025-01-02 4 2
platform.swift
in Sources/OphanThrift
89 - 2019-11-21 2025-01-02 4 2
source.swift
in Sources/OphanThrift
92 - 2019-11-21 2025-01-02 4 2
printproduct.swift
in Sources/OphanThrift
110 - 2019-11-21 2025-01-02 4 2
benchmark.swift
in Sources/OphanThrift
129 - 2019-11-21 2025-01-02 4 2
inpageclick.swift
in Sources/OphanThrift
11 - 2020-08-13 2025-01-02 3 1
inpageclick+Exts.swift
in Sources/OphanThrift
44 - 2020-08-13 2025-01-02 3 1
Files With Most Contributors (Top 45)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
20 - 2019-11-22 2024-12-12 13 7 david.furey@guardian.co.uk simone.smith@guardian.co.uk
componentevent.swift
in Sources/OphanThrift
314 - 2019-11-21 2025-04-28 21 2
nativeapp.swift
in Sources/OphanThrift
235 - 2019-11-21 2025-01-02 14 2
nativeapp+Exts.swift
in Sources/OphanThrift
494 - 2019-11-21 2025-01-02 11 2
acquisition.swift
in Sources/OphanThrift
204 - 2019-11-21 2025-01-02 8 2
significantsite.swift
in Sources/OphanThrift
110 - 2019-11-21 2025-01-02 8 2
referrer+Exts.swift
in Sources/OphanThrift
132 - 2019-11-21 2025-01-02 7 2
googlereferral+Exts.swift
in Sources/OphanThrift
54 - 2019-11-21 2025-01-02 6 2
componentevent+Exts.swift
in Sources/OphanThrift
126 - 2019-11-21 2025-01-02 6 2
referrer.swift
in Sources/OphanThrift
40 - 2019-11-21 2025-01-02 6 2
product.swift
in Sources/OphanThrift
71 - 2019-11-21 2025-01-02 6 2
benchmark+Exts.swift
in Sources/OphanThrift
101 - 2019-11-21 2025-01-02 5 2
acquisition+Exts.swift
in Sources/OphanThrift
143 - 2019-11-21 2025-01-02 5 2
url+Exts.swift
in Sources/OphanThrift
68 - 2019-11-21 2025-01-02 5 2
queryparameter+Exts.swift
in Sources/OphanThrift
46 - 2019-11-21 2025-01-02 5 2
ads+Exts.swift
in Sources/OphanThrift
70 - 2019-11-21 2025-01-02 5 2
media+Exts.swift
in Sources/OphanThrift
58 - 2019-11-21 2025-01-02 5 2
link+Exts.swift
in Sources/OphanThrift
39 - 2019-11-21 2025-01-02 5 2
interaction+Exts.swift
in Sources/OphanThrift
50 - 2019-11-21 2025-01-02 5 2
printoptions+Exts.swift
in Sources/OphanThrift
46 - 2019-11-21 2025-01-02 5 2
googlereferral.swift
in Sources/OphanThrift
69 - 2019-11-21 2025-01-02 5 2
abtest+Exts.swift
in Sources/OphanThrift
94 - 2019-11-21 2025-01-02 5 2
media.swift
in Sources/OphanThrift
95 - 2019-11-21 2025-01-02 5 2
ads.swift
in Sources/OphanThrift
23 - 2019-11-21 2025-01-02 4 2
printproduct.swift
in Sources/OphanThrift
110 - 2019-11-21 2025-01-02 4 2
source+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
significantsite+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
abtest.swift
in Sources/OphanThrift
24 - 2019-11-21 2025-01-02 4 2
benchmark.swift
in Sources/OphanThrift
129 - 2019-11-21 2025-01-02 4 2
device+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
device.swift
in Sources/OphanThrift
41 - 2019-11-21 2025-01-02 4 2
link.swift
in Sources/OphanThrift
9 - 2019-11-21 2025-01-02 4 2
source.swift
in Sources/OphanThrift
92 - 2019-11-21 2025-01-02 4 2
subscription.swift
in Sources/OphanThrift
83 - 2019-11-21 2025-01-02 4 2
printoptions.swift
in Sources/OphanThrift
10 - 2019-11-21 2025-01-02 4 2
platform.swift
in Sources/OphanThrift
89 - 2019-11-21 2025-01-02 4 2
url.swift
in Sources/OphanThrift
24 - 2019-11-21 2025-01-02 4 2
queryparameter.swift
in Sources/OphanThrift
10 - 2019-11-21 2025-01-02 4 2
product+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
printproduct+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
platform+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
interaction.swift
in Sources/OphanThrift
15 - 2019-11-21 2025-01-02 4 2
subscription+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
inpageclick+Exts.swift
in Sources/OphanThrift
44 - 2020-08-13 2025-01-02 3 1
inpageclick.swift
in Sources/OphanThrift
11 - 2020-08-13 2025-01-02 3 1
Files With Least Contributors (Top 45)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
inpageclick+Exts.swift
in Sources/OphanThrift
44 - 2020-08-13 2025-01-02 3 1
inpageclick.swift
in Sources/OphanThrift
11 - 2020-08-13 2025-01-02 3 1
nativeapp+Exts.swift
in Sources/OphanThrift
494 - 2019-11-21 2025-01-02 11 2
componentevent.swift
in Sources/OphanThrift
314 - 2019-11-21 2025-04-28 21 2
nativeapp.swift
in Sources/OphanThrift
235 - 2019-11-21 2025-01-02 14 2
acquisition.swift
in Sources/OphanThrift
204 - 2019-11-21 2025-01-02 8 2
acquisition+Exts.swift
in Sources/OphanThrift
143 - 2019-11-21 2025-01-02 5 2
referrer+Exts.swift
in Sources/OphanThrift
132 - 2019-11-21 2025-01-02 7 2
benchmark.swift
in Sources/OphanThrift
129 - 2019-11-21 2025-01-02 4 2
componentevent+Exts.swift
in Sources/OphanThrift
126 - 2019-11-21 2025-01-02 6 2
printproduct.swift
in Sources/OphanThrift
110 - 2019-11-21 2025-01-02 4 2
significantsite.swift
in Sources/OphanThrift
110 - 2019-11-21 2025-01-02 8 2
benchmark+Exts.swift
in Sources/OphanThrift
101 - 2019-11-21 2025-01-02 5 2
media.swift
in Sources/OphanThrift
95 - 2019-11-21 2025-01-02 5 2
abtest+Exts.swift
in Sources/OphanThrift
94 - 2019-11-21 2025-01-02 5 2
source.swift
in Sources/OphanThrift
92 - 2019-11-21 2025-01-02 4 2
platform.swift
in Sources/OphanThrift
89 - 2019-11-21 2025-01-02 4 2
subscription.swift
in Sources/OphanThrift
83 - 2019-11-21 2025-01-02 4 2
product.swift
in Sources/OphanThrift
71 - 2019-11-21 2025-01-02 6 2
ads+Exts.swift
in Sources/OphanThrift
70 - 2019-11-21 2025-01-02 5 2
googlereferral.swift
in Sources/OphanThrift
69 - 2019-11-21 2025-01-02 5 2
url+Exts.swift
in Sources/OphanThrift
68 - 2019-11-21 2025-01-02 5 2
media+Exts.swift
in Sources/OphanThrift
58 - 2019-11-21 2025-01-02 5 2
googlereferral+Exts.swift
in Sources/OphanThrift
54 - 2019-11-21 2025-01-02 6 2
interaction+Exts.swift
in Sources/OphanThrift
50 - 2019-11-21 2025-01-02 5 2
queryparameter+Exts.swift
in Sources/OphanThrift
46 - 2019-11-21 2025-01-02 5 2
printoptions+Exts.swift
in Sources/OphanThrift
46 - 2019-11-21 2025-01-02 5 2
device.swift
in Sources/OphanThrift
41 - 2019-11-21 2025-01-02 4 2
referrer.swift
in Sources/OphanThrift
40 - 2019-11-21 2025-01-02 6 2
link+Exts.swift
in Sources/OphanThrift
39 - 2019-11-21 2025-01-02 5 2
abtest.swift
in Sources/OphanThrift
24 - 2019-11-21 2025-01-02 4 2
url.swift
in Sources/OphanThrift
24 - 2019-11-21 2025-01-02 4 2
ads.swift
in Sources/OphanThrift
23 - 2019-11-21 2025-01-02 4 2
interaction.swift
in Sources/OphanThrift
15 - 2019-11-21 2025-01-02 4 2
printoptions.swift
in Sources/OphanThrift
10 - 2019-11-21 2025-01-02 4 2
queryparameter.swift
in Sources/OphanThrift
10 - 2019-11-21 2025-01-02 4 2
link.swift
in Sources/OphanThrift
9 - 2019-11-21 2025-01-02 4 2
source+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
significantsite+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
device+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
product+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
printproduct+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
platform+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
subscription+Exts.swift
in Sources/OphanThrift
2 - 2019-11-21 2025-01-02 4 2
20 - 2019-11-22 2024-12-12 13 7 david.furey@guardian.co.uk simone.smith@guardian.co.uk
Correlations

File Size vs. Number of Changes: 45 points

Sources/OphanThrift/componentevent.swift x: 314 lines of code y: 21 # changes Sources/OphanThrift/abtest+Exts.swift x: 94 lines of code y: 5 # changes Sources/OphanThrift/abtest.swift x: 24 lines of code y: 4 # changes Sources/OphanThrift/acquisition+Exts.swift x: 143 lines of code y: 5 # changes Sources/OphanThrift/acquisition.swift x: 204 lines of code y: 8 # changes Sources/OphanThrift/ads+Exts.swift x: 70 lines of code y: 5 # changes Sources/OphanThrift/ads.swift x: 23 lines of code y: 4 # changes Sources/OphanThrift/benchmark+Exts.swift x: 101 lines of code y: 5 # changes Sources/OphanThrift/benchmark.swift x: 129 lines of code y: 4 # changes Sources/OphanThrift/componentevent+Exts.swift x: 126 lines of code y: 6 # changes Sources/OphanThrift/device+Exts.swift x: 2 lines of code y: 4 # changes Sources/OphanThrift/device.swift x: 41 lines of code y: 4 # changes Sources/OphanThrift/googlereferral+Exts.swift x: 54 lines of code y: 6 # changes Sources/OphanThrift/googlereferral.swift x: 69 lines of code y: 5 # changes Sources/OphanThrift/inpageclick+Exts.swift x: 44 lines of code y: 3 # changes Sources/OphanThrift/inpageclick.swift x: 11 lines of code y: 3 # changes Sources/OphanThrift/interaction+Exts.swift x: 50 lines of code y: 5 # changes Sources/OphanThrift/interaction.swift x: 15 lines of code y: 4 # changes Sources/OphanThrift/link+Exts.swift x: 39 lines of code y: 5 # changes Sources/OphanThrift/link.swift x: 9 lines of code y: 4 # changes Sources/OphanThrift/media+Exts.swift x: 58 lines of code y: 5 # changes Sources/OphanThrift/media.swift x: 95 lines of code y: 5 # changes Sources/OphanThrift/nativeapp+Exts.swift x: 494 lines of code y: 11 # changes Sources/OphanThrift/nativeapp.swift x: 235 lines of code y: 14 # changes Sources/OphanThrift/platform.swift x: 89 lines of code y: 4 # changes Sources/OphanThrift/printoptions+Exts.swift x: 46 lines of code y: 5 # changes Sources/OphanThrift/printoptions.swift x: 10 lines of code y: 4 # changes Sources/OphanThrift/printproduct.swift x: 110 lines of code y: 4 # changes Sources/OphanThrift/product.swift x: 71 lines of code y: 6 # changes Sources/OphanThrift/referrer+Exts.swift x: 132 lines of code y: 7 # changes Sources/OphanThrift/referrer.swift x: 40 lines of code y: 6 # changes Sources/OphanThrift/significantsite.swift x: 110 lines of code y: 8 # changes Sources/OphanThrift/source.swift x: 92 lines of code y: 4 # changes Sources/OphanThrift/subscription.swift x: 83 lines of code y: 4 # changes Sources/OphanThrift/url+Exts.swift x: 68 lines of code y: 5 # changes Package.swift x: 20 lines of code y: 13 # changes
21.0
# changes
  min: 3.0
  average: 5.6
  25th percentile: 4.0
  median: 5.0
  75th percentile: 5.5
  max: 21.0
0 494.0
lines of code
min: 2.0 | average: 75.71 | 25th percentile: 13.0 | median: 50.0 | 75th percentile: 98.0 | max: 494.0

Number of Contributors vs. Number of Changes: 45 points

Sources/OphanThrift/componentevent.swift x: 2 # contributors y: 21 # changes Sources/OphanThrift/abtest+Exts.swift x: 2 # contributors y: 5 # changes Sources/OphanThrift/abtest.swift x: 2 # contributors y: 4 # changes Sources/OphanThrift/acquisition.swift x: 2 # contributors y: 8 # changes Sources/OphanThrift/componentevent+Exts.swift x: 2 # contributors y: 6 # changes Sources/OphanThrift/inpageclick+Exts.swift x: 1 # contributors y: 3 # changes Sources/OphanThrift/nativeapp+Exts.swift x: 2 # contributors y: 11 # changes Sources/OphanThrift/nativeapp.swift x: 2 # contributors y: 14 # changes Sources/OphanThrift/referrer+Exts.swift x: 2 # contributors y: 7 # changes Package.swift x: 7 # contributors y: 13 # changes
21.0
# changes
  min: 3.0
  average: 5.6
  25th percentile: 4.0
  median: 5.0
  75th percentile: 5.5
  max: 21.0
0 7.0
# contributors
min: 1.0 | average: 2.07 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 2.0 | max: 7.0

Number of Contributors vs. File Size: 45 points

Sources/OphanThrift/componentevent.swift x: 2 # contributors y: 314 lines of code Sources/OphanThrift/abtest+Exts.swift x: 2 # contributors y: 94 lines of code Sources/OphanThrift/abtest.swift x: 2 # contributors y: 24 lines of code Sources/OphanThrift/acquisition+Exts.swift x: 2 # contributors y: 143 lines of code Sources/OphanThrift/acquisition.swift x: 2 # contributors y: 204 lines of code Sources/OphanThrift/ads+Exts.swift x: 2 # contributors y: 70 lines of code Sources/OphanThrift/ads.swift x: 2 # contributors y: 23 lines of code Sources/OphanThrift/benchmark+Exts.swift x: 2 # contributors y: 101 lines of code Sources/OphanThrift/benchmark.swift x: 2 # contributors y: 129 lines of code Sources/OphanThrift/componentevent+Exts.swift x: 2 # contributors y: 126 lines of code Sources/OphanThrift/device+Exts.swift x: 2 # contributors y: 2 lines of code Sources/OphanThrift/device.swift x: 2 # contributors y: 41 lines of code Sources/OphanThrift/googlereferral+Exts.swift x: 2 # contributors y: 54 lines of code Sources/OphanThrift/inpageclick+Exts.swift x: 1 # contributors y: 44 lines of code Sources/OphanThrift/inpageclick.swift x: 1 # contributors y: 11 lines of code Sources/OphanThrift/interaction+Exts.swift x: 2 # contributors y: 50 lines of code Sources/OphanThrift/interaction.swift x: 2 # contributors y: 15 lines of code Sources/OphanThrift/link+Exts.swift x: 2 # contributors y: 39 lines of code Sources/OphanThrift/link.swift x: 2 # contributors y: 9 lines of code Sources/OphanThrift/media+Exts.swift x: 2 # contributors y: 58 lines of code Sources/OphanThrift/nativeapp+Exts.swift x: 2 # contributors y: 494 lines of code Sources/OphanThrift/nativeapp.swift x: 2 # contributors y: 235 lines of code Sources/OphanThrift/platform.swift x: 2 # contributors y: 89 lines of code Sources/OphanThrift/printoptions+Exts.swift x: 2 # contributors y: 46 lines of code Sources/OphanThrift/printoptions.swift x: 2 # contributors y: 10 lines of code Sources/OphanThrift/printproduct.swift x: 2 # contributors y: 110 lines of code Sources/OphanThrift/product.swift x: 2 # contributors y: 71 lines of code Sources/OphanThrift/referrer+Exts.swift x: 2 # contributors y: 132 lines of code Sources/OphanThrift/source.swift x: 2 # contributors y: 92 lines of code Sources/OphanThrift/subscription.swift x: 2 # contributors y: 83 lines of code Sources/OphanThrift/url+Exts.swift x: 2 # contributors y: 68 lines of code Package.swift x: 7 # contributors y: 20 lines of code
494.0
lines of code
  min: 2.0
  average: 75.71
  25th percentile: 13.0
  median: 50.0
  75th percentile: 98.0
  max: 494.0
0 7.0
# contributors
min: 1.0 | average: 2.07 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 2.0 | max: 7.0