facebookincubator / prometheus-configmanager
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
  • 13% duplication:
    • 2,986 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 408 duplicated lines
  • 55 duplicates
system13% (408 lines)
Duplication per Extension
go14% (333 lines)
yaml19% (75 lines)
Duplication per Component (primary)
alertmanager/client22% (141 lines)
alertmanager/handlers22% (84 lines)
helm/prometheus-configmanager19% (75 lines)
prometheus/alert13% (66 lines)
fsclient/mocks48% (26 lines)
alertmanager/config6% (16 lines)
ui/public0% (0 lines)
ui/src0% (0 lines)
alertmanager0% (0 lines)
alertmanager/common0% (0 lines)
alertmanager/testcommon0% (0 lines)
alertmanager/migration0% (0 lines)
default_configs0% (0 lines)
restrictor0% (0 lines)
prometheus0% (0 lines)
prometheus/handlers0% (0 lines)
fsclient0% (0 lines)

Duplication Between Components (50+ lines)

G alertmanager/client alertmanager/client prometheus/alert prometheus/alert alertmanager/client--prometheus/alert 58 fsclient/mocks fsclient/mocks alertmanager/client--fsclient/mocks 52

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 50 longest duplicates.
See data for all 55 duplicates...
Size#FoldersFilesLinesCode
13 x 2 alertmanager/client/mocks
alertmanager/client/mocks
138:156 (8%)
161:179 (8%)
view
13 x 2 helm/prometheus-configmanager/templates
helm/prometheus-configmanager/templates
33:47 (20%)
33:47 (20%)
view
10 x 2 alertmanager/handlers
alertmanager/handlers
162:175 (6%)
188:201 (6%)
view
8 x 2 alertmanager/config
alertmanager/config
138:146 (6%)
152:160 (6%)
view
8 x 2 alertmanager/client
alertmanager/client
154:164 (5%)
178:188 (5%)
view
8 x 2 alertmanager/handlers
alertmanager/handlers
141:150 (5%)
214:223 (5%)
view
7 x 2 alertmanager/client/mocks
fsclient/mocks
63:72 (7%)
25:34 (12%)
view
7 x 2 helm/prometheus-configmanager/templates
helm/prometheus-configmanager/templates
33:39 (11%)
33:39 (12%)
view
7 x 2 prometheus/alert/mocks
prometheus/alert/mocks
119:128 (9%)
133:142 (9%)
view
7 x 2 alertmanager/client/mocks
alertmanager/client/mocks
27:36 (4%)
212:221 (4%)
view
7 x 2 prometheus/alert
prometheus/alert
45:51 (10%)
72:78 (10%)
view
7 x 2 alertmanager/client/mocks
prometheus/alert/mocks
170:179 (7%)
25:34 (15%)
view
7 x 2 alertmanager/client/mocks
prometheus/alert/mocks
198:207 (4%)
77:86 (9%)
view
7 x 2 alertmanager/client/mocks
alertmanager/client/mocks
21:30 (7%)
77:86 (7%)
view
7 x 2 fsclient/mocks
prometheus/alert/mocks
62:71 (12%)
25:34 (15%)
view
7 x 2 helm/prometheus-configmanager/templates
helm/prometheus-configmanager/templates
33:39 (12%)
33:39 (10%)
view
7 x 2 alertmanager/client/mocks
alertmanager/client/mocks
35:44 (7%)
91:100 (7%)
view
7 x 2 alertmanager/client/mocks
fsclient/mocks
170:179 (7%)
62:71 (12%)
view
6 x 2 alertmanager/handlers
alertmanager/handlers
157:165 (2%)
244:252 (2%)
view
6 x 2 alertmanager/client
alertmanager/client
130:137 (4%)
178:185 (4%)
view
6 x 2 helm/prometheus-configmanager
helm/prometheus-configmanager
45:56 (8%)
140:152 (8%)
view
6 x 2 alertmanager/client/mocks
prometheus/alert/mocks
172:179 (4%)
64:71 (13%)
view
6 x 2 alertmanager/handlers
alertmanager/handlers
225:233 (2%)
302:310 (2%)
view
6 x 2 fsclient/mocks
fsclient/mocks
50:57 (11%)
87:94 (11%)
view
6 x 2 alertmanager/client/mocks
fsclient/mocks
158:165 (6%)
87:94 (11%)
view
6 x 2 alertmanager/client/mocks
prometheus/alert/mocks
149:156 (4%)
64:71 (13%)
view
6 x 2 prometheus/alert/mocks
prometheus/alert/mocks
64:71 (13%)
87:94 (13%)
view
6 x 2 alertmanager/client/mocks
alertmanager/client/mocks
135:142 (6%)
158:165 (6%)
view
6 x 2 alertmanager/client/mocks
prometheus/alert/mocks
80:87 (4%)
64:71 (13%)
view
6 x 2 alertmanager/handlers
alertmanager/handlers
281:289 (2%)
302:310 (2%)
view
6 x 2 alertmanager/client/mocks
alertmanager/client/mocks
80:87 (4%)
172:179 (4%)
view
6 x 2 alertmanager/handlers
alertmanager/handlers
225:233 (2%)
244:252 (2%)
view
6 x 2 alertmanager/client/mocks
fsclient/mocks
158:165 (6%)
50:57 (11%)
view
6 x 2 helm/prometheus-configmanager/templates
helm/prometheus-configmanager/templates
1:7 (9%)
1:7 (14%)
view
6 x 2 alertmanager/handlers
alertmanager/handlers
157:165 (2%)
281:289 (2%)
view
6 x 2 alertmanager/client/mocks
fsclient/mocks
135:142 (6%)
50:57 (11%)
view
6 x 2 helm/prometheus-configmanager
helm/prometheus-configmanager
94:116 (8%)
140:152 (8%)
view
6 x 2 alertmanager/handlers
alertmanager/handlers
157:165 (2%)
225:233 (2%)
view
6 x 2 alertmanager/client/mocks
prometheus/alert/mocks
149:156 (4%)
87:94 (13%)
view
6 x 2 alertmanager/handlers
alertmanager/handlers
70:77 (3%)
121:128 (3%)
view
6 x 2 alertmanager/handlers
alertmanager/handlers
244:252 (2%)
281:289 (2%)
view
6 x 2 prometheus/alert
prometheus/alert
197:205 (2%)
242:250 (2%)
view
6 x 2 helm/prometheus-configmanager
helm/prometheus-configmanager
45:56 (8%)
94:116 (8%)
view
6 x 2 alertmanager/handlers
alertmanager/handlers
70:77 (3%)
95:102 (3%)
view
6 x 2 alertmanager/handlers
alertmanager/handlers
157:165 (2%)
302:310 (2%)
view
6 x 2 alertmanager/client/mocks
alertmanager/client/mocks
103:110 (4%)
126:133 (4%)
view
6 x 2 helm/prometheus-configmanager
helm/prometheus-configmanager
79:84 (8%)
129:134 (8%)
view
6 x 2 alertmanager/client/mocks
prometheus/alert/mocks
172:179 (4%)
87:94 (13%)
view
6 x 2 alertmanager/handlers
alertmanager/handlers
225:233 (2%)
281:289 (2%)
view
6 x 2 alertmanager/client/mocks
prometheus/alert/mocks
80:87 (4%)
87:94 (13%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
8 x 2 alertmanager/client/mocks
prometheus/alert/mocks
197:208 
76:87 
view
8 x 2 alertmanager/client/mocks
fsclient/mocks
62:73 
24:35 
view
8 x 3 alertmanager/client/mocks
prometheus/alert/mocks
fsclient/mocks
169:180 
24:35 
61:72 
view