awslabs / smithy-rs
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 433 files with 51,836 lines of code.
    • 0 very long files (0 lines of code)
    • 16 long files (9,905 lines of code)
    • 65 medium size files (19,159 lines of codeclsfd_ftr_w_mp_ins)
    • 84 small files (11,778 lines of code)
    • 268 very small files (10,994 lines of code)
0% | 19% | 36% | 22% | 21%
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
rs0% | 20% | 39% | 24% | 15%
kt0% | 19% | 36% | 18% | 24%
kts0% | 0% | 21% | 24% | 53%
py0% | 0% | 0% | 50% | 49%
ts0% | 0% | 0% | 44% | 55%
toml0% | 0% | 0% | 0% | 100%
hb0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
rust-runtime0% | 23% | 35% | 22% | 18%
aws0% | 18% | 38% | 25% | 17%
codegen0% | 14% | 43% | 17% | 24%
codegen-server0% | 59% | 8% | 10% | 22%
tools0% | 0% | 42% | 26% | 30%
codegen-test0% | 0% | 0% | 100% | 0%
buildSrc0% | 0% | 0% | 50% | 49%
codegen-server-test0% | 0% | 0% | 100% | 0%
ROOT0% | 0% | 0% | 0% | 100%
design0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
ServerHttpProtocolGenerator.kt
in codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/protocols
934 1
user_agent.rs
in aws/rust-runtime/aws-http/src
702 24
frame.rs
in rust-runtime/aws-smithy-eventstream/src
693 21
deserialize.rs
in rust-runtime/aws-smithy-json/src
680 52
ServerProtocolTestGenerator.kt
in codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/protocol
636 1
token.rs
in rust-runtime/aws-smithy-json/src/deserialize
632 17
canonical_request.rs
in aws/rust-runtime/aws-sigv4/src/http_request
621 35
XmlBindingTraitParserGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse
620 5
ecs.rs
in aws/rust-runtime/aws-config/src
602 20
format.rs
in rust-runtime/aws-smithy-types/src/date_time
587 29
hyper_ext.rs
in rust-runtime/aws-smithy-client/src
567 22
HttpBoundProtocolGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols
543 5
FluentClientDecorator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators
543 6
client.rs
in aws/rust-runtime/aws-config/src/imds
523 15
default_provider.rs
in aws/rust-runtime/aws-config/src
511 2
header.rs
in rust-runtime/aws-smithy-http/src
511 17
decode.rs
in rust-runtime/aws-smithy-xml/src
492 21
sign.rs
in aws/rust-runtime/aws-sigv4/src/http_request
480 13
HttpBindingGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators/http
478 5
output.rs
in rust-runtime/aws-smithy-http/src/event_stream
471 14
JsonParserGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse
470 4
ProtocolTestGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators/protocol
450 1
XmlBindingTraitSerializerGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize
423 6
repr.rs
in aws/rust-runtime/aws-config/src/profile/credentials
406 9
changelog.rs
in tools/sdk-lints/src
379 14
JsonSerializerGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize
379 8
sso.rs
in aws/rust-runtime/aws-config/src
374 9
package.rs
in tools/publisher/src
369 10
retry.rs
in rust-runtime/aws-smithy-client/src
364 20
lib.rs
in rust-runtime/aws-smithy-query/src
360 11
main.rs
in tools/smithy-rs-sync/src
354 19
request_spec.rs
in rust-runtime/aws-smithy-http-server/src/routing
344 13
lazy_caching.rs
in aws/rust-runtime/aws-config/src/meta/credentials
333 6
RustWriter.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/rustlang
331 12
operation.rs
in rust-runtime/aws-smithy-http/src
327 7
mod.rs
in aws/rust-runtime/aws-endpoint/src/partition
326 13
credentials.rs
in aws/rust-runtime/aws-config/src/profile
321 4
EventStreamUnmarshallerGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/parse
319 1
mod.rs
in rust-runtime/aws-smithy-http-server/src/routing
317 6
lib.rs
in rust-runtime/aws-smithy-protocol-test/src
309 9
QuerySerializerGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize
307 6
AwsPresigningDecorator.kt
in aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk
302 5
source.rs
in aws/rust-runtime/aws-config/src/profile/parser
298 11
SymbolVisitor.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy
290 19
AwsEndpointDecorator.kt
in aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk
285 6
parse.rs
in aws/rust-runtime/aws-config/src/profile/parser
280 14
fix_manifests.rs
in tools/publisher/src/subcommand
277 8
mod.rs
in rust-runtime/aws-smithy-types/src/date_time
277 9
parser.rs
in aws/rust-runtime/aws-config/src/profile
275 9
replay.rs
in rust-runtime/aws-smithy-client/src/dvr
273 4
Files With Most Units (Top 20)
File# lines# units
deserialize.rs
in rust-runtime/aws-smithy-json/src
680 52
canonical_request.rs
in aws/rust-runtime/aws-sigv4/src/http_request
621 35
format.rs
in rust-runtime/aws-smithy-types/src/date_time
587 29
user_agent.rs
in aws/rust-runtime/aws-http/src
702 24
hyper_ext.rs
in rust-runtime/aws-smithy-client/src
567 22
frame.rs
in rust-runtime/aws-smithy-eventstream/src
693 21
decode.rs
in rust-runtime/aws-smithy-xml/src
492 21
ecs.rs
in aws/rust-runtime/aws-config/src
602 20
retry.rs
in rust-runtime/aws-smithy-client/src
364 20
body.rs
in rust-runtime/aws-smithy-http/src
239 20
main.rs
in tools/smithy-rs-sync/src
354 19
SymbolVisitor.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy
290 19
token.rs
in rust-runtime/aws-smithy-json/src/deserialize
632 17
header.rs
in rust-runtime/aws-smithy-http/src
511 17
lint_cargo_toml.rs
in tools/sdk-lints/src
179 15
client.rs
in aws/rust-runtime/aws-config/src/imds
523 15
rejection.rs
in rust-runtime/aws-smithy-http-server/src
165 15
main.rs
in tools/sdk-versioner/src
254 14
changelog.rs
in tools/sdk-lints/src
379 14
retry.rs
in aws/rust-runtime/aws-http/src
218 14
Files With Long Lines (Top 20)

There are 89 files with lines longer than 120 characters. In total, there are 230 long lines.

File# lines# units# long lines
ServerHttpProtocolGenerator.kt
in codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/protocols
934 1 20
hb
SDK_README.md.hb
in aws
74 - 14
PaginatorGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators
260 1 11
FluentClientDecorator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators
543 6 9
HttpBindingGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators/http
478 5 9
BuilderGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators
208 3 7
ServerProtocolTestGenerator.kt
in codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators/protocol
636 1 7
default_provider.rs
in aws/rust-runtime/aws-config/src
511 2 6
SigV4SigningDecorator.kt
in aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk
179 4 5
token.rs
in rust-runtime/aws-smithy-json/src/deserialize
632 17 5
copyright.rs
in tools/sdk-lints/src
94 7 4
ProtocolTestGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/generators/protocol
450 1 4
CredentialProviders.kt
in aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk
107 5 4
AwsFluentClientDecorator.kt
in aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk
201 4 4
credentials.rs
in aws/rust-runtime/aws-config/src/imds
204 2 4
ServerOperationHandlerGenerator.kt
in codegen-server/src/main/kotlin/software/amazon/smithy/rust/codegen/server/smithy/generators
122 1 4
changelog.rs
in tools/sdk-lints/src
379 14 3
JsonSerializerGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize
379 8 3
XmlBindingTraitSerializerGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols/serialize
423 6 3
HttpBoundProtocolGenerator.kt
in codegen/src/main/kotlin/software/amazon/smithy/rust/codegen/smithy/protocols
543 5 3