aws-samples / k8s-cloudwatch-operator
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
  • 69% duplication:
    • 2,494 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,727 duplicated lines
  • 88 duplicates
system69% (1,727 lines)
Duplication per Extension
java74% (1,546 lines)
yaml42% (181 lines)
Duplication per Component (primary)
cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/kubernetes67% (397 lines)
cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/kubernetes100% (390 lines)
cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/sigv499% (252 lines)
cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/sigv499% (252 lines)
ROOT42% (181 lines)
cloudwatch-lambda/src/main/java/io/kubernetes/client/util100% (95 lines)
cloudwatch-controller/src/main/java/io/kubernetes/client/util100% (95 lines)
cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/config100% (29 lines)
cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/config37% (29 lines)
cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers3% (7 lines)
cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/handler0% (0 lines)
cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers0% (0 lines)

Duplication Between Components (50+ lines)

G cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/kubernetes cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/kubernetes cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/kubernetes cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/kubernetes cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/kubernetes--cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/kubernetes 780 cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/sigv4 cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/sigv4 cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/sigv4 cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/sigv4 cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/sigv4--cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/sigv4 504 cloudwatch-controller/src/main/java/io/kubernetes/client/util cloudwatch-controller/src/main/java/io/kubernetes/client/util cloudwatch-lambda/src/main/java/io/kubernetes/client/util cloudwatch-lambda/src/main/java/io/kubernetes/client/util cloudwatch-controller/src/main/java/io/kubernetes/client/util--cloudwatch-lambda/src/main/java/io/kubernetes/client/util 190 cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/config cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/config cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/config cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/config cloudwatch-controller/src/main/java/com/amazonwebservices/blogs/containers/config--cloudwatch-lambda/src/main/java/com/amazonwebservices/blogs/containers/config 58

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 88 duplicates...
Size#FoldersFilesLinesCode
113 x 2 cloudwatch-controller/sr...ainers/kubernetes/model
cloudwatch-lambda/src/ma...ainers/kubernetes/model
K8sMetricAlarmCustomObjectSpec.java
K8sMetricAlarmCustomObjectSpec.java
9:200 (100%)
9:200 (100%)
view
102 x 2 cloudwatch-controller/sr.../blogs/containers/sigv4
cloudwatch-lambda/src/ma.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
61:244 (87%)
62:245 (86%)
view
87 x 2 cloudwatch-controller/sr.../kubernetes/client/util
cloudwatch-lambda/src/ma.../kubernetes/client/util
CustomAuthentication.java
CustomAuthentication.java
35:151 (100%)
35:151 (100%)
view
86 x 2 cloudwatch-controller/sr...ainers/kubernetes/model
cloudwatch-lambda/src/ma...ainers/kubernetes/model
K8sMetricAlarmCustomObjectList.java
K8sMetricAlarmCustomObjectList.java
12:141 (100%)
12:141 (100%)
view
81 x 2 cloudwatch-controller/sr...ainers/kubernetes/model
cloudwatch-lambda/src/ma...ainers/kubernetes/model
K8sMetricAlarmCustomObject.java
K8sMetricAlarmCustomObject.java
10:130 (100%)
10:130 (100%)
view
62 x 2 cloudwatch-controller/sr...s/containers/sigv4/util
cloudwatch-lambda/src/ma...s/containers/sigv4/util
HttpUtils.java
HttpUtils.java
19:106 (100%)
19:106 (100%)
view
61 x 2 cloudwatch-controller/sr...ainers/kubernetes/model
cloudwatch-lambda/src/ma...ainers/kubernetes/model
ScalingPolicy.java
ScalingPolicy.java
9:108 (100%)
9:108 (100%)
view
53 x 2 cloudwatch-controller/sr.../blogs/containers/sigv4
cloudwatch-lambda/src/ma.../blogs/containers/sigv4
AWS4SignerForAuthorizationHeader.java
AWS4SignerForAuthorizationHeader.java
17:118 (100%)
17:118 (100%)
view
49 x 2 cloudwatch-controller/sr...ainers/kubernetes/model
cloudwatch-lambda/src/ma...ainers/kubernetes/model
ScalingBehavior.java
ScalingBehavior.java
11:91 (100%)
11:91 (100%)
view
47 x 2 ROOT
ROOT
http-rate-alarm.yaml
http-rate-alarm.yaml
39:85 (32%)
100:146 (32%)
view
21 x 2 cloudwatch-controller/sr...s/containers/sigv4/util
cloudwatch-lambda/src/ma...s/containers/sigv4/util
BinaryUtils.java
BinaryUtils.java
8:51 (100%)
8:51 (100%)
view
16 x 2 cloudwatch-controller/sr...blogs/containers/config
cloudwatch-lambda/src/ma...blogs/containers/config
AWSConfig.java
AWSConfig.java
3:27 (100%)
3:27 (100%)
view
14 x 2 cloudwatch-controller/sr.../blogs/containers/sigv4
cloudwatch-lambda/src/ma.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
25:45 (11%)
25:45 (11%)
view
13 x 2 ROOT
ROOT
operator.yaml
operator.yaml
33:45 (7%)
47:59 (7%)
view
13 x 2 cloudwatch-controller/sr...blogs/containers/config
cloudwatch-lambda/src/ma...blogs/containers/config
EKSConfig.java
EKSConfig.java
3:22 (100%)
3:22 (100%)
view
10 x 2 cloudwatch-controller/sr...ainers/kubernetes/model
cloudwatch-controller/sr...ainers/kubernetes/model
K8sMetricAlarmCustomObject.java
K8sMetricAlarmCustomObjectList.java
46:59 (12%)
71:84 (11%)
view
10 x 2 cloudwatch-controller/sr...ainers/kubernetes/model
cloudwatch-controller/sr...ainers/kubernetes/model
K8sMetricAlarmCustomObject.java
K8sMetricAlarmCustomObjectList.java
29:42 (12%)
31:44 (11%)
view
10 x 2 cloudwatch-controller/sr...ainers/kubernetes/model
cloudwatch-lambda/src/ma...ainers/kubernetes/model
K8sMetricAlarmCustomObjectList.java
K8sMetricAlarmCustomObject.java
31:44 (11%)
29:42 (12%)
view
10 x 2 cloudwatch-lambda/src/ma...ainers/kubernetes/model
cloudwatch-lambda/src/ma...ainers/kubernetes/model
K8sMetricAlarmCustomObject.java
K8sMetricAlarmCustomObjectList.java
46:59 (12%)
71:84 (11%)
view
10 x 2 cloudwatch-lambda/src/ma...ainers/kubernetes/model
cloudwatch-lambda/src/ma...ainers/kubernetes/model
K8sMetricAlarmCustomObject.java
K8sMetricAlarmCustomObjectList.java
29:42 (12%)
31:44 (11%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 26 unit duplicates...
Size#FoldersFilesLinesCode
52 x 2 cloudwatch-lambda/src/ma.../kubernetes/client/util
cloudwatch-controller/sr.../kubernetes/client/util
CustomAuthentication.java
CustomAuthentication.java
84:152 
84:152 
view
49 x 2 cloudwatch-lambda/src/ma.../blogs/containers/sigv4
cloudwatch-controller/sr.../blogs/containers/sigv4
AWS4SignerForAuthorizationHeader.java
AWS4SignerForAuthorizationHeader.java
48:119 
48:119 
view
30 x 2 cloudwatch-lambda/src/ma.../kubernetes/client/util
cloudwatch-controller/sr.../kubernetes/client/util
CustomAuthentication.java
CustomAuthentication.java
48:82 
48:82 
view
24 x 2 cloudwatch-lambda/src/ma.../blogs/containers/sigv4
cloudwatch-controller/sr.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
172:200 
171:199 
view
24 x 2 cloudwatch-lambda/src/ma...s/containers/sigv4/util
cloudwatch-controller/sr...s/containers/sigv4/util
HttpUtils.java
HttpUtils.java
44:70 
44:70 
view
20 x 2 cloudwatch-lambda/src/ma...s/containers/sigv4/util
cloudwatch-controller/sr...s/containers/sigv4/util
HttpUtils.java
HttpUtils.java
72:94 
72:94 
view
16 x 2 cloudwatch-lambda/src/ma...s/containers/sigv4/util
cloudwatch-controller/sr...s/containers/sigv4/util
HttpUtils.java
HttpUtils.java
26:42 
26:42 
view
15 x 2 cloudwatch-lambda/src/ma...ainers/kubernetes/model
cloudwatch-controller/sr...ainers/kubernetes/model
K8sMetricAlarmCustomObjectSpec.java
K8sMetricAlarmCustomObjectSpec.java
159:174 
159:174 
view
14 x 2 cloudwatch-lambda/src/ma.../blogs/containers/sigv4
cloudwatch-controller/sr.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
123:137 
122:136 
view
14 x 2 cloudwatch-lambda/src/ma.../blogs/containers/sigv4
cloudwatch-controller/sr.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
142:157 
141:156 
view
13 x 2 cloudwatch-lambda/src/ma...ainers/kubernetes/model
cloudwatch-controller/sr...ainers/kubernetes/model
ScalingPolicy.java
ScalingPolicy.java
78:92 
78:92 
view
13 x 2 cloudwatch-lambda/src/ma.../blogs/containers/sigv4
cloudwatch-controller/sr.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
96:116 
95:115 
view
12 x 2 cloudwatch-lambda/src/ma...ainers/kubernetes/model
cloudwatch-controller/sr...ainers/kubernetes/model
ScalingBehavior.java
ScalingBehavior.java
56:70 
56:70 
view
12 x 2 cloudwatch-lambda/src/ma...ainers/kubernetes/model
cloudwatch-controller/sr...ainers/kubernetes/model
K8sMetricAlarmCustomObjectList.java
K8sMetricAlarmCustomObjectList.java
103:115 
103:115 
view
12 x 2 cloudwatch-lambda/src/ma...ainers/kubernetes/model
cloudwatch-controller/sr...ainers/kubernetes/model
K8sMetricAlarmCustomObjectSpec.java
K8sMetricAlarmCustomObjectSpec.java
182:194 
182:194 
view
12 x 2 cloudwatch-lambda/src/ma...ainers/kubernetes/model
cloudwatch-controller/sr...ainers/kubernetes/model
K8sMetricAlarmCustomObject.java
K8sMetricAlarmCustomObject.java
92:104 
92:104 
view
12 x 2 cloudwatch-lambda/src/ma...s/containers/sigv4/util
cloudwatch-controller/sr...s/containers/sigv4/util
BinaryUtils.java
BinaryUtils.java
18:32 
18:32 
view
11 x 2 cloudwatch-lambda/src/ma...s/containers/sigv4/util
cloudwatch-controller/sr...s/containers/sigv4/util
HttpUtils.java
HttpUtils.java
96:107 
96:107 
view
10 x 2 cloudwatch-lambda/src/ma...ainers/kubernetes/model
cloudwatch-controller/sr...ainers/kubernetes/model
ScalingPolicy.java
ScalingPolicy.java
57:68 
57:68 
view
10 x 2 cloudwatch-lambda/src/ma.../blogs/containers/sigv4
cloudwatch-controller/sr.../blogs/containers/sigv4
AWS4SignerBase.java
AWS4SignerBase.java
78:90 
77:89 
view