netflix / spectator-py
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 28 files with 542 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 (2 lines of code)
    • 3 files changed 6-20 times (122 lines of code)
    • 24 files changed 1-5 times (418 lines of code)
0% | 0% | <1% | 22% | 77%
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 28 files with 542 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)
    • 4 files changed by 2-5 contributors (124 lines of code)
    • 24 files changed by 1 contributor (418 lines of code)
0% | 0% | 0% | 22% | 77%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
py, yaml, md, txt, in, cfg, gitignore, json
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 0% | <1% | 19% | 80%
cfg0% | 0% | 0% | 100% | 0%
in0% | 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
ROOT0% | 0% | 7% | 81% | 11%
spectator0% | 0% | 0% | 19% | 80%
Most Frequently Changed Files (Top 28)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
setup.py
in root
2 - 2018-04-26 2024-07-19 24 3 brharrington@gmail.com mjjohnson33@gmail.com
registry.py
in spectator
76 24 2018-04-09 2024-08-30 15 5 dmuino@users.noreply.github... mjjohnson33@gmail.com
cfg
setup.cfg
in root
22 - 2024-07-19 2025-03-30 7 2 mjjohnson33@gmail.com mjjohnson33@gmail.com
__init__.py
in spectator
24 - 2019-08-15 2025-03-30 6 2 mjjohnson33@gmail.com mjjohnson33@gmail.com
noop_writer.py
in spectator/writer
9 3 2024-07-11 2024-08-30 3 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
clock.py
in spectator
24 9 2022-04-06 2024-07-19 3 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
monotonic_counter.py
in spectator/meter
9 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
max_gauge.py
in spectator/meter
9 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
percentile_dist_summary.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
percentile_timer.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
timer.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
__init__.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
dist_summary.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
monotonic_counter_uint.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
__init__.py
in spectator/writer
11 3 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
counter.py
in spectator/meter
11 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
age_gauge.py
in spectator/meter
12 3 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
file_writer.py
in spectator/writer
15 3 2024-07-11 2024-08-30 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
gauge.py
in spectator/meter
15 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
memory_writer.py
in spectator/writer
20 7 2024-07-11 2024-08-30 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
udp_writer.py
in spectator/writer
25 3 2024-07-11 2024-08-30 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
config.py
in spectator
26 3 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
protocol_parser.py
in spectator
37 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
meter_id.py
in spectator/meter
51 11 2024-07-19 2024-09-10 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
in
3 - 2024-07-11 2024-07-11 1 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
stopwatch.py
in spectator
14 4 2024-07-19 2024-07-19 1 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
common_tags.py
in spectator
25 3 2024-07-11 2024-07-11 1 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
new_writer.py
in spectator/writer
42 2 2024-07-11 2024-07-11 1 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
Files With Most Contributors (Top 28)
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
registry.py
in spectator
76 24 2018-04-09 2024-08-30 15 5 dmuino@users.noreply.github... mjjohnson33@gmail.com
setup.py
in root
2 - 2018-04-26 2024-07-19 24 3 brharrington@gmail.com mjjohnson33@gmail.com
cfg
setup.cfg
in root
22 - 2024-07-19 2025-03-30 7 2 mjjohnson33@gmail.com mjjohnson33@gmail.com
__init__.py
in spectator
24 - 2019-08-15 2025-03-30 6 2 mjjohnson33@gmail.com mjjohnson33@gmail.com
noop_writer.py
in spectator/writer
9 3 2024-07-11 2024-08-30 3 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
clock.py
in spectator
24 9 2022-04-06 2024-07-19 3 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
config.py
in spectator
26 3 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
monotonic_counter_uint.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
counter.py
in spectator/meter
11 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
dist_summary.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
__init__.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
timer.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
percentile_timer.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
percentile_dist_summary.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
max_gauge.py
in spectator/meter
9 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
gauge.py
in spectator/meter
15 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
age_gauge.py
in spectator/meter
12 3 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
monotonic_counter.py
in spectator/meter
9 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
meter_id.py
in spectator/meter
51 11 2024-07-19 2024-09-10 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
__init__.py
in spectator/writer
11 3 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
memory_writer.py
in spectator/writer
20 7 2024-07-11 2024-08-30 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
file_writer.py
in spectator/writer
15 3 2024-07-11 2024-08-30 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
udp_writer.py
in spectator/writer
25 3 2024-07-11 2024-08-30 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
protocol_parser.py
in spectator
37 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
in
3 - 2024-07-11 2024-07-11 1 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
stopwatch.py
in spectator
14 4 2024-07-19 2024-07-19 1 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
common_tags.py
in spectator
25 3 2024-07-11 2024-07-11 1 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
new_writer.py
in spectator/writer
42 2 2024-07-11 2024-07-11 1 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
Files With Least Contributors (Top 28)
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
meter_id.py
in spectator/meter
51 11 2024-07-19 2024-09-10 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
new_writer.py
in spectator/writer
42 2 2024-07-11 2024-07-11 1 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
protocol_parser.py
in spectator
37 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
config.py
in spectator
26 3 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
common_tags.py
in spectator
25 3 2024-07-11 2024-07-11 1 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
udp_writer.py
in spectator/writer
25 3 2024-07-11 2024-08-30 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
clock.py
in spectator
24 9 2022-04-06 2024-07-19 3 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
memory_writer.py
in spectator/writer
20 7 2024-07-11 2024-08-30 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
gauge.py
in spectator/meter
15 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
file_writer.py
in spectator/writer
15 3 2024-07-11 2024-08-30 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
stopwatch.py
in spectator
14 4 2024-07-19 2024-07-19 1 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
age_gauge.py
in spectator/meter
12 3 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
counter.py
in spectator/meter
11 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
__init__.py
in spectator/writer
11 3 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
monotonic_counter_uint.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
dist_summary.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
__init__.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
timer.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
percentile_timer.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
percentile_dist_summary.py
in spectator/meter
10 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
max_gauge.py
in spectator/meter
9 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
monotonic_counter.py
in spectator/meter
9 2 2024-07-11 2024-07-19 2 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
noop_writer.py
in spectator/writer
9 3 2024-07-11 2024-08-30 3 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
in
3 - 2024-07-11 2024-07-11 1 1 mjjohnson33@gmail.com mjjohnson33@gmail.com
__init__.py
in spectator
24 - 2019-08-15 2025-03-30 6 2 mjjohnson33@gmail.com mjjohnson33@gmail.com
cfg
setup.cfg
in root
22 - 2024-07-19 2025-03-30 7 2 mjjohnson33@gmail.com mjjohnson33@gmail.com
setup.py
in root
2 - 2018-04-26 2024-07-19 24 3 brharrington@gmail.com mjjohnson33@gmail.com
registry.py
in spectator
76 24 2018-04-09 2024-08-30 15 5 dmuino@users.noreply.github... mjjohnson33@gmail.com
Correlations

File Size vs. Number of Changes: 28 points

setup.cfg x: 22 lines of code y: 7 # changes spectator/__init__.py x: 24 lines of code y: 6 # changes spectator/meter/meter_id.py x: 51 lines of code y: 2 # changes spectator/registry.py x: 76 lines of code y: 15 # changes spectator/writer/file_writer.py x: 15 lines of code y: 2 # changes spectator/writer/memory_writer.py x: 20 lines of code y: 2 # changes spectator/writer/noop_writer.py x: 9 lines of code y: 3 # changes spectator/writer/udp_writer.py x: 25 lines of code y: 2 # changes setup.py x: 2 lines of code y: 24 # changes spectator/clock.py x: 24 lines of code y: 3 # changes spectator/config.py x: 26 lines of code y: 2 # changes spectator/meter/__init__.py x: 10 lines of code y: 2 # changes spectator/meter/age_gauge.py x: 12 lines of code y: 2 # changes spectator/meter/counter.py x: 11 lines of code y: 2 # changes spectator/meter/max_gauge.py x: 9 lines of code y: 2 # changes spectator/protocol_parser.py x: 37 lines of code y: 2 # changes spectator/stopwatch.py x: 14 lines of code y: 1 # changes MANIFEST.in x: 3 lines of code y: 1 # changes spectator/common_tags.py x: 25 lines of code y: 1 # changes spectator/writer/new_writer.py x: 42 lines of code y: 1 # changes
24.0
# changes
  min: 1.0
  average: 3.5
  25th percentile: 2.0
  median: 2.0
  75th percentile: 2.0
  max: 24.0
0 76.0
lines of code
min: 2.0 | average: 19.36 | 25th percentile: 10.0 | median: 13.0 | 75th percentile: 24.75 | max: 76.0

Number of Contributors vs. Number of Changes: 28 points

setup.cfg x: 2 # contributors y: 7 # changes spectator/__init__.py x: 2 # contributors y: 6 # changes spectator/meter/meter_id.py x: 1 # contributors y: 2 # changes spectator/registry.py x: 5 # contributors y: 15 # changes spectator/writer/noop_writer.py x: 1 # contributors y: 3 # changes setup.py x: 3 # contributors y: 24 # changes spectator/stopwatch.py x: 1 # contributors y: 1 # changes
24.0
# changes
  min: 1.0
  average: 3.5
  25th percentile: 2.0
  median: 2.0
  75th percentile: 2.0
  max: 24.0
0 5.0
# contributors
min: 1.0 | average: 1.29 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 5.0

Number of Contributors vs. File Size: 28 points

setup.cfg x: 2 # contributors y: 22 lines of code spectator/__init__.py x: 2 # contributors y: 24 lines of code spectator/meter/meter_id.py x: 1 # contributors y: 51 lines of code spectator/registry.py x: 5 # contributors y: 76 lines of code spectator/writer/file_writer.py x: 1 # contributors y: 15 lines of code spectator/writer/memory_writer.py x: 1 # contributors y: 20 lines of code spectator/writer/noop_writer.py x: 1 # contributors y: 9 lines of code spectator/writer/udp_writer.py x: 1 # contributors y: 25 lines of code setup.py x: 3 # contributors y: 2 lines of code spectator/clock.py x: 1 # contributors y: 24 lines of code spectator/config.py x: 1 # contributors y: 26 lines of code spectator/meter/__init__.py x: 1 # contributors y: 10 lines of code spectator/meter/age_gauge.py x: 1 # contributors y: 12 lines of code spectator/meter/counter.py x: 1 # contributors y: 11 lines of code spectator/protocol_parser.py x: 1 # contributors y: 37 lines of code spectator/stopwatch.py x: 1 # contributors y: 14 lines of code MANIFEST.in x: 1 # contributors y: 3 lines of code spectator/writer/new_writer.py x: 1 # contributors y: 42 lines of code
76.0
lines of code
  min: 2.0
  average: 19.36
  25th percentile: 10.0
  median: 13.0
  75th percentile: 24.75
  max: 76.0
0 5.0
# contributors
min: 1.0 | average: 1.29 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 5.0