kubernetes / apimachinery
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 230 files with 42,508 lines of code.
    • 4 very long files (16,056 lines of code)
    • 8 long files (5,327 lines of code)
    • 36 medium size files (10,888 lines of codeclsfd_ftr_w_mp_ins)
    • 42 small files (5,859 lines of code)
    • 140 very small files (4,378 lines of code)
37% | 12% | 25% | 13% | 10%
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
go36% | 12% | 26% | 13% | 10%
proto69% | 0% | 0% | 18% | 11%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
pkg/apis69% | 4% | 15% | 4% | 5%
pkg/util19% | 6% | 31% | 26% | 15%
pkg/api0% | 31% | 41% | 10% | 16%
pkg/runtime0% | 23% | 40% | 24% | 10%
pkg/labels0% | 84% | 0% | 13% | 2%
pkg/fields0% | 0% | 86% | 0% | 13%
pkg/watch0% | 0% | 38% | 34% | 27%
pkg/conversion0% | 0% | 0% | 89% | 10%
pkg/version0% | 0% | 0% | 0% | 100%
pkg/types0% | 0% | 0% | 0% | 100%
pkg/selection0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
generated.pb.go
in pkg/apis/meta/v1
11236 603
generated.pb.go
in pkg/apis/testapigroup/v1
2176 77
patch.go
in pkg/util/strategicpatch
1607 78
proto
generated.proto
in pkg/apis/meta/v1
1037 -
zz_generated.deepcopy.go
in pkg/apis/meta/v1
946 110
generated.pb.go
in pkg/runtime
790 49
converter.go
in pkg/runtime
685 32
selector.go
in pkg/labels
677 56
errors.go
in pkg/api/errors
641 53
http.go
in pkg/util/net
558 30
meta.go
in pkg/api/meta
525 63
quantity.go
in pkg/api/resource
505 38
zz_generated.deepcopy.go
in pkg/runtime/testing
482 63
scheme.go
in pkg/runtime
467 35
zz_generated.conversion.go
in pkg/apis/meta/v1
466 15
compatibility.go
in pkg/api/apitesting/roundtrip
422 12
unstructured.go
in pkg/apis/meta/v1/unstructured
396 56
interface.go
in pkg/util/net
388 22
restmapper.go
in pkg/api/meta
384 21
helpers.go
in pkg/apis/meta/v1/unstructured
376 33
wait.go
in pkg/util/wait
374 43
generated.pb.go
in pkg/apis/meta/v1beta1
369 21
upgradeaware.go
in pkg/util/proxy
367 20
types.go
in pkg/apis/meta/v1
355 7
validation.go
in pkg/util/validation
348 29
generated.pb.go
in pkg/util/intstr
327 19
protobuf.go
in pkg/runtime/serializer/protobuf
315 19
roundtripper.go
in pkg/util/httpstream/spdy
296 14
roundtrip.go
in pkg/api/apitesting/roundtrip
295 20
codec.go
in pkg/runtime
285 27
decoder.go
in pkg/util/yaml
278 20
conversion.go
in pkg/apis/meta/v1
278 36
conversion.go
in pkg/runtime/testing
268 15
fuzzer.go
in pkg/apis/meta/fuzzer
259 7
types.go
in pkg/runtime/testing
242 17
quantity_proto.go
in pkg/api/resource
241 8
math.go
in pkg/api/resource
239 12
selector.go
in pkg/fields
230 34
version.go
in pkg/util/version
227 22
json.go
in pkg/runtime/serializer/json
221 17
helpers.go
in pkg/apis/meta/v1
221 19
codec_factory.go
in pkg/runtime/serializer
218 17
watch.go
in pkg/watch
218 29
validation.go
in pkg/apis/meta/v1/validation
213 16
amount.go
in pkg/api/resource
210 14
zz_generated.conversion.go
in pkg/apis/testapigroup/v1
206 22
objectmeta.go
in pkg/api/validation
205 12
help.go
in pkg/api/meta
202 7
group_version.go
in pkg/runtime/schema
196 30
mux.go
in pkg/watch
195 16
Files With Most Units (Top 20)
File# lines# units
generated.pb.go
in pkg/apis/meta/v1
11236 603
zz_generated.deepcopy.go
in pkg/apis/meta/v1
946 110
patch.go
in pkg/util/strategicpatch
1607 78
generated.pb.go
in pkg/apis/testapigroup/v1
2176 77
meta.go
in pkg/api/meta
525 63
zz_generated.deepcopy.go
in pkg/runtime/testing
482 63
unstructured.go
in pkg/apis/meta/v1/unstructured
396 56
selector.go
in pkg/labels
677 56
errors.go
in pkg/api/errors
641 53
generated.pb.go
in pkg/runtime
790 49
meta.go
in pkg/apis/meta/v1
129 45
wait.go
in pkg/util/wait
374 43
quantity.go
in pkg/api/resource
505 38
conversion.go
in pkg/apis/meta/v1
278 36
scheme.go
in pkg/runtime
467 35
selector.go
in pkg/fields
230 34
helpers.go
in pkg/apis/meta/v1/unstructured
376 33
converter.go
in pkg/runtime
685 32
http.go
in pkg/util/net
558 30
group_version.go
in pkg/runtime/schema
196 30
Files With Long Lines (Top 20)

There are 77 files with lines longer than 120 characters. In total, there are 440 long lines.

File# lines# units# long lines
zz_generated.conversion.go
in pkg/apis/meta/v1
466 15 40
patch.go
in pkg/util/strategicpatch
1607 78 37
generated.pb.go
in pkg/apis/meta/v1
11236 603 25
conversion.go
in pkg/runtime/testing
268 15 24
zz_generated.conversion.go
in pkg/apis/testapigroup/v1
206 22 24
objectmeta.go
in pkg/api/validation
205 12 18
validation.go
in pkg/apis/meta/v1/validation
213 16 17
roundtrip.go
in pkg/api/apitesting/roundtrip
295 20 14
validation.go
in pkg/util/validation
348 29 13
proto
generated.proto
in pkg/apis/meta/v1
1037 - 12
helpers.go
in pkg/apis/meta/v1/unstructured
376 33 12
naming.go
in pkg/api/apitesting/naming
116 6 11
types.go
in pkg/apis/meta/v1
355 7 10
selector.go
in pkg/labels
677 56 9
compatibility.go
in pkg/api/apitesting/roundtrip
422 12 8
generated.pb.go
in pkg/apis/testapigroup/v1
2176 77 8
zz_generated.conversion.go
in pkg/apis/meta/internalversion
107 10 8
conversion.go
in pkg/apis/meta/v1
278 36 7
priority.go
in pkg/api/meta
158 11 6
restmapper.go
in pkg/api/meta
384 21 6