awslabs / aws-crt-java
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 181 files with 15,716 lines of code.
    • 0 very long files (0 lines of code)
    • 5 long files (3,184 lines of code)
    • 17 medium size files (5,515 lines of codeclsfd_ftr_w_mp_ins)
    • 12 small files (1,673 lines of code)
    • 147 very small files (5,344 lines of code)
0% | 20% | 35% | 10% | 34%
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
c0% | 43% | 35% | 7% | 13%
java0% | 0% | 32% | 16% | 51%
kt0% | 0% | 54% | 13% | 31%
h0% | 0% | 62% | 0% | 37%
yml0% | 0% | 0% | 0% | 100%
kts0% | 0% | 0% | 0% | 100%
cmake0% | 0% | 0% | 0% | 100%
pro0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/native0% | 41% | 36% | 6% | 15%
src/main0% | 0% | 32% | 16% | 51%
smithy-crt/src0% | 0% | 54% | 13% | 31%
codebuild0% | 0% | 0% | 0% | 100%
codebuild/cd0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
cmake0% | 0% | 0% | 0% | 100%
smithy-crt0% | 0% | 0% | 0% | 100%
s3-native-client0% | 0% | 0% | 0% | 100%
android/crt0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
mqtt_connection.c
in src/native
848 32
java_class_ids.c
in src/native
609 44
credentials_provider.c
in src/native
605 6
aws_signing.c
in src/native
564 15
event_stream_rpc_server.c
in src/native
558 22
event_stream_rpc_client.c
in src/native
488 18
JavaElements.kt
in smithy-crt/src/main/kotlin/software/amazon/smithy/crt/java
485 48
S3NativeClient.java
in src/main/java/s3NativeClient/com/amazonaws/s3
480 18
http_request_response.c
in src/native
421 17
s3_client.c
in src/native
388 10
http_request_utils.c
in src/native
358 12
http_connection_manager.c
in src/native
346 8
crt.c
in src/native
340 28
Header.java
in src/main/java/software/amazon/awssdk/crt/eventstream
306 36
CrtResource.java
in src/main/java/software/amazon/awssdk/crt
275 24
java_class_ids.h
in src/native
271 -
MqttClientConnection.java
in src/main/java/software/amazon/awssdk/crt/mqtt
235 17
tls_context_options.c
in src/native
233 5
CRT.java
in src/main/java/software/amazon/awssdk/crt
228 13
Types.kt
in smithy-crt/src/main/kotlin/software/amazon/smithy/crt/java
225 53
TlsContextOptions.java
in src/main/java/software/amazon/awssdk/crt/io
222 28
MqttConnectionConfig.java
in src/main/java/software/amazon/awssdk/crt/mqtt
214 47
Elements.kt
in smithy-crt/src/main/kotlin/software/amazon/smithy/crt/codegen
178 29
PemUtils.java
in src/main/java/software/amazon/awssdk/crt/utils
174 12
AwsSigningConfig.java
in src/main/java/software/amazon/awssdk/crt/auth/signing
171 13
HttpClientConnectionManager.java
in src/main/java/software/amazon/awssdk/crt/http
161 9
event_stream_message.c
in src/native
157 6
event_loop_group.c
in src/native
131 4
tls_context_pkcs11_options.c
in src/native
126 2
ClientConnection.java
in src/main/java/software/amazon/awssdk/crt/eventstream
123 9
Log.java
in src/main/java/software/amazon/awssdk/crt
120 7
X509CredentialsProvider.java
in src/main/java/software/amazon/awssdk/crt/auth/credentials
115 9
client_bootstrap.c
in src/native
112 4
StsCredentialsProvider.java
in src/main/java/software/amazon/awssdk/crt/auth/credentials
105 11
ProfileCredentialsProvider.java
in src/main/java/software/amazon/awssdk/crt/auth/credentials
98 10
EcsCredentialsProvider.java
in src/main/java/software/amazon/awssdk/crt/auth/credentials
98 10
build.gradle.kts
in root
96 -
HttpRequest.java
in src/main/java/software/amazon/awssdk/crt/http
95 10
tls_connection_options.c
in src/native
94 4
retry_utils.c
in src/native
92 2
S3ClientOptions.java
in src/main/java/software/amazon/awssdk/crt/s3
90 21
ClientConnectionContinuation.java
in src/main/java/software/amazon/awssdk/crt/eventstream
88 6
ServiceGenerator.kt
in smithy-crt/src/main/kotlin/software/amazon/smithy/crt/java
88 1
logging.c
in src/native
86 6
ecc_key_pair.c
in src/native
86 2
HttpClientConnectionManagerOptions.java
in src/main/java/software/amazon/awssdk/crt/http
84 13
HttpHeader.java
in src/main/java/software/amazon/awssdk/crt/http
81 7
S3Client.java
in src/main/java/software/amazon/awssdk/crt/s3
79 6
AnnotationsGenerator.kt
in smithy-crt/src/main/kotlin/software/amazon/smithy/crt/java
79 2
directory_traversal.c
in src/native
78 2
Files With Most Units (Top 20)
File# lines# units
Types.kt
in smithy-crt/src/main/kotlin/software/amazon/smithy/crt/java
225 53
JavaElements.kt
in smithy-crt/src/main/kotlin/software/amazon/smithy/crt/java
485 48
MqttConnectionConfig.java
in src/main/java/software/amazon/awssdk/crt/mqtt
214 47
java_class_ids.c
in src/native
609 44
Header.java
in src/main/java/software/amazon/awssdk/crt/eventstream
306 36
mqtt_connection.c
in src/native
848 32
Elements.kt
in smithy-crt/src/main/kotlin/software/amazon/smithy/crt/codegen
178 29
crt.c
in src/native
340 28
TlsContextOptions.java
in src/main/java/software/amazon/awssdk/crt/io
222 28
CrtResource.java
in src/main/java/software/amazon/awssdk/crt
275 24
event_stream_rpc_server.c
in src/native
558 22
S3ClientOptions.java
in src/main/java/software/amazon/awssdk/crt/s3
90 21
event_stream_rpc_client.c
in src/native
488 18
S3NativeClient.java
in src/main/java/s3NativeClient/com/amazonaws/s3
480 18
http_request_response.c
in src/native
421 17
MqttClientConnection.java
in src/main/java/software/amazon/awssdk/crt/mqtt
235 17
aws_signing.c
in src/native
564 15
AwsSigningConfig.java
in src/main/java/software/amazon/awssdk/crt/auth/signing
171 13
CRT.java
in src/main/java/software/amazon/awssdk/crt
228 13
HttpClientConnectionManagerOptions.java
in src/main/java/software/amazon/awssdk/crt/http
84 13
Files With Long Lines (Top 20)

There are 40 files with lines longer than 120 characters. In total, there are 102 long lines.

File# lines# units# long lines
CrtResource.java
in src/main/java/software/amazon/awssdk/crt
275 24 12
OperationRoutingServerConnectionHandler.java
in src/main/java/software/amazon/awssdk/crt/eventstream
67 4 7
HttpClientConnectionManager.java
in src/main/java/software/amazon/awssdk/crt/http
161 9 7
AwsSigningConfig.java
in src/main/java/software/amazon/awssdk/crt/auth/signing
171 13 6
deploy-snapshot.yml
in codebuild/cd
52 - 5
ClientConnection.java
in src/main/java/software/amazon/awssdk/crt/eventstream
123 9 5
MqttClientConnection.java
in src/main/java/software/amazon/awssdk/crt/mqtt
235 17 5
AwsSigningUtils.java
in src/main/java/software/amazon/awssdk/crt/auth/signing
23 2 4
JavaElements.kt
in smithy-crt/src/main/kotlin/software/amazon/smithy/crt/java
485 48 4
TlsContextOptions.java
in src/main/java/software/amazon/awssdk/crt/io
222 28 3
HttpClientConnection.java
in src/main/java/software/amazon/awssdk/crt/http
51 5 3
promote-release.yml
in codebuild/cd
31 - 2
archdetect.c
in cmake
15 - 2
ClientConnectionContinuation.java
in src/main/java/software/amazon/awssdk/crt/eventstream
88 6 2
ServerConnectionHandler.java
in src/main/java/software/amazon/awssdk/crt/eventstream
42 5 2
ServerConnectionContinuation.java
in src/main/java/software/amazon/awssdk/crt/eventstream
50 5 2
ServerConnection.java
in src/main/java/software/amazon/awssdk/crt/eventstream
73 7 2
CachedCredentialsProvider.java
in src/main/java/software/amazon/awssdk/crt/auth/credentials
30 5 2
X509CredentialsProvider.java
in src/main/java/software/amazon/awssdk/crt/auth/credentials
115 9 2
StaticCredentialsProvider.java
in src/main/java/software/amazon/awssdk/crt/auth/credentials
46 7 2