aws-observability / aws-otel-test-framework
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 35% duplication:
    • 14,526 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 5,191 duplicated lines
  • 1,732 duplicates
system35% (5,191 lines)
Duplication per Extension
tf34% (1,858 lines)
tpl50% (1,529 lines)
mustache80% (1,386 lines)
java9% (248 lines)
yml18% (158 lines)
tfvars4% (12 lines)
Duplication per Component (primary)
validator/src44% (1,683 lines)
terraform/testcases50% (896 lines)
terraform/eks23% (675 lines)
terraform/ec244% (418 lines)
terraform/templates58% (365 lines)
terraform/ecs29% (163 lines)
terraform/canary76% (157 lines)
terraform/eks_fargate_setup32% (149 lines)
terraform/ec2_setup50% (127 lines)
terraform/soaking46% (108 lines)
terraform/performance44% (77 lines)
load-generator/src23% (71 lines)
terraform/imagebuild61% (67 lines)
terraform/mock48% (67 lines)
terraform100% (61 lines)
terraform/setup18% (56 lines)
terraform/eks_adot_operator_cluster_setup29% (38 lines)
terraform/validation6% (7 lines)
terraform/basic_components4% (6 lines)
sample-apps/statsd0% (0 lines)
sample-apps/jmx0% (0 lines)
sample-apps/jaeger-zipkin-sample-app0% (0 lines)
sample-apps/prometheus0% (0 lines)
mocked_servers/grpc_trace0% (0 lines)
mocked_servers/https0% (0 lines)
mocked_servers/grpc_metrics0% (0 lines)
ROOT0% (0 lines)
terraform/common0% (0 lines)
terraform/add_on0% (0 lines)
trace-java-client/src0% (0 lines)
cmd/aotutil0% (0 lines)

Duplication Between Components (50+ lines)

G terraform/templates terraform/templates terraform/testcases terraform/testcases terraform/templates--terraform/testcases 404 terraform/canary terraform/canary terraform/ec2 terraform/ec2 terraform/canary--terraform/ec2 262 terraform/ec2_setup terraform/ec2_setup terraform/canary--terraform/ec2_setup 234 terraform/soaking terraform/soaking terraform/canary--terraform/soaking 122 terraform/performance terraform/performance terraform/canary--terraform/performance 122 terraform/ecs terraform/ecs terraform/canary--terraform/ecs 134 terraform/eks terraform/eks terraform/canary--terraform/eks 122 terraform/mock terraform/mock terraform/canary--terraform/mock 122 terraform terraform terraform/canary--terraform 122 terraform/imagebuild terraform/imagebuild terraform/canary--terraform/imagebuild 122 terraform/ec2--terraform/ec2_setup 214 terraform/ec2--terraform/soaking 156 terraform/ec2--terraform/performance 155 terraform/ec2--terraform/ecs 134 terraform/ec2--terraform/eks 134 terraform/ec2--terraform/mock 122 terraform/ec2--terraform/imagebuild 122 terraform/ec2_setup--terraform/soaking 136 terraform/ec2_setup--terraform/performance 136 terraform/ec2_setup--terraform/ecs 122 terraform/ec2_setup--terraform/eks 122 terraform/ec2_setup--terraform/mock 122 terraform/ec2_setup--terraform/imagebuild 122 terraform/performance--terraform/soaking 155 terraform/ecs--terraform/soaking 122 terraform/ecs--terraform/performance 122 terraform/ecs--terraform/eks 146 terraform/ecs--terraform/mock 122 terraform/ecs--terraform/imagebuild 122 terraform/eks--terraform/soaking 122 terraform/eks--terraform/performance 122 terraform/eks--terraform/mock 134 terraform/eks--terraform/imagebuild 122 terraform/mock--terraform/soaking 122 terraform/mock--terraform/performance 122 terraform--terraform/ec2 122 terraform--terraform/ec2_setup 122 terraform--terraform/soaking 122 terraform--terraform/performance 122 terraform--terraform/ecs 122 terraform--terraform/eks 122 terraform--terraform/mock 122 terraform--terraform/imagebuild 122 terraform/imagebuild--terraform/soaking 122 terraform/imagebuild--terraform/performance 122 terraform/imagebuild--terraform/mock 122

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 1,732 duplicates...
Size#FoldersFilesLinesCode
79 x 2 terraform/templates/defaults
terraform/templates/prometheus
tpl
ecs_taskdef.tpl
ecs_taskdef.tpl
61:139 (56%)
23:101 (78%)
view
61 x 2 terraform
terraform/imagebuild
common.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/canary
terraform/eks
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/ec2_setup
terraform/eks
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/ec2
terraform/eks
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/imagebuild
terraform/soaking
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform
terraform/eks
common.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/ec2_setup
terraform/performance
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/ec2
terraform/ec2_setup
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/eks
terraform/performance
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/performance
terraform/soaking
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/eks
terraform/mock
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/canary
terraform
common.auto.tf
common.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/ecs
terraform/eks
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform
terraform/performance
common.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/ec2_setup
terraform/soaking
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/eks
terraform/imagebuild
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/ecs
terraform/performance
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform
terraform/mock
common.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
61 x 2 terraform/canary
terraform/imagebuild
common.auto.tf
common.auto.tf
1:85 (100%)
1:85 (100%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
18 x 2 validator/src/main/java/com/amazon/aoc/validators
validator/src/main/java/com/amazon/aoc/validators
ContainerInsightPrometheusStructuredL...
ContainerInsightPrometheusMetricsVali...
54:72 
45:63 
view
18 x 2 validator/src/main/java/com/amazon/aoc/validators
validator/src/main/java/com/amazon/aoc/validators
PrometheusMetricValidator.java
PrometheusStaticMetricValidator.java
88:110 
88:110 
view
10 x 2 trace-java-client/src/ma...ntelemetry/trace/client
trace-java-client/src/ma...ntelemetry/trace/client
JaegerTraceEmitClient.java
ZipkinTraceEmitClient.java
119:129 
95:105 
view
6 x 2 load-generator/src/main/.../load/generator/emitter
load-generator/src/main/.../load/generator/emitter
ZipkinTraceEmitter.java
JaegerTraceEmitter.java
43:49 
43:49 
view