aws / session-manager-plugin
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 52 files with 4,424 lines of code.
    • 0 very long files (0 lines of code)
    • 1 long files (712 lines of code)
    • 4 medium size files (1,120 lines of codeclsfd_ftr_w_mp_ins)
    • 7 small files (908 lines of code)
    • 40 very small files (1,684 lines of code)
0% | 16% | 25% | 20% | 38%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
go0% | 16% | 26% | 21% | 36%
spec0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/datachannel0% | 75% | 24% | 0% | 0%
src/message0% | 0% | 74% | 0% | 25%
src/sessionmanagerplugin0% | 0% | 19% | 47% | 32%
src/ssmclicommands0% | 0% | 57% | 0% | 42%
src/log0% | 0% | 0% | 56% | 43%
src/communicator0% | 0% | 0% | 64% | 35%
src/encryption0% | 0% | 0% | 0% | 100%
src/version0% | 0% | 0% | 0% | 100%
packaging/linux_plugin0% | 0% | 0% | 0% | 100%
packaging/linux0% | 0% | 0% | 0% | 100%
src/jsonutil0% | 0% | 0% | 0% | 100%
src/sdkutil0% | 0% | 0% | 0% | 100%
src/retry0% | 0% | 0% | 0% | 100%
src/websocketutil0% | 0% | 0% | 0% | 100%
src/config0% | 0% | 0% | 0% | 100%
src/sessionmanagerplugin-main0% | 0% | 0% | 0% | 100%
src/ssmcli-main0% | 0% | 0% | 0% | 100%
src/service0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
streaming.go
in src/datachannel
712 42
messageparser.go
in src/message
441 27
IDataChannel.go
in src/datachannel/mocks
236 30
muxportforwarding.go
in src/sessionmanagerplugin/session/portsession
226 14
startsession.go
in src/ssmclicommands
217 7
session.go
in src/sessionmanagerplugin/session
179 4
basicportforwarding.go
in src/sessionmanagerplugin/session/portsession
139 9
websocketchannel.go
in src/communicator
134 10
log.go
in src/log
128 13
sessionhandler.go
in src/sessionmanagerplugin/session
116 6
wrapper.go
in src/log
110 16
portsession.go
in src/sessionmanagerplugin/session/portsession
102 6
clientmessage.go
in src/message
98 -
shellsession.go
in src/sessionmanagerplugin/session/shellsession
96 7
encrypter.go
in src/encryption
92 6
inputhandler.go
in src/ssmclicommands
90 2
spec
session-manager-plugin.spec
in packaging/linux_plugin
75 -
IWebSocketChannel.go
in src/communicator/mocks
74 10
shellsession_windows.go
in src/sessionmanagerplugin/session/shellsession
70 2
spec
ssmcli.spec
in packaging/linux
66 -
config_watcher.go
in src/log
58 4
standardstreamforwarding.go
in src/sessionmanagerplugin/session/portsession
58 6
IEncrypter.go
in src/encryption/mocks
56 3
handshakemessage.go
in src/message
56 -
jsonutil.go
in src/jsonutil
53 6
websocketutil.go
in src/websocketutil
52 3
shellsession_unix.go
in src/sessionmanagerplugin/session/shellsession
52 5
sessionutil_windows.go
in src/sessionmanagerplugin/session/sessionutil
49 3
version-gen.go
in src/version/versiongenerator
48 1
util.go
in src/ssmclicommands/utils
43 6
kmsservice.go
in src/encryption
41 3
versionutil.go
in src/version
41 2
awsconfig.go
in src/sdkutil
40 3
log_windows.go
in src/log
37 2
retryer.go
in src/retry
37 2
defaultconfig.go
in src/log
35 2
versionvalidator.go
in src/version
35 3
config.go
in src/config
30 -
log_unix.go
in src/log
30 2
docs.go
in src/ssmclicommands/utils
27 3
interface.go
in src/log
21 -
retry.go
in src/retry
20 1
retryer.go
in src/sdkutil/retryer
20 1
sessionutil_unix.go
in src/sessionmanagerplugin/session/sessionutil
20 3
control_signals_unix.go
in src/sessionmanagerplugin/session/sessionutil
11 -
main.go
in src/sessionmanagerplugin-main
10 1
control_signals_windows.go
in src/sessionmanagerplugin/session/sessionutil
10 -
main.go
in src/ssmcli-main
8 1
service.go
in src/service
8 -
ioutil_deps.go
in src/jsonutil
8 1
Files With Most Units (Top 20)
File# lines# units
streaming.go
in src/datachannel
712 42
IDataChannel.go
in src/datachannel/mocks
236 30
messageparser.go
in src/message
441 27
wrapper.go
in src/log
110 16
muxportforwarding.go
in src/sessionmanagerplugin/session/portsession
226 14
log.go
in src/log
128 13
IWebSocketChannel.go
in src/communicator/mocks
74 10
websocketchannel.go
in src/communicator
134 10
basicportforwarding.go
in src/sessionmanagerplugin/session/portsession
139 9
startsession.go
in src/ssmclicommands
217 7
shellsession.go
in src/sessionmanagerplugin/session/shellsession
96 7
jsonutil.go
in src/jsonutil
53 6
encrypter.go
in src/encryption
92 6
util.go
in src/ssmclicommands/utils
43 6
standardstreamforwarding.go
in src/sessionmanagerplugin/session/portsession
58 6
portsession.go
in src/sessionmanagerplugin/session/portsession
102 6
sessionhandler.go
in src/sessionmanagerplugin/session
116 6
shellsession_unix.go
in src/sessionmanagerplugin/session/shellsession
52 5
config_watcher.go
in src/log
58 4
session.go
in src/sessionmanagerplugin/session
179 4
Files With Long Lines (Top 20)

There are 20 files with lines longer than 120 characters. In total, there are 60 long lines.

File# lines# units# long lines
streaming.go
in src/datachannel
712 42 20
messageparser.go
in src/message
441 27 10
IDataChannel.go
in src/datachannel/mocks
236 30 4
startsession.go
in src/ssmclicommands
217 7 3
versionvalidator.go
in src/version
35 3 3
websocketchannel.go
in src/communicator
134 10 2
kmsservice.go
in src/encryption
41 3 2
basicportforwarding.go
in src/sessionmanagerplugin/session/portsession
139 9 2
muxportforwarding.go
in src/sessionmanagerplugin/session/portsession
226 14 2
sessionhandler.go
in src/sessionmanagerplugin/session
116 6 2
log.go
in src/log
128 13 1
config_watcher.go
in src/log
58 4 1
retryer.go
in src/retry
37 2 1
encrypter.go
in src/encryption
92 6 1
inputhandler.go
in src/ssmclicommands
90 2 1
version-gen.go
in src/version/versiongenerator
48 1 1
shellsession.go
in src/sessionmanagerplugin/session/shellsession
96 7 1
shellsession_unix.go
in src/sessionmanagerplugin/session/shellsession
52 5 1
portsession.go
in src/sessionmanagerplugin/session/portsession
102 6 1
session.go
in src/sessionmanagerplugin/session
179 4 1