Apache Kafka
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,964 files with 212,448 lines of code.
    • 24 very long files (34,090 lines of code)
    • 53 long files (35,843 lines of code)
    • 183 medium size files (58,622 lines of code)
    • 235 small files (32,661 lines of code)
    • 1,469 very small files (51,232 lines of code)
16% | 16% | 27% | 15% | 24%
Legend:
1001+
501-1000
201-500
101-200
1-100
File Size per Extension
java10% | 16% | 28% | 17% | 27%
scala35% | 19% | 24% | 8% | 11%
Legend:
1001+
501-1000
201-500
101-200
1-100
File Size per Logical Decomposition
primary
core35% | 20% | 24% | 8% | 10%
clients13% | 16% | 22% | 15% | 31%
streams9% | 16% | 27% | 18% | 26%
generator38% | 0% | 42% | 8% | 10%
connect4% | 21% | 30% | 17% | 26%
tools0% | 4% | 55% | 14% | 24%
log4j-appender0% | 0% | 100% | 0% | 0%
jmh-benchmarks0% | 0% | 16% | 56% | 27%
examples0% | 0% | 0% | 55% | 44%
Legend:
1001+
501-1000
201-500
101-200
1-100
Alternative Visuals
Longest Files (Top 50)
File# lines# units
KafkaAdminClient.java
in clients/src/main/java/org/apache/kafka/clients/admin
3377 119
KafkaApis.scala
in core/src/main/scala/kafka/server
2720 86
MessageDataGenerator.java
in generator/src/main/java/org/apache/kafka/message
1856 57
Log.scala
in core/src/main/scala/kafka/log
1638 88
InternalTopologyBuilder.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
1614 137
KafkaController.scala
in core/src/main/scala/kafka/controller
1519 114
KafkaConfig.scala
in core/src/main/scala/kafka/server
1508 25
DistributedHerder.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime/distributed
1446 73
Fetcher.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
1432 60
ReplicaManager.scala
in core/src/main/scala/kafka/server
1383 55
TransactionManager.java
in clients/src/main/java/org/apache/kafka/clients/producer/internals
1333 129
ReassignPartitionsCommand.scala
in core/src/main/scala/kafka/admin
1234 58
KafkaZkClient.scala
in core/src/main/scala/kafka/zk
1170 116
StreamsPartitionAssignor.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
1166 47
KStreamImpl.java
in streams/src/main/java/org/apache/kafka/streams/kstream/internals
1159 84
GroupMetadataManager.scala
in core/src/main/scala/kafka/coordinator/group
1157 48
RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java
in streams/src/main/java/org/apache/kafka/streams/state/internals
1111 232
SocketServer.scala
in core/src/main/scala/kafka/network
1055 82
GroupCoordinator.scala
in core/src/main/scala/kafka/coordinator/group
1049 56
AbstractCoordinator.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
1047 75
ConsumerCoordinator.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
1046 46
AdminManager.scala
in core/src/main/scala/kafka/server
1039 34
Selector.java
in clients/src/main/java/org/apache/kafka/common/network
1023 80
ConsumerGroupCommand.scala
in core/src/main/scala/kafka/admin
1008 42
ConfigDef.java
in clients/src/main/java/org/apache/kafka/common/config
984 95
KTableImpl.java
in streams/src/main/java/org/apache/kafka/streams/kstream/internals
947 60
Values.java
in connect/api/src/main/java/org/apache/kafka/connect/data
931 45
TaskManager.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
917 55
NetworkClient.java
in clients/src/main/java/org/apache/kafka/clients
903 68
KafkaConsumer.java
in clients/src/main/java/org/apache/kafka/clients/consumer
879 63
Type.java
in clients/src/main/java/org/apache/kafka/common/protocol/types
866 132
Worker.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime
843 57
LogManager.scala
in core/src/main/scala/kafka/log
840 42
StreamsConfig.java
in streams/src/main/java/org/apache/kafka/streams
840 34
Partition.scala
in core/src/main/scala/kafka/cluster
827 51
SubscriptionState.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
795 119
StreamsMetricsImpl.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals/metrics
789 67
StreamTask.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
774 53
TopologyTestDriver.java
in streams/test-utils/src/main/java/org/apache/kafka/streams
762 51
RocksDBMetrics.java
in streams/src/main/java/org/apache/kafka/streams/state/internals/metrics
734 49
StreamThread.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
725 44
Utils.java
in clients/src/main/java/org/apache/kafka/common/utils
723 72
LogCleaner.scala
in core/src/main/scala/kafka/log
717 50
DynamicBrokerConfig.scala
in core/src/main/scala/kafka/server
715 56
KafkaStreams.java
in streams/src/main/java/org/apache/kafka/streams
713 46
ConfigCommand.scala
in core/src/main/scala/kafka/admin
706 23
KafkaProducer.java
in clients/src/main/java/org/apache/kafka/clients/producer
692 42
AbstractStickyAssignor.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
691 31
WorkerSinkTask.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime
688 53
SslTransportLayer.java
in clients/src/main/java/org/apache/kafka/common/network
660 45
Files With Most Units (Top 50)
File# lines# units
RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java
in streams/src/main/java/org/apache/kafka/streams/state/internals
1111 232
InternalTopologyBuilder.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
1614 137
Type.java
in clients/src/main/java/org/apache/kafka/common/protocol/types
866 132
TransactionManager.java
in clients/src/main/java/org/apache/kafka/clients/producer/internals
1333 129
LogContext.java
in clients/src/main/java/org/apache/kafka/common/utils
631 129
KafkaAdminClient.java
in clients/src/main/java/org/apache/kafka/clients/admin
3377 119
SubscriptionState.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
795 119
KafkaZkClient.scala
in core/src/main/scala/kafka/zk
1170 116
KafkaController.scala
in core/src/main/scala/kafka/controller
1519 114
ConfigDef.java
in clients/src/main/java/org/apache/kafka/common/config
984 95
Log.scala
in core/src/main/scala/kafka/log
1638 88
KafkaApis.scala
in core/src/main/scala/kafka/server
2720 86
KStreamImpl.java
in streams/src/main/java/org/apache/kafka/streams/kstream/internals
1159 84
SocketServer.scala
in core/src/main/scala/kafka/network
1055 82
Selector.java
in clients/src/main/java/org/apache/kafka/common/network
1023 80
Struct.java
in clients/src/main/java/org/apache/kafka/common/protocol/types
401 78
AbstractCoordinator.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
1047 75
DistributedHerder.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime/distributed
1446 73
Utils.java
in clients/src/main/java/org/apache/kafka/common/utils
723 72
NetworkClient.java
in clients/src/main/java/org/apache/kafka/clients
903 68
AbstractLegacyRecordBatch.java
in clients/src/main/java/org/apache/kafka/common/record
457 68
StreamsMetricsImpl.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals/metrics
789 67
MockConsumer.java
in clients/src/main/java/org/apache/kafka/clients/consumer
451 63
KafkaConsumer.java
in clients/src/main/java/org/apache/kafka/clients/consumer
879 63
DefaultRecordBatch.java
in clients/src/main/java/org/apache/kafka/common/record
524 63
FieldType.java
in generator/src/main/java/org/apache/kafka/message
332 61
Fetcher.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
1432 60
MemoryRecordsBuilder.java
in clients/src/main/java/org/apache/kafka/common/record
486 60
KTableImpl.java
in streams/src/main/java/org/apache/kafka/streams/kstream/internals
947 60
ReassignPartitionsCommand.scala
in core/src/main/scala/kafka/admin
1234 58
MessageDataGenerator.java
in generator/src/main/java/org/apache/kafka/message
1856 57
Worker.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime
843 57
MemoryRecords.java
in clients/src/main/java/org/apache/kafka/common/record
471 56
GroupCoordinator.scala
in core/src/main/scala/kafka/coordinator/group
1049 56
DynamicBrokerConfig.scala
in core/src/main/scala/kafka/server
715 56
ReplicaManager.scala
in core/src/main/scala/kafka/server
1383 55
TaskManager.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
917 55
ZkData.scala
in core/src/main/scala/kafka/zk
656 53
StreamTask.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
774 53
KafkaLog4jAppender.java
in log4j-appender/src/main/java/org/apache/kafka/log4jappender
292 53
WorkerCoordinator.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime/distributed
457 53
WorkerSinkTask.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime
688 53
ImplicitLinkedHashCollection.java
in clients/src/main/java/org/apache/kafka/common/utils
401 52
ControllerContext.scala
in core/src/main/scala/kafka/controller
363 52
Partition.scala
in core/src/main/scala/kafka/cluster
827 51
TopologyTestDriver.java
in streams/test-utils/src/main/java/org/apache/kafka/streams
762 51
ConsumerNetworkClient.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
453 50
LogCleaner.scala
in core/src/main/scala/kafka/log
717 50
VerifiableConsumer.java
in tools/src/main/java/org/apache/kafka/tools
532 49
MockProcessorContext.java
in streams/test-utils/src/main/java/org/apache/kafka/streams/processor
335 49