awslabs / amazon-kinesis-agent
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 9% duplication:
    • 11,890 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,163 duplicated lines
  • 139 duplicates
system9% (1,163 lines)
Duplication per Extension
java9% (1,163 lines)
Duplication per Component (primary)
tst/com/amazon/kinesis/streaming/agent/tailing17% (907 lines)
src/com/amazon/kinesis/streaming/agent/tailing4% (142 lines)
src/com/amazon/kinesis/streaming/agent/config10% (50 lines)
src/com/amazon/kinesis/streaming/agent/processing6% (36 lines)
src/com/amazon/kinesis/streaming/agent/metrics3% (16 lines)
src/com/amazon/kinesis/streaming/agent1% (12 lines)
src/com/amazon/kinesis/streaming/agent/providers0% (0 lines)
tst/com/amazon/kinesis/streaming/agent0% (0 lines)
tst/com/amazon/kinesis/streaming/agent/config0% (0 lines)
tst/com/amazon/kinesis/streaming/agent/testing0% (0 lines)
tst/com/amazon/kinesis/streaming/agent/processing0% (0 lines)
tst/com/amazon/kinesis/streaming/agent/metrics0% (0 lines)
tst0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 139 duplicates...
Size#FoldersFilesLinesCode
24 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
AbstractParserTest.java
AbstractParserTest.java
575:602 (3%)
616:643 (3%)
view
19 x 2 src/com/amazon/kinesis/streaming/agent/tailing
src/com/amazon/kinesis/streaming/agent/tailing
FirehoseSender.java
KinesisSender.java
142:161 (14%)
144:163 (14%)
view
17 x 2 src/com/amazon/kinesis/streaming/agent/tailing
src/com/amazon/kinesis/streaming/agent/tailing
FirehoseSender.java
KinesisSender.java
121:140 (13%)
123:142 (12%)
view
16 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
AsyncPublisherServiceTest.java
AsyncPublisherTest.java
36:58 (12%)
36:58 (12%)
view
14 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
PublishingQueueTest.java
PublishingQueueTest.java
309:327 (3%)
364:382 (3%)
view
14 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
PublishingQueueTest.java
PublishingQueueTest.java
309:327 (3%)
694:712 (3%)
view
14 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
PublishingQueueTest.java
PublishingQueueTest.java
364:382 (3%)
694:712 (3%)
view
14 x 2 src/com/amazon/kinesis/streaming/agent/config
src/com/amazon/kinesis/streaming/agent/config
Configuration.java
Configuration.java
487:501 (5%)
512:526 (5%)
view
13 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
AbstractParserTest.java
AbstractParserTest.java
654:668 (1%)
678:693 (1%)
view
13 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
PublishingQueueTest.java
PublishingQueueTest.java
170:187 (2%)
230:247 (2%)
view
12 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
FirehoseParserTest.java
FirehoseParserTest.java
85:96 (14%)
108:119 (14%)
view
11 x 2 tst/com/amazon/kinesis/s...g/agent/tailing/testing
tst/com/amazon/kinesis/s...g/agent/tailing/testing
CopyFileRotator.java
TruncateFileRotator.java
42:57 (30%)
30:45 (20%)
view
11 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
FirehoseSenderTest.java
KinesisSenderTest.java
125:141 (8%)
121:137 (7%)
view
11 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
KinesisParserTest.java
KinesisSenderTest.java
49:59 (39%)
193:203 (7%)
view
11 x 2 src/com/amazon/kinesis/streaming/agent/config
src/com/amazon/kinesis/streaming/agent/config
Configuration.java
Configuration.java
245:256 (4%)
269:280 (4%)
view
11 x 2 src/com/amazon/kinesis/s...gent/processing/parsers
src/com/amazon/kinesis/s...gent/processing/parsers
ApacheLogParser.java
SysLogParser.java
78:94 (16%)
59:75 (27%)
view
11 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
FirehoseParserTest.java
FirehoseParserTest.java
35:45 (12%)
60:70 (12%)
view
11 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
AbstractParserTest.java
AbstractParserTest.java
469:482 (1%)
493:506 (1%)
view
10 x 2 src/com/amazon/kinesis/streaming/agent/tailing
src/com/amazon/kinesis/streaming/agent/tailing
AsyncPublisher.java
FileTailer.java
78:96 (8%)
179:197 (3%)
view
10 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
AbstractParserTest.java
AbstractParserTest.java
543:553 (1%)
577:587 (1%)
view
Duplicated Units
The list of top 6 duplicated units.
See data for all 6 unit duplicates...
Size#FoldersFilesLinesCode
11 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
KinesisParserTest.java
KinesisSenderTest.java
49:60 
193:204 
view
10 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
AggregationSplitterTest.java
AggregationSplitterTest.java
74:85 
157:168 
view
8 x 2 src/com/amazon/kinesis/streaming/agent/tailing
src/com/amazon/kinesis/streaming/agent/tailing
FirehoseFileFlow.java
KinesisFileFlow.java
75:83 
69:77 
view
8 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
AggregationSplitterTest.java
AggregationSplitterTest.java
37:46 
88:97 
view
7 x 2 tst/com/amazon/kinesis/streaming/agent/tailing
tst/com/amazon/kinesis/streaming/agent/tailing
AggregationSplitterTest.java
AggregationSplitterTest.java
63:71 
131:139 
view
6 x 2 tst/com/amazon/kinesis/streaming/agent/testing
tst/com/amazon/kinesis/streaming/agent/testing
TestUtils.java
TestUtils.java
208:214 
240:246 
view