awslabs / aws-waf-security-automations
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 18 files with 2,959 lines of code.
    • 0 very long files (0 lines of code)
    • 2 long files (1,256 lines of code)
    • 4 medium size files (981 lines of codeclsfd_ftr_w_mp_ins)
    • 2 small files (329 lines of code)
    • 10 very small files (393 lines of code)
0% | 42% | 33% | 11% | 13%
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
py0% | 42% | 33% | 11% | 13%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
log_parser0% | 66% | 20% | 0% | 12%
custom_resource0% | 100% | 0% | 0% | 0%
reputation_lists_parser0% | 0% | 100% | 0% | 0%
lib0% | 0% | 71% | 0% | 28%
access_handler0% | 0% | 100% | 0% | 0%
helper0% | 0% | 0% | 100% | 0%
ip_retention_handler0% | 0% | 0% | 62% | 37%
timer0% | 0% | 0% | 0% | 100%
Longest Files (Top 18)
File# lines# units
log-parser.py
in source/log_parser
734 11
custom-resource.py
in source/custom_resource
522 13
reputation-lists.py
in source/reputation_lists_parser
303 7
waflibv2.py
in source/lib
244 15
build_athena_queries.py
in source/log_parser
228 8
access-handler.py
in source/access_handler
206 2
helper.py
in source/helper
193 5
remove_expired_ip.py
in source/ip_retention_handler
136 10
set_ip_retention.py
in source/ip_retention_handler
82 6
add_athena_partitions.py
in source/log_parser
78 3
timer.py
in source/timer
72 2
partition_s3_logs.py
in source/log_parser
60 3
boto3_util.py
in source/lib
37 2
solution_metrics.py
in source/lib
25 1
sns_util.py
in source/lib
20 2
dynamodb_util.py
in source/lib
17 2
__init__.py
in source/log_parser
1 -
__init__.py
in source/ip_retention_handler
1 -
Files With Most Units (Top 16)
File# lines# units
waflibv2.py
in source/lib
244 15
custom-resource.py
in source/custom_resource
522 13
log-parser.py
in source/log_parser
734 11
remove_expired_ip.py
in source/ip_retention_handler
136 10
build_athena_queries.py
in source/log_parser
228 8
reputation-lists.py
in source/reputation_lists_parser
303 7
set_ip_retention.py
in source/ip_retention_handler
82 6
helper.py
in source/helper
193 5
partition_s3_logs.py
in source/log_parser
60 3
add_athena_partitions.py
in source/log_parser
78 3
timer.py
in source/timer
72 2
dynamodb_util.py
in source/lib
17 2
boto3_util.py
in source/lib
37 2
sns_util.py
in source/lib
20 2
access-handler.py
in source/access_handler
206 2
solution_metrics.py
in source/lib
25 1
Files With Long Lines (Top 11)

There are 11 files with lines longer than 120 characters. In total, there are 33 long lines.

File# lines# units# long lines
remove_expired_ip.py
in source/ip_retention_handler
136 10 8
helper.py
in source/helper
193 5 5
build_athena_queries.py
in source/log_parser
228 8 4
custom-resource.py
in source/custom_resource
522 13 3
reputation-lists.py
in source/reputation_lists_parser
303 7 3
boto3_util.py
in source/lib
37 2 2
partition_s3_logs.py
in source/log_parser
60 3 2
add_athena_partitions.py
in source/log_parser
78 3 2
log-parser.py
in source/log_parser
734 11 2
waflibv2.py
in source/lib
244 15 1
sns_util.py
in source/lib
20 2 1