microsoft / ApplicationInsights-Java
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:
    • 17,596 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,626 duplicated lines
  • 445 duplicates
system9% (1,626 lines)
Duplication per Extension
java9% (1,586 lines)
kts6% (40 lines)
Duplication per Component (primary)
agent/agent-tooling11% (1,452 lines)
agent/agent-bootstrap12% (100 lines)
buildSrc/src18% (40 lines)
agent/agent-profiler1% (20 lines)
etw/java5% (14 lines)
agent/agent-gc-monitor0% (0 lines)
agent/agent0% (0 lines)
agent/instrumentation0% (0 lines)
buildSrc0% (0 lines)
buildscripts0% (0 lines)
dependencyManagement0% (0 lines)
etw/etw-testapp0% (0 lines)
etw/native0% (0 lines)

Duplication Between Components (50+ lines)

G agent/agent-bootstrap agent/agent-bootstrap agent/agent-tooling agent/agent-tooling agent/agent-bootstrap--agent/agent-tooling 131

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 445 duplicates...
Size#FoldersFilesLinesCode
20 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
HeartBeatModuleClassFileTransformer.java
PerformanceCounterModuleClassFileTran...
75:97 (42%)
75:97 (42%)
view
20 x 2 buildSrc/src/main/kotlin
buildSrc/src/main/kotlin
ai.java-conventions.gradle.kts
ai.smoke-test.gradle.kts
15:44 (31%)
29:61 (31%)
view
17 x 2 agent/agent-tooling/src/.../internal/configuration
agent/agent-tooling/src/.../internal/configuration
Configuration.java
Configuration.java
1030:1048 (2%)
1058:1076 (2%)
view
16 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
206:230 (4%)
355:379 (4%)
view
16 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
87:114 (4%)
355:379 (4%)
view
16 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
87:114 (4%)
253:277 (4%)
view
16 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
253:277 (4%)
355:379 (4%)
view
16 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
206:230 (4%)
253:277 (4%)
view
16 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
87:114 (4%)
206:230 (4%)
view
15 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
208:230 (4%)
297:319 (4%)
view
15 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
206:227 (4%)
396:417 (4%)
view
15 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
297:319 (4%)
357:379 (4%)
view
15 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
355:376 (4%)
396:417 (4%)
view
15 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
87:110 (4%)
396:417 (4%)
view
15 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
253:274 (4%)
396:417 (4%)
view
15 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
255:277 (4%)
297:319 (4%)
view
15 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
91:114 (4%)
297:319 (4%)
view
14 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
TelemetryClientClassFileTransformer.java
TelemetryClientClassFileTransformer.java
536:549 (1%)
1224:1237 (1%)
view
14 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
TelemetryClientClassFileTransformer.java
TelemetryClientClassFileTransformer.java
536:549 (1%)
886:899 (1%)
view
14 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
BytecodeUtilImpl.java
BytecodeUtilImpl.java
297:316 (4%)
398:417 (4%)
view
Duplicated Units
The list of top 9 duplicated units.
See data for all 9 unit duplicates...
Size#FoldersFilesLinesCode
82 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
TelemetryClientClassFileTransformer.java
TelemetryClientClassFileTransformer.java
478:560 
1166:1248 
view
17 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
HeartBeatModuleClassFileTransformer.java
PerformanceCounterModuleClassFileTran...
81:99 
81:99 
view
12 x 2 agent/agent-tooling/src/...ent/internal/processors
agent/agent-tooling/src/...ent/internal/processors
LogProcessor.java
SpanProcessor.java
44:56 
44:56 
view
8 x 2 agent/agent-tooling/src/...s/agent/internal/common
etw/java/src/main/java/c...otstrap/diagnostics/etw
LocalFileSystemUtils.java
DllFileUtils.java
46:56 
102:112 
view
8 x 3 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
DependencyTelemetryClassFileTransform...
DependencyTelemetryClassFileTransform...
RequestTelemetryClassFileTransformer....
131:139 
160:168 
115:123 
view
7 x 2 agent/agent-tooling/src/...s/agent/internal/common
etw/java/src/main/java/c...otstrap/diagnostics/etw
LocalFileSystemUtils.java
DllFileUtils.java
59:71 
115:127 
view
7 x 2 agent/agent-tooling/src/...gent/internal/legacysdk
agent/agent-tooling/src/...gent/internal/legacysdk
DependencyTelemetryClassFileTransform...
DependencyTelemetryClassFileTransform...
151:158 
170:177 
view
6 x 2 agent/agent-gc-monitor/g...com/microsoft/gcmonitor
agent/agent-gc-monitor/g...com/microsoft/gcmonitor
JmxGcMonitorFactory.java
JmxMemoryManagement.java
39:45 
60:66 
view
6 x 3 agent/agent-tooling/src/...ent/internal/processors
agent/agent-tooling/src/...ent/internal/processors
agent/agent-tooling/src/...ent/internal/processors
ExporterWithAttributeProcessor.java
ExporterWithLogProcessor.java
ExporterWithSpanProcessor.java
46:53 
46:53 
46:53 
view