Uber / libphutil
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 331 files with 39,556 lines of code.
    • 1 file changed more than 100 times (918 lines of code)
    • 7 files changed 51-100 times (11,552 lines of code)
    • 21 files changed 21-50 times (6,205 lines of code)
    • 111 files changed 6-20 times (13,799 lines of code)
    • 191 files changed 1-5 times (7,082 lines of code)
2% | 29% | 15% | 34% | 17%
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 331 files with 39,556 lines of code.
    • 1 file changed by more than 25 contributors (918 lines of code)
    • 4 files changed by 11-25 contributors (4,153 lines of code)
    • 36 files changed by 6-10 contributors (14,741 lines of code)
    • 215 files changed by 2-5 contributors (16,620 lines of code)
    • 75 files changed by 1 contributor (3,124 lines of code)
2% | 10% | 37% | 42% | 7%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
php, txt, editorconfig, json, hpp, cpp, xml, md, yml, gitignore, arcconfig, l, y
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
php3% | 8% | 18% | 47% | 23%
cpp0% | 100% | 0% | 0% | 0%
y0% | 100% | 0% | 0% | 0%
hpp0% | 0% | 65% | 34% | 0%
l0% | 0% | 100% | 0% | 0%
xml0% | 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
src3% | 8% | 19% | 46% | 22%
support0% | 84% | 9% | 5% | <1%
scripts0% | 0% | 3% | 53% | 42%
externals0% | 0% | 0% | 25% | 74%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
918 - 2011-01-10 2020-04-24 345 31 epriestley@javelinjs.com arturas@uber.com
utils.php
in src/utils
888 49 2011-01-13 2021-12-03 97 16 epriestley@javelinjs.com arturas@uber.com
xhpast.cpp
in support/xhpast
97 3 2011-01-10 2019-10-03 71 15 epriestley@javelinjs.com arturas@uber.com
Filesystem.php
in src/filesystem
640 34 2011-01-15 2019-03-20 64 16 epriestley@javelinjs.com povilas@uber.com
y
parser.y
in support/xhpast
2528 - 2011-01-10 2019-10-03 61 15 epriestley@javelinjs.com arturas@uber.com
ExecFuture.php
in src/future/exec
503 34 2011-01-15 2019-02-07 55 10 epriestley@javelinjs.com povilas@uber.com
parser.yacc.cpp
in support/xhpast
6589 1 2011-06-13 2019-10-03 53 8 git@epriestley.com arturas@uber.com
307 14 2012-06-01 2020-04-24 51 10 jakubv@fb.com arturas@uber.com
utf8.php
in src/utils
559 23 2011-06-23 2018-08-20 43 10 git@epriestley.com povilas@uber.com
54 1 2011-01-10 2019-03-20 39 9 epriestley@javelinjs.com povilas@uber.com
PhutilServiceProfiler.php
in src/serviceprofiler
189 12 2011-05-16 2023-09-21 38 8 git@epriestley.com asemia@ext.uber.com
ConduitClient.php
in src/conduit
326 22 2012-06-01 2020-12-15 38 10 jakubv@fb.com arturas@uber.com
HTTPSFuture.php
in src/future/http
484 25 2012-06-01 2020-12-15 36 9 jakubv@fb.com arturas@uber.com
322 15 2011-04-05 2021-12-03 33 8 tuomas.pelkonen@fb.com arturas@uber.com
PhutilURI.php
in src/parser
394 34 2012-06-01 2019-03-20 33 7 jakubv@fb.com povilas@uber.com
scanner.lex.hpp
in support/xhpast
549 - 2011-06-13 2019-02-07 33 8 git@epriestley.com povilas@uber.com
PhutilArgumentParser.php
in src/parser/argument
630 26 2012-06-01 2018-10-22 33 9 jakubv@fb.com povilas@uber.com
PhutilTranslator.php
in src/internationalization
176 11 2012-06-14 2016-11-12 32 8 jakubv@fb.com git@epriestley.com
render.php
in src/markup
128 10 2011-01-15 2018-09-05 31 7 epriestley@javelinjs.com povilas@uber.com
199 11 2011-01-12 2019-03-20 30 7 epriestley@javelinjs.com povilas@uber.com
PhutilDaemon.php
in src/daemon
244 34 2012-06-01 2018-05-23 26 7 jakubv@fb.com povilas@uber.com
379 40 2015-02-22 2020-04-24 26 5 git@epriestley.com arturas@uber.com
l
scanner.l
in support/xhpast
457 - 2011-01-10 2016-05-21 26 7 epriestley@javelinjs.com git@epriestley.com
42 1 2011-02-22 2021-12-03 25 8 epriestley@javelinjs.com arturas@uber.com
PhutilBootloader.php
in src/moduleutils
221 14 2014-07-05 2019-03-20 24 4 josh@joshuaspence.com povilas@uber.com
BaseHTTPFuture.php
in src/future/http
199 22 2012-06-01 2020-12-15 23 8 jakubv@fb.com arturas@uber.com
AASTNode.php
in src/parser/aast/api
293 39 2012-06-01 2016-03-05 22 4 jakubv@fb.com git@epriestley.com
format.php
in src/console
149 7 2011-01-15 2018-06-25 21 7 epriestley@javelinjs.com povilas@uber.com
PhutilLibraryMapBuilder.php
in src/moduleutils
211 17 2014-07-05 2021-09-04 21 5 josh@joshuaspence.com cspeckrun@gmail.com
79 5 2011-01-15 2015-09-26 20 9 epriestley@javelinjs.com git@epriestley.com
exec_daemon.php
in scripts/daemon/exec
112 - 2011-02-22 2017-02-25 20 5 epriestley@javelinjs.com git@epriestley.com
generate_nodes.php
in support/xhpast
150 1 2011-01-10 2018-06-26 19 8 epriestley@javelinjs.com povilas@uber.com
PhutilPygmentsSyntaxHighlighter.php
in src/markup/syntax/highlighter
204 3 2012-06-01 2019-03-20 19 7 jakubv@fb.com povilas@uber.com
csprintf.php
in src/xsprintf
82 3 2012-06-01 2017-02-25 18 5 jakubv@fb.com git@epriestley.com
XHPASTNode.php
in src/parser/xhpast/api
212 7 2012-06-01 2020-08-28 18 6 jakubv@fb.com arturas@uber.com
FileFinder.php
in src/filesystem
247 15 2012-06-01 2018-06-26 18 6 jakubv@fb.com povilas@uber.com
PhutilDefaultSyntaxHighlighterEngine.php
in src/markup/syntax/engine
90 3 2012-06-01 2019-03-20 17 6 jakubv@fb.com povilas@uber.com
PhutilOAuth1Future.php
in src/future/oauth
234 22 2013-08-08 2019-10-03 17 5 git@epriestley.com arturas@uber.com
parser_nodes.php
in support/xhpast
122 1 2011-01-10 2018-06-26 16 6 epriestley@javelinjs.com povilas@uber.com
131 12 2012-06-01 2019-10-03 16 7 jakubv@fb.com arturas@uber.com
parser.yacc.hpp
in support/xhpast
160 - 2011-06-13 2016-05-21 16 5 git@epriestley.com git@epriestley.com
HTTPFuture.php
in src/future/http
229 11 2011-01-15 2019-03-20 16 7 epriestley@javelinjs.com povilas@uber.com
400 3 2014-07-05 2018-10-15 16 5 josh@joshuaspence.com povilas@uber.com
PhutilDeferredLog.php
in src/filesystem
91 9 2012-06-01 2018-06-13 15 5 jakubv@fb.com povilas@uber.com
PhutilAWSFuture.php
in src/future/aws
132 21 2012-06-01 2019-03-20 15 6 jakubv@fb.com povilas@uber.com
117 15 2012-06-08 2015-05-12 14 3 git@epriestley.com josh@joshuaspence.com
134 9 2015-06-23 2020-04-24 14 3 git@epriestley.com arturas@uber.com
FutureIterator.php
in src/future
162 12 2011-01-15 2015-06-15 14 6 epriestley@javelinjs.com josh@joshuaspence.com
PhutilConsole.php
in src/console
185 26 2012-06-25 2015-06-15 14 3 git@epriestley.com josh@joshuaspence.com
PhutilTypeSpec.php
in src/parser
1847 12 2013-08-23 2021-12-07 14 5 git@epriestley.com arturas@uber.com
Files With Most Contributors (Top 50)
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
918 - 2011-01-10 2020-04-24 345 31 epriestley@javelinjs.com arturas@uber.com
utils.php
in src/utils
888 49 2011-01-13 2021-12-03 97 16 epriestley@javelinjs.com arturas@uber.com
Filesystem.php
in src/filesystem
640 34 2011-01-15 2019-03-20 64 16 epriestley@javelinjs.com povilas@uber.com
xhpast.cpp
in support/xhpast
97 3 2011-01-10 2019-10-03 71 15 epriestley@javelinjs.com arturas@uber.com
y
parser.y
in support/xhpast
2528 - 2011-01-10 2019-10-03 61 15 epriestley@javelinjs.com arturas@uber.com
ExecFuture.php
in src/future/exec
503 34 2011-01-15 2019-02-07 55 10 epriestley@javelinjs.com povilas@uber.com
307 14 2012-06-01 2020-04-24 51 10 jakubv@fb.com arturas@uber.com
utf8.php
in src/utils
559 23 2011-06-23 2018-08-20 43 10 git@epriestley.com povilas@uber.com
ConduitClient.php
in src/conduit
326 22 2012-06-01 2020-12-15 38 10 jakubv@fb.com arturas@uber.com
54 1 2011-01-10 2019-03-20 39 9 epriestley@javelinjs.com povilas@uber.com
HTTPSFuture.php
in src/future/http
484 25 2012-06-01 2020-12-15 36 9 jakubv@fb.com arturas@uber.com
PhutilArgumentParser.php
in src/parser/argument
630 26 2012-06-01 2018-10-22 33 9 jakubv@fb.com povilas@uber.com
79 5 2011-01-15 2015-09-26 20 9 epriestley@javelinjs.com git@epriestley.com
parser.yacc.cpp
in support/xhpast
6589 1 2011-06-13 2019-10-03 53 8 git@epriestley.com arturas@uber.com
PhutilServiceProfiler.php
in src/serviceprofiler
189 12 2011-05-16 2023-09-21 38 8 git@epriestley.com asemia@ext.uber.com
scanner.lex.hpp
in support/xhpast
549 - 2011-06-13 2019-02-07 33 8 git@epriestley.com povilas@uber.com
322 15 2011-04-05 2021-12-03 33 8 tuomas.pelkonen@fb.com arturas@uber.com
PhutilTranslator.php
in src/internationalization
176 11 2012-06-14 2016-11-12 32 8 jakubv@fb.com git@epriestley.com
42 1 2011-02-22 2021-12-03 25 8 epriestley@javelinjs.com arturas@uber.com
BaseHTTPFuture.php
in src/future/http
199 22 2012-06-01 2020-12-15 23 8 jakubv@fb.com arturas@uber.com
generate_nodes.php
in support/xhpast
150 1 2011-01-10 2018-06-26 19 8 epriestley@javelinjs.com povilas@uber.com
PhutilURI.php
in src/parser
394 34 2012-06-01 2019-03-20 33 7 jakubv@fb.com povilas@uber.com
render.php
in src/markup
128 10 2011-01-15 2018-09-05 31 7 epriestley@javelinjs.com povilas@uber.com
199 11 2011-01-12 2019-03-20 30 7 epriestley@javelinjs.com povilas@uber.com
l
scanner.l
in support/xhpast
457 - 2011-01-10 2016-05-21 26 7 epriestley@javelinjs.com git@epriestley.com
PhutilDaemon.php
in src/daemon
244 34 2012-06-01 2018-05-23 26 7 jakubv@fb.com povilas@uber.com
format.php
in src/console
149 7 2011-01-15 2018-06-25 21 7 epriestley@javelinjs.com povilas@uber.com
PhutilPygmentsSyntaxHighlighter.php
in src/markup/syntax/highlighter
204 3 2012-06-01 2019-03-20 19 7 jakubv@fb.com povilas@uber.com
HTTPFuture.php
in src/future/http
229 11 2011-01-15 2019-03-20 16 7 epriestley@javelinjs.com povilas@uber.com
131 12 2012-06-01 2019-10-03 16 7 jakubv@fb.com arturas@uber.com
FileFinder.php
in src/filesystem
247 15 2012-06-01 2018-06-26 18 6 jakubv@fb.com povilas@uber.com
XHPASTNode.php
in src/parser/xhpast/api
212 7 2012-06-01 2020-08-28 18 6 jakubv@fb.com arturas@uber.com
PhutilDefaultSyntaxHighlighterEngine.php
in src/markup/syntax/engine
90 3 2012-06-01 2019-03-20 17 6 jakubv@fb.com povilas@uber.com
parser_nodes.php
in support/xhpast
122 1 2011-01-10 2018-06-26 16 6 epriestley@javelinjs.com povilas@uber.com
PhutilAWSFuture.php
in src/future/aws
132 21 2012-06-01 2019-03-20 15 6 jakubv@fb.com povilas@uber.com
FutureIterator.php
in src/future
162 12 2011-01-15 2015-06-15 14 6 epriestley@javelinjs.com josh@joshuaspence.com
168 7 2012-06-01 2021-12-03 13 6 jakubv@fb.com arturas@uber.com
parser_nodes.php
in src/parser/xhpast
122 1 2012-06-01 2018-06-26 11 6 jakubv@fb.com povilas@uber.com
PhutilAWSException.php
in src/future/aws
40 3 2012-06-01 2018-06-19 10 6 jakubv@fb.com povilas@uber.com
ConduitFuture.php
in src/conduit
72 3 2012-06-01 2020-12-15 9 6 jakubv@fb.com arturas@uber.com
astnode.hpp
in support/xhpast
81 - 2011-01-10 2015-11-10 8 6 epriestley@javelinjs.com git@epriestley.com
379 40 2015-02-22 2020-04-24 26 5 git@epriestley.com arturas@uber.com
PhutilLibraryMapBuilder.php
in src/moduleutils
211 17 2014-07-05 2021-09-04 21 5 josh@joshuaspence.com cspeckrun@gmail.com
exec_daemon.php
in scripts/daemon/exec
112 - 2011-02-22 2017-02-25 20 5 epriestley@javelinjs.com git@epriestley.com
csprintf.php
in src/xsprintf
82 3 2012-06-01 2017-02-25 18 5 jakubv@fb.com git@epriestley.com
PhutilOAuth1Future.php
in src/future/oauth
234 22 2013-08-08 2019-10-03 17 5 git@epriestley.com arturas@uber.com
parser.yacc.hpp
in support/xhpast
160 - 2011-06-13 2016-05-21 16 5 git@epriestley.com git@epriestley.com
400 3 2014-07-05 2018-10-15 16 5 josh@joshuaspence.com povilas@uber.com
PhutilDeferredLog.php
in src/filesystem
91 9 2012-06-01 2018-06-13 15 5 jakubv@fb.com povilas@uber.com
PhutilTypeSpec.php
in src/parser
1847 12 2013-08-23 2021-12-07 14 5 git@epriestley.com arturas@uber.com
Files With Least Contributors (Top 50)
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
503 - 2016-11-16 2016-11-19 2 1 git@epriestley.com git@epriestley.com
PhageAgentAction.php
in src/phage/action
204 15 2017-02-17 2017-03-05 7 1 git@epriestley.com git@epriestley.com
PhutilConsoleTable.php
in src/console/view
186 16 2015-09-21 2015-09-26 3 1 git@epriestley.com git@epriestley.com
168 5 2016-12-02 2016-12-10 3 1 git@epriestley.com git@epriestley.com
118 4 2015-05-18 2015-06-15 3 1 josh@joshuaspence.com josh@joshuaspence.com
103 1 2014-07-05 2015-05-17 5 1 josh@joshuaspence.com josh@joshuaspence.com
PhutilGitHubFuture.php
in src/future/github
101 9 2016-03-08 2016-03-12 2 1 git@epriestley.com git@epriestley.com
PhutilRope.php
in src/utils
78 6 2013-12-15 2016-01-23 6 1 git@epriestley.com git@epriestley.com
73 8 2016-06-09 2016-06-11 2 1 git@epriestley.com git@epriestley.com
AphrontRequestStream.php
in src/aphront/requeststream
69 6 2016-03-16 2016-03-19 3 1 git@epriestley.com git@epriestley.com
PhutilAWSManagementWorkflow.php
in src/future/aws/management
69 3 2016-01-09 2016-01-15 2 1 git@epriestley.com git@epriestley.com
68 5 2016-12-02 2016-12-10 3 1 git@epriestley.com git@epriestley.com
PhutilConsoleView.php
in src/console/view
65 7 2015-09-21 2015-09-26 2 1 git@epriestley.com git@epriestley.com
HTTPFutureCURLResponseStatus.php
in src/future/http/status
61 4 2014-07-22 2015-05-13 4 1 josh@joshuaspence.com josh@joshuaspence.com
58 3 2016-05-05 2016-05-14 2 1 git@epriestley.com git@epriestley.com
56 5 2015-05-24 2016-11-26 3 1 git@epriestley.com git@epriestley.com
49 6 2016-03-18 2016-03-19 2 1 git@epriestley.com git@epriestley.com
PhutilConsoleList.php
in src/console/view
49 7 2015-09-21 2016-11-26 6 1 git@epriestley.com git@epriestley.com
PhutilAWSS3GetManagementWorkflow.php
in src/future/aws/management
48 2 2016-01-09 2016-01-15 2 1 git@epriestley.com git@epriestley.com
PhageExecuteAction.php
in src/phage/action
47 11 2017-02-17 2017-03-05 6 1 git@epriestley.com git@epriestley.com
44 3 2014-06-19 2015-06-15 5 1 josh@joshuaspence.com josh@joshuaspence.com
PhagePlanAction.php
in src/phage/action
42 5 2017-02-17 2017-02-18 2 1 git@epriestley.com git@epriestley.com
41 8 2016-03-18 2016-03-19 2 1 git@epriestley.com git@epriestley.com
PhutilAWSS3PutManagementWorkflow.php
in src/future/aws/management
41 2 2016-01-09 2016-01-15 2 1 git@epriestley.com git@epriestley.com
PhutilConsoleBlock.php
in src/console/view
38 3 2015-09-21 2016-11-26 4 1 git@epriestley.com git@epriestley.com
PhutilGitHubResponse.php
in src/future/github
37 7 2016-03-08 2016-03-12 2 1 git@epriestley.com git@epriestley.com
HTTPFutureTransportResponseStatus.php
in src/future/http/status
37 4 2014-07-22 2015-05-12 2 1 josh@joshuaspence.com josh@joshuaspence.com
PhutilAWSS3DeleteManagementWorkflow.php
in src/future/aws/management
37 2 2016-01-09 2016-01-15 2 1 git@epriestley.com git@epriestley.com
PhageAction.php
in src/phage/action
35 5 2017-02-17 2017-02-18 2 1 git@epriestley.com git@epriestley.com
PhutilJSONParserException.php
in src/parser/exception
32 5 2014-06-19 2014-06-23 3 1 josh@joshuaspence.com josh@joshuaspence.com
31 - 2016-11-16 2016-11-19 2 1 git@epriestley.com git@epriestley.com
30 5 2016-03-18 2016-03-19 2 1 git@epriestley.com git@epriestley.com
27 4 2014-07-05 2015-05-12 3 1 josh@joshuaspence.com josh@joshuaspence.com
PhutilAllCapsEnglishLocale.php
in src/internationalization/locales
25 6 2015-02-11 2015-02-11 1 1 git@epriestley.com git@epriestley.com
tsprintf.php
in src/xsprintf
24 2 2015-05-24 2015-09-26 3 1 git@epriestley.com git@epriestley.com
24 3 2015-05-13 2015-05-13 1 1 josh@joshuaspence.com josh@joshuaspence.com
pregsprintf.php
in src/xsprintf
22 2 2015-07-07 2015-07-07 1 1 josh@joshuaspence.com josh@joshuaspence.com
22 3 2014-12-30 2014-12-30 1 1 git@epriestley.com git@epriestley.com
PhutilEmojiLocale.php
in src/internationalization/locales
21 5 2016-05-26 2016-05-30 2 1 git@epriestley.com git@epriestley.com
21 1 2015-10-17 2015-10-24 2 1 git@epriestley.com git@epriestley.com
PhutilAWSS3ManagementWorkflow.php
in src/future/aws/management
20 2 2016-01-09 2016-01-15 2 1 git@epriestley.com git@epriestley.com
PhutilCzechLocale.php
in src/internationalization/locales
19 3 2015-02-11 2016-05-30 4 1 git@epriestley.com git@epriestley.com
19 4 2014-07-21 2014-07-21 1 1 josh@joshuaspence.com josh@joshuaspence.com
aws-s3.php
in scripts/utils
16 - 2016-01-09 2016-01-15 2 1 git@epriestley.com git@epriestley.com
PhutilVeryWowEnglishLocale.php
in src/internationalization/locales
15 4 2015-02-11 2015-02-11 1 1 git@epriestley.com git@epriestley.com
15 3 2016-09-07 2016-09-17 2 1 git@epriestley.com git@epriestley.com
ParsingException.php
in externals/jsonlint/src/Seld/JsonLint
14 2 2014-06-19 2014-06-19 1 1 josh@joshuaspence.com josh@joshuaspence.com
14 2 2013-08-23 2013-08-23 1 1 git@epriestley.com git@epriestley.com
14 2 2013-08-23 2013-08-23 1 1 git@epriestley.com git@epriestley.com
13 2 2016-09-07 2016-09-17 2 1 git@epriestley.com git@epriestley.com
Correlations

File Size vs. Number of Changes: 332 points

src/serviceprofiler/PhutilServiceProfiler.php x: 189 lines of code y: 38 # changes scripts/phutil_rebuild_map.php x: 62 lines of code y: 5 # changes src/moduleutils/PhutilLibraryMapBuilder.php x: 211 lines of code y: 21 # changes src/utils/utils.php x: 888 lines of code y: 97 # changes src/parser/PhutilTypeSpec.php x: 1847 lines of code y: 14 # changes src/error/PhutilErrorHandler.php x: 322 lines of code y: 33 # changes src/error/PhutilErrorTrap.php x: 37 lines of code y: 4 # changes scripts/__init_script__.php x: 42 lines of code y: 25 # changes src/utils/AbstractDirectedGraph.php x: 168 lines of code y: 13 # changes src/conduit/ConduitClient.php x: 326 lines of code y: 38 # changes src/conduit/ConduitFuture.php x: 72 lines of code y: 9 # changes src/future/http/BaseHTTPFuture.php x: 199 lines of code y: 23 # changes src/future/http/HTTPSFuture.php x: 484 lines of code y: 36 # changes src/future/exec/PhutilExecPassthru.php x: 73 lines of code y: 6 # changes src/parser/xhpast/api/XHPASTNode.php x: 212 lines of code y: 18 # changes src/__phutil_library_map__.php x: 918 lines of code y: 345 # changes src/daemon/PhutilDaemonHandle.php x: 379 lines of code y: 26 # changes src/daemon/PhutilDaemonOverseer.php x: 307 lines of code y: 51 # changes src/filesystem/PhutilProcessQuery.php x: 71 lines of code y: 6 # changes src/filesystem/PhutilProcessRef.php x: 67 lines of code y: 7 # changes src/parser/html/PhutilDOMNode.php x: 150 lines of code y: 7 # changes src/parser/html/PhutilHTMLParser.php x: 275 lines of code y: 6 # changes src/parser/http/PhutilHTTPResponse.php x: 49 lines of code y: 7 # changes src/parser/http/PhutilHTTPResponseParser.php x: 150 lines of code y: 10 # changes src/progress/PhutilConsoleProgressSink.php x: 87 lines of code y: 4 # changes src/symbols/PhutilClassMapQuery.php x: 134 lines of code y: 14 # changes src/future/http/status/HTTPFutureHTTPResponseStatus.php x: 53 lines of code y: 5 # changes src/console/PhutilInteractiveEditor.php x: 131 lines of code y: 16 # changes src/future/oauth/PhutilOAuth1Future.php x: 234 lines of code y: 17 # changes support/xhpast/parser.y x: 2528 lines of code y: 61 # changes support/xhpast/parser.yacc.cpp x: 6589 lines of code y: 53 # changes support/xhpast/xhpast.cpp x: 97 lines of code y: 71 # changes src/__phutil_library_init__.php x: 54 lines of code y: 39 # changes src/error/PhutilProxyException.php x: 16 lines of code y: 4 # changes src/error/phlog.php x: 25 lines of code y: 10 # changes src/filesystem/Filesystem.php x: 640 lines of code y: 64 # changes src/future/aws/PhutilAWSv4Signature.php x: 199 lines of code y: 6 # changes src/future/exec/PhutilExecutableFuture.php x: 86 lines of code y: 8 # changes src/future/http/HTTPFuture.php x: 229 lines of code y: 16 # changes src/future/postmark/PhutilPostmarkFuture.php x: 78 lines of code y: 7 # changes src/markup/syntax/engine/PhutilDefaultSyntaxHighlighterEngine.php x: 90 lines of code y: 17 # changes src/moduleutils/PhutilBootloader.php x: 221 lines of code y: 24 # changes src/parser/PhutilJSON.php x: 74 lines of code y: 11 # changes src/parser/PhutilURI.php x: 394 lines of code y: 33 # changes src/parser/argument/PhutilArgumentSpellingCorrector.php x: 98 lines of code y: 5 # changes src/symbols/PhutilSymbolLoader.php x: 199 lines of code y: 30 # changes src/symbols/exception/PhutilMissingSymbolException.php x: 25 lines of code y: 11 # changes src/future/exec/ExecFuture.php x: 503 lines of code y: 55 # changes src/lexer/PhutilJavaFragmentLexer.php x: 112 lines of code y: 9 # changes support/xhpast/scanner.lex.hpp x: 549 lines of code y: 33 # changes src/filesystem/PhutilLockException.php x: 11 lines of code y: 4 # changes src/parser/argument/PhutilArgumentParser.php x: 630 lines of code y: 33 # changes scripts/phutil_symbols.php x: 400 lines of code y: 16 # changes src/filesystem/TempFile.php x: 40 lines of code y: 9 # changes src/utils/PhutilUTF8StringTruncator.php x: 170 lines of code y: 9 # changes src/utils/PhutilSortVector.php x: 32 lines of code y: 5 # changes src/markup/render.php x: 128 lines of code y: 31 # changes src/parser/PhutilEmailAddress.php x: 81 lines of code y: 10 # changes src/utils/utf8.php x: 559 lines of code y: 43 # changes src/filesystem/FileFinder.php x: 247 lines of code y: 18 # changes src/parser/xhpast/parser_nodes.php x: 122 lines of code y: 11 # changes support/xhpast/generate_nodes.php x: 150 lines of code y: 19 # changes support/xhpast/parser_nodes.php x: 122 lines of code y: 16 # changes src/aphront/headerparser/AphrontHTTPHeaderParser.php x: 116 lines of code y: 3 # changes src/aphront/multipartparser/AphrontMultipartParser.php x: 163 lines of code y: 3 # changes src/aphront/multipartparser/AphrontMultipartPart.php x: 77 lines of code y: 4 # changes src/console/PhutilConsoleMetrics.php x: 43 lines of code y: 2 # changes src/console/format.php x: 149 lines of code y: 21 # changes src/future/exec/PhutilConsoleMetricsSignalHandler.php x: 10 lines of code y: 2 # changes src/filesystem/binary/PhutilMercurialBinaryAnalyzer.php x: 52 lines of code y: 4 # changes src/future/aws/PhutilAWSCloudFormationFuture.php x: 14 lines of code y: 2 # changes src/future/aws/PhutilAWSException.php x: 40 lines of code y: 10 # changes src/filesystem/PhutilDeferredLog.php x: 91 lines of code y: 15 # changes src/daemon/PhutilDaemon.php x: 244 lines of code y: 26 # changes src/daemon/PhutilDaemonPool.php x: 277 lines of code y: 7 # changes src/phage/action/PhageAgentAction.php x: 204 lines of code y: 7 # changes src/phage/action/PhageExecuteAction.php x: 47 lines of code y: 6 # changes src/phage/agent/PhagePHPAgent.php x: 118 lines of code y: 10 # changes scripts/daemon/exec/exec_daemon.php x: 112 lines of code y: 20 # changes src/xsprintf/csprintf.php x: 82 lines of code y: 18 # changes externals/jsonlint/src/Seld/JsonLint/Lexer.php x: 174 lines of code y: 6 # changes src/channel/PhutilLogFileChannel.php x: 27 lines of code y: 3 # changes src/internationalization/PhutilNumber.php x: 19 lines of code y: 5 # changes src/phage/action/PhageAction.php x: 35 lines of code y: 2 # changes scripts/daemon/launch_daemon.php x: 10 lines of code y: 6 # changes src/ip/PhutilIPv4Address.php x: 68 lines of code y: 3 # changes src/ip/PhutilIPv6Address.php x: 168 lines of code y: 3 # changes src/future/aws/PhutilAWSEC2Future.php x: 14 lines of code y: 6 # changes src/future/aws/PhutilAWSS3Future.php x: 48 lines of code y: 6 # changes src/lexer/PhutilTypeLexer.php x: 25 lines of code y: 6 # changes externals/cldr/cldr_windows_timezones.xml x: 503 lines of code y: 2 # changes src/utils/PhutilEditDistanceMatrix.php x: 399 lines of code y: 11 # changes src/aphront/writeguard/AphrontWriteGuard.php x: 99 lines of code y: 12 # changes src/internationalization/PhutilLocale.php x: 115 lines of code y: 7 # changes src/internationalization/PhutilPerson.php x: 8 lines of code y: 7 # changes src/internationalization/PhutilTranslator.php x: 176 lines of code y: 32 # changes src/internationalization/pht.php x: 15 lines of code y: 11 # changes src/future/http/PhutilHTTPEngineExtension.php x: 73 lines of code y: 2 # changes support/xhpast/parser.yacc.hpp x: 160 lines of code y: 16 # changes support/xhpast/scanner.l x: 457 lines of code y: 26 # changes src/parser/PhutilPygmentizeParser.php x: 58 lines of code y: 2 # changes src/utils/PhutilBufferedIterator.php x: 41 lines of code y: 7 # changes src/markup/syntax/highlighter/xhpast/PhutilXHPASTSyntaxHighlighterFuture.php x: 199 lines of code y: 5 # changes src/future/github/PhutilGitHubFuture.php x: 101 lines of code y: 2 # changes src/parser/aast/api/AASTNode.php x: 293 lines of code y: 22 # changes src/future/aws/management/PhutilAWSManagementWorkflow.php x: 69 lines of code y: 2 # changes src/parser/argument/workflow/PhutilArgumentWorkflow.php x: 70 lines of code y: 11 # changes support/xhpast/ast.hpp x: 43 lines of code y: 13 # changes src/parser/aast/api/AASTTree.php x: 155 lines of code y: 9 # changes src/future/exec/CommandException.php x: 53 lines of code y: 13 # changes src/console/PhutilConsoleFormatter.php x: 79 lines of code y: 20 # changes src/console/view/PhutilConsoleTable.php x: 186 lines of code y: 3 # changes src/lexer/PhutilPHPFragmentLexer.php x: 220 lines of code y: 9 # changes src/xsprintf/pregsprintf.php x: 22 lines of code y: 1 # changes src/parser/PhutilParserGenerator.php x: 605 lines of code y: 11 # changes src/markup/syntax/highlighter/PhutilConsoleSyntaxHighlighter.php x: 33 lines of code y: 9 # changes src/aphront/writeguard/AphrontScopedUnguardedWriteCapability.php x: 6 lines of code y: 5 # changes src/channel/PhutilChannel.php x: 142 lines of code y: 13 # changes src/console/PhutilConsole.php x: 185 lines of code y: 14 # changes src/console/PhutilConsoleServer.php x: 128 lines of code y: 10 # changes src/filesystem/PhutilDirectoryFixture.php x: 37 lines of code y: 5 # changes src/filesystem/PhutilFileTree.php x: 89 lines of code y: 6 # changes src/future/Future.php x: 87 lines of code y: 12 # changes src/future/FutureIterator.php x: 162 lines of code y: 14 # changes src/lexer/PhutilLexer.php x: 215 lines of code y: 8 # changes scripts/build_xhpast.php x: 4 lines of code y: 1 # changes scripts/sandpit/harden_directory.php x: 157 lines of code y: 5 # changes scripts/utils/directory_fixture.php x: 84 lines of code y: 5 # changes scripts/utils/utf8.php x: 142 lines of code y: 12 # changes src/exception/PhutilInvalidStateException.php x: 24 lines of code y: 1 # changes src/channel/PhutilSocketChannel.php x: 117 lines of code y: 14 # changes src/console/PhutilConsoleProgressBar.php x: 109 lines of code y: 6 # changes src/utils/viewutils.php x: 121 lines of code y: 5 # changes src/future/http/status/HTTPFutureResponseStatus.php x: 30 lines of code y: 7 # changes src/xsprintf/xsprintf.php x: 57 lines of code y: 11 # changes src/lexer/PhutilPythonFragmentLexer.php x: 276 lines of code y: 5 # changes
345.0
# changes
  min: 1.0
  average: 9.37
  25th percentile: 3.0
  median: 5.0
  75th percentile: 9.0
  max: 345.0
0 6589.0
lines of code
min: 2.0 | average: 119.23 | 25th percentile: 16.0 | median: 43.5 | 75th percentile: 101.75 | max: 6589.0

Number of Contributors vs. Number of Changes: 332 points

src/serviceprofiler/PhutilServiceProfiler.php x: 8 # contributors y: 38 # changes scripts/phutil_rebuild_map.php x: 2 # contributors y: 5 # changes src/moduleutils/PhutilLibraryMapBuilder.php x: 5 # contributors y: 21 # changes src/utils/utils.php x: 16 # contributors y: 97 # changes src/parser/PhutilTypeSpec.php x: 5 # contributors y: 14 # changes src/error/PhutilErrorHandler.php x: 8 # contributors y: 33 # changes src/error/PhutilErrorTrap.php x: 2 # contributors y: 4 # changes scripts/__init_script__.php x: 8 # contributors y: 25 # changes src/utils/AbstractDirectedGraph.php x: 6 # contributors y: 13 # changes src/conduit/ConduitClient.php x: 10 # contributors y: 38 # changes src/conduit/ConduitFuture.php x: 6 # contributors y: 9 # changes src/future/http/BaseHTTPFuture.php x: 8 # contributors y: 23 # changes src/future/http/HTTPSFuture.php x: 9 # contributors y: 36 # changes src/future/exec/PhutilExecPassthru.php x: 3 # contributors y: 6 # changes src/parser/xhpast/api/XHPASTNode.php x: 6 # contributors y: 18 # changes src/__phutil_library_map__.php x: 31 # contributors y: 345 # changes src/daemon/PhutilDaemonHandle.php x: 5 # contributors y: 26 # changes src/daemon/PhutilDaemonOverseer.php x: 10 # contributors y: 51 # changes src/filesystem/PhutilProcessQuery.php x: 2 # contributors y: 6 # changes src/filesystem/PhutilProcessRef.php x: 2 # contributors y: 7 # changes src/parser/http/PhutilHTTPResponse.php x: 3 # contributors y: 7 # changes src/parser/http/PhutilHTTPResponseParser.php x: 3 # contributors y: 10 # changes src/symbols/PhutilClassMapQuery.php x: 3 # contributors y: 14 # changes src/future/http/status/HTTPFutureHTTPResponseStatus.php x: 4 # contributors y: 5 # changes src/console/PhutilInteractiveEditor.php x: 7 # contributors y: 16 # changes src/future/asana/PhutilAsanaFuture.php x: 3 # contributors y: 9 # changes src/future/oauth/PhutilOAuth1Future.php x: 5 # contributors y: 17 # changes support/xhpast/parser.y x: 15 # contributors y: 61 # changes support/xhpast/parser.yacc.cpp x: 8 # contributors y: 53 # changes support/xhpast/xhpast.cpp x: 15 # contributors y: 71 # changes src/__phutil_library_init__.php x: 9 # contributors y: 39 # changes src/error/PhutilProxyException.php x: 3 # contributors y: 4 # changes src/error/phlog.php x: 5 # contributors y: 10 # changes src/filesystem/Filesystem.php x: 16 # contributors y: 64 # changes src/future/aws/PhutilAWSFuture.php x: 6 # contributors y: 15 # changes src/future/slack/PhutilSlackFuture.php x: 3 # contributors y: 5 # changes src/markup/syntax/engine/PhutilDefaultSyntaxHighlighterEngine.php x: 6 # contributors y: 17 # changes src/markup/syntax/highlighter/PhutilPygmentsSyntaxHighlighter.php x: 7 # contributors y: 19 # changes src/moduleutils/PhutilBootloader.php x: 4 # contributors y: 24 # changes src/parser/PhutilJSON.php x: 4 # contributors y: 11 # changes src/parser/PhutilURI.php x: 7 # contributors y: 33 # changes src/symbols/PhutilSymbolLoader.php x: 7 # contributors y: 30 # changes src/future/exec/ExecFuture.php x: 10 # contributors y: 55 # changes src/lexer/PhutilJavaFragmentLexer.php x: 2 # contributors y: 9 # changes src/parser/argument/PhutilArgumentParser.php x: 9 # contributors y: 33 # changes scripts/phutil_symbols.php x: 5 # contributors y: 16 # changes src/filesystem/TempFile.php x: 4 # contributors y: 9 # changes src/parser/PhutilEmailAddress.php x: 4 # contributors y: 10 # changes src/utils/utf8.php x: 10 # contributors y: 43 # changes src/parser/xhpast/parser_nodes.php x: 6 # contributors y: 11 # changes support/xhpast/generate_nodes.php x: 8 # contributors y: 19 # changes src/console/PhutilConsoleMetrics.php x: 2 # contributors y: 2 # changes src/console/format.php x: 7 # contributors y: 21 # changes src/future/aws/PhutilAWSCloudFormationFuture.php x: 3 # contributors y: 2 # changes src/future/aws/PhutilAWSException.php x: 6 # contributors y: 10 # changes src/daemon/PhutilDaemon.php x: 7 # contributors y: 26 # changes src/phage/action/PhageAgentAction.php x: 1 # contributors y: 7 # changes src/phage/action/PhageExecuteAction.php x: 1 # contributors y: 6 # changes scripts/daemon/exec/exec_daemon.php x: 5 # contributors y: 20 # changes src/xsprintf/csprintf.php x: 5 # contributors y: 18 # changes src/phage/action/PhageAction.php x: 1 # contributors y: 2 # changes src/phage/bootloader/PhagePHPAgentBootloader.php x: 2 # contributors y: 11 # changes src/ip/PhutilIPv4Address.php x: 1 # contributors y: 3 # changes src/future/aws/PhutilAWSEC2Future.php x: 4 # contributors y: 6 # changes src/internationalization/PhutilTranslator.php x: 8 # contributors y: 32 # changes src/parser/PhutilDocblockParser.php x: 4 # contributors y: 7 # changes src/parser/aast/api/AASTToken.php x: 3 # contributors y: 11 # changes src/parser/aast/api/AASTNode.php x: 4 # contributors y: 22 # changes support/xhpast/ast.hpp x: 5 # contributors y: 13 # changes support/xhpast/astnode.hpp x: 6 # contributors y: 8 # changes src/console/PhutilConsoleFormatter.php x: 9 # contributors y: 20 # changes src/xsprintf/pregsprintf.php x: 1 # contributors y: 1 # changes src/channel/PhutilChannel.php x: 3 # contributors y: 13 # changes src/future/FutureIterator.php x: 6 # contributors y: 14 # changes src/parser/PhutilJSONParser.php x: 1 # contributors y: 5 # changes src/readableserializer/PhutilReadableSerializer.php x: 5 # contributors y: 12 # changes src/filesystem/FilesystemException.php x: 4 # contributors y: 4 # changes
345.0
# changes
  min: 1.0
  average: 9.37
  25th percentile: 3.0
  median: 5.0
  75th percentile: 9.0
  max: 345.0
0 31.0
# contributors
min: 1.0 | average: 3.11 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 3.0 | max: 31.0

Number of Contributors vs. File Size: 332 points

src/serviceprofiler/PhutilServiceProfiler.php x: 8 # contributors y: 189 lines of code scripts/phutil_rebuild_map.php x: 2 # contributors y: 62 lines of code src/moduleutils/PhutilLibraryMapBuilder.php x: 5 # contributors y: 211 lines of code src/utils/utils.php x: 16 # contributors y: 888 lines of code src/parser/PhutilTypeSpec.php x: 5 # contributors y: 1847 lines of code src/error/PhutilErrorHandler.php x: 8 # contributors y: 322 lines of code src/error/PhutilErrorTrap.php x: 2 # contributors y: 37 lines of code scripts/__init_script__.php x: 8 # contributors y: 42 lines of code src/utils/AbstractDirectedGraph.php x: 6 # contributors y: 168 lines of code src/conduit/ConduitClient.php x: 10 # contributors y: 326 lines of code src/conduit/ConduitFuture.php x: 6 # contributors y: 72 lines of code src/future/http/HTTPSFuture.php x: 9 # contributors y: 484 lines of code src/future/exec/PhutilExecPassthru.php x: 3 # contributors y: 73 lines of code src/parser/xhpast/api/XHPASTNode.php x: 6 # contributors y: 212 lines of code src/__phutil_library_map__.php x: 31 # contributors y: 918 lines of code src/daemon/PhutilDaemonHandle.php x: 5 # contributors y: 379 lines of code src/daemon/PhutilDaemonOverseer.php x: 10 # contributors y: 307 lines of code src/parser/html/PhutilDOMNode.php x: 2 # contributors y: 150 lines of code src/parser/html/PhutilHTMLParser.php x: 2 # contributors y: 275 lines of code src/parser/http/PhutilHTTPResponse.php x: 3 # contributors y: 49 lines of code src/parser/http/PhutilHTTPResponseParser.php x: 3 # contributors y: 150 lines of code src/progress/PhutilConsoleProgressSink.php x: 2 # contributors y: 87 lines of code src/future/http/status/HTTPFutureHTTPResponseStatus.php x: 4 # contributors y: 53 lines of code src/console/PhutilInteractiveEditor.php x: 7 # contributors y: 131 lines of code src/future/asana/PhutilAsanaFuture.php x: 3 # contributors y: 83 lines of code src/future/oauth/PhutilOAuth1Future.php x: 5 # contributors y: 234 lines of code support/xhpast/parser.y x: 15 # contributors y: 2528 lines of code support/xhpast/parser.yacc.cpp x: 8 # contributors y: 6589 lines of code support/xhpast/xhpast.cpp x: 15 # contributors y: 97 lines of code src/__phutil_library_init__.php x: 9 # contributors y: 54 lines of code src/error/PhutilProxyException.php x: 3 # contributors y: 16 lines of code src/error/phlog.php x: 5 # contributors y: 25 lines of code src/filesystem/Filesystem.php x: 16 # contributors y: 640 lines of code src/future/aws/PhutilAWSFuture.php x: 6 # contributors y: 132 lines of code src/future/aws/PhutilAWSv4Signature.php x: 2 # contributors y: 199 lines of code src/future/http/HTTPFuture.php x: 7 # contributors y: 229 lines of code src/markup/syntax/engine/PhutilDefaultSyntaxHighlighterEngine.php x: 6 # contributors y: 90 lines of code src/markup/syntax/highlighter/PhutilPygmentsSyntaxHighlighter.php x: 7 # contributors y: 204 lines of code src/moduleutils/PhutilBootloader.php x: 4 # contributors y: 221 lines of code src/parser/PhutilURI.php x: 7 # contributors y: 394 lines of code src/symbols/exception/PhutilMissingSymbolException.php x: 4 # contributors y: 25 lines of code src/future/exec/ExecFuture.php x: 10 # contributors y: 503 lines of code src/lexer/PhutilJavaFragmentLexer.php x: 2 # contributors y: 112 lines of code support/xhpast/scanner.lex.hpp x: 8 # contributors y: 549 lines of code src/parser/argument/PhutilArgumentParser.php x: 9 # contributors y: 630 lines of code scripts/phutil_symbols.php x: 5 # contributors y: 400 lines of code src/filesystem/TempFile.php x: 4 # contributors y: 40 lines of code src/utils/PhutilUTF8StringTruncator.php x: 4 # contributors y: 170 lines of code src/markup/render.php x: 7 # contributors y: 128 lines of code src/parser/PhutilEmailAddress.php x: 4 # contributors y: 81 lines of code src/utils/utf8.php x: 10 # contributors y: 559 lines of code src/filesystem/FileFinder.php x: 6 # contributors y: 247 lines of code src/parser/xhpast/parser_nodes.php x: 6 # contributors y: 122 lines of code support/xhpast/generate_nodes.php x: 8 # contributors y: 150 lines of code src/aphront/multipartparser/AphrontMultipartParser.php x: 2 # contributors y: 163 lines of code src/console/view/PhutilConsoleError.php x: 2 # contributors y: 7 lines of code src/future/aws/PhutilAWSException.php x: 6 # contributors y: 40 lines of code src/filesystem/PhutilDeferredLog.php x: 5 # contributors y: 91 lines of code src/daemon/PhutilDaemon.php x: 7 # contributors y: 244 lines of code src/phage/action/PhageAgentAction.php x: 1 # contributors y: 204 lines of code src/phage/action/PhageExecuteAction.php x: 1 # contributors y: 47 lines of code src/phage/agent/PhagePHPAgent.php x: 3 # contributors y: 118 lines of code scripts/daemon/exec/exec_daemon.php x: 5 # contributors y: 112 lines of code externals/jsonlint/src/Seld/JsonLint/Lexer.php x: 3 # contributors y: 174 lines of code src/phage/action/PhageLocalAction.php x: 1 # contributors y: 7 lines of code src/ip/PhutilIPv4Address.php x: 1 # contributors y: 68 lines of code src/ip/PhutilIPv6Address.php x: 1 # contributors y: 168 lines of code externals/cldr/cldr_windows_timezones.xml x: 1 # contributors y: 503 lines of code src/utils/PhutilEditDistanceMatrix.php x: 2 # contributors y: 399 lines of code src/internationalization/PhutilTranslator.php x: 8 # contributors y: 176 lines of code src/parser/PhutilDocblockParser.php x: 4 # contributors y: 111 lines of code support/xhpast/parser.yacc.hpp x: 5 # contributors y: 160 lines of code support/xhpast/scanner.l x: 7 # contributors y: 457 lines of code src/markup/syntax/highlighter/xhpast/PhutilXHPASTSyntaxHighlighterFuture.php x: 3 # contributors y: 199 lines of code src/future/github/PhutilGitHubFuture.php x: 1 # contributors y: 101 lines of code src/parser/aast/api/AASTNode.php x: 4 # contributors y: 293 lines of code support/xhpast/ast.hpp x: 5 # contributors y: 43 lines of code src/parser/aast/api/AASTTree.php x: 4 # contributors y: 155 lines of code src/future/exec/CommandException.php x: 5 # contributors y: 53 lines of code src/console/PhutilConsoleFormatter.php x: 9 # contributors y: 79 lines of code src/lexer/PhutilPHPFragmentLexer.php x: 3 # contributors y: 220 lines of code src/parser/PhutilParserGenerator.php x: 2 # contributors y: 605 lines of code src/parser/PhutilEditorConfig.php x: 1 # contributors y: 118 lines of code src/sprites/PhutilSpriteSheet.php x: 3 # contributors y: 282 lines of code
6589.0
lines of code
  min: 2.0
  average: 119.23
  25th percentile: 16.0
  median: 43.5
  75th percentile: 101.75
  max: 6589.0
0 31.0
# contributors
min: 1.0 | average: 3.11 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 3.0 | max: 31.0