kubernetes / ingress-nginx
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 306 files with 27,319 lines of code.
    • 2 very long files (2,705 lines of code)
    • 11 long files (7,617 lines of code)
    • 17 medium size files (4,699 lines of codeclsfd_ftr_w_mp_ins)
    • 38 small files (5,334 lines of code)
    • 238 very small files (6,964 lines of code)
9% | 27% | 17% | 19% | 25%
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
go17% | 14% | 20% | 23% | 24%
yaml0% | 60% | 8% | 2% | 28%
lua0% | 0% | 29% | 43% | 26%
py0% | 0% | 0% | 91% | 8%
tpl0% | 0% | 0% | 70% | 29%
yml0% | 0% | 0% | 100% | 0%
html0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
internal/ingress23% | 20% | 16% | 20% | 19%
deploy/static0% | 99% | 0% | 0% | <1%
charts/ingress-nginx0% | 0% | 25% | 12% | 62%
rootfs/etc0% | 0% | 29% | 43% | 26%
cmd/nginx0% | 0% | 100% | 0% | 0%
internal/net0% | 0% | 77% | 0% | 22%
cmd/plugin0% | 0% | 17% | 34% | 47%
images/kube-webhook-certgen0% | 0% | 33% | 0% | 66%
internal/nginx0% | 0% | 0% | 100% | 0%
cmd/dbg0% | 0% | 0% | 100% | 0%
hack/boilerplate0% | 0% | 0% | 100% | 0%
internal/task0% | 0% | 0% | 100% | 0%
images/custom-error-pages0% | 0% | 0% | 72% | 27%
ROOT0% | 0% | 0% | 83% | 16%
internal/k8s0% | 0% | 0% | 90% | 9%
hack/manifest-templates0% | 0% | 0% | 0% | 100%
internal/admission0% | 0% | 0% | 0% | 100%
deploy/prometheus0% | 0% | 0% | 0% | 100%
internal/watch0% | 0% | 0% | 0% | 100%
internal/sets0% | 0% | 0% | 0% | 100%
images/nginx0% | 0% | 0% | 0% | 100%
deploy/grafana0% | 0% | 0% | 0% | 100%
internal/file0% | 0% | 0% | 0% | 100%
images/fastcgi-helloserver0% | 0% | 0% | 0% | 100%
internal/runtime0% | 0% | 0% | 0% | 100%
cmd/waitshutdown0% | 0% | 0% | 0% | 100%
images/go-grpc-greeter-server0% | 0% | 0% | 0% | 100%
images/httpbin0% | 0% | 0% | 0% | 100%
images/opentelemetry0% | 0% | 0% | 0% | 100%
version0% | 0% | 0% | 0% | 100%
images/test-runner0% | 0% | 0% | 0% | 100%
images/echo0% | 0% | 0% | 0% | 100%
images/cfssl0% | 0% | 0% | 0% | 100%
hack0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
controller.go
in internal/ingress/controller
1381 26
template.go
in internal/ingress/controller/template
1324 58
nginx.go
in internal/ingress/controller
916 21
store.go
in internal/ingress/controller/store
837 27
deploy.yaml
in deploy/static/provider/aws/nlb-with-tls-termination
674 -
deploy.yaml
in deploy/static/provider/kind
670 -
deploy.yaml
in deploy/static/provider/exoscale
668 -
deploy.yaml
in deploy/static/provider/do
662 -
deploy.yaml
in deploy/static/provider/aws
662 -
deploy.yaml
in deploy/static/provider/scw
661 -
deploy.yaml
in deploy/static/provider/cloud
659 -
deploy.yaml
in deploy/static/provider/baremetal
657 -
types_equals.go
in internal/ingress
551 17
config.go
in internal/ingress/controller/config
404 1
ssl.go
in internal/net/ssl
392 19
configmap.go
in internal/ingress/controller/template
364 5
socket.go
in internal/ingress/metric/collectors
354 10
lua
balancer.lua
in rootfs/etc/nginx/lua
302 4
values.yaml
in charts/ingress-nginx
298 -
flags.go
in cmd/nginx
280 1
status.go
in internal/ingress/status
279 15
main.go
in cmd/nginx
267 9
controller.go
in internal/ingress/metric/collectors
244 14
request.go
in cmd/plugin/request
241 16
controller-deployment.yaml
in charts/ingress-nginx/templates
225 -
controller-daemonset.yaml
in charts/ingress-nginx/templates
225 -
main.go
in internal/ingress/annotations/authreq
208 7
k8s.go
in images/kube-webhook-certgen/rootfs/pkg/k8s
208 10
lua
ewma.lua
in rootfs/etc/nginx/lua/balancer
205 3
lua
configuration.lua
in rootfs/etc/nginx/lua
203 4
lua
certificate.lua
in rootfs/etc/nginx/lua
190 2
main.go
in cmd/dbg
186 7
annotations.go
in internal/ingress/annotations
185 2
ingresses.go
in cmd/plugin/commands/ingresses
184 4
main.go
in cmd/plugin/commands/lint
182 7
types.go
in internal/ingress
177 1
lua
tcp_udp_balancer.lua
in rootfs/etc/nginx/lua
175 3
maxmind.go
in internal/nginx
166 6
lua
sticky.lua
in rootfs/etc/nginx/lua/balancer
165 8
main.go
in internal/ingress/annotations/proxy
165 3
main.go
in internal/ingress/annotations/auth
159 5
process.go
in internal/ingress/metric/collectors
159 9
main.go
in internal/ingress/annotations/ratelimit
153 5
main.go
in internal/ingress/metric
151 16
nginx_status.go
in internal/ingress/metric/collectors
142 8
boilerplate.py
in hack/boilerplate
142 7
lua
lua_ingress.lua
in rootfs/etc/nginx/lua
141 5
backend_ssl.go
in internal/ingress/controller/store
141 4
tpl
_helpers.tpl
in charts/ingress-nginx/templates
139 -
testutils.go
in internal/ingress/metric/collectors
137 10
Files With Most Units (Top 20)
File# lines# units
template.go
in internal/ingress/controller/template
1324 58
store.go
in internal/ingress/controller/store
837 27
controller.go
in internal/ingress/controller
1381 26
nginx.go
in internal/ingress/controller
916 21
ssl.go
in internal/net/ssl
392 19
types_equals.go
in internal/ingress
551 17
request.go
in cmd/plugin/request
241 16
main.go
in internal/ingress/metric
151 16
status.go
in internal/ingress/status
279 15
controller.go
in internal/ingress/metric/collectors
244 14
dummy.go
in internal/ingress/metric
22 14
queue.go
in internal/task
127 12
ingress.go
in cmd/plugin/lints
119 11
errors.go
in internal/ingress/errors
59 11
main.go
in internal/ingress/annotations/parser
123 11
socket.go
in internal/ingress/metric/collectors
354 10
testutils.go
in internal/ingress/metric/collectors
137 10
zz_generated.deepcopy.go
in internal/ingress
106 10
k8s.go
in images/kube-webhook-certgen/rootfs/pkg/k8s
208 10
main.go
in cmd/nginx
267 9
Files With Long Lines (Top 20)

There are 62 files with lines longer than 120 characters. In total, there are 224 long lines.

File# lines# units# long lines
controller.go
in internal/ingress/controller
1381 26 42
flags.go
in cmd/nginx
280 1 21
store.go
in internal/ingress/controller/store
837 27 12
main.go
in internal/ingress/annotations/sessionaffinity
114 3 8
patch.go
in images/kube-webhook-certgen/rootfs/cmd
98 3 8
logs.go
in cmd/plugin/commands/logs
76 3 6
main.go
in cmd/plugin/commands/lint
182 7 5
request.go
in cmd/plugin/request
241 16 5
configmap.go
in internal/ingress/controller/template
364 5 5
nginx.go
in internal/ingress/controller
916 21 5
config.go
in internal/ingress/controller/config
404 1 5
k8s.go
in images/kube-webhook-certgen/rootfs/pkg/k8s
208 10 5
admission.go
in internal/ingress/metric/collectors
119 5 4
template.go
in internal/ingress/controller/template
1324 58 4
ssl.go
in internal/net/ssl
392 19 4
deploy.yaml
in deploy/static/provider/aws/nlb-with-tls-termination
674 - 4
main.go
in cmd/nginx
267 9 3
ingress.go
in cmd/plugin/lints
119 11 3
main.go
in internal/admission/controller
67 1 3
deploy.yaml
in deploy/static/provider/exoscale
668 - 3