opensearch-project / OpenSearch
File Size

The distribution of size of files (measured in lines of code).

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), 101-200 (small files), 201-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 5,037 files with 673,297 lines of code.
    • 61 very long files (98,434 lines of code)
    • 173 long files (117,927 lines of code)
    • 633 medium size files (196,388 lines of codeclsfd_ftr_w_mp_ins)
    • 946 small files (135,202 lines of code)
    • 3,224 very small files (125,346 lines of code)
14% | 17% | 29% | 20% | 18%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
java14% | 17% | 29% | 19% | 18%
groovy0% | 0% | 25% | 45% | 29%
g40% | 0% | 64% | 35% | 0%
policy0% | 0% | 0% | 24% | 75%
py0% | 0% | 0% | 0% | 100%
sig0% | 0% | 0% | 0% | 100%
cfg0% | 0% | 0% | 0% | 100%
prefs0% | 0% | 0% | 0% | 100%
yml0% | 0% | 0% | 0% | 100%
ftl0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
server14% | 19% | 30% | 18% | 16%
modules23% | 12% | 21% | 18% | 24%
client22% | 8% | 12% | 28% | 28%
buildSrc9% | 0% | 23% | 44% | 23%
libs0% | 12% | 29% | 26% | 31%
distribution0% | 29% | 8% | 16% | 45%
plugins0% | 4% | 35% | 29% | 31%
doc-tools0% | 0% | 100% | 0% | 0%
benchmarks0% | 0% | 20% | 39% | 40%
qa0% | 0% | 0% | 0% | 100%
dev-tools0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
AbstractHyperLogLog.java
in server/src/main/java/org/opensearch/search/aggregations/metrics
5861 10
PainlessParser.java
in modules/lang-painless/src/main/java/org/opensearch/painless/antlr
4894 593
SnapshotsService.java
in server/src/main/java/org/opensearch/snapshots
3027 90
HighlighterSearchIT.java
in server/src/internalClusterTest/java/org/opensearch/search/fetch/subphase/highlight
3013 94
IndexShard.java
in server/src/main/java/org/opensearch/index/shard
2967 191
DefaultSemanticAnalysisPhase.java
in modules/lang-painless/src/main/java/org/opensearch/painless/phase
2607 48
InternalEngine.java
in server/src/main/java/org/opensearch/index/engine
2460 157
BlobStoreRepository.java
in server/src/main/java/org/opensearch/repositories/blobstore
2433 86
IndexRecoveryIT.java
in server/src/internalClusterTest/java/org/opensearch/indices/recovery
1968 37
SharedClusterSnapshotRestoreIT.java
in server/src/internalClusterTest/java/org/opensearch/snapshots
1951 41
PainlessLookupBuilder.java
in modules/lang-painless/src/main/java/org/opensearch/painless/lookup
1936 31
SearchQueryIT.java
in server/src/internalClusterTest/java/org/opensearch/search/query
1849 61
DateFormatters.java
in server/src/main/java/org/opensearch/common/time
1750 11
Setting.java
in server/src/main/java/org/opensearch/common/settings
1662 201
FieldSortIT.java
in server/src/internalClusterTest/java/org/opensearch/search/sort
1662 28
ChildQuerySearchIT.java
in modules/parent-join/src/internalClusterTest/java/org/opensearch/join/query
1571 38
DateHistogramIT.java
in server/src/internalClusterTest/java/org/opensearch/search/aggregations/bucket
1555 58
AbstractClient.java
in server/src/main/java/org/opensearch/client/support
1549 284
IndexMetadata.java
in server/src/main/java/org/opensearch/cluster/metadata
1546 115
SimpleNestedIT.java
in server/src/internalClusterTest/java/org/opensearch/search/nested
1482 12
Translog.java
in server/src/main/java/org/opensearch/index/translog
1472 136
DefaultUserTreeToIRTreePhase.java
in modules/lang-painless/src/main/java/org/opensearch/painless/phase
1462 49
Coordinator.java
in server/src/main/java/org/opensearch/cluster/coordination
1446 75
OpenSearchException.java
in server/src/main/java/org/opensearch
1412 48
Metadata.java
in server/src/main/java/org/opensearch/cluster/metadata
1411 106
Engine.java
in server/src/main/java/org/opensearch/index/engine
1385 143
RestHighLevelClient.java
in client/rest-high-level/src/main/java/org/opensearch/client
1367 102
DedicatedClusterSnapshotRestoreIT.java
in server/src/internalClusterTest/java/org/opensearch/snapshots
1362 64
CompletionSuggestSearchIT.java
in server/src/internalClusterTest/java/org/opensearch/search/suggest
1355 55
IndicesService.java
in server/src/main/java/org/opensearch/indices
1341 65
ClusterAllocationExplainIT.java
in server/src/internalClusterTest/java/org/opensearch/action/admin/cluster/allocation
1333 25
OpenSearchNode.java
in buildSrc/src/main/java/org/opensearch/gradle/testclusters
1315 113
IndexAliasesIT.java
in server/src/internalClusterTest/java/org/opensearch/aliases
1284 35
SearchSourceBuilder.java
in server/src/main/java/org/opensearch/search/builder
1261 105
MetadataIndexTemplateService.java
in server/src/main/java/org/opensearch/cluster/metadata
1261 47
IndicesClient.java
in client/rest-high-level/src/main/java/org/opensearch/client
1259 92
Def.java
in modules/lang-painless/src/main/java/org/opensearch/painless
1254 80
SearchService.java
in server/src/main/java/org/opensearch/search
1247 67
IndexStatsIT.java
in server/src/internalClusterTest/java/org/opensearch/indices/stats
1231 24
SearchFieldsIT.java
in server/src/internalClusterTest/java/org/opensearch/search/fields
1222 22
StringTermsIT.java
in server/src/internalClusterTest/java/org/opensearch/search/aggregations/bucket/terms
1221 43
TopHitsIT.java
in server/src/internalClusterTest/java/org/opensearch/search/aggregations/metrics
1220 24
Node.java
in server/src/main/java/org/opensearch/node
1219 29
ConcurrentSnapshotsIT.java
in server/src/internalClusterTest/java/org/opensearch/snapshots
1212 51
TransportReplicationAction.java
in server/src/main/java/org/opensearch/action/support/replication
1200 93
TransportSearchAction.java
in server/src/main/java/org/opensearch/action/search
1197 35
SuggestSearchIT.java
in server/src/internalClusterTest/java/org/opensearch/search/suggest
1192 28
PercolatorQuerySearchIT.java
in modules/percolator/src/internalClusterTest/java/org/opensearch/percolator
1188 15
HistogramIT.java
in server/src/internalClusterTest/java/org/opensearch/search/aggregations/bucket
1186 43
TransportService.java
in server/src/main/java/org/opensearch/transport
1167 99
Files With Most Units (Top 20)
File# lines# units
PainlessParser.java
in modules/lang-painless/src/main/java/org/opensearch/painless/antlr
4894 593
AbstractClient.java
in server/src/main/java/org/opensearch/client/support
1549 284
Setting.java
in server/src/main/java/org/opensearch/common/settings
1662 201
IndexShard.java
in server/src/main/java/org/opensearch/index/shard
2967 191
InternalEngine.java
in server/src/main/java/org/opensearch/index/engine
2460 157
Engine.java
in server/src/main/java/org/opensearch/index/engine
1385 143
Translog.java
in server/src/main/java/org/opensearch/index/translog
1472 136
DefMath.java
in modules/lang-painless/src/main/java/org/opensearch/painless
1062 129
StrictISODateTimeFormat.java
in server/src/main/java/org/joda/time/format
917 118
IndexMetadata.java
in server/src/main/java/org/opensearch/cluster/metadata
1546 115
XContentBuilder.java
in libs/x-content/src/main/java/org/opensearch/common/xcontent
704 114
RequestConverters.java
in client/rest-high-level/src/main/java/org/opensearch/client
1046 114
OpenSearchNode.java
in buildSrc/src/main/java/org/opensearch/gradle/testclusters
1315 113
RecoveryState.java
in server/src/main/java/org/opensearch/indices/recovery
832 107
IntervalsSourceProvider.java
in server/src/main/java/org/opensearch/index/query
928 107
Rounding.java
in server/src/main/java/org/opensearch/common
963 107
Metadata.java
in server/src/main/java/org/opensearch/cluster/metadata
1411 106
SearchSourceBuilder.java
in server/src/main/java/org/opensearch/search/builder
1261 105
RestHighLevelClient.java
in client/rest-high-level/src/main/java/org/opensearch/client
1367 102
IndexSettings.java
in server/src/main/java/org/opensearch/index
810 99
Files With Long Lines (Top 20)

There are 2720 files with lines longer than 120 characters. In total, there are 15557 long lines.

File# lines# units# long lines
PainlessParser.java
in modules/lang-painless/src/main/java/org/opensearch/painless/antlr
4894 593 154
SnapshotsService.java
in server/src/main/java/org/opensearch/snapshots
3027 90 154
HighlighterSearchIT.java
in server/src/internalClusterTest/java/org/opensearch/search/fetch/subphase/highlight
3013 94 136
DefaultSemanticAnalysisPhase.java
in modules/lang-painless/src/main/java/org/opensearch/painless/phase
2607 48 132
IndexAliasesIT.java
in server/src/internalClusterTest/java/org/opensearch/aliases
1284 35 113
SearchQueryIT.java
in server/src/internalClusterTest/java/org/opensearch/search/query
1849 61 106
BlobStoreRepository.java
in server/src/main/java/org/opensearch/repositories/blobstore
2433 86 104
ShardIndexingPressureIT.java
in server/src/internalClusterTest/java/org/opensearch/index
700 12 101
SearchModule.java
in server/src/main/java/org/opensearch/search
1161 37 100
IndexShard.java
in server/src/main/java/org/opensearch/index/shard
2967 191 85
FieldSortIT.java
in server/src/internalClusterTest/java/org/opensearch/search/sort
1662 28 83
ChildQuerySearchIT.java
in modules/parent-join/src/internalClusterTest/java/org/opensearch/join/query
1571 38 81
SharedClusterSnapshotRestoreIT.java
in server/src/internalClusterTest/java/org/opensearch/snapshots
1951 41 76
InternalEngine.java
in server/src/main/java/org/opensearch/index/engine
2460 157 71
RestIndicesAction.java
in server/src/main/java/org/opensearch/rest/action/cat
667 15 68
DefaultConstantFoldingOptimizationPhase.java
in modules/lang-painless/src/main/java/org/opensearch/painless/phase
989 42 65
PercolatorQuerySearchIT.java
in modules/percolator/src/internalClusterTest/java/org/opensearch/percolator
1188 15 64
IndexRecoveryIT.java
in server/src/internalClusterTest/java/org/opensearch/indices/recovery
1968 37 64
MetadataIndexStateService.java
in server/src/main/java/org/opensearch/cluster/metadata
956 18 63
Setting.java
in server/src/main/java/org/opensearch/common/settings
1662 201 60