awslabs / aws-perspective
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 278 files with 33,884 lines of code.
    • 1 very long files (1,456 lines of code)
    • 8 long files (5,755 lines of code)
    • 35 medium size files (10,546 lines of codeclsfd_ftr_w_mp_ins)
    • 58 small files (8,200 lines of code)
    • 176 very small files (7,927 lines of code)
4% | 16% | 31% | 24% | 23%
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
yaml24% | 20% | 39% | 8% | 7%
js0% | 10% | 31% | 28% | 29%
css0% | 100% | 0% | 0% | 0%
graphql0% | 0% | 100% | 0% | 0%
py0% | 0% | 0% | 81% | 18%
html0% | 0% | 0% | 0% | 100%
yml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
deployment100% | 0% | 0% | 0% | 0%
source/frontend/src/components0% | 11% | 30% | 29% | 28%
source/cfn/templates0% | 26% | 51% | 11% | 9%
source/frontend/src/css0% | 100% | 0% | 0% | 0%
source/frontend/src0% | 70% | 17% | 0% | 11%
source/frontend/src/Utils0% | 37% | 17% | 13% | 30%
source/backend/functions/api0% | 39% | 32% | 22% | 5%
source/backend/discovery/src0% | 0% | 46% | 39% | 13%
source/backend/graphql/schema0% | 0% | 100% | 0% | 0%
source/backend/functions/settings0% | 0% | 100% | 0% | 0%
source/backend/functions/cost-parser0% | 0% | 66% | 33% | 0%
source/frontend/src/API0% | 0% | 8% | 16% | 74%
source/backend/functions/setup0% | 0% | 0% | 59% | 40%
source/backend/functions/lambda-layers0% | 0% | 0% | 100% | 0%
source/backend/functions/drawio0% | 0% | 0% | 77% | 22%
source/backend/functions/search0% | 0% | 0% | 100% | 0%
source/backend/functions/graph-api0% | 0% | 0% | 41% | 58%
source/backend/functions/cur-setup0% | 0% | 0% | 0% | 100%
source/backend/functions/cleanup-bucket0% | 0% | 0% | 0% | 100%
source/frontend0% | 0% | 0% | 0% | 100%
source/backend/functions/cleanup-ecr0% | 0% | 0% | 0% | 100%
source/backend/discovery/sandbox0% | 0% | 0% | 0% | 100%
source/frontend/public0% | 0% | 0% | 0% | 100%
source/backend/discovery0% | 0% | 0% | 0% | 100%
source/backend/functions/secured-edge0% | 0% | 0% | 0% | 100%
source/frontend/src/config0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
perspective-setup.yaml
in deployment
1456 -
App.css
in source/frontend/src/css
951 -
index.css
in source/frontend/src
910 -
service-names.js
in source/frontend/src/Utils/Dictionaries
737 -
Cytoscape.js
in source/frontend/src/components/Graph
735 18
zoom-discovery-crawler.yaml
in source/cfn/templates
633 -
GraphStyling.js
in source/frontend/src/components/Graph/Styling
629 -
zoom-neptune.yaml
in source/cfn/templates
606 -
index.js
in source/backend/functions/api/src
554 7
perspective-appsync-api.yaml
in source/cfn/templates
477 -
dataClient.js
in source/backend/discovery/src/discovery
457 31
AccountImportForm.js
in source/frontend/src/components/Drawer/Settings/AccountManagement/Account
440 2
zoom-vpc.yaml
in source/cfn/templates
433 -
CostQueryForm.js
in source/frontend/src/components/Drawer/Costs/QueryBuilder
370 2
AccountFilter.js
in source/frontend/src/components/Drawer/Preferences/PreferenceManager/Filters/AccountAndRegionFilter
369 1
GettingStartedImportForm.js
in source/frontend/src/components/LandingPage
364 3
ecs.js
in source/backend/discovery/src/discovery
360 24
zoomUtils.js
in source/backend/discovery/src/discovery
356 3
ImageSelector.js
in source/frontend/src/Utils
353 -
zoom-api-gateway.yaml
in source/cfn/templates
349 -
zoom-main.yaml
in source/cfn/templates
343 -
perspective-api.graphql
in source/backend/graphql/schema
337 -
DiscoverableAccountsAndRegionsTable.js
in source/frontend/src/components/Drawer/Settings/AccountManagement/Account
318 2
index.js
in source/backend/functions/settings/src
314 10
discovery-service.js
in source/backend/discovery/src/discovery
285 19
perspective-opensearch.yaml
in source/cfn/templates
277 -
CostContainer.js
in source/frontend/src/components/Drawer/PersistentDrawer/Costs
274 -
perspective-athena-glue-crawler.yaml
in source/cfn/templates
270 -
QueryBuilderDialog.js
in source/frontend/src/components/Drawer/Actions/QueryBuilder
269 2
AccountImportStackSetsForm.js
in source/frontend/src/components/Drawer/Settings/AccountManagement/Account/StackSets
256 -
eni-links.js
in source/backend/discovery/src/discovery
253 15
AccountImportForm.js
in source/frontend/src/components/Drawer/Settings/AccountManagement/Account/CloudFormation
251 -
queryBuilder.js
in source/backend/functions/api/src
251 2
load-balancer-v2.js
in source/backend/discovery/src/discovery
250 24
aws-sigv4-driver-remote-connection.js
in source/backend/discovery/src/discovery
244 14
DiagramLoader.js
in source/frontend/src/components/Drawer/Diagrams/ViewSelector/Graph
243 3
Main.js
in source/frontend/src
231 2
index.js
in source/backend/functions/cost-parser/src
229 9
zoom-server-api-gateway.yaml
in source/cfn/templates
228 -
lamdbda-links.js
in source/backend/discovery/src/discovery
227 20
queries.js
in source/frontend/src/API/GraphQL
225 13
PersistentDrawer.js
in source/frontend/src/components/Drawer/PersistentDrawer
224 -
ResourceType.js
in source/frontend/src/components/Drawer/Preferences/PreferenceManager/Filters/ResourceType
211 1
aws-sigv4-driver-remote-connection.js
in source/backend/functions/api/src
208 14
AccountImportWizard.js
in source/frontend/src/components/Drawer/Settings/AccountManagement/Account/CloudFormation
200 -
AccountImportStackSetsWizard.js
in source/frontend/src/components/Drawer/Settings/AccountManagement/Account/StackSets
200 -
AccountAndRegionSettings.js
in source/frontend/src/components/Drawer/Settings/AccountManagement/Account
195 3
CostOverview.js
in source/frontend/src/components/Drawer/Costs/Report
191 -
discovery.js
in source/backend/discovery/src/discovery
185 2
spot.js
in source/backend/discovery/src/discovery
178 10
Files With Most Units (Top 20)
File# lines# units
dataClient.js
in source/backend/discovery/src/discovery
457 31
ecs.js
in source/backend/discovery/src/discovery
360 24
load-balancer-v2.js
in source/backend/discovery/src/discovery
250 24
lamdbda-links.js
in source/backend/discovery/src/discovery
227 20
discovery-service.js
in source/backend/discovery/src/discovery
285 19
Cytoscape.js
in source/frontend/src/components/Graph
735 18
taskDefinition-links.js
in source/backend/discovery/src/discovery
140 15
eni-links.js
in source/backend/discovery/src/discovery
253 15
roleAccountAuthorizationDetails.js
in source/backend/discovery/src/discovery
175 14
aws-sigv4-driver-remote-connection.js
in source/backend/discovery/src/discovery
244 14
aws-sigv4-driver-remote-connection.js
in source/backend/functions/api/src
208 14
queries.js
in source/frontend/src/API/GraphQL
225 13
boto_utils.py
in source/backend/functions/lambda-layers/boto_utils
142 13
load-balancer.js
in source/backend/discovery/src/discovery
116 12
rdsCluster.js
in source/backend/discovery/src/discovery
136 12
main.py
in source/backend/functions/drawio
170 12
mutations.js
in source/frontend/src/API/GraphQL
70 11
api-gateway.js
in source/backend/discovery/src/discovery
164 11
routeTables.js
in source/backend/discovery/src/discovery
118 11
autoScalingGroups.js
in source/backend/discovery/src/discovery
102 10
Files With Long Lines (Top 20)

There are 51 files with lines longer than 120 characters. In total, there are 170 long lines.

File# lines# units# long lines
consoleURL.js
in source/backend/discovery/src/discovery
139 - 15
perspective-setup.yaml
in deployment
1456 - 15
dataClient.js
in source/backend/discovery/src/discovery
457 31 12
type_definitions.py
in source/backend/functions/drawio
49 1 10
index.js
in source/backend/functions/api/src
554 7 10
discovery.js
in source/backend/discovery/src/discovery
185 2 9
athenaQueryBuilder.js
in source/backend/functions/cost-parser/src
117 - 8
zoom-api-gateway.yaml
in source/cfn/templates
349 - 7
GraphDataProcessor.js
in source/frontend/src/components/Graph
143 2 7
zoom-server-api-gateway.yaml
in source/cfn/templates
228 - 5
ecs.js
in source/backend/discovery/src/discovery
360 24 5
api-gateway.js
in source/backend/discovery/src/discovery
164 11 4
lambdaParser.js
in source/backend/discovery/src/discovery
122 2 4
hierarchy.js
in source/backend/functions/api/src
136 - 4
hierarchy.js
in source/backend/functions/graph-api/src
135 - 4
perspective-athena-glue-crawler.yaml
in source/cfn/templates
270 - 3
zoom-discovery-crawler.yaml
in source/cfn/templates
633 - 3
spot.js
in source/backend/discovery/src/discovery
178 10 3
index.js
in source/backend/functions/graph-api/src
93 2 3
ResourceGrouper.js
in source/frontend/src/components/Resources
41 - 2