7.6 s

Rust repository report

4.7 μs

Overall statistics (on the date 2020-12-02)

  • Number of PRs: 42563

  • Number of merged PRs: 31814

  • Number of closed (non merged PRs): 10425

  • Number of mergers (those who can accept and merge PR): 29

  • Number of PR authors: 3555

Top mergers

10 rows × 2 columns

mergedBycnt
String?Int64
1bors30695
2alexcrichton399
3brson279
4catamorphism128
5graydon86
6huonw61
7pcwalton39
8kennytm25
9thestinger18
10missing17

Top authors

10 rows × 2 columns

authorcnt
String?Int64
1alexcrichton2478
2GuillaumeGomez1349
3Centril1202
4steveklabnik986
5brson823
6RalfJung777
7petrochenkov671
8estebank661
9Mark-Simulacrum630
10nikomatsakis627
6.5 s

PR dynamics

New PRs each year

11 rows × 2 columns

create_yearcnt
Int64Int64
1201010
22011329
32012606
420133613
520144707
620155573
720164473
820174434
920185212
1020196241
1120207365
Merged PRs

Here you can see all merged PRs aggregated by the year of their creation. Comparing with the previuos table, you can estimate ratio of merged to created PRs. Of course, this statistics is skewed, since older PRs have more time to be merged, that is why later we compare number of closed or merged PRs during some period of time (1 month or 1 year).

11 rows × 2 columns

create_yearcnt
Int64Int64
120103
22011104
32012278
420131398
520143101
620154673
720163742
820173635
920184356
1020194926
1120205598

Plot of new and merged PR, aggregated by the year of PR creation

Ratio of merged/created PRs

13.5 s

Mergers dynamic

On this plot you can see various types of "mergers" aggregated by the year when they were active (i.e. they were actually merging PRs).

Active unique mergers means number of unique users, who were accepting PRs during each year.

New mergers for some year, means number of users who were merging PRs and made their first merge this year,

New mergers each year

7 rows × 2 columns

first_merge_yearcnt
Int64Int64
1201113
220123
320133
420141
520156
620161
720182
2.4 s

Authors dynamic

On this plot you can see number of active PR authors, i.e. they were actually creating PRs during corresponding year.

Active unique authors means number of unique users, who were creating PRs during each year.

New authors for some year means number of users who were creating PRs and made their first PR this year.

By comparing this plot with the mergers plots, you can maje correspondence between flow of authors and PRs on one hand and adequacy of merging efforts on the other hand.

By comparing with the dynamics of New PRs you can estimate average number of PRs per author and as a result PR efforts of an average author.

Quantiles of PR number per new author

This one is expanding on previous plot, by estimating amount of PRs generated by new authors during the year after first PR. For example, you can see, that starting from 2017 more than a half (median) authors generated only one PR.In terms of retention it means, that more than half of new authors never returns to PR activity.

2.9 s

Quantiles of waiting time (hours) of PR close/merge

In this table and related plot you can see how long it took to wait till PR is closed (which can be either rejecting or merging) in different years. Since waiting time is heavily skewed we are using quantiles, q1 is 5% quantile, q2 is 25% quantile, q3 is median(50% quantile), q4 is 75% quantile. We do not used 95% quantile, since it went to infinity in 2019 (more than 5% of PRs were never closed). This data can be read as follows: it took 21 hour for half PRs to be closed in 2014 and 78 hours in 2019.

N.B.: y axis is in log scale, so linear growth on the plot means exponential growth in absolute values.

11 rows × 5 columns

yearq1q2q3q4
Int64Float64Float64Float64Float64
120100.60255.5570839.7575235.719
220110.07211110.6419444.8552824.6072
320120.03840280.96516.316146.0313
420131.086396.4316720.929260.3672
520142.4714714.907136.860899.4787
620152.5417812.628130.320681.9769
720163.0401125.255663.6706172.754
820172.5805618.317857.5393155.55
920184.2345725.563374.2031224.89
1020191.9902813.952248.3014192.854
1120202.0507212.769747.4572224.826

PRs with long close time

in this table and plot, you can see number and ratio of PRs that has waited longer then one month (or one year) to be closed or they are still open up to this moment. For example, out of 1826 PRs created in 2014 only 253 (13.8%) PRs were closed after one month after creation. On the contrary out of 2042 PRs created in 2019 515(25%) were not closed during one month after creation.

Year 2020 is skewed for the statistics of 1 year since for many PRs one year is not over yet. So it should not be taken into account and was removed from the corresponding plot. But 1 month statistics for 2020 is acceptable.

11 rows × 6 columns

yearcntcnt_month_waitcnt_year_waitratio_month_waitratio_year_wait
Int64Int64Int64Int64Float64Float64
1201010200.20.0
22011329200.006079030.0
32012606200.003300330.0
4201336136200.01716030.0
52014470714810.03144250.00021245
62015557322300.04001440.0
72016447332100.07176390.0
82017443422200.05006770.0
92018521245090.08633920.00172678
102019624153430.08556320.000480692
11202073659033220.1226070.0437203
2.6 s

State of the first PR of new authors.

Here you can find what has happened with the first PR of new authors. Generally PR can be in one of three states: Open, Merged or Closed (i.e. Rejected). Of course this statistics is skewed, since it older PR has more chances to be in Merged or Rejected state.

11 rows × 9 columns

yearmerged_cntclosed_cntopen_cntpr_cntrejected_cntratioopen_ratiorejected_ratio
Int64Int64Int64Int64Int64Int64Float64Float64Float64
12010030330.00.01.0
22011926026170.3461540.00.653846
320125294094420.5531910.00.446809
4201310025002501500.40.00.6
5201429347904791860.6116910.00.388309
6201547160306031320.7810950.00.218905
720163654540454890.8039650.00.196035
820173143940394800.7969540.00.203046
920183063660366600.8360660.00.163934
1020193174140414970.76570.00.2343
11202034444230472980.7288140.06355930.207627
2.9 s

Core and non-core developers

PRs by developer group

In the following table and plot is shown number of PR aggregated by the year of creation and whether it was created by someone from core team (developers who can merge PRs) and other contributors. other_ratio field is a ratio of PRs made by non core developers to the all PRs.

11 rows × 4 columns

yearOtherCoreother_ratio
Int64Int64?Int64?Float64?
1201010missingmissing
220111661630.504559
320123652410.60231
42013162919840.450872
52014302516820.64266
62015399315800.71649
7201635998740.804605
8201735578770.80221
9201842769360.820414
10201957215200.91668
11202070792860.961168

Median waiting times by developer group

Here you can see median waiting time of PRs split by developer group. You can compare it with overall median times presented in "Quantiles of waiting time" section. The same definition of waiting time is used.

11 rows × 3 columns

yearOtherCore
Int64Float64?Float64?
1201039.7575missing
220114.824445.35222
320129.6227822.5967
4201324.260618.4076
5201439.642532.9236
6201531.426727.9093
7201667.482247.6631
8201762.905840.9631
9201883.865432.4268
10201948.195650.1993
11202047.271457.6315
3.5 s
14.5 s