aws / amazon-cloudwatch-agent
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
  • 29% duplication:
    • 30,429 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 8,991 duplicated lines
  • 1,441 duplicates
system29% (8,991 lines)
Duplication per Extension
yaml92% (6,592 lines)
go10% (2,345 lines)
toml73% (54 lines)
Duplication per Component (primary)
amazon-cloudwatch-container-insights92% (6,592 lines)
translator20% (1,327 lines)
plugins7% (663 lines)
internal6% (131 lines)
tool6% (122 lines)
awscsm7% (76 lines)
cfg11% (64 lines)
cmd2% (16 lines)
metric0% (0 lines)
profiler0% (0 lines)
logs0% (0 lines)
logger0% (0 lines)
packaging0% (0 lines)
integration0% (0 lines)
handlers0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G internal internal translator translator internal--translator 54 plugins plugins internal--plugins 54 cfg cfg cfg--translator 54

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,441 duplicates...
Size#FoldersFilesLinesCode
479 x 2 amazon-cloudwatch-contai...e/daemonset/combination
amazon-cloudwatch-contai...et/cwagent-fluentd-xray
combination.yaml
cwagent-fluentd-xray-quickstart.yaml
195:710 (72%)
80:595 (87%)
view
411 x 2 amazon-cloudwatch-contai...ghts-monitoring/fluentd
amazon-cloudwatch-contai...s-monitoring/quickstart
fluentd.yaml
cwagent-fluentd-quickstart.yaml
1:439 (100%)
191:629 (71%)
view
406 x 2 amazon-cloudwatch-contai...-yaml-templates/fluentd
amazon-cloudwatch-contai...ml-templates/quickstart
fluentd.yaml
cwagent-fluentd-quickstart.yaml
1:434 (100%)
185:618 (71%)
view
341 x 2 amazon-cloudwatch-contai...s-monitoring/fluent-bit
amazon-cloudwatch-contai...s-monitoring/quickstart
fluent-bit.yaml
cwagent-fluent-bit-quickstart.yaml
1:362 (100%)
197:558 (66%)
view
216 x 2 amazon-cloudwatch-contai...e/daemonset/combination
amazon-cloudwatch-contai...s-monitoring/quickstart
combination.yaml
cwagent-fluentd-quickstart.yaml
149:384 (32%)
131:366 (37%)
view
171 x 2 amazon-cloudwatch-contai...s-monitoring/quickstart
amazon-cloudwatch-contai...et/cwagent-fluentd-xray
cwagent-fluentd-quickstart.yaml
cwagent-fluentd-xray-quickstart.yaml
177:366 (29%)
80:269 (31%)
view
162 x 2 amazon-cloudwatch-contai...s-monitoring/quickstart
amazon-cloudwatch-contai...s-monitoring/quickstart
cwagent-fluent-bit-quickstart.yaml
cwagent-fluentd-quickstart.yaml
2:186 (31%)
2:184 (28%)
view
161 x 2 amazon-cloudwatch-contai...e/daemonset/combination
amazon-cloudwatch-contai...ghts-monitoring/fluentd
combination.yaml
fluentd.yaml
209:384 (24%)
1:176 (39%)
view
161 x 2 amazon-cloudwatch-contai...ghts-monitoring/fluentd
amazon-cloudwatch-contai...et/cwagent-fluentd-xray
fluentd.yaml
cwagent-fluentd-xray-quickstart.yaml
1:176 (39%)
94:269 (29%)
view
130 x 2 amazon-cloudwatch-contai...oudformation-quickstart
amazon-cloudwatch-contai...oudformation-quickstart
cwagent-ecs-prometheus-metric-for-aws...
cwagent-ecs-prometheus-metric-for-bri...
89:218 (49%)
84:213 (52%)
view
109 x 2 amazon-cloudwatch-contai...s-monitoring/quickstart
amazon-cloudwatch-contai...ml-templates/quickstart
cwagent-fluentd-quickstart.yaml
cwagent-fluentd-quickstart.yaml
168:285 (18%)
162:279 (19%)
view
109 x 2 amazon-cloudwatch-contai...e/daemonset/combination
amazon-cloudwatch-contai...ml-templates/quickstart
combination.yaml
cwagent-fluentd-quickstart.yaml
186:303 (16%)
162:279 (19%)
view
101 x 2 amazon-cloudwatch-contai...et/cwagent-fluentd-xray
amazon-cloudwatch-contai...ml-templates/quickstart
cwagent-fluentd-xray-quickstart.yaml
cwagent-fluentd-quickstart.yaml
80:188 (18%)
171:279 (17%)
view
100 x 2 amazon-cloudwatch-contai...vice/cwagent-prometheus
amazon-cloudwatch-contai...vice/cwagent-prometheus
prometheus-eks.yaml
prometheus-k8s.yaml
278:378 (21%)
226:326 (24%)
view
97 x 2 amazon-cloudwatch-contai...et/cwagent-fluentd-xray
amazon-cloudwatch-contai...-yaml-templates/fluentd
cwagent-fluentd-xray-quickstart.yaml
fluentd.yaml
241:344 (17%)
145:248 (23%)
view
97 x 2 amazon-cloudwatch-contai...e/daemonset/combination
amazon-cloudwatch-contai...-yaml-templates/fluentd
combination.yaml
fluentd.yaml
356:459 (14%)
145:248 (23%)
view
97 x 2 amazon-cloudwatch-contai...e/daemonset/combination
amazon-cloudwatch-contai...ml-templates/quickstart
combination.yaml
cwagent-fluentd-quickstart.yaml
356:459 (14%)
329:432 (17%)
view
97 x 2 amazon-cloudwatch-contai...et/cwagent-fluentd-xray
amazon-cloudwatch-contai...ml-templates/quickstart
cwagent-fluentd-xray-quickstart.yaml
cwagent-fluentd-quickstart.yaml
241:344 (17%)
329:432 (17%)
view
91 x 2 amazon-cloudwatch-contai...ghts-monitoring/fluentd
amazon-cloudwatch-contai...-yaml-templates/fluentd
fluentd.yaml
fluentd.yaml
1:95 (22%)
1:95 (22%)
view
91 x 2 amazon-cloudwatch-contai...s-monitoring/quickstart
amazon-cloudwatch-contai...-yaml-templates/fluentd
cwagent-fluentd-quickstart.yaml
fluentd.yaml
191:285 (15%)
1:95 (22%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 30 unit duplicates...
Size#FoldersFilesLinesCode
23 x 2 translator/translate/log...scovery/serviceendpoint
translator/translate/log...iscovery/taskdefinition
serviceendpoint.go
taskdefinition.go
32:59 
32:59 
view
18 x 2 translator/translate/log...eus/ecsservicediscovery
translator/translate/log...cediscovery/dockerlabel
ecsServiceDiscovery.go
dockerlabel.go
32:51 
32:51 
view
17 x 2 plugins/outputs/awscsm/providers
plugins/outputs/awscsm/providers
dynamic_schema.go
dynamic_schema.go
105:124 
131:150 
view
14 x 2 translator/translate/log...scovery/serviceendpoint
translator/translate/log...iscovery/taskdefinition
ruleSDMetricsPorts.go
ruleSDMetricsPorts.go
22:36 
22:36 
view
12 x 2 translator/translate/log...kubernetes/k8sdecorator
translator/translate/log...lected/ecs/ecsdecorator
k8sdecorator.go
ecsdecorator.go
31:43 
31:43 
view
12 x 3 translator/translate/log...kubernetes/k8sapiserver
translator/translate/log...ted/kubernetes/cadvisor
translator/translate/log..._collected/ecs/cadvisor
k8sapiserver.go
cadvisor.go
cadvisor.go
31:43 
31:43 
31:43 
view
11 x 2 translator/translate/logs/metrics_collected
translator/translate/metrics/metrics_collect
metrics_collected.go
metrics_collect.go
114:125 
88:99 
view
11 x 2 tool/data/config/metric/windows
tool/data/config/metric/windows
tcpv6.go
tcpv4.go
15:26 
15:26 
view
10 x 2 translator/translate/logs/util
translator/translate/log...kubernetes/k8sdecorator
get_eks_cluster_name.go
ruleClusterName.go
101:111 
118:128 
view
10 x 2 translator/translate/log...scovery/serviceendpoint
translator/translate/log...iscovery/taskdefinition
ruleSDContainerNamePattern.go
ruleSDContainerNamePattern.go
14:25 
14:25 
view
10 x 2 translator/translate/log...scovery/serviceendpoint
translator/translate/log...iscovery/taskdefinition
ruleSDMetricsPath.go
ruleSDMetricsPath.go
14:25 
14:25 
view
10 x 2 translator/translate/log...scovery/serviceendpoint
translator/translate/log...iscovery/taskdefinition
ruleSDJobName.go
ruleSDJobName.go
14:24 
14:24 
view
9 x 2 translator/util/httpclient
internal/httpclient
httpclient.go
httpclient.go
44:53 
46:55 
view
9 x 2 tool/processors/migration/windows
tool/processors/migration/windows
windows_util.go
windows_util.go
24:33 
35:44 
view
8 x 3 translator/translate/log...kubernetes/k8sapiserver
translator/translate/log...ted/kubernetes/cadvisor
translator/translate/log..._collected/ecs/cadvisor
ruleInterval.go
ruleInterval.go
ruleInterval.go
13:21 
13:21 
13:21 
view
8 x 2 translator/translate/log...cted/files/collect_list
translator/translate/log...ows_events/collect_list
ruleLogStreamName.go
ruleLogStreamName.go
15:23 
15:23 
view
8 x 2 translator/translate/log...cted/files/collect_list
translator/translate/log...ows_events/collect_list
ruleLogGroupName.go
ruleLogGroupName.go
17:25 
17:25 
view
8 x 3 tool/processors/defaultConfig/standardPlan
tool/processors/defaultConfig/basicPlan
tool/processors/defaultConfig/advancedPlan
plan.go
plan.go
plan.go
21:29 
20:28 
21:29 
view
8 x 4 internal/k8sCommon/k8sclient
internal/k8sCommon/k8sclient
internal/k8sCommon/k8sclient
internal/k8sCommon/k8sclient
replicaset.go
node.go
pod.go
endpoint.go
119:129 
135:145 
95:105 
145:155 
view
7 x 2 translator/util/httpclient
internal/httpclient
httpclient.go
httpclient.go
35:42 
37:44 
view