aws / session-manager-plugin
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
  • 4% duplication:
    • 3,254 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 148 duplicated lines
  • 26 duplicates
system4% (148 lines)
Duplication per Extension
go3% (114 lines)
spec24% (34 lines)
Duplication per Component (primary)
src/datachannel10% (79 lines)
src/communicator23% (35 lines)
packaging/linux25% (17 lines)
packaging/linux_plugin22% (17 lines)
src/ssmcli-main0% (0 lines)
src/service0% (0 lines)
src/sessionmanagerplugin-main0% (0 lines)
src/jsonutil0% (0 lines)
src/config0% (0 lines)
src/log0% (0 lines)
src/retry0% (0 lines)
src/sdkutil0% (0 lines)
src/websocketutil0% (0 lines)
src/encryption0% (0 lines)
src/ssmclicommands0% (0 lines)
src/version0% (0 lines)
src/message0% (0 lines)
src/sessionmanagerplugin0% (0 lines)

Duplication Between Components (50+ lines)

G src/communicator src/communicator src/datachannel src/datachannel src/communicator--src/datachannel 84

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 26 duplicates...
Size#FoldersFilesLinesCode
9 x 2 packaging/linux
packaging/linux_plugin
spec
ssmcli.spec
session-manager-plugin.spec
2:13 (13%)
2:13 (12%)
view
8 x 2 packaging/linux
packaging/linux_plugin
spec
ssmcli.spec
session-manager-plugin.spec
25:35 (12%)
31:41 (10%)
view
8 x 2 src/datachannel/mocks
src/datachannel/mocks
IDataChannel.go
IDataChannel.go
150:161 (4%)
166:177 (4%)
view
7 x 2 src/communicator/mocks
src/communicator/mocks
IWebSocketChannel.go
IWebSocketChannel.go
20:29 (13%)
67:76 (13%)
view
7 x 2 src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IDataChannel.go
34:43 (13%)
101:110 (4%)
view
7 x 2 src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IDataChannel.go
67:76 (13%)
38:47 (4%)
view
7 x 2 src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IDataChannel.go
67:76 (13%)
182:191 (4%)
view
7 x 2 src/datachannel/mocks
src/datachannel/mocks
IDataChannel.go
IDataChannel.go
182:191 (4%)
224:233 (4%)
view
7 x 2 src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IDataChannel.go
48:57 (13%)
101:110 (4%)
view
7 x 2 src/datachannel/mocks
src/datachannel/mocks
IDataChannel.go
IDataChannel.go
38:47 (4%)
182:191 (4%)
view
7 x 2 src/communicator/mocks
src/communicator/mocks
IWebSocketChannel.go
IWebSocketChannel.go
34:43 (13%)
48:57 (13%)
view
7 x 2 src/datachannel/mocks
src/datachannel/mocks
IDataChannel.go
IDataChannel.go
38:47 (4%)
224:233 (4%)
view
7 x 2 src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IDataChannel.go
67:76 (13%)
253:262 (4%)
view
7 x 2 src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IDataChannel.go
34:43 (13%)
71:80 (4%)
view
7 x 2 src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IDataChannel.go
20:29 (13%)
253:262 (4%)
view
7 x 2 src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IDataChannel.go
48:57 (13%)
71:80 (4%)
view
7 x 2 src/datachannel/mocks
src/datachannel/mocks
IDataChannel.go
IDataChannel.go
71:80 (4%)
101:110 (4%)
view
7 x 2 src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IDataChannel.go
81:90 (13%)
309:318 (4%)
view
7 x 2 src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IDataChannel.go
67:76 (13%)
224:233 (4%)
view
7 x 2 src/datachannel/mocks
src/datachannel/mocks
IDataChannel.go
IDataChannel.go
224:233 (4%)
253:262 (4%)
view
Duplicated Units
The list of top 5 duplicated units.
See data for all 5 unit duplicates...
Size#FoldersFilesLinesCode
11 x 2 src/datachannel/mocks
src/datachannel/mocks
IDataChannel.go
IDataChannel.go
149:162 
165:178 
view
9 x 3 src/communicator/mocks
src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IWebSocketChannel.go
IDataChannel.go
19:30 
66:77 
37:48 
view
9 x 3 src/communicator/mocks
src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IWebSocketChannel.go
IDataChannel.go
33:44 
47:58 
70:81 
view
9 x 2 src/communicator/mocks
src/datachannel/mocks
IWebSocketChannel.go
IDataChannel.go
80:91 
308:319 
view
8 x 2 src/log
src/log
log_windows.go
log_unix.go
34:43 
30:39 
view