opensearch-project / performance-analyzer
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
  • 9% duplication:
    • 4,346 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 425 duplicated lines
  • 49 duplicates
system9% (425 lines)
Duplication per Extension
java9% (425 lines)
Duplication per Component (primary)
src/main/java/org/opensearch/performanceanalyzer/collectors12% (249 lines)
src/main/java/org/opensearch/performanceanalyzer/listener47% (96 lines)
src/main/java/org/opensearch/performanceanalyzer/http_action7% (43 lines)
src/main/java/org/opensearch/performanceanalyzer/transport15% (30 lines)
src/main/java/org/opensearch/performanceanalyzer/action4% (7 lines)
src/main/java/org/opensearch/performanceanalyzer/writer0% (0 lines)
src/main/java/org/opensearch/performanceanalyzer0% (0 lines)
src/main/java/org/opensearch/performanceanalyzer/config0% (0 lines)
src/main/java/org/opensearch/performanceanalyzer/util0% (0 lines)
src/main/resources0% (0 lines)
pa_config0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 49 duplicates...
Size#FoldersFilesLinesCode
12 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
NodeStatsAllShardsMetricsCollector.java
NodeStatsFixedShardsMetricsCollector....
198:213 (5%)
265:280 (4%)
view
12 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
NodeStatsAllShardsMetricsCollector.java
NodeStatsFixedShardsMetricsCollector....
151:170 (5%)
206:226 (4%)
view
11 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
NodeStatsAllShardsMetricsCollector.java
NodeStatsFixedShardsMetricsCollector....
101:113 (4%)
88:100 (3%)
view
11 x 2 src/main/java/org/opense...manceanalyzer/transport
src/main/java/org/opense...manceanalyzer/transport
PerformanceAnalyzerTransportChannel.java
PerformanceAnalyzerTransportChannel.java
80:90 (9%)
132:142 (9%)
view
10 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
ClusterApplierServiceStatsCollector.java
MasterThrottlingMetricsCollector.java
78:90 (7%)
67:79 (10%)
view
9 x 2 src/main/java/org/opense...rmanceanalyzer/listener
src/main/java/org/opense...rmanceanalyzer/listener
PerformanceAnalyzerSearchListener.java
PerformanceAnalyzerSearchListener.java
148:156 (4%)
195:203 (4%)
view
9 x 2 src/main/java/org/opense...rmanceanalyzer/listener
src/main/java/org/opense...rmanceanalyzer/listener
PerformanceAnalyzerSearchListener.java
PerformanceAnalyzerSearchListener.java
164:172 (4%)
211:219 (4%)
view
9 x 2 src/main/java/org/opense...rmanceanalyzer/listener
src/main/java/org/opense...rmanceanalyzer/listener
PerformanceAnalyzerSearchListener.java
PerformanceAnalyzerSearchListener.java
250:258 (4%)
273:281 (4%)
view
8 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
MasterServiceEventMetrics.java
MasterServiceEventMetrics.java
239:247 (4%)
268:276 (4%)
view
8 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...rmanceanalyzer/listener
MasterServiceEventMetrics.java
PerformanceAnalyzerSearchListener.java
81:91 (4%)
226:237 (4%)
view
8 x 2 src/main/java/org/opense...rmanceanalyzer/listener
src/main/java/org/opense...manceanalyzer/transport
PerformanceAnalyzerSearchListener.java
PerformanceAnalyzerTransportChannel.java
226:237 (4%)
174:184 (6%)
view
8 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...manceanalyzer/transport
MasterServiceEventMetrics.java
PerformanceAnalyzerTransportChannel.java
81:91 (4%)
174:184 (6%)
view
8 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
ShardIndexingPressureMetricsCollector...
ShardIndexingPressureMetricsCollector...
180:187 (2%)
214:221 (2%)
view
8 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
ShardIndexingPressureMetricsCollector...
ShardIndexingPressureMetricsCollector...
167:174 (2%)
201:208 (2%)
view
8 x 2 src/main/java/org/opense...rmanceanalyzer/listener
src/main/java/org/opense...rmanceanalyzer/listener
PerformanceAnalyzerSearchListener.java
PerformanceAnalyzerSearchListener.java
133:140 (4%)
180:187 (4%)
view
8 x 2 src/main/java/org/opense...rmanceanalyzer/listener
src/main/java/org/opense...rmanceanalyzer/listener
PerformanceAnalyzerSearchListener.java
PerformanceAnalyzerSearchListener.java
153:162 (4%)
169:178 (4%)
view
8 x 2 src/main/java/org/opense...yzer/http_action/config
src/main/java/org/opense...yzer/http_action/config
PerformanceAnalyzerClusterConfigActio...
PerformanceAnalyzerConfigAction.java
213:221 (6%)
230:238 (4%)
view
7 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
ShardIndexingPressureMetricsCollector...
ShardIndexingPressureMetricsCollector...
155:161 (2%)
189:195 (2%)
view
7 x 2 src/main/java/org/opense...formanceanalyzer/action
src/main/java/org/opense...manceanalyzer/transport
PerformanceAnalyzerActionListener.java
PerformanceAnalyzerTransportChannel.java
141:151 (7%)
174:183 (5%)
view
7 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
ClusterApplierServiceStatsCollector.java
ShardStateCollector.java
78:86 (5%)
67:75 (7%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
7 x 3 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
MasterThrottlingMetricsCollector.java
ElectionTermCollector.java
ShardStateCollector.java
63:70 
57:64 
63:70 
view
7 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
FaultDetectionMetricsCollector.java
ShardIndexingPressureMetricsCollector...
64:71 
86:93 
view
6 x 2 src/main/java/org/opense...anceanalyzer/collectors
src/main/java/org/opense...anceanalyzer/collectors
NodeStatsAllShardsMetricsCollector.java
NodeStatsFixedShardsMetricsCollector....
152:160 
207:216 
view