awslabs / amazon-kinesis-agent
Unit Size

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

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 1,261 units with 11,583 lines of code in units (72.6% of code).
    • 0 very long units (0 lines of code)
    • 5 long units (373 lines of code)
    • 125 medium size units (3,514 lines of code)
    • 230 small units (3,399 lines of code)
    • 901 very small units (4,297 lines of code)
0% | 3% | 30% | 29% | 37%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java0% | 3% | 30% | 29% | 37%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/com/amazon/kinesis/streaming/agent/tailing0% | 6% | 28% | 25% | 39%
src/com/amazon/kinesis/streaming/agent0% | 16% | 32% | 20% | 30%
tst/com/amazon/kinesis/streaming/agent/tailing0% | 1% | 38% | 32% | 28%
src/com/amazon/kinesis/streaming/agent/metrics0% | 0% | 28% | 20% | 51%
src/com/amazon/kinesis/streaming/agent/processing0% | 0% | 20% | 40% | 38%
src/com/amazon/kinesis/streaming/agent/config0% | 0% | 21% | 20% | 57%
tst/com/amazon/kinesis/streaming/agent/testing0% | 0% | 16% | 31% | 51%
tst/com/amazon/kinesis/streaming/agent/metrics0% | 0% | 13% | 16% | 69%
tst/com/amazon/kinesis/streaming/agent/config0% | 0% | 12% | 18% | 68%
tst/com/amazon/kinesis/streaming/agent/processing0% | 0% | 0% | 79% | 20%
tst/com/amazon/kinesis/streaming/agent0% | 0% | 0% | 35% | 64%
src/com/amazon/kinesis/streaming/agent/providers0% | 0% | 0% | 49% | 50%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
protected BufferSendResult attemptSend()
in src/com/amazon/kinesis/streaming/agent/tailing/KinesisSender.java
96 14 1
protected BufferSendResult attemptSend()
in src/com/amazon/kinesis/streaming/agent/tailing/FirehoseSender.java
95 14 1
protected void shutDown()
in src/com/amazon/kinesis/streaming/agent/Agent.java
70 11 0
protected synchronized BufferSendResult attemptSend()
in tst/com/amazon/kinesis/streaming/agent/tailing/testing/FileSender.java
58 12 1
public static void main()
in src/com/amazon/kinesis/streaming/agent/Agent.java
54 8 1
private FileCheckpoint createOrUpdateCheckpoint()
in src/com/amazon/kinesis/streaming/agent/tailing/checkpoints/SQLiteFileCheckpointStore.java
50 6 1
public void testTakeWithRetryBuffers()
in tst/com/amazon/kinesis/streaming/agent/tailing/PublishingQueueTest.java
50 1 0
public Configuration()
in src/com/amazon/kinesis/streaming/agent/config/Configuration.java
49 3 1
public void testContinueWhileParsingBuffer()
in tst/com/amazon/kinesis/streaming/agent/tailing/AbstractParserTest.java
43 1 0
public void testBackoffComputationWithJitter()
in tst/com/amazon/kinesis/streaming/agent/tailing/AsyncPublisherThrottlerTest.java
43 1 0
public void testSkipHeadersWithNewFile()
in tst/com/amazon/kinesis/streaming/agent/tailing/AbstractParserTest.java
42 4 0
boolean updateCurrentFile()
in src/com/amazon/kinesis/streaming/agent/tailing/SourceFileTracker.java
41 10 1
protected synchronized boolean updateRecordParser()
in src/com/amazon/kinesis/streaming/agent/tailing/FileTailer.java
40 16 1
public void testRetryingPartialFailures()
in tst/com/amazon/kinesis/streaming/agent/tailing/FirehoseSenderTest.java
40 5 2
public void testRetryingPartialFailures()
in tst/com/amazon/kinesis/streaming/agent/tailing/KinesisSenderTest.java
40 5 2
public Agent()
in src/com/amazon/kinesis/streaming/agent/Agent.java
38 1 1
public FileTailer()
in src/com/amazon/kinesis/streaming/agent/tailing/FileTailer.java
38 1 6
public void testBlockingOfferRecordWithFullQueue()
in tst/com/amazon/kinesis/streaming/agent/tailing/PublishingQueueTest.java
38 3 0
public void testNonBlockingOfferRecordWithFullQueue()
in tst/com/amazon/kinesis/streaming/agent/tailing/PublishingQueueTest.java
38 3 0
private void emitStatus()
in src/com/amazon/kinesis/streaming/agent/Agent.java
37 11 0