kubernetes / kubelet
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
  • 78% duplication:
    • 12,124 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 9,522 duplicated lines
  • 17,935 duplicates
system78% (9,522 lines)
Duplication per Extension
go78% (9,143 lines)
proto69% (379 lines)
Duplication per Component (primary)
pkg/apis/deviceplugin/v1beta175% (2,827 lines)
pkg/apis/deviceplugin/v1alpha90% (1,786 lines)
pkg/apis/podresources/v180% (1,650 lines)
pkg/apis/podresources/v1alpha190% (908 lines)
pkg/apis/pluginregistration/v1beta199% (825 lines)
pkg/apis/pluginregistration/v1alpha199% (825 lines)
pkg/apis/pluginregistration/v177% (565 lines)
pkg/apis/credentialprovider/v1alpha142% (62 lines)
pkg/apis/credentialprovider81% (62 lines)
config/v1beta11% (6 lines)
config/v1alpha17% (6 lines)
pkg/apis/stats/v1alpha10% (0 lines)
pkg/apis/credentialprovider/install0% (0 lines)
pkg/apis0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G pkg/apis/deviceplugin/v1alpha pkg/apis/deviceplugin/v1alpha pkg/apis/deviceplugin/v1beta1 pkg/apis/deviceplugin/v1beta1 pkg/apis/deviceplugin/v1alpha--pkg/apis/deviceplugin/v1beta1 4402 pkg/apis/podresources/v1 pkg/apis/podresources/v1 pkg/apis/deviceplugin/v1alpha--pkg/apis/podresources/v1 1787 pkg/apis/podresources/v1alpha1 pkg/apis/podresources/v1alpha1 pkg/apis/deviceplugin/v1alpha--pkg/apis/podresources/v1alpha1 1332 pkg/apis/pluginregistration/v1beta1 pkg/apis/pluginregistration/v1beta1 pkg/apis/deviceplugin/v1alpha--pkg/apis/pluginregistration/v1beta1 1130 pkg/apis/pluginregistration/v1alpha1 pkg/apis/pluginregistration/v1alpha1 pkg/apis/deviceplugin/v1alpha--pkg/apis/pluginregistration/v1alpha1 1130 pkg/apis/pluginregistration/v1 pkg/apis/pluginregistration/v1 pkg/apis/deviceplugin/v1alpha--pkg/apis/pluginregistration/v1 734 pkg/apis/deviceplugin/v1beta1--pkg/apis/podresources/v1 2873 pkg/apis/deviceplugin/v1beta1--pkg/apis/podresources/v1alpha1 2066 pkg/apis/deviceplugin/v1beta1--pkg/apis/pluginregistration/v1beta1 1784 pkg/apis/deviceplugin/v1beta1--pkg/apis/pluginregistration/v1alpha1 1784 pkg/apis/deviceplugin/v1beta1--pkg/apis/pluginregistration/v1 1126 pkg/apis/podresources/v1--pkg/apis/podresources/v1alpha1 2227 pkg/apis/pluginregistration/v1beta1--pkg/apis/podresources/v1 1144 pkg/apis/pluginregistration/v1beta1--pkg/apis/podresources/v1alpha1 799 pkg/apis/pluginregistration/v1alpha1--pkg/apis/podresources/v1 1144 pkg/apis/pluginregistration/v1alpha1--pkg/apis/podresources/v1alpha1 799 pkg/apis/pluginregistration/v1alpha1--pkg/apis/pluginregistration/v1beta1 1650 pkg/apis/pluginregistration/v1--pkg/apis/podresources/v1 747 pkg/apis/pluginregistration/v1--pkg/apis/podresources/v1alpha1 530 pkg/apis/pluginregistration/v1--pkg/apis/pluginregistration/v1beta1 1053 pkg/apis/pluginregistration/v1--pkg/apis/pluginregistration/v1alpha1 1053 pkg/apis/credentialprovider/v1alpha1 pkg/apis/credentialprovider/v1alpha1 pkg/apis/credentialprovider pkg/apis/credentialprovider pkg/apis/credentialprovider/v1alpha1--pkg/apis/credentialprovider 124

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 17,935 duplicates...
Size#FoldersFilesLinesCode
773 x 2 pkg/apis/pluginregistration/v1alpha1
pkg/apis/pluginregistration/v1beta1
api.pb.go
api.pb.go
38:1147 (100%)
38:1147 (100%)
view
525 x 2 pkg/apis/deviceplugin/v1alpha
pkg/apis/deviceplugin/v1beta1
api.pb.go
api.pb.go
1973:2680 (28%)
4410:5117 (14%)
view
136 x 2 pkg/apis/deviceplugin/v1alpha
pkg/apis/deviceplugin/v1beta1
api.pb.go
api.pb.go
1001:1174 (7%)
2128:2301 (3%)
view
126 x 2 pkg/apis/deviceplugin/v1beta1
pkg/apis/podresources/v1
api.pb.go
api.pb.go
3290:3465 (3%)
2562:2737 (6%)
view
111 x 2 pkg/apis/deviceplugin/v1alpha
pkg/apis/deviceplugin/v1beta1
api.pb.go
api.pb.go
1593:1747 (5%)
3158:3312 (3%)
view
108 x 2 pkg/apis/podresources/v1
pkg/apis/podresources/v1alpha1
api.pb.go
api.pb.go
1911:2056 (5%)
916:1061 (11%)
view
95 x 2 pkg/apis/deviceplugin/v1alpha
pkg/apis/deviceplugin/v1beta1
api.pb.go
api.pb.go
1469:1593 (5%)
2998:3122 (2%)
view
93 x 2 pkg/apis/podresources/v1
pkg/apis/podresources/v1alpha1
api.pb.go
api.pb.go
841:971 (4%)
418:548 (9%)
view
84 x 2 pkg/apis/deviceplugin/v1alpha
pkg/apis/deviceplugin/v1beta1
api.pb.go
api.pb.go
1728:1841 (4%)
3446:3559 (2%)
view
79 x 2 pkg/apis/podresources/v1
pkg/apis/podresources/v1alpha1
api.pb.go
api.pb.go
2059:2167 (3%)
1067:1175 (8%)
view
78 x 2 pkg/apis/podresources/v1
pkg/apis/podresources/v1alpha1
api.pb.go
api.pb.go
2422:2528 (3%)
1186:1292 (8%)
view
77 x 2 pkg/apis/deviceplugin/v1beta1
pkg/apis/pluginregistration/v1beta1
api.pb.go
api.pb.go
5013:5117 (2%)
1043:1147 (9%)
view
77 x 2 pkg/apis/deviceplugin/v1beta1
pkg/apis/pluginregistration/v1alpha1
api.pb.go
api.pb.go
5013:5117 (2%)
1043:1147 (9%)
view
77 x 2 pkg/apis/pluginregistration/v1beta1
pkg/apis/podresources/v1
api.pb.go
api.pb.go
1043:1147 (9%)
2718:2822 (3%)
view
77 x 2 pkg/apis/deviceplugin/v1alpha
pkg/apis/pluginregistration/v1beta1
api.pb.go
api.pb.go
2576:2680 (4%)
1043:1147 (9%)
view
77 x 2 pkg/apis/deviceplugin/v1alpha
pkg/apis/podresources/v1
api.pb.go
api.pb.go
2576:2680 (4%)
2718:2822 (3%)
view
77 x 2 pkg/apis/pluginregistration/v1alpha1
pkg/apis/podresources/v1
api.pb.go
api.pb.go
1043:1147 (9%)
2718:2822 (3%)
view
77 x 2 pkg/apis/deviceplugin/v1beta1
pkg/apis/podresources/v1
api.pb.go
api.pb.go
5013:5117 (2%)
2718:2822 (3%)
view
77 x 2 pkg/apis/deviceplugin/v1alpha
pkg/apis/pluginregistration/v1alpha1
api.pb.go
api.pb.go
2576:2680 (4%)
1043:1147 (9%)
view
71 x 2 pkg/apis/pluginregistration/v1beta1
pkg/apis/podresources/v1alpha1
api.pb.go
api.pb.go
1050:1147 (9%)
1303:1400 (7%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 94 unit duplicates...
Size#FoldersFilesLinesCode
370 x 2 pkg/apis/deviceplugin/v1beta1
pkg/apis/deviceplugin/v1alpha
api.pb.go
api.pb.go
4382:4753 
1945:2316 
view
176 x 2 pkg/apis/pluginregistration/v1alpha1
pkg/apis/pluginregistration/v1beta1
api.pb.go
api.pb.go
684:861 
684:861 
view
144 x 2 pkg/apis/deviceplugin/v1beta1
pkg/apis/deviceplugin/v1alpha
api.pb.go
api.pb.go
4888:5033 
2451:2596 
view
132 x 2 pkg/apis/deviceplugin/v1beta1
pkg/apis/deviceplugin/v1alpha
api.pb.go
api.pb.go
4754:4887 
2317:2450 
view
100 x 2 pkg/apis/pluginregistration/v1alpha1
pkg/apis/pluginregistration/v1beta1
api.pb.go
api.pb.go
862:963 
862:963 
view
82 x 2 pkg/apis/podresources/v1
pkg/apis/deviceplugin/v1beta1
api.pb.go
api.pb.go
2586:2669 
3314:3397 
view
82 x 2 pkg/apis/deviceplugin/v1beta1
pkg/apis/deviceplugin/v1alpha
api.pb.go
api.pb.go
3230:3313 
1665:1748 
view
80 x 3 pkg/apis/deviceplugin/v1beta1
pkg/apis/deviceplugin/v1beta1
pkg/apis/deviceplugin/v1alpha
api.pb.go
api.pb.go
api.pb.go
3617:3698 
4216:4297 
1863:1944 
view
77 x 6 pkg/apis/podresources/v1alpha1
pkg/apis/podresources/v1
pkg/apis/pluginregistration/v1alpha1
pkg/apis/pluginregistration/v1beta1
pkg/apis/deviceplugin/v1beta1
pkg/apis/deviceplugin/v1alpha
api.pb.go
api.pb.go
api.pb.go
api.pb.go
api.pb.go
api.pb.go
1317:1394 
2739:2816 
1064:1141 
1064:1141 
5034:5111 
2597:2674 
view
72 x 2 pkg/apis/deviceplugin/v1beta1
pkg/apis/deviceplugin/v1alpha
api.pb.go
api.pb.go
2127:2199 
1000:1072 
view
67 x 2 pkg/apis/podresources/v1
pkg/apis/deviceplugin/v1beta1
api.pb.go
api.pb.go
2670:2738 
3398:3466 
view
48 x 6 pkg/apis/podresources/v1
pkg/apis/podresources/v1
pkg/apis/pluginregistration/v1alpha1
pkg/apis/pluginregistration/v1beta1
pkg/apis/deviceplugin/v1beta1
pkg/apis/deviceplugin/v1alpha
api.pb.go
api.pb.go
api.pb.go
api.pb.go
api.pb.go
api.pb.go
1547:1596 
1791:1840 
964:1013 
964:1013 
3180:3229 
1615:1664 
view
48 x 2 pkg/apis/pluginregistration/v1
pkg/apis/pluginregistration/v1
api.pb.go
api.pb.go
777:826 
827:876 
view
36 x 2 pkg/apis/pluginregistration/v1alpha1
pkg/apis/pluginregistration/v1beta1
api.pb.go
api.pb.go
432:468 
432:468 
view
35 x 2 pkg/apis/deviceplugin/v1beta1
pkg/apis/deviceplugin/v1alpha
api.pb.go
api.pb.go
2553:2588 
1253:1288 
view
34 x 2 pkg/apis/podresources/v1alpha1
pkg/apis/podresources/v1
api.pb.go
api.pb.go
493:527 
916:950 
view
30 x 2 pkg/apis/deviceplugin/v1beta1
pkg/apis/deviceplugin/v1alpha
api.pb.go
api.pb.go
2216:2246 
1089:1119 
view
27 x 2 pkg/apis/deviceplugin/v1beta1
pkg/apis/deviceplugin/v1alpha
api.pb.go
api.pb.go
2263:2290 
1136:1163 
view
25 x 2 pkg/apis/pluginregistration/v1alpha1
pkg/apis/pluginregistration/v1beta1
api.pb.go
api.pb.go
567:592 
567:592 
view
23 x 2 pkg/apis/pluginregistration/v1alpha1
pkg/apis/pluginregistration/v1beta1
api.pb.go
api.pb.go
485:508 
485:508 
view