awslabs / flowgger
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
  • 17% duplication:
    • 5,233 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 927 duplicated lines
  • 88 duplicates
system17% (927 lines)
Duplication per Extension
rs18% (904 lines)
toml11% (23 lines)
Duplication per Component (primary)
src/flowgger/input27% (291 lines)
src37% (199 lines)
src/flowgger/encoder21% (131 lines)
src/flowgger/decoder16% (110 lines)
src/flowgger/output9% (94 lines)
src/flowgger/splitter20% (73 lines)
ROOT9% (23 lines)
src/flowgger1% (6 lines)
ci0% (0 lines)
src/flowgger/merger0% (0 lines)
src/flowgger/utils0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 88 duplicates...
Size#FoldersFilesLinesCode
30 x 2 src
src
record_capnp.rs
record_capnp.rs
412:460 (5%)
598:646 (5%)
view
30 x 2 src
src
record_capnp.rs
record_capnp.rs
129:177 (5%)
598:646 (5%)
view
30 x 2 src
src
record_capnp.rs
record_capnp.rs
129:177 (5%)
412:460 (5%)
view
28 x 2 src
src
record_capnp.rs
record_capnp.rs
7:52 (5%)
354:399 (5%)
view
27 x 2 src
src
record_capnp.rs
record_capnp.rs
354:397 (5%)
511:554 (5%)
view
27 x 2 src
src
record_capnp.rs
record_capnp.rs
7:50 (5%)
511:554 (5%)
view
19 x 2 src/flowgger/decoder
src/flowgger/decoder
rfc5424_decoder.rs
rfc5424_decoder.rs
249:268 (7%)
285:304 (7%)
view
16 x 2 src/flowgger/encoder
src/flowgger/encoder
capnp_encoder.rs
gelf_encoder.rs
121:136 (13%)
127:142 (8%)
view
15 x 2 src/flowgger/input/tcp
src/flowgger/input/tls
mod.rs
mod.rs
47:61 (28%)
130:144 (9%)
view
14 x 2 src/flowgger/output
src/flowgger/output
file_output.rs
file_output.rs
421:437 (3%)
482:498 (3%)
view
14 x 2 src/flowgger/input/tcp
src/flowgger/input/tls
tcp_input.rs
tls_input.rs
47:70 (21%)
47:70 (19%)
view
14 x 2 src/flowgger/decoder
src/flowgger/decoder
rfc3164_decoder.rs
rfc3164_decoder.rs
70:83 (13%)
105:118 (13%)
view
12 x 2 src/flowgger/encoder
src/flowgger/encoder
ltsv_encoder.rs
ltsv_encoder.rs
136:148 (7%)
162:174 (7%)
view
11 x 2 src/flowgger/input/tcp
src/flowgger/input/tls
tcp_input.rs
tls_input.rs
32:42 (16%)
32:42 (15%)
view
10 x 2 src/flowgger/input/tls
src/flowgger/output
mod.rs
tls_output.rs
14:23 (6%)
20:29 (3%)
view
10 x 2 src/flowgger/encoder
src/flowgger/encoder
gelf_encoder.rs
gelf_encoder.rs
154:163 (5%)
180:189 (5%)
view
10 x 2 src/flowgger/decoder
src/flowgger/decoder
rfc5424_decoder.rs
rfc5424_decoder.rs
238:247 (4%)
274:283 (4%)
view
10 x 2 src/flowgger/encoder
src/flowgger/encoder
gelf_encoder.rs
gelf_encoder.rs
131:140 (5%)
227:236 (5%)
view
10 x 2 src/flowgger/encoder
src/flowgger/encoder
capnp_encoder.rs
gelf_encoder.rs
125:134 (8%)
227:236 (5%)
view
10 x 2 src/flowgger/splitter
src/flowgger/splitter
line_splitter.rs
nul_splitter.rs
26:36 (25%)
23:33 (21%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
9 x 2 src/flowgger/output
src/flowgger/output
file_output.rs
file_output.rs
499:508 
573:582 
view
8 x 2 src/flowgger/input/tls
src/flowgger/output
mod.rs
tls_output.rs
41:49 
211:219 
view
7 x 2 src/flowgger/input/tls
src/flowgger/input/tcp
mod.rs
mod.rs
52:59 
22:29 
view
6 x 2 src/flowgger/output
src/flowgger/output
file_output.rs
file_output.rs
302:308 
312:318 
view