kubernetes / autoscaler
Unit Size

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

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 10,960 units with 110,519 lines of code in units (72.0% of code).
    • 18 very long units (2,556 lines of code)
    • 261 long units (22,200 lines of code)
    • 666 medium size units (19,185 lines of code)
    • 1,739 small units (25,976 lines of code)
    • 8,276 very small units (40,602 lines of code)
2% | 20% | 17% | 23% | 36%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
go2% | 20% | 17% | 23% | 36%
py0% | 16% | 44% | 10% | 28%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
cluster-autoscaler/cloudprovider1% | 22% | 15% | 22% | 37%
cluster-autoscaler/core30% | 9% | 31% | 18% | 10%
cluster-autoscaler/utils9% | 0% | 26% | 26% | 36%
vertical-pod-autoscaler/pkg1% | 5% | 23% | 31% | 37%
cluster-autoscaler/processors0% | 20% | 25% | 24% | 29%
cluster-autoscaler0% | 39% | 33% | 16% | 10%
cluster-autoscaler/simulator0% | 10% | 34% | 22% | 32%
cluster-autoscaler/expander0% | 18% | 38% | 21% | 21%
addon-resizer0% | 59% | 0% | 11% | 28%
cluster-autoscaler/clusterstate0% | 5% | 44% | 28% | 21%
cluster-autoscaler/config0% | 54% | 20% | 16% | 9%
hack/boilerplate0% | 43% | 0% | 16% | 39%
hack/scripts0% | 0% | 66% | 7% | 26%
cluster-autoscaler/estimator0% | 0% | 68% | 23% | 7%
addon-resizer/nanny0% | 0% | 27% | 51% | 20%
cluster-autoscaler/debuggingsnapshot0% | 0% | 22% | 29% | 47%
cluster-autoscaler/metrics0% | 0% | 16% | 20% | 63%
cluster-autoscaler/context0% | 0% | 43% | 56% | 0%
vertical-pod-autoscaler/common0% | 0% | 0% | 100% | 0%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
func()
in cluster-autoscaler/core/static_autoscaler.go
275 64 1
func ScaleUp()
in cluster-autoscaler/core/scale_up.go
254 53 8
func()
in cluster-autoscaler/core/scale_down.go
190 30 1
func()
in cluster-autoscaler/cloudprovider/magnum/gophercloud/provider_client.go
162 47 1
func()
in cluster-autoscaler/cloudprovider/magnum/gophercloud/auth_options.go
160 33 1
func()
in cluster-autoscaler/core/scale_down.go
139 28 1
func BuildAzureConfig()
in cluster-autoscaler/cloudprovider/azure/azure_config.go
134 35 1
func deepDiffEqual()
in cluster-autoscaler/cloudprovider/magnum/gophercloud/testhelper/convenience.go
126 41 5
func registerBetterFuzzyDecoder()
in cluster-autoscaler/cloudprovider/alicloud/alibaba-cloud-sdk-go/sdk/responses/json_parser.go
126 31 0
func GetPodsForDeletionOnNodeDrain()
in cluster-autoscaler/utils/drain/drain.go
125 43 8
func BuildRequestBody()
in cluster-autoscaler/cloudprovider/magnum/gophercloud/params.go
119 41 2
func()
in cluster-autoscaler/cloudprovider/ionoscloud/ionos-cloud-sdk-go/api_request.go
114 25 1
func BindQueryParameter()
in cluster-autoscaler/cloudprovider/exoscale/internal/github.com/exoscale/egoscale/internal/runtime/bindparam.go
108 27 6
func BindQueryParameter()
in cluster-autoscaler/cloudprovider/exoscale/internal/github.com/deepmap/oapi-codegen/pkg/runtime/bindparam.go
108 27 6
func()
in cluster-autoscaler/cloudprovider/ionoscloud/ionos-cloud-sdk-go/api_volume.go
107 22 1
func()
in vertical-pod-autoscaler/pkg/updater/logic/updater.go
107 22 1
func()
in cluster-autoscaler/cloudprovider/ionoscloud/ionos-cloud-sdk-go/api_nic.go
101 19 1
func()
in cluster-autoscaler/cloudprovider/ionoscloud/ionos-cloud-sdk-go/api_nic.go
101 19 1
func loadBalancerCreateOptsToSchema()
in cluster-autoscaler/cloudprovider/hetzner/hcloud-go/hcloud/schema.go
100 23 1
func()
in cluster-autoscaler/cloudprovider/ionoscloud/ionos-cloud-sdk-go/api_nic.go
100 19 1