aws-samples / one-observability-demo
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
  • 56% duplication:
    • 8,546 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,842 duplicated lines
  • 155 duplicates
system56% (4,842 lines)
Duplication per Extension
go100% (1,748 lines)
cs83% (1,150 lines)
java94% (504 lines)
cshtml94% (470 lines)
yaml16% (453 lines)
css100% (394 lines)
yml32% (105 lines)
ts2% (18 lines)
Duplication per Component (primary)
PetAdoptions/cdk45% (2,483 lines)
PetAdoptions/petsite96% (783 lines)
PetAdoptions/payforadoption-go100% (503 lines)
PetAdoptions/petlistadoptions-go100% (371 lines)
PetAdoptions/petsearch-java94% (262 lines)
PetAdoptions/trafficgenerator100% (96 lines)
PetAdoptions/petlistadoptions62% (90 lines)
ROOT14% (88 lines)
PetAdoptions/payforadoption57% (84 lines)
PetAdoptions/petsearch48% (82 lines)
PetAdoptions/petstatusupdater0% (0 lines)

Duplication Between Components (50+ lines)

G PetAdoptions/cdk PetAdoptions/cdk PetAdoptions/petsite PetAdoptions/petsite PetAdoptions/cdk--PetAdoptions/petsite 1574 PetAdoptions/payforadoption-go PetAdoptions/payforadoption-go PetAdoptions/cdk--PetAdoptions/payforadoption-go 1096 PetAdoptions/petlistadoptions-go PetAdoptions/petlistadoptions-go PetAdoptions/cdk--PetAdoptions/petlistadoptions-go 832 PetAdoptions/petsearch-java PetAdoptions/petsearch-java PetAdoptions/cdk--PetAdoptions/petsearch-java 524 PetAdoptions/trafficgenerator PetAdoptions/trafficgenerator PetAdoptions/cdk--PetAdoptions/trafficgenerator 200 PetAdoptions/payforadoption PetAdoptions/payforadoption PetAdoptions/cdk--PetAdoptions/payforadoption 124 PetAdoptions/petlistadoptions PetAdoptions/petlistadoptions PetAdoptions/cdk--PetAdoptions/petlistadoptions 124 PetAdoptions/petsearch PetAdoptions/petsearch PetAdoptions/cdk--PetAdoptions/petsearch 142 ROOT ROOT PetAdoptions/cdk--ROOT 128 PetAdoptions/payforadoption-go--PetAdoptions/petlistadoptions-go 180 PetAdoptions/payforadoption--PetAdoptions/petsite 116 PetAdoptions/payforadoption--PetAdoptions/petlistadoptions 168 PetAdoptions/payforadoption--PetAdoptions/petsearch 134 PetAdoptions/petlistadoptions--PetAdoptions/petsite 116 PetAdoptions/petlistadoptions--PetAdoptions/petsearch 146 PetAdoptions/petsearch--PetAdoptions/petsite 134

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 155 duplicates...
Size#FoldersFilesLinesCode
144 x 2 PetAdoptions/cdk/pet_sta...ption-go/payforadoption
PetAdoptions/payforadoption-go/payforadoption
repository.go
repository.go
23:244 (100%)
23:244 (100%)
view
143 x 2 PetAdoptions/cdk/pet_sta...ite/petsite/wwwroot/css
PetAdoptions/petsite/petsite/wwwroot/css
petstyles.css
petstyles.css
1:165 (100%)
1:165 (100%)
view
114 x 2 PetAdoptions/cdk/pet_sta...a/petsearch/controllers
PetAdoptions/petsearch-j...a/petsearch/controllers
SearchController.java
SearchController.java
30:195 (100%)
30:195 (100%)
view
96 x 2 PetAdoptions/cdk/pet_sta...ite/petsite/Controllers
PetAdoptions/petsite/petsite/Controllers
HomeController.cs
HomeController.cs
1:196 (100%)
1:196 (100%)
view
89 x 2 PetAdoptions/cdk/pet_sta...ption-go/payforadoption
PetAdoptions/payforadoption-go/payforadoption
transport.go
transport.go
19:143 (100%)
19:143 (100%)
view
82 x 2 PetAdoptions/cdk/pet_sta...ons-go/petlistadoptions
PetAdoptions/petlistadoptions-go/petlistadoptions
repository.go
repository.go
21:144 (100%)
21:144 (100%)
view
72 x 2 PetAdoptions/cdk/pet_sta.../petsite/Views/Adoption
PetAdoptions/petsite/petsite/Views/Adoption
cshtml
Index.cshtml
Index.cshtml
1:104 (100%)
1:104 (100%)
view
69 x 2 PetAdoptions/cdk/pet_sta...ces/petlistadoptions-go
PetAdoptions/petlistadoptions-go
config.go
config.go
18:130 (100%)
18:130 (100%)
view
68 x 2 PetAdoptions/cdk/pet_sta...ption-go/payforadoption
PetAdoptions/payforadoption-go/payforadoption
middlewares.go
middlewares.go
15:103 (100%)
15:103 (100%)
view
65 x 2 PetAdoptions/cdk/pet_sta...ces/petlistadoptions-go
PetAdoptions/petlistadoptions-go
main.go
main.go
27:136 (100%)
27:136 (100%)
view
65 x 2 PetAdoptions/cdk/pet_sta...ite/petsite/Controllers
PetAdoptions/petsite/petsite/Controllers
PaymentController.cs
PaymentController.cs
1:165 (100%)
1:165 (100%)
view
64 x 2 PetAdoptions/cdk/pet_sta...ption-go/payforadoption
PetAdoptions/payforadoption-go/payforadoption
service.go
service.go
14:129 (100%)
14:129 (100%)
view
64 x 2 PetAdoptions/cdk/pet_sta...vices/payforadoption-go
PetAdoptions/payforadoption-go
config.go
config.go
19:121 (100%)
19:121 (100%)
view
59 x 2 PetAdoptions/cdk/pet_sta...ons-go/petlistadoptions
PetAdoptions/petlistadoptions-go/petlistadoptions
transport.go
transport.go
18:103 (100%)
18:103 (100%)
view
57 x 2 PetAdoptions/cdk/pet_sta...ervices/petsite/petsite
PetAdoptions/petsite/petsite
SystemsManagerConfigurationProviderWi...
SystemsManagerConfigurationProviderWi...
1:109 (100%)
1:109 (100%)
view
54 x 2 PetAdoptions/cdk/pet_sta...ite/petsite/wwwroot/css
PetAdoptions/petsite/petsite/wwwroot/css
site.css
site.css
1:71 (100%)
1:71 (100%)
view
53 x 2 PetAdoptions/cdk/pet_sta...ons-go/petlistadoptions
PetAdoptions/petlistadoptions-go/petlistadoptions
middlewares.go
middlewares.go
16:83 (100%)
16:83 (100%)
view
50 x 2 PetAdoptions/cdk/pet_sta...vices/payforadoption-go
PetAdoptions/payforadoption-go
main.go
main.go
22:101 (100%)
22:101 (100%)
view
50 x 2 PetAdoptions/cdk/pet_sta.../main/java/ca/petsearch
PetAdoptions/petsearch-j.../main/java/ca/petsearch
MetricEmitter.java
MetricEmitter.java
12:94 (100%)
12:94 (100%)
view
49 x 2 PetAdoptions/cdk/pet_sta...erator/trafficgenerator
PetAdoptions/trafficgenerator/trafficgenerator
Worker.cs
Worker.cs
17:108 (100%)
17:108 (100%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 75 unit duplicates...
Size#FoldersFilesLinesCode
59 x 2 PetAdoptions/cdk/pet_sta...ces/petlistadoptions-go
PetAdoptions/petlistadoptions-go
main.go
main.go
62:137 
62:137 
view
57 x 2 PetAdoptions/payforadoption-go
PetAdoptions/cdk/pet_sta...vices/payforadoption-go
main.go
main.go
33:102 
33:102 
view
56 x 2 PetAdoptions/payforadoption-go/payforadoption
PetAdoptions/cdk/pet_sta...ption-go/payforadoption
repository.go
repository.go
85:155 
85:155 
view
44 x 2 PetAdoptions/payforadoption-go/payforadoption
PetAdoptions/cdk/pet_sta...ption-go/payforadoption
transport.go
transport.go
19:71 
19:71 
view
41 x 2 PetAdoptions/cdk/pet_sta...ite/petsite/Controllers
PetAdoptions/petsite/petsite/Controllers
HomeController.cs
HomeController.cs
137:191 
137:191 
view
37 x 2 PetAdoptions/cdk/pet_sta...ons-go/petlistadoptions
PetAdoptions/petlistadoptions-go/petlistadoptions
repository.go
repository.go
56:108 
56:108 
view
34 x 2 PetAdoptions/cdk/pet_sta...ite/petsite/Controllers
PetAdoptions/petsite/petsite/Controllers
PaymentController.cs
PaymentController.cs
61:109 
61:109 
view
31 x 2 PetAdoptions/payforadoption-go
PetAdoptions/cdk/pet_sta...vices/payforadoption-go
config.go
config.go
44:81 
44:81 
view
30 x 2 PetAdoptions/petsearch-j.../main/java/ca/petsearch
PetAdoptions/cdk/pet_sta.../main/java/ca/petsearch
MetricEmitter.java
MetricEmitter.java
27:64 
27:64 
view
30 x 2 PetAdoptions/cdk/pet_sta...ons-go/petlistadoptions
PetAdoptions/petlistadoptions-go/petlistadoptions
repository.go
repository.go
110:147 
110:147 
view
29 x 2 PetAdoptions/cdk/pet_sta...erator/trafficgenerator
PetAdoptions/trafficgenerator/trafficgenerator
Worker.cs
Worker.cs
63:112 
63:112 
view
28 x 2 PetAdoptions/cdk/pet_sta...ces/petlistadoptions-go
PetAdoptions/petlistadoptions-go
config.go
config.go
96:131 
96:131 
view
24 x 2 PetAdoptions/petsearch-j...a/petsearch/controllers
PetAdoptions/cdk/pet_sta...a/petsearch/controllers
SearchController.java
SearchController.java
131:160 
131:160 
view
24 x 2 PetAdoptions/payforadoption-go/payforadoption
PetAdoptions/cdk/pet_sta...ption-go/payforadoption
service.go
service.go
51:81 
51:81 
view
24 x 2 PetAdoptions/payforadoption-go/payforadoption
PetAdoptions/cdk/pet_sta...ption-go/payforadoption
repository.go
repository.go
167:202 
167:202 
view
24 x 2 PetAdoptions/cdk/pet_sta...ite/petsite/Controllers
PetAdoptions/petsite/petsite/Controllers
AdoptionController.cs
AdoptionController.cs
52:83 
52:83 
view
24 x 2 PetAdoptions/cdk/pet_sta...ervices/petsite/petsite
PetAdoptions/petsite/petsite
Startup.cs
Startup.cs
34:64 
34:64 
view
23 x 2 PetAdoptions/cdk/pet_sta...ons-go/petlistadoptions
PetAdoptions/petlistadoptions-go/petlistadoptions
transport.go
transport.go
18:48 
18:48 
view
23 x 2 PetAdoptions/cdk/pet_sta...ons-go/petlistadoptions
PetAdoptions/petlistadoptions-go/petlistadoptions
middlewares.go
middlewares.go
41:69 
41:69 
view
23 x 2 PetAdoptions/cdk/pet_sta...ces/petlistadoptions-go
PetAdoptions/petlistadoptions-go
config.go
config.go
47:75 
47:75 
view