microsoft / kafka
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 1,474 files with 143,848 lines of code.
    • 8 very long files (10,258 lines of code)
    • 36 long files (25,241 lines of code)
    • 143 medium size files (45,670 lines of codeclsfd_ftr_w_mp_ins)
    • 180 small files (25,544 lines of code)
    • 1,107 very small files (37,135 lines of code)
7% | 17% | 31% | 17% | 25%
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
scala15% | 21% | 32% | 13% | 17%
java3% | 16% | 31% | 19% | 29%
py0% | 0% | 90% | 0% | 9%
xsl0% | 0% | 0% | 100% | 0%
rdf0% | 0% | 0% | 0% | 100%
html0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
core/src14% | 20% | 33% | 13% | 17%
clients/src5% | 18% | 27% | 20% | 27%
streams/src5% | 15% | 23% | 21% | 33%
connect/runtime0% | 13% | 42% | 16% | 27%
connect/api0% | 26% | 27% | 12% | 32%
connect/json0% | 80% | 0% | 0% | 19%
tools/src0% | 0% | 55% | 17% | 27%
connect/transforms0% | 0% | 56% | 15% | 28%
ROOT0% | 0% | 85% | 0% | 14%
streams/test-utils0% | 0% | 100% | 0% | 0%
log4j-appender/src0% | 0% | 100% | 0% | 0%
connect/file0% | 0% | 0% | 51% | 48%
gradle/resources0% | 0% | 0% | 100% | 0%
jmh-benchmarks/src0% | 0% | 0% | 65% | 35%
streams/quickstart0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
KafkaApis.scala
in core/src/main/scala/kafka/server
1829 72
KafkaAdminClient.java
in clients/src/main/java/org/apache/kafka/clients/admin
1534 56
InternalTopologyBuilder.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
1507 126
KafkaController.scala
in core/src/main/scala/kafka/controller
1104 76
ReplicaManager.scala
in core/src/main/scala/kafka/server
1101 44
Log.scala
in core/src/main/scala/kafka/log
1086 63
KafkaConfig.scala
in core/src/main/scala/kafka/server
1063 9
Fetcher.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
1034 45
DistributedHerder.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime/distributed
987 61
TransactionManager.java
in clients/src/main/java/org/apache/kafka/clients/producer/internals
986 106
GroupMetadataManager.scala
in core/src/main/scala/kafka/coordinator/group
926 46
ZkUtils.scala
in core/src/main/scala/kafka/utils
915 89
KafkaZkClient.scala
in core/src/main/scala/kafka/zk
901 99
ConsumerGroupCommand.scala
in core/src/main/scala/kafka/admin
892 42
StreamThread.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
836 44
Values.java
in connect/api/src/main/java/org/apache/kafka/connect/data
824 41
ConfigDef.java
in clients/src/main/java/org/apache/kafka/common/config
801 72
KStreamImpl.java
in streams/src/main/java/org/apache/kafka/streams/kstream/internals
769 77
ZookeeperConsumerConnector.scala
in core/src/main/scala/kafka/consumer
765 39
Selector.java
in clients/src/main/java/org/apache/kafka/common/network
739 61
GroupCoordinator.scala
in core/src/main/scala/kafka/coordinator/group
723 43
AbstractCoordinator.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
711 49
KTableImpl.java
in streams/src/main/java/org/apache/kafka/streams/kstream/internals
710 69
KafkaConsumer.java
in clients/src/main/java/org/apache/kafka/clients/consumer
693 43
NetworkClient.java
in clients/src/main/java/org/apache/kafka/clients
690 56
LogManager.scala
in core/src/main/scala/kafka/log
682 28
Errors.java
in clients/src/main/java/org/apache/kafka/common/protocol
678 82
ConsumerCoordinator.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
673 34
JsonConverter.java
in connect/json/src/main/java/org/apache/kafka/connect/json
641 16
WorkerSinkTask.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime
641 49
LogContext.java
in clients/src/main/java/org/apache/kafka/common/utils
631 129
Sender.java
in clients/src/main/java/org/apache/kafka/clients/producer/internals
629 29
LogCleaner.scala
in core/src/main/scala/kafka/log
615 43
KafkaProducer.java
in clients/src/main/java/org/apache/kafka/clients/producer
612 37
StreamsConfig.java
in streams/src/main/java/org/apache/kafka/streams
584 29
MirrorMaker.scala
in core/src/main/scala/kafka/tools
583 39
PureJavaCrc32C.java
in clients/src/main/java/org/apache/kafka/common/utils
581 5
StickyAssignor.java
in clients/src/main/java/org/apache/kafka/clients/consumer
579 34
KafkaStreams.java
in streams/src/main/java/org/apache/kafka/streams
577 41
SocketServer.scala
in core/src/main/scala/kafka/network
566 38
SslTransportLayer.java
in clients/src/main/java/org/apache/kafka/common/network
546 42
ReassignPartitionsCommand.scala
in core/src/main/scala/kafka/admin
529 27
StreamPartitionAssignor.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
523 20
ProducerStateManager.scala
in core/src/main/scala/kafka/log
503 35
Worker.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime
500 34
StreamsResetter.java
in core/src/main/scala/kafka/tools
500 23
VerifiableConsumer.java
in tools/src/main/java/org/apache/kafka/tools
496 49
ConsoleConsumer.scala
in core/src/main/scala/kafka/tools
495 21
Utils.java
in clients/src/main/java/org/apache/kafka/common/utils
493 49
DefaultRecordBatch.java
in clients/src/main/java/org/apache/kafka/common/record
483 59
Files With Most Units (Top 20)
File# lines# units
LogContext.java
in clients/src/main/java/org/apache/kafka/common/utils
631 129
InternalTopologyBuilder.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
1507 126
TransactionManager.java
in clients/src/main/java/org/apache/kafka/clients/producer/internals
986 106
KafkaZkClient.scala
in core/src/main/scala/kafka/zk
901 99
ZkUtils.scala
in core/src/main/scala/kafka/utils
915 89
Errors.java
in clients/src/main/java/org/apache/kafka/common/protocol
678 82
KStreamImpl.java
in streams/src/main/java/org/apache/kafka/streams/kstream/internals
769 77
KafkaController.scala
in core/src/main/scala/kafka/controller
1104 76
ConfigDef.java
in clients/src/main/java/org/apache/kafka/common/config
801 72
KafkaApis.scala
in core/src/main/scala/kafka/server
1829 72
Type.java
in clients/src/main/java/org/apache/kafka/common/protocol/types
424 69
KTableImpl.java
in streams/src/main/java/org/apache/kafka/streams/kstream/internals
710 69
AbstractLegacyRecordBatch.java
in clients/src/main/java/org/apache/kafka/common/record
450 67
Log.scala
in core/src/main/scala/kafka/log
1086 63
SubscriptionState.java
in clients/src/main/java/org/apache/kafka/clients/consumer/internals
329 62
Selector.java
in clients/src/main/java/org/apache/kafka/common/network
739 61
DistributedHerder.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime/distributed
987 61
DefaultRecordBatch.java
in clients/src/main/java/org/apache/kafka/common/record
483 59
MemoryRecordsBuilder.java
in clients/src/main/java/org/apache/kafka/common/record
455 58
NetworkClient.java
in clients/src/main/java/org/apache/kafka/clients
690 56
Files With Long Lines (Top 20)

There are 535 files with lines longer than 120 characters. In total, there are 3596 long lines.

File# lines# units# long lines
KafkaConfig.scala
in core/src/main/scala/kafka/server
1063 9 202
ConsumerGroupCommand.scala
in core/src/main/scala/kafka/admin
892 42 84
ProducerConfig.java
in clients/src/main/java/org/apache/kafka/clients/producer
281 8 81
KafkaApis.scala
in core/src/main/scala/kafka/server
1829 72 67
ReassignPartitionsCommand.scala
in core/src/main/scala/kafka/admin
529 27 63
ConnectMetricsRegistry.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime
290 12 58
KafkaController.scala
in core/src/main/scala/kafka/controller
1104 76 54
TransactionStateManager.scala
in core/src/main/scala/kafka/coordinator/transaction
463 13 51
StreamsConfig.java
in streams/src/main/java/org/apache/kafka/streams
584 29 51
ReplicaManager.scala
in core/src/main/scala/kafka/server
1101 44 49
PartitionStateMachine.scala
in core/src/main/scala/kafka/controller
362 21 45
StreamThread.java
in streams/src/main/java/org/apache/kafka/streams/processor/internals
836 44 40
StreamsResetter.java
in core/src/main/scala/kafka/tools
500 23 39
ConsumerConfig.java
in clients/src/main/java/org/apache/kafka/clients/consumer
343 8 38
ConfigDef.java
in clients/src/main/java/org/apache/kafka/common/config
801 72 37
Log.scala
in core/src/main/scala/kafka/log
1086 63 32
ConsoleConsumer.scala
in core/src/main/scala/kafka/tools
495 21 30
DistributedHerder.java
in connect/runtime/src/main/java/org/apache/kafka/connect/runtime/distributed
987 61 29
TransactionMarkerChannelManager.scala
in core/src/main/scala/kafka/coordinator/transaction
300 17 28
KStreamImpl.java
in streams/src/main/java/org/apache/kafka/streams/kstream/internals
769 77 27