kubernetes / apiserver
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
  • 36% duplication:
    • 53,866 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 19,759 duplicated lines
  • 522,189 duplicates
system36% (19,759 lines)
Duplication per Extension
go28% (13,156 lines)
yaml81% (5,994 lines)
proto64% (609 lines)
Duplication per Component (primary)
pkg/apis75% (11,372 lines)
pkg/endpoints46% (6,393 lines)
pkg/admission24% (1,146 lines)
pkg/registry11% (311 lines)
pkg/server3% (188 lines)
pkg/authentication13% (125 lines)
pkg/storage2% (97 lines)
pkg/util2% (96 lines)
pkg/authorization10% (25 lines)
pkg/quota1% (6 lines)
pkg/tracing0% (0 lines)
pkg/warning0% (0 lines)
pkg/audit0% (0 lines)
pkg/features0% (0 lines)
pkg/storageversion0% (0 lines)
ROOT0% (0 lines)
plugin/pkg0% (0 lines)

Duplication Between Components (50+ lines)

G pkg/admission pkg/admission pkg/apis pkg/apis pkg/admission--pkg/apis 167 pkg/storage pkg/storage pkg/apis--pkg/storage 60 pkg/authentication pkg/authentication pkg/server pkg/server pkg/authentication--pkg/server 70 pkg/authorization pkg/authorization pkg/authentication--pkg/authorization 50

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 522,189 duplicates...
Size#FoldersFilesLinesCode
975 x 2 pkg/apis/audit/v1
pkg/apis/audit/v1beta1
generated.pb.go
generated.pb.go
1912:3231 (40%)
2010:3329 (39%)
view
923 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
generated.pb.go
generated.pb.go
1235:2474 (37%)
1244:2483 (37%)
view
554 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
generated.pb.go
generated.pb.go
2538:3288 (22%)
2579:3329 (22%)
view
554 x 2 pkg/apis/audit/v1
pkg/apis/audit/v1alpha1
generated.pb.go
generated.pb.go
2481:3231 (23%)
2538:3288 (22%)
view
350 x 2 pkg/apis/audit/v1
pkg/apis/audit/v1alpha1
generated.pb.go
generated.pb.go
1912:2385 (14%)
2001:2474 (14%)
view
298 x 2 pkg/apis/audit/v1
pkg/apis/audit/v1beta1
generated.pb.go
generated.pb.go
521:915 (12%)
547:941 (12%)
view
284 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
generated.pb.go
generated.pb.go
677:1048 (11%)
683:1054 (11%)
view
241 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
generated.pb.go
generated.pb.go
349:667 (9%)
350:668 (9%)
view
195 x 2 pkg/apis/audit/v1
pkg/apis/audit/v1alpha1
generated.pb.go
generated.pb.go
657:915 (8%)
677:935 (8%)
view
180 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
31:298 (100%)
31:298 (100%)
view
175 x 2 pkg/apis/audit/v1beta1
pkg/apis/audit
zz_generated.deepcopy.go
zz_generated.deepcopy.go
36:298 (97%)
34:296 (98%)
view
175 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit
zz_generated.deepcopy.go
zz_generated.deepcopy.go
36:298 (97%)
34:296 (98%)
view
171 x 2 pkg/apis/audit/v1
pkg/apis/audit
zz_generated.deepcopy.go
zz_generated.deepcopy.go
38:296 (96%)
38:296 (96%)
view
171 x 2 pkg/apis/audit/v1
pkg/apis/audit/v1alpha1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
38:296 (96%)
40:298 (95%)
view
171 x 2 pkg/apis/audit/v1
pkg/apis/audit/v1beta1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
38:296 (96%)
40:298 (95%)
view
144 x 2 pkg/apis/apiserver/v1alpha1
pkg/apis/apiserver
zz_generated.deepcopy.go
zz_generated.deepcopy.go
29:262 (100%)
29:262 (100%)
view
143 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
generated.pb.go
generated.pb.go
1048:1234 (5%)
1056:1242 (5%)
view
136 x 2 pkg/apis/audit/v1
pkg/apis/audit/v1beta1
generated.pb.go
generated.pb.go
966:1153 (5%)
996:1183 (5%)
view
100 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
proto
generated.proto
generated.proto
44:167 (45%)
47:170 (44%)
view
94 x 2 pkg/apis/audit/v1
pkg/apis/audit/v1alpha1
generated.pb.go
generated.pb.go
1785:1910 (3%)
1874:1999 (3%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 114 unit duplicates...
Size#FoldersFilesLinesCode
744 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
generated.pb.go
generated.pb.go
1307:2052 
1316:2061 
view
327 x 3 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
generated.pb.go
2876:3204 
2917:3245 
2819:3147 
view
304 x 2 pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
2325:2630 
2227:2532 
view
185 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
generated.pb.go
generated.pb.go
364:549 
365:550 
view
167 x 3 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
generated.pb.go
2590:2758 
2631:2799 
2533:2701 
view
144 x 3 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
generated.pb.go
2170:2315 
2179:2324 
2081:2226 
view
115 x 3 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
generated.pb.go
2053:2169 
2062:2178 
1964:2080 
view
115 x 3 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
generated.pb.go
2759:2875 
2800:2916 
2702:2818 
view
89 x 3 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
generated.pb.go
828:917 
834:923 
808:897 
view
77 x 4 pkg/apis/example/v1
pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
generated.pb.go
generated.pb.go
2164:2241 
3205:3282 
3246:3323 
3148:3225 
view
63 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
generated.pb.go
generated.pb.go
930:993 
936:999 
view
54 x 3 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
generated.pb.go
1099:1153 
1107:1161 
1077:1131 
view
47 x 3 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
generated.pb.go
717:764 
723:770 
697:744 
view
46 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
31:77 
31:77 
view
46 x 2 pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
660:706 
634:680 
view
45 x 4 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
pkg/apis/audit
pkg/apis/audit/v1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
zz_generated.deepcopy.go
zz_generated.deepcopy.go
244:289 
244:289 
242:287 
242:287 
view
36 x 2 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
generated.pb.go
generated.pb.go
1161:1197 
1169:1205 
view
30 x 4 pkg/apis/example/v1
pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
generated.pb.go
generated.pb.go
402:432 
566:596 
567:597 
541:571 
view
29 x 3 pkg/apis/audit/v1alpha1
pkg/apis/audit/v1beta1
pkg/apis/audit/v1
generated.pb.go
generated.pb.go
generated.pb.go
613:642 
614:643 
588:617 
view
28 x 2 pkg/apis/config
pkg/apis/config/v1
zz_generated.deepcopy.go
zz_generated.deepcopy.go
141:169 
141:169 
view