Tomcat
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,771 files with 249,951 lines of code.
    • 32 very long files (54,725 lines of code)
    • 80 long files (56,398 lines of code)
    • 206 medium size files (65,752 lines of code)
    • 239 small files (33,597 lines of code)
    • 1,214 very small files (39,479 lines of code)
21% | 22% | 26% | 13% | 15%
Legend:
1001+
501-1000
201-500
101-200
1-100
File Size per Extension
java21% | 22% | 26% | 13% | 15%
Legend:
1001+
501-1000
201-500
101-200
1-100
File Size per Logical Decomposition
primary
java/org/apache/catalina21% | 23% | 27% | 14% | 12%
java/org/apache/tomcat22% | 25% | 22% | 12% | 18%
java/org/apache/jasper37% | 14% | 32% | 7% | 7%
java/org/apache/el46% | 0% | 23% | 11% | 18%
java/org/apache/coyote9% | 35% | 30% | 13% | 12%
modules/jdbc-pool/src/main0% | 50% | 30% | 10% | 9%
java/jakarta/el0% | 18% | 35% | 27% | 18%
java/org/apache/juli0% | 32% | 23% | 34% | 9%
java/org/apache/naming0% | 0% | 37% | 19% | 43%
java/jakarta/servlet/jsp0% | 0% | 25% | 17% | 56%
java/jakarta/servlet/http0% | 0% | 29% | 43% | 26%
java/jakarta/servlet0% | 0% | 0% | 24% | 75%
java/jakarta/websocket/server0% | 0% | 0% | 55% | 44%
modules/owb/src/main0% | 0% | 0% | 25% | 74%
java/jakarta/security/auth0% | 0% | 0% | 21% | 78%
java/jakarta/transaction0% | 0% | 0% | 0% | 100%
java/jakarta/websocket0% | 0% | 0% | 0% | 100%
java/jakarta/servlet/annotation0% | 0% | 0% | 0% | 100%
java/jakarta/servlet/descriptor0% | 0% | 0% | 0% | 100%
java/jakarta/mail/internet0% | 0% | 0% | 0% | 100%
java/jakarta/mail0% | 0% | 0% | 0% | 100%
java/jakarta/annotation0% | 0% | 0% | 0% | 100%
java/jakarta/annotation/security0% | 0% | 0% | 0% | 100%
java/jakarta/annotation/sql0% | 0% | 0% | 0% | 100%
java/jakarta/xml/ws0% | 0% | 0% | 0% | 100%
java/jakarta/persistence0% | 0% | 0% | 0% | 100%
java/jakarta/ejb0% | 0% | 0% | 0% | 100%
modules/cxf/src/main0% | 0% | 0% | 0% | 100%
Legend:
1001+
501-1000
201-500
101-200
1-100
Alternative Visuals
Longest Files (Top 50)
File# lines# units
Cipher.java
in java/org/apache/tomcat/util/net/openssl/ciphers
4330 17
StandardContext.java
in java/org/apache/catalina/core
3762 365
Generator.java
in java/org/apache/jasper/compiler
3241 93
ELParser.java
in java/org/apache/el/parser
2795 166
ContextConfig.java
in java/org/apache/catalina/startup
2107 70
ELParserTokenManager.java
in java/org/apache/el/parser
2094 49
WebXml.java
in java/org/apache/tomcat/util/descriptor/web
2008 83
Request.java
in java/org/apache/catalina/connector
1999 148
AprEndpoint.java
in java/org/apache/tomcat/util/net
1827 97
DefaultServlet.java
in java/org/apache/catalina/servlets
1801 73
DelegatingResultSet.java
in java/org/apache/tomcat/dbcp/dbcp2
1753 199
DelegatingDatabaseMetaData.java
in java/org/apache/tomcat/dbcp/dbcp2
1691 182
WebappClassLoaderBase.java
in java/org/apache/catalina/loader
1642 90
WebdavServlet.java
in java/org/apache/catalina/servlets
1579 40
Node.java
in java/org/apache/jasper/compiler
1575 282
JNDIRealm.java
in java/org/apache/catalina/realm
1420 120
Validator.java
in java/org/apache/jasper/compiler
1412 50
Http2UpgradeHandler.java
in java/org/apache/coyote/http2
1344 92
Nio2Endpoint.java
in java/org/apache/tomcat/util/net
1276 69
AbstractReplicatedMap.java
in java/org/apache/catalina/tribes/tipis
1227 94
Parser.java
in java/org/apache/jasper/compiler
1223 56
JspC.java
in java/org/apache/jasper
1216 104
HostConfig.java
in java/org/apache/catalina/startup
1207 52
DelegatingCallableStatement.java
in java/org/apache/tomcat/dbcp/dbcp2
1191 121
Mapper.java
in java/org/apache/catalina/mapper
1187 55
NioEndpoint.java
in java/org/apache/tomcat/util/net
1184 64
ManagerServlet.java
in java/org/apache/catalina/manager
1171 34
JspDocumentParser.java
in java/org/apache/jasper/compiler
1163 33
AbstractAccessLogValve.java
in java/org/apache/catalina/valves
1105 81
OpenSSLEngine.java
in java/org/apache/tomcat/util/net/openssl
1094 53
HTMLManagerServlet.java
in java/org/apache/catalina/manager
1064 26
WebRuleSet.java
in java/org/apache/tomcat/util/descriptor/web
1037 51
Response.java
in java/org/apache/catalina/connector
987 82
Digester.java
in java/org/apache/tomcat/util/digester
983 105
SecureNio2Channel.java
in java/org/apache/tomcat/util/net
974 47
StandardWrapper.java
in java/org/apache/catalina/core
960 66
WsRemoteEndpointImplBase.java
in java/org/apache/tomcat/websocket
959 72
CGIServlet.java
in java/org/apache/catalina/servlets
958 31
ConnectionPool.java
in modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool
952 69
BasicDataSource.java
in java/org/apache/tomcat/dbcp/dbcp2
947 142
ApplicationContext.java
in java/org/apache/catalina/core
935 63
RealmBase.java
in java/org/apache/catalina/realm
906 52
ExpiresFilter.java
in java/org/apache/catalina/filters
890 101
StandardSession.java
in java/org/apache/catalina/session
890 68
Stream.java
in java/org/apache/coyote/http2
890 71
Http11Processor.java
in java/org/apache/coyote/http11
889 40
DeltaManager.java
in java/org/apache/catalina/ha/session
868 79
GenericKeyedObjectPool.java
in java/org/apache/tomcat/dbcp/pool2/impl
859 45
JspRuntimeLibrary.java
in java/org/apache/jasper/runtime
856 48
AjpProcessor.java
in java/org/apache/coyote/ajp
844 37
Files With Most Units (Top 50)
File# lines# units
StandardContext.java
in java/org/apache/catalina/core
3762 365
Node.java
in java/org/apache/jasper/compiler
1575 282
DelegatingResultSet.java
in java/org/apache/tomcat/dbcp/dbcp2
1753 199
DelegatingDatabaseMetaData.java
in java/org/apache/tomcat/dbcp/dbcp2
1691 182
ELParser.java
in java/org/apache/el/parser
2795 166
Request.java
in java/org/apache/catalina/connector
1999 148
DataSourceProxy.java
in modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool
726 148
BasicDataSource.java
in java/org/apache/tomcat/dbcp/dbcp2
947 142
ConnectionPool.java
in modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx
637 136
PoolProperties.java
in modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool
760 130
FailedContext.java
in java/org/apache/catalina/startup
629 124
DelegatingCallableStatement.java
in java/org/apache/tomcat/dbcp/dbcp2
1191 121
JNDIRealm.java
in java/org/apache/catalina/realm
1420 120
Digester.java
in java/org/apache/tomcat/util/digester
983 105
JspC.java
in java/org/apache/jasper
1216 104
ExpiresFilter.java
in java/org/apache/catalina/filters
890 101
AprEndpoint.java
in java/org/apache/tomcat/util/net
1827 97
AbstractReplicatedMap.java
in java/org/apache/catalina/tribes/tipis
1227 94
Generator.java
in java/org/apache/jasper/compiler
3241 93
Http2UpgradeHandler.java
in java/org/apache/coyote/http2
1344 92
RequestFacade.java
in java/org/apache/catalina/connector
763 91
ManagerBase.java
in java/org/apache/catalina/session
737 91
WebappClassLoaderBase.java
in java/org/apache/catalina/loader
1642 90
PoolUtils.java
in java/org/apache/tomcat/dbcp/pool2
833 88
WebXml.java
in java/org/apache/tomcat/util/descriptor/web
2008 83
PageInfo.java
in java/org/apache/jasper/compiler
443 83
ReceiverBase.java
in java/org/apache/catalina/tribes/transport
421 82
Response.java
in java/org/apache/catalina/connector
987 82
AbstractAccessLogValve.java
in java/org/apache/catalina/valves
1105 81
DeltaManager.java
in java/org/apache/catalina/ha/session
868 79
Connector.java
in java/org/apache/catalina/connector
492 77
SSLHostConfig.java
in java/org/apache/tomcat/util/net
507 76
BaseGenericObjectPool.java
in java/org/apache/tomcat/dbcp/pool2/impl
612 76
DelegatingConnection.java
in java/org/apache/tomcat/dbcp/dbcp2
774 75
Request.java
in java/org/apache/coyote
399 75
DefaultServlet.java
in java/org/apache/catalina/servlets
1801 73
RewriteRule.java
in java/org/apache/catalina/valves/rewrite
353 72
WsRemoteEndpointImplBase.java
in java/org/apache/tomcat/websocket
959 72
PerUserPoolDataSource.java
in java/org/apache/tomcat/dbcp/dbcp2/datasources
676 71
Stream.java
in java/org/apache/coyote/http2
890 71
ContextConfig.java
in java/org/apache/catalina/startup
2107 70
AbstractEndpoint.java
in java/org/apache/tomcat/util/net
774 70
Nio2Endpoint.java
in java/org/apache/tomcat/util/net
1276 69
InstanceKeyDataSource.java
in java/org/apache/tomcat/dbcp/dbcp2/datasources
523 69
ConnectionPool.java
in modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool
952 69
StandardSession.java
in java/org/apache/catalina/session
890 68
SocketWrapperBase.java
in java/org/apache/tomcat/util/net
718 67
AbstractProtocol.java
in java/org/apache/coyote
726 67
StandardWrapper.java
in java/org/apache/catalina/core
960 66
NioEndpoint.java
in java/org/apache/tomcat/util/net
1184 64