golang / build
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 313 files with 62,784 lines of code.
    • 10 very long files (18,395 lines of code)
    • 22 long files (15,135 lines of code)
    • 50 medium size files (15,153 lines of codeclsfd_ftr_w_mp_ins)
    • 55 small files (7,900 lines of code)
    • 176 very small files (6,201 lines of code)
29% | 24% | 24% | 12% | 9%
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
go31% | 25% | 22% | 11% | 8%
html0% | 0% | 58% | 22% | 19%
css0% | 0% | 73% | 26% | <1%
bash0% | 0% | 58% | 18% | 22%
x0% | 0% | 100% | 0% | 0%
proto0% | 0% | 41% | 55% | 3%
ps10% | 0% | 0% | 100% | 0%
yaml0% | 0% | 0% | 18% | 81%
py0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
cfg0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
cmd31% | 25% | 22% | 11% | 9%
internal35% | 16% | 20% | 18% | 8%
maintner35% | 25% | 28% | 3% | 7%
dashboard100% | 0% | 0% | 0% | 0%
kubernetes0% | 49% | 31% | 0% | 18%
devapp0% | 31% | 48% | 10% | 9%
buildlet0% | 35% | 32% | 22% | 9%
gerrit0% | 73% | 22% | 0% | 3%
vcs-test0% | 54% | 0% | 25% | 20%
version0% | 74% | 0% | 0% | 25%
env0% | 0% | 51% | 29% | 19%
revdial0% | 0% | 100% | 0% | 0%
buildenv0% | 0% | 100% | 0% | 0%
deploy0% | 0% | 0% | 100% | 0%
ROOT0% | 0% | 0% | 68% | 31%
pargzip0% | 0% | 0% | 100% | 0%
cloudfns0% | 0% | 0% | 51% | 48%
repos0% | 0% | 0% | 100% | 0%
types0% | 0% | 0% | 100% | 0%
livelog0% | 0% | 0% | 0% | 100%
tarutil0% | 0% | 0% | 0% | 100%
autocertcache0% | 0% | 0% | 0% | 100%
app0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
gophers.go
in internal/gophers
3212 7
builders.go
in dashboard
2387 65
github.go
in maintner
2151 96
gopherbot.go
in cmd/gopherbot
2114 72
coordinator.go
in cmd/coordinator
1711 72
buildlet.go
in cmd/buildlet
1618 60
gomote.pb.go
in internal/gomote/protos
1534 156
buildstatus.go
in cmd/coordinator
1492 67
gerrit.go
in maintner
1170 72
gopherstats.go
in cmd/gopherstats
1006 29
maintner.pb.go
in maintner/maintpb
986 193
main.go
in cmd/releasebot
893 34
types.go
in kubernetes/api
879 -
table.go
in devapp/owners
868 1
makemac.go
in cmd/makemac
773 28
gerritbot.go
in cmd/gerritbot
759 36
status.go
in cmd/coordinator
753 37
ui.go
in cmd/coordinator/internal/legacydash
735 50
api.pb.go
in maintner/maintnerd/apipb
727 129
remote.go
in cmd/coordinator
691 21
buildletclient.go
in buildlet
670 51
gerrit.go
in gerrit
668 45
gce.go
in internal/coordinator/pool
659 44
api.go
in maintner/maintnerd/maintapi
636 24
gitmirror.go
in cmd/gitmirror
617 34
tls.go
in vcs-test/vcweb
609 9
release.go
in cmd/release
585 7
releaselet.go
in cmd/release
565 15
gomote_grpc.pb.go
in internal/gomote/protos
534 49
tweet.go
in internal/task
516 21
reverse.go
in internal/coordinator/pool
508 28
version.go
in version
504 21
netsource.go
in maintner
493 15
gcslog.go
in maintner/maintnerd/gcslog
471 26
git.go
in maintner
468 23
release.go
in devapp
446 19
racebuild.go
in cmd/racebuild
445 9
updatecontrib.go
in cmd/updatecontrib
430 17
workflows.sql.go
in internal/relui/db
394 12
kube.go
in internal/coordinator/pool
388 19
buildstats.go
in internal/buildstats
376 6
retrybuilds.go
in cmd/retrybuilds
367 10
revdial.go
in revdial/v2
367 25
workflow.go
in internal/workflow
352 29
gce.go
in buildlet
351 7
build.go
in cmd/coordinator/internal/legacydash
334 28
upload.go
in cmd/upload
333 5
client.go
in kubernetes
333 14
maintnerd.go
in maintner/maintnerd
332 8
pubsubhelper.go
in cmd/pubsubhelper
330 16
Files With Most Units (Top 20)
File# lines# units
maintner.pb.go
in maintner/maintpb
986 193
gomote.pb.go
in internal/gomote/protos
1534 156
api.pb.go
in maintner/maintnerd/apipb
727 129
github.go
in maintner
2151 96
coordinator.go
in cmd/coordinator
1711 72
gopherbot.go
in cmd/gopherbot
2114 72
gerrit.go
in maintner
1170 72
buildstatus.go
in cmd/coordinator
1492 67
builders.go
in dashboard
2387 65
buildlet.go
in cmd/buildlet
1618 60
buildletclient.go
in buildlet
670 51
ui.go
in cmd/coordinator/internal/legacydash
735 50
gomote_grpc.pb.go
in internal/gomote/protos
534 49
gerrit.go
in gerrit
668 45
gce.go
in internal/coordinator/pool
659 44
status.go
in cmd/coordinator
753 37
gerritbot.go
in cmd/gerritbot
759 36
main.go
in cmd/releasebot
893 34
gitmirror.go
in cmd/gitmirror
617 34
fakebuildletclient.go
in buildlet
118 30
Files With Long Lines (Top 20)

There are 126 files with lines longer than 120 characters. In total, there are 519 long lines.

File# lines# units# long lines
gopherbot.go
in cmd/gopherbot
2114 72 43
gomote_grpc.pb.go
in internal/gomote/protos
534 49 40
maintner.pb.go
in maintner/maintpb
986 193 25
gophers.go
in internal/gophers
3212 7 17
api.pb.go
in maintner/maintnerd/apipb
727 129 16
main.go
in cmd/releasebot
893 34 15
gerritbot.go
in cmd/gerritbot
759 36 14
releaselet.go
in cmd/release
565 15 14
coordinator.go
in cmd/coordinator
1711 72 14
startup.ps1
in env/windows-arm64
136 - 10
aws_interceptor.go
in internal/cloud
115 7 10
buildlet.go
in cmd/buildlet
1618 60 9
debugnewvm.go
in cmd/debugnewvm
288 5 9
startup.ps1
in env/windows
152 - 9
builders.go
in dashboard
2387 65 9
gopherstats.go
in cmd/gopherstats
1006 29 8
maintnerd.go
in maintner/maintnerd
332 8 8
gomote.go
in internal/gomote
282 11 8
run.go
in cmd/gomote
85 3 7
upload.go
in cmd/upload
333 5 7