bazelbuild / remote-apis-sdks
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 41 files with 10,666 lines of code.
    • 2 very long files (2,513 lines of code)
    • 5 long files (3,267 lines of code)
    • 7 medium size files (2,091 lines of codeclsfd_ftr_w_mp_ins)
    • 14 small files (2,019 lines of code)
    • 13 very small files (776 lines of code)
23% | 30% | 19% | 18% | 7%
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
go24% | 31% | 20% | 16% | 6%
proto0% | 0% | 0% | 71% | 28%
bzl0% | 0% | 0% | 100% | 0%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
go/pkg/client46% | 21% | 21% | 4% | 5%
go/api/command88% | 0% | 0% | 11% | 0%
go/pkg/cas0% | 75% | 0% | 18% | 5%
go/pkg/fakes0% | 54% | 28% | 10% | 7%
go/pkg/command0% | 100% | 0% | 0% | 0%
go/pkg/tool0% | 100% | 0% | 0% | 0%
go/pkg/balancer0% | 0% | 57% | 35% | 6%
go/pkg/rexec0% | 0% | 100% | 0% | 0%
go/pkg/reader0% | 0% | 100% | 0% | 0%
go/pkg/actas0% | 0% | 0% | 100% | 0%
go/pkg/portpicker0% | 0% | 0% | 100% | 0%
go/pkg/digest0% | 0% | 0% | 100% | 0%
go/pkg/chunker0% | 0% | 0% | 100% | 0%
go/pkg/filemetadata0% | 0% | 0% | 64% | 35%
ROOT0% | 0% | 0% | 100% | 0%
go/cmd/remotetool0% | 0% | 0% | 100% | 0%
go/pkg/retry0% | 0% | 0% | 100% | 0%
go/pkg/moreflag0% | 0% | 0% | 0% | 100%
go/cmd/rexec0% | 0% | 0% | 0% | 100%
go/pkg/flags0% | 0% | 0% | 0% | 100%
go/pkg/outerr0% | 0% | 0% | 0% | 100%
go/pkg/uploadinfo0% | 0% | 0% | 0% | 100%
go/pkg/testutil0% | 0% | 0% | 0% | 100%
Longest Files (Top 41)
File# lines# units
cas.go
in go/pkg/client
1461 51
command.pb.go
in go/api/command
1052 109
upload.go
in go/pkg/cas
817 28
client.go
in go/pkg/client
670 54
cas.go
in go/pkg/fakes
613 26
command.go
in go/pkg/command
585 36
tool.go
in go/pkg/tool
582 17
tree.go
in go/pkg/client
474 15
rexec.go
in go/pkg/rexec
415 16
server.go
in go/pkg/fakes
319 18
grpcbalancer.pb.go
in go/pkg/balancer/proto
240 49
gcp_balancer.go
in go/pkg/balancer
236 21
exec.go
in go/pkg/client
206 8
reader.go
in go/pkg/reader
201 17
client.go
in go/pkg/cas
200 10
actas.go
in go/pkg/actas
183 6
portpicker.go
in go/pkg/portpicker
175 7
gcp_interceptor.go
in go/pkg/balancer
161 6
digest.go
in go/pkg/digest
154 16
chunker.go
in go/pkg/chunker
151 8
proto
command.proto
in go/api/command
141 -
bytestream.go
in go/pkg/client
131 7
gcp_picker.go
in go/pkg/balancer
128 6
filemetadata.go
in go/pkg/filemetadata
126 11
remote-apis-sdks-deps.bzl
in root
126 -
exec.go
in go/pkg/fakes
121 7
main.go
in go/cmd/remotetool
120 3
retry.go
in go/pkg/retry
102 7
ac.go
in go/pkg/fakes
80 9
moreflag.go
in go/pkg/moreflag
79 8
client_context.go
in go/pkg/client
78 3
main.go
in go/cmd/rexec
70 2
cache.go
in go/pkg/filemetadata
70 9
flags.go
in go/pkg/flags
66 2
ioutil.go
in go/pkg/cas
62 7
capabilities.go
in go/pkg/client
59 8
proto
grpcbalancer.proto
in go/pkg/balancer/proto
57 -
outerr.go
in go/pkg/outerr
43 6
entry.go
in go/pkg/uploadinfo
42 5
status.go
in go/pkg/client
42 4
testutil.go
in go/pkg/testutil
28 1
Files With Most Units (Top 20)
File# lines# units
command.pb.go
in go/api/command
1052 109
client.go
in go/pkg/client
670 54
cas.go
in go/pkg/client
1461 51
grpcbalancer.pb.go
in go/pkg/balancer/proto
240 49
command.go
in go/pkg/command
585 36
upload.go
in go/pkg/cas
817 28
cas.go
in go/pkg/fakes
613 26
gcp_balancer.go
in go/pkg/balancer
236 21
server.go
in go/pkg/fakes
319 18
reader.go
in go/pkg/reader
201 17
tool.go
in go/pkg/tool
582 17
rexec.go
in go/pkg/rexec
415 16
digest.go
in go/pkg/digest
154 16
tree.go
in go/pkg/client
474 15
filemetadata.go
in go/pkg/filemetadata
126 11
client.go
in go/pkg/cas
200 10
ac.go
in go/pkg/fakes
80 9
cache.go
in go/pkg/filemetadata
70 9
moreflag.go
in go/pkg/moreflag
79 8
exec.go
in go/pkg/client
206 8
Files With Long Lines (Top 20)

There are 23 files with lines longer than 120 characters. In total, there are 186 long lines.

File# lines# units# long lines
cas.go
in go/pkg/fakes
613 26 28
command.pb.go
in go/api/command
1052 109 23
client.go
in go/pkg/client
670 54 19
flags.go
in go/pkg/flags
66 2 18
cas.go
in go/pkg/client
1461 51 15
tree.go
in go/pkg/client
474 15 14
main.go
in go/cmd/rexec
70 2 12
upload.go
in go/pkg/cas
817 28 8
tool.go
in go/pkg/tool
582 17 6
grpcbalancer.pb.go
in go/pkg/balancer/proto
240 49 6
rexec.go
in go/pkg/rexec
415 16 5
command.go
in go/pkg/command
585 36 5
main.go
in go/cmd/remotetool
120 3 4
actas.go
in go/pkg/actas
183 6 4
exec.go
in go/pkg/client
206 8 4
server.go
in go/pkg/fakes
319 18 4
client.go
in go/pkg/cas
200 10 3
ac.go
in go/pkg/fakes
80 9 2
proto
grpcbalancer.proto
in go/pkg/balancer/proto
57 - 2
bytestream.go
in go/pkg/client
131 7 1