7.6 s

Chapel repository report

4.5 μs

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

  • Number of PRs: 12440

  • Number of merged PRs: 11775

  • Number of closed (non merged PRs): 637

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

  • Number of PR authors: 134

Top mergers

10 rows × 2 columns

mergedBycnt
String?Int64
1mppf1789
2ronawho1648
3bradcray1367
4lydia-duncan1071
5vasslitvinov803
6benharsh780
7ben-albrecht704
8noakesmichael681
9gbtitus539
10daviditen476

Top authors

10 rows × 2 columns

authorcnt
StringInt64
1mppf1794
2ronawho1660
3bradcray1391
4lydia-duncan982
5vasslitvinov818
6benharsh764
7noakesmichael707
8gbtitus553
9ben-albrecht517
10daviditen466
4.9 s

PR dynamics

New PRs each year

7 rows × 2 columns

create_yearcnt
Int64Int64
120141077
220151988
320161995
420172230
520181991
620191721
720201438
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).

7 rows × 2 columns

create_yearcnt
Int64Int64
120141031
220151885
320161888
420172103
520181903
620191627
720201338

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

Ratio of merged/created PRs

14.0 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

6 rows × 2 columns

first_merge_yearcnt
Int64Int64
1201416
220155
320164
420172
520195
620202
2.6 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.

7 rows × 5 columns

yearq1q2q3q4
Int64Float64Float64Float64Float64
120140.003611110.03888890.4258336.65
220150.006388890.1443060.7201398.88312
320160.009722220.2730561.6269422.5712
420170.02163890.1681251.4736128.1273
520180.01847220.3581943.1483350.1911
620190.09250.4769444.9552871.2994
720200.08547220.4786814.5413993.2172

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.

7 rows × 6 columns

yearcntcnt_month_waitcnt_year_waitratio_month_waitratio_year_wait
Int64Int64Int64Int64Float64Float64
1201410771400.01299910.0
2201519883600.01810870.0
3201619954300.02155390.0
4201722304910.02197310.00044843
5201819914700.02360620.0
6201917217830.04532250.00174317
72020143895260.0660640.0180807
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.

7 rows × 9 columns

yearmerged_cntclosed_cntopen_cntpr_cntrejected_cntratioopen_ratiorejected_ratio
Int64Int64Int64Int64Int64Int64Float64Float64Float64
12014182302350.7826090.00.217391
2201581201240.6666670.00.333333
32016111601650.68750.00.3125
42017121901970.6315790.00.368421
52018111501540.7333330.00.266667
62019172202250.7727270.00.227273
720201226127140.4444440.0370370.518519
3.4 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.

7 rows × 4 columns

yearCoreOtherother_ratio
Int64Int64?Int64?Float64
120141062150.0139276
220151958300.0150905
3201618221730.0867168
4201721111190.0533632
520181894970.0487192
6201915861350.0784428
7202012511870.130042

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.

7 rows × 3 columns

yearCoreOther
Int64Float64?Float64?
120140.39777846.2669
220150.68791740.7868
320161.2511119.8503
420171.17667117.386
520182.56944123.003
620193.23736273.862
720202.54972292.739
3.4 s
14.5 s