anthropics / connect-rust
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
  • 18% duplication:
    • 26,056 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,764 duplicated lines
  • 634 duplicates
system18% (4,764 lines)
dependency graphs: 2D graph | 2D graph (with duplicates)... | 3D graph | 3D graph (with duplicates)...
Duplication per Extension
rs17% (4,278 lines)
proto50% (233 lines)
yaml34% (221 lines)
go27% (32 lines)
Duplication per Component (primary)
connectrpc19% (3,422 lines)
benches20% (585 lines)
connectrpc-codegen13% (390 lines)
conformance70% (193 lines)
connectrpc-health12% (115 lines)
connectrpc-reflection4% (39 lines)
connectrpc-build2% (20 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

flowchart TB
    n0["connectrpc-health"]
    n1["connectrpc-reflection"]
    n0 ---|"63"| n1
    classDef default fill:#00b2ee,stroke:#ffffff,color:#000000;
    classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
    linkStyle 0 stroke:#DC143CFF,stroke-width:10px


Download: Mermaid (.mmd) (open online Mermaid editor)

2D force graph | 3D force graph

Show more details on duplication between components...
From Component
 --> To Component
Duplicated
Lines
File Pairs Details
connectrpc-health (3%)
  --> connectrpc-reflection (3%)
63 2 file pairs details...

Longest Duplicates
The list of 50 longest duplicates.
See data for all 634 duplicates...
Size#FoldersFilesLinesCode
82 x 2 benches/rpc-go/proto
benches/rpc/proto
11:111 (90%)
26:126 (65%)
view
30 x 2 connectrpc/src
connectrpc/src
1911:1942 (1%)
1978:2009 (1%)
view
27 x 2 conformance/config
conformance/config
1:36 (100%)
1:36 (100%)
view
27 x 2 connectrpc/src
connectrpc/src
1807:1837 (1%)
1859:1887 (1%)
view
27 x 2 connectrpc/src
connectrpc/src
2092:2119 (1%)
2159:2186 (1%)
view
27 x 2 connectrpc/src
connectrpc/src
325:353 (7%)
2394:2422 (1%)
view
25 x 2 connectrpc/src
connectrpc/src
1983:2009 (1%)
2165:2191 (1%)
view
25 x 2 connectrpc/src
connectrpc/src
1916:1942 (1%)
2165:2191 (1%)
view
24 x 2 connectrpc/src
connectrpc/src
1112:1137 (1%)
1339:1364 (1%)
view
23 x 2 connectrpc/src/client
connectrpc/src/client
2547:2577 (<1%)
3170:3199 (<1%)
view
21 x 2 conformance/config
conformance/config
1:30 (77%)
1:30 (77%)
view
21 x 2 conformance/config
conformance/config
1:26 (77%)
1:26 (77%)
view
21 x 2 connectrpc/src
connectrpc/src
1916:1937 (1%)
2098:2119 (1%)
view
21 x 2 connectrpc/src
connectrpc/src
338:389 (1%)
538:605 (1%)
view
21 x 2 conformance/config
conformance/config
1:30 (77%)
1:30 (77%)
view
21 x 2 connectrpc/src
connectrpc/src
2131:2154 (1%)
2205:2228 (1%)
view
21 x 2 connectrpc/src/client
connectrpc/src/client
4118:4140 (<1%)
4247:4269 (<1%)
view
21 x 2 connectrpc/src
connectrpc/src
1983:2004 (1%)
2098:2119 (1%)
view
20 x 2 connectrpc/src/client
connectrpc/src/client
4316:4337 (<1%)
4434:4455 (<1%)
view
20 x 2 conformance/config
conformance/config
1:25 (76%)
1:25 (76%)
view
20 x 2 conformance/config
conformance/config
12:31 (76%)
13:32 (74%)
view
20 x 2 conformance/config
conformance/config
17:36 (74%)
12:31 (76%)
view
20 x 2 benches/rpc/benches
benches/rpc/benches
137:157 (2%)
215:235 (2%)
view
20 x 2 conformance/config
conformance/config
12:31 (76%)
17:36 (74%)
view
20 x 2 conformance/config
conformance/config
17:36 (74%)
13:32 (74%)
view
20 x 2 conformance/config
conformance/config
12:31 (76%)
13:32 (74%)
view
20 x 2 conformance/config
conformance/config
13:32 (74%)
17:36 (74%)
view
18 x 2 connectrpc/src
connectrpc/src
1362:1381 (1%)
2236:2255 (1%)
view
18 x 2 benches/rpc/proto
benches/rpc/proto
107:126 (14%)
33:52 (36%)
view
18 x 2 benches/rpc-go/proto
benches/rpc/proto
92:111 (19%)
33:52 (36%)
view
17 x 2 connectrpc/src
connectrpc/src
2401:2430 (<1%)
2548:2576 (<1%)
view
17 x 2 connectrpc/src
connectrpc/src
228:271 (1%)
508:556 (1%)
view
17 x 2 conformance/config
conformance/config
17:33 (62%)
12:28 (65%)
view
17 x 2 benches/rpc/benches
benches/rpc/benches
188:204 (2%)
214:230 (2%)
view
17 x 2 conformance/config
conformance/config
17:33 (62%)
13:29 (62%)
view
17 x 2 benches/rpc/benches
benches/rpc/benches
136:152 (2%)
162:178 (2%)
view
16 x 2 benches/rpc/benches
benches/rpc/benches
250:269 (5%)
186:204 (6%)
view
16 x 2 benches/rpc/benches
benches/rpc/benches
137:152 (2%)
189:204 (2%)
view
16 x 2 benches/rpc/benches
benches/rpc/benches
163:178 (2%)
189:204 (2%)
view
16 x 2 benches/rpc/benches
benches/rpc/benches
163:178 (2%)
215:230 (2%)
view
15 x 2 connectrpc/src
connectrpc/src
2532:2548 (<1%)
2933:2949 (<1%)
view
15 x 2 connectrpc/src/client
connectrpc/src/client
1196:1213 (<1%)
3022:3039 (<1%)
view
15 x 2 connectrpc/src/client
connectrpc/src/client
4114:4129 (<1%)
4318:4333 (<1%)
view
15 x 2 connectrpc-codegen/src
connectrpc-codegen/src
3163:3177 (<1%)
3210:3224 (<1%)
view
15 x 2 connectrpc/src/client
connectrpc/src/client
4052:4068 (<1%)
4253:4269 (<1%)
view
15 x 2 connectrpc/src/client
connectrpc/src/client
4052:4068 (<1%)
4124:4140 (<1%)
view
15 x 2 connectrpc/src/client
connectrpc/src/client
4114:4129 (<1%)
4436:4451 (<1%)
view
15 x 2 connectrpc/src
connectrpc/src
385:401 (3%)
487:502 (3%)
view
14 x 2 connectrpc/src
connectrpc/src
707:728 (<1%)
1936:1953 (<1%)
view
14 x 2 conformance/config
conformance/config
17:30 (51%)
13:26 (51%)
view
Most Frequent Duplicates
The list of 50 most frequently found duplicates.
Size#FoldersFilesLinesCode
6 x 9 connectrpc-codegen/src
connectrpc-codegen/src
connectrpc-codegen/src
connectrpc-codegen/src
connectrpc-codegen/src
connectrpc-codegen/src
connectrpc-codegen/src
connectrpc-codegen/src
connectrpc-codegen/src
2354:2359 (<1%)
2375:2380 (<1%)
2659:2664 (<1%)
3036:3041 (<1%)
3060:3065 (<1%)
3188:3193 (<1%)
3239:3244 (<1%)
3461:3466 (<1%)
3959:3964 (<1%)
view
6 x 9 connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
3949:3954 (<1%)
3999:4004 (<1%)
4052:4057 (<1%)
4124:4129 (<1%)
4208:4213 (<1%)
4253:4258 (<1%)
4292:4297 (<1%)
4328:4333 (<1%)
4446:4451 (<1%)
view
6 x 8 connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
4119:4124 (<1%)
4176:4181 (<1%)
4203:4208 (<1%)
4248:4253 (<1%)
4287:4292 (<1%)
4323:4328 (<1%)
4387:4392 (<1%)
4441:4446 (<1%)
view
6 x 8 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
4014:4019 (<1%)
4064:4069 (<1%)
4379:4384 (<1%)
4405:4410 (<1%)
4440:4445 (<1%)
4465:4470 (<1%)
4518:4523 (<1%)
4584:4589 (<1%)
view
6 x 8 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
4013:4018 (<1%)
4063:4068 (<1%)
4378:4383 (<1%)
4404:4409 (<1%)
4439:4444 (<1%)
4464:4469 (<1%)
4517:4522 (<1%)
4583:4588 (<1%)
view
6 x 8 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
4015:4020 (<1%)
4065:4070 (<1%)
4380:4385 (<1%)
4406:4411 (<1%)
4441:4446 (<1%)
4466:4471 (<1%)
4519:4524 (<1%)
4585:4590 (<1%)
view
6 x 7 connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
3941:3946 (<1%)
3991:3996 (<1%)
4116:4121 (<1%)
4173:4178 (<1%)
4320:4325 (<1%)
4384:4389 (<1%)
4438:4443 (<1%)
view
6 x 7 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1490:1497 (<1%)
1817:1823 (<1%)
1869:1875 (<1%)
1922:1928 (<1%)
1989:1995 (<1%)
2104:2110 (<1%)
2171:2177 (<1%)
view
6 x 7 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1491:1502 (<1%)
1818:1825 (<1%)
1870:1876 (<1%)
1923:1929 (<1%)
1990:1996 (<1%)
2105:2111 (<1%)
2172:2178 (<1%)
view
6 x 7 conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
25:30 (22%)
21:26 (22%)
25:30 (22%)
20:25 (23%)
21:26 (22%)
25:30 (22%)
20:25 (23%)
view
6 x 7 conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
17:22 (22%)
13:18 (22%)
17:22 (22%)
12:17 (23%)
13:18 (22%)
17:22 (22%)
12:17 (23%)
view
6 x 7 conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
19:24 (22%)
15:20 (22%)
19:24 (22%)
14:19 (23%)
15:20 (22%)
19:24 (22%)
14:19 (23%)
view
6 x 7 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1492:1503 (<1%)
1819:1826 (<1%)
1871:1877 (<1%)
1924:1930 (<1%)
1991:1997 (<1%)
2106:2112 (<1%)
2173:2179 (<1%)
view
6 x 7 conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
18:23 (22%)
14:19 (22%)
18:23 (22%)
13:18 (23%)
14:19 (22%)
18:23 (22%)
13:18 (23%)
view
6 x 7 conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
20:25 (22%)
16:21 (22%)
20:25 (22%)
15:20 (23%)
16:21 (22%)
20:25 (22%)
15:20 (23%)
view
6 x 7 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1686:1691 (<1%)
1719:1724 (<1%)
1849:1854 (<1%)
1900:1905 (<1%)
1967:1972 (<1%)
2033:2038 (<1%)
2082:2087 (<1%)
view
6 x 7 conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
24:29 (22%)
20:25 (22%)
24:29 (22%)
19:24 (23%)
20:25 (22%)
24:29 (22%)
19:24 (23%)
view
6 x 7 conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
23:28 (22%)
19:24 (22%)
23:28 (22%)
18:23 (23%)
19:24 (22%)
23:28 (22%)
18:23 (23%)
view
6 x 7 connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
3942:3947 (<1%)
3992:3997 (<1%)
4117:4122 (<1%)
4174:4179 (<1%)
4321:4326 (<1%)
4385:4390 (<1%)
4439:4444 (<1%)
view
6 x 7 conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
22:27 (22%)
18:23 (22%)
22:27 (22%)
17:22 (23%)
18:23 (22%)
22:27 (22%)
17:22 (23%)
view
6 x 7 conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
21:26 (22%)
17:22 (22%)
21:26 (22%)
16:21 (23%)
17:22 (22%)
21:26 (22%)
16:21 (23%)
view
6 x 7 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1389:1396 (<1%)
1816:1822 (<1%)
1868:1874 (<1%)
1921:1927 (<1%)
1988:1994 (<1%)
2103:2109 (<1%)
2170:2176 (<1%)
view
6 x 6 connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
4121:4126 (<1%)
4205:4210 (<1%)
4250:4255 (<1%)
4289:4294 (<1%)
4325:4330 (<1%)
4443:4448 (<1%)
view
6 x 6 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
4737:4743 (<1%)
4783:4789 (<1%)
4825:4831 (<1%)
4864:4870 (<1%)
5042:5048 (<1%)
5097:5103 (<1%)
view
6 x 6 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1385:1390 (<1%)
1917:1922 (<1%)
1984:1989 (<1%)
2057:2062 (<1%)
2099:2104 (<1%)
2166:2171 (<1%)
view
6 x 6 connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
4123:4128 (<1%)
4207:4212 (<1%)
4252:4257 (<1%)
4291:4296 (<1%)
4327:4332 (<1%)
4445:4450 (<1%)
view
6 x 6 connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
4118:4123 (<1%)
4175:4180 (<1%)
4247:4252 (<1%)
4322:4327 (<1%)
4386:4391 (<1%)
4440:4445 (<1%)
view
6 x 6 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1384:1389 (<1%)
1916:1921 (<1%)
1983:1988 (<1%)
2056:2061 (<1%)
2098:2103 (<1%)
2165:2170 (<1%)
view
6 x 6 connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
4120:4125 (<1%)
4204:4209 (<1%)
4249:4254 (<1%)
4288:4293 (<1%)
4324:4329 (<1%)
4442:4447 (<1%)
view
6 x 6 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
4739:4744 (<1%)
4785:4790 (<1%)
4827:4832 (<1%)
4866:4871 (<1%)
5044:5049 (<1%)
5099:5104 (<1%)
view
6 x 6 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
418:423 (1%)
446:451 (1%)
473:478 (1%)
555:560 (1%)
582:587 (1%)
607:612 (1%)
view
6 x 6 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1387:1392 (<1%)
1919:1924 (<1%)
1986:1991 (<1%)
2059:2064 (<1%)
2101:2106 (<1%)
2168:2173 (<1%)
view
6 x 6 connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
4122:4127 (<1%)
4206:4211 (<1%)
4251:4256 (<1%)
4290:4295 (<1%)
4326:4331 (<1%)
4444:4449 (<1%)
view
6 x 6 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1850:1857 (<1%)
1901:1908 (<1%)
1968:1975 (<1%)
2034:2041 (<1%)
2083:2090 (<1%)
2150:2157 (<1%)
view
6 x 6 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1386:1391 (<1%)
1918:1923 (<1%)
1985:1990 (<1%)
2058:2063 (<1%)
2100:2105 (<1%)
2167:2172 (<1%)
view
6 x 5 connectrpc-reflection/src
connectrpc-health/src
connectrpc-health/src
connectrpc-health/src
connectrpc-reflection/src
223:228 (2%)
194:199 (2%)
394:399 (2%)
436:441 (2%)
341:346 (2%)
view
6 x 5 benches/rpc/benches
benches/rpc/benches
benches/rpc/benches
benches/rpc/benches
benches/rpc/benches
137:143 (2%)
191:197 (2%)
227:233 (2%)
274:280 (2%)
307:313 (2%)
view
6 x 5 connectrpc-health/src
connectrpc-health/src
connectrpc-health/src
connectrpc-health/src
connectrpc-health/src
211:216 (2%)
252:257 (2%)
381:386 (2%)
405:410 (2%)
416:421 (2%)
view
6 x 5 connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
connectrpc/src/client
1198:1203 (<1%)
1333:1338 (<1%)
2416:2421 (<1%)
2922:2927 (<1%)
3024:3029 (<1%)
view
6 x 5 benches/rpc/benches
benches/rpc/benches
benches/rpc/benches
benches/rpc/benches
benches/rpc/benches
139:145 (2%)
193:199 (2%)
229:235 (2%)
276:282 (2%)
309:315 (2%)
view
6 x 5 benches/rpc/benches
benches/rpc/benches
benches/rpc/benches
benches/rpc/benches
benches/rpc/benches
138:144 (2%)
192:198 (2%)
228:234 (2%)
275:281 (2%)
308:314 (2%)
view
6 x 5 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1398:1403 (<1%)
1929:1934 (<1%)
1996:2001 (<1%)
2111:2116 (<1%)
2178:2183 (<1%)
view
6 x 5 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
4734:4740 (<1%)
4780:4786 (<1%)
4822:4828 (<1%)
4861:4867 (<1%)
4961:4967 (<1%)
view
6 x 5 conformance/config
conformance/config
conformance/config
conformance/config
conformance/config
1:15 (22%)
1:15 (22%)
1:11 (22%)
1:11 (22%)
1:15 (22%)
view
6 x 5 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1504:1509 (<1%)
1553:1558 (<1%)
1675:1680 (<1%)
1972:1977 (<1%)
1988:1993 (<1%)
view
6 x 5 connectrpc-health/src
connectrpc-health/src
connectrpc-health/src
connectrpc-health/src
connectrpc-health/src
210:215 (2%)
251:256 (2%)
380:385 (2%)
404:409 (2%)
415:420 (2%)
view
6 x 5 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
4377:4382 (<1%)
4403:4408 (<1%)
4438:4443 (<1%)
4463:4468 (<1%)
4582:4587 (<1%)
view
6 x 5 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1388:1395 (<1%)
1920:1926 (<1%)
1987:1993 (<1%)
2102:2108 (<1%)
2169:2175 (<1%)
view
6 x 5 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1100:1106 (<1%)
1249:1255 (<1%)
1322:1328 (<1%)
1721:1727 (<1%)
1872:1878 (<1%)
view
6 x 5 connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
connectrpc/src
1464:1469 (<1%)
1578:1583 (<1%)
1595:1600 (<1%)
1609:1614 (<1%)
2237:2242 (<1%)
view