Jenkins
File Size

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 100-200 (small files), 200-500 (medium size files), 501-1000 (long files), 1001+ (very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 1,096 files with 106,640 lines of code.
    • 11 very long files (18,788 lines of code)
    • 18 long files (13,351 lines of code)
    • 81 medium size files (24,017 lines of code)
    • 142 small files (19,575 lines of code)
    • 844 very small files (30,909 lines of code)
17% | 12% | 22% | 18% | 28%
Legend:
1001+
501-1000
201-500
101-200
1-100
File Size per Extension
java17% | 12% | 22% | 18% | 28%
Legend:
1001+
501-1000
201-500
101-200
1-100
File Size per Logical Decomposition
level-1
core17% | 12% | 21% | 18% | 29%
cli0% | 0% | 69% | 7% | 22%
Legend:
1001+
501-1000
201-500
101-200
1-100
level-2
core/src/main/java/hudson/model24% | 25% | 17% | 16% | 16%
core/src/main/java/hudson42% | 25% | 19% | 4% | 7%
core/src/main/java/jenkins/model39% | 0% | 20% | 14% | 25%
core/src/main/java/jenkins/org80% | 0% | 10% | 4% | 4%
core/src/main/java/hudson/util9% | 0% | 26% | 26% | 37%
core/src/main/java/jenkins/util0% | 31% | 19% | 20% | 27%
core/src/main/java/hudson/slaves0% | 22% | 21% | 29% | 26%
core/src/main/java/hudson/security0% | 16% | 14% | 22% | 45%
core/src/main/java/jenkins/security0% | 0% | 31% | 18% | 50%
core/src/main/java/hudson/tasks0% | 0% | 62% | 10% | 26%
core/src/main/java/hudson/cli0% | 0% | 21% | 25% | 52%
core/src/main/java/jenkins/install0% | 0% | 69% | 29% | 1%
cli/src/main/java/hudson/cli0% | 0% | 58% | 10% | 30%
core/src/main/java/hudson/triggers0% | 0% | 50% | 20% | 29%
cli/src/main/java/hudson/util0% | 0% | 100% | 0% | 0%
core/src/main/java/hudson/diagnosis0% | 0% | 50% | 0% | 49%
core/src/main/java/hudson/logging0% | 0% | 59% | 25% | 14%
core/src/main/java/hudson/scheduler0% | 0% | 56% | 0% | 43%
core/src/main/java/hudson/os0% | 0% | 45% | 0% | 54%
core/src/main/java/hudson/scm0% | 0% | 31% | 12% | 56%
core/src/main/java/hudson/search0% | 0% | 36% | 17% | 46%
core/src/main/java/jenkins/widgets0% | 0% | 63% | 0% | 36%
core/src/main/java/jenkins/triggers0% | 0% | 72% | 0% | 27%
core/src/main/java/jenkins/fingerprints0% | 0% | 67% | 0% | 32%
core/src/main/java/jenkins/telemetry0% | 0% | 27% | 30% | 41%
core/src/main/java/jenkins/slaves0% | 0% | 0% | 50% | 49%
core/src/main/java/hudson/node_monitors0% | 0% | 0% | 55% | 44%
core/src/main/java/hudson/console0% | 0% | 0% | 45% | 54%
core/src/main/java/hudson/org0% | 0% | 0% | 100% | 0%
core/src/main/java/hudson/tools0% | 0% | 0% | 38% | 61%
core/src/main/java/hudson/lifecycle0% | 0% | 0% | 58% | 41%
core/src/main/java/jenkins/tasks0% | 0% | 0% | 44% | 55%
core/src/main/java/jenkins0% | 0% | 0% | 21% | 78%
core/src/main/java/hudson/widgets0% | 0% | 0% | 57% | 42%
core/src/main/java/hudson/init0% | 0% | 0% | 27% | 72%
core/src/main/java/jenkins/agents0% | 0% | 0% | 86% | 13%
core/src/main/java/jenkins/diagnosis0% | 0% | 0% | 75% | 25%
core/src/main/java/jenkins/plugins0% | 0% | 0% | 100% | 0%
core/src/main/java/hudson/fsp0% | 0% | 0% | 0% | 100%
core/src/main/java/hudson/markup0% | 0% | 0% | 0% | 100%
core/src/main/java/hudson/views0% | 0% | 0% | 0% | 100%
core/src/main/java/org/acegisecurity0% | 0% | 0% | 0% | 100%
core/src/main/java/jenkins/websocket0% | 0% | 0% | 0% | 100%
core/src/main/java/jenkins/tools0% | 0% | 0% | 0% | 100%
core/src/main/java/jenkins/management0% | 0% | 0% | 0% | 100%
core/src/main/java/jenkins/cli0% | 0% | 0% | 0% | 100%
core/src/main/java/jenkins/diagnostics0% | 0% | 0% | 0% | 100%
core/src/main/java/jenkins/mvn0% | 0% | 0% | 0% | 100%
core/src/main/java/jenkins/scm0% | 0% | 0% | 0% | 100%
Legend:
1001+
501-1000
201-500
101-200
1-100
Alternative Visuals
Longest Files (Top 50)
File# lines# units
Jenkins.java
in core/src/main/java/jenkins/model
3239 302
FilePath.java
in core/src/main/java/hudson
2161 202
Queue.java
in core/src/main/java/hudson/model
1825 162
DomainValidator.java
in core/src/main/java/jenkins/org/apache/commons/validator/routines
1769 17
UpdateCenter.java
in core/src/main/java/hudson/model
1669 153
PluginManager.java
in core/src/main/java/hudson
1603 79
Functions.java
in core/src/main/java/hudson
1594 158
Run.java
in core/src/main/java/hudson/model
1510 97
AbstractProject.java
in core/src/main/java/hudson/model
1199 131
ProcessTree.java
in core/src/main/java/hudson/util
1195 90
Job.java
in core/src/main/java/hudson/model
1024 85
Computer.java
in core/src/main/java/hudson/model
988 110
Util.java
in core/src/main/java/hudson
978 88
UpdateSite.java
in core/src/main/java/hudson/model
947 81
Fingerprint.java
in core/src/main/java/hudson/model
918 83
View.java
in core/src/main/java/hudson/model
914 93
Launcher.java
in core/src/main/java/hudson
848 102
PluginWrapper.java
in core/src/main/java/hudson
776 94
AbstractBuild.java
in core/src/main/java/hudson/model
753 59
AntClassLoader.java
in core/src/main/java/jenkins/util
746 65
SlaveComputer.java
in core/src/main/java/hudson/slaves
716 59
User.java
in core/src/main/java/hudson/model
686 64
Descriptor.java
in core/src/main/java/hudson/model
642 61
Executor.java
in core/src/main/java/hudson/model
616 42
HudsonPrivateSecurityRealm.java
in core/src/main/java/hudson/security
611 74
AbstractItem.java
in core/src/main/java/hudson/model
606 47
VirtualFile.java
in core/src/main/java/jenkins/util
555 20
ClassicPluginStrategy.java
in core/src/main/java/hudson
532 27
DirectoryBrowserSupport.java
in core/src/main/java/hudson/model
519 33
Maven.java
in core/src/main/java/hudson/tasks
486 51
NodeProvisioner.java
in core/src/main/java/hudson/slaves
481 37
SCMTrigger.java
in core/src/main/java/hudson/triggers
470 65
SetupWizard.java
in core/src/main/java/jenkins/install
469 30
ExtensionFinder.java
in core/src/main/java/hudson
448 28
Slave.java
in core/src/main/java/hudson/model
445 46
ListView.java
in core/src/main/java/hudson/model
435 40
BeanBuilder.java
in core/src/main/java/hudson/util/spring
424 39
Label.java
in core/src/main/java/hudson/model
418 54
CLI.java
in cli/src/main/java/hudson/cli
417 24
QuotedStringTokenizer.java
in cli/src/main/java/hudson/util
408 19
RobustReflectionConverter.java
in core/src/main/java/hudson/util
395 22
FormFieldValidator.java
in core/src/main/java/hudson/util
385 44
TcpSlaveAgentListener.java
in core/src/main/java/hudson
385 32
Items.java
in core/src/main/java/hudson/model
383 33
LoadStatistics.java
in core/src/main/java/hudson/model
381 31
XStream2.java
in core/src/main/java/hudson/util
369 31
ApiTokenProperty.java
in core/src/main/java/jenkins/security
364 28
Fingerprinter.java
in core/src/main/java/hudson/tasks
356 32
FormValidation.java
in core/src/main/java/hudson/util
344 39
ProxyConfiguration.java
in core/src/main/java/hudson
342 38
Files With Most Units (Top 50)
File# lines# units
Jenkins.java
in core/src/main/java/jenkins/model
3239 302
FilePath.java
in core/src/main/java/hudson
2161 202
Queue.java
in core/src/main/java/hudson/model
1825 162
Functions.java
in core/src/main/java/hudson
1594 158
UpdateCenter.java
in core/src/main/java/hudson/model
1669 153
AbstractProject.java
in core/src/main/java/hudson/model
1199 131
Computer.java
in core/src/main/java/hudson/model
988 110
Launcher.java
in core/src/main/java/hudson
848 102
Run.java
in core/src/main/java/hudson/model
1510 97
PluginWrapper.java
in core/src/main/java/hudson
776 94
View.java
in core/src/main/java/hudson/model
914 93
ProcessTree.java
in core/src/main/java/hudson/util
1195 90
Util.java
in core/src/main/java/hudson
978 88
Job.java
in core/src/main/java/hudson/model
1024 85
Fingerprint.java
in core/src/main/java/hudson/model
918 83
UpdateSite.java
in core/src/main/java/hudson/model
947 81
PluginManager.java
in core/src/main/java/hudson
1603 79
HudsonPrivateSecurityRealm.java
in core/src/main/java/hudson/security
611 74
SCMTrigger.java
in core/src/main/java/hudson/triggers
470 65
AntClassLoader.java
in core/src/main/java/jenkins/util
746 65
User.java
in core/src/main/java/hudson/model
686 64
XStreamDOM.java
in core/src/main/java/jenkins/util/xstream
336 62
Descriptor.java
in core/src/main/java/hudson/model
642 61
AbstractBuild.java
in core/src/main/java/hudson/model
753 59
SlaveComputer.java
in core/src/main/java/hudson/slaves
716 59
Label.java
in core/src/main/java/hudson/model
418 54
Maven.java
in core/src/main/java/hudson/tasks
486 51
IOUtils.java
in core/src/main/java/hudson/util
289 51
BuildReferenceMapAdapter.java
in core/src/main/java/jenkins/model/lazy
267 50
AbstractItem.java
in core/src/main/java/hudson/model
606 47
Slave.java
in core/src/main/java/hudson/model
445 46
Cause.java
in core/src/main/java/hudson/model
331 45
FormFieldValidator.java
in core/src/main/java/hudson/util
385 44
Executor.java
in core/src/main/java/hudson/model
616 42
ListView.java
in core/src/main/java/hudson/model
435 40
FormValidation.java
in core/src/main/java/hudson/util
344 39
BeanBuilder.java
in core/src/main/java/hudson/util/spring
424 39
AbstractLazyLoadRunMap.java
in core/src/main/java/jenkins/model/lazy
323 39
ProxyConfiguration.java
in core/src/main/java/hudson
342 38
NodeProvisioner.java
in core/src/main/java/hudson/slaves
481 37
SecurityRealm.java
in core/src/main/java/hudson/security
279 35
DependencyGraph.java
in core/src/main/java/hudson/model
267 35
FileParameterValue.java
in core/src/main/java/hudson/model
215 34
DirectoryBrowserSupport.java
in core/src/main/java/hudson/model
519 33
LabelExpression.java
in core/src/main/java/hudson/model/labels
218 33
Items.java
in core/src/main/java/hudson/model
383 33
Fingerprinter.java
in core/src/main/java/hudson/tasks
356 32
Iterators.java
in core/src/main/java/hudson/util
261 32
TcpSlaveAgentListener.java
in core/src/main/java/hudson
385 32
MyViewsProperty.java
in core/src/main/java/hudson/model
176 32