opensearch-project / index-management
Conditional Complexity

The distribution of complexity of units (measured with McCabe index).

Intro
  • Conditional complexity (also called cyclomatic complexity) is a term used to measure the complexity of software. The term refers to the number of possible paths through a program function. A higher value ofter means higher maintenance and testing costs (infosecinstitute.com).
  • Conditional complexity is calculated by counting all conditions in the program that can affect the execution path (e.g. if statement, loops, switches, and/or operators, try and catch blocks...).
  • Conditional complexity is measured at the unit level (methods, functions...).
  • Units are classified in four categories based on the measured McCabe index: 1-5 (simple units), 6-10 (medium complex units), 11-25 (complex units), 26+ (very complex units).
Learn more...
Conditional Complexity Overall
  • There are 770 units with 8,981 lines of code in units (38.3% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 3 medium complex units (210 lines of code)
    • 38 simple units (1,400 lines of code)
    • 729 very simple units (7,371 lines of code)
0% | 0% | 2% | 15% | 82%
Legend:
51+
26-50
11-25
6-10
1-5
Alternative Visuals
Conditional Complexity per Extension
51+
26-50
11-25
6-10
1-5
kt0% | 0% | 2% | 15% | 82%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
src/main/kotlin/org/opensearch/indexmanagement/transform0% | 0% | 8% | 10% | 80%
src/main/kotlin/org/opensearch/indexmanagement/rollup0% | 0% | 5% | 19% | 75%
src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement0% | 0% | <1% | 17% | 82%
src/main/kotlin/org/opensearch/indexmanagement/util0% | 0% | 0% | 14% | 85%
src/main/kotlin/org/opensearch/indexmanagement0% | 0% | 0% | 0% | 100%
src/main/kotlin/org/opensearch/indexmanagement/common0% | 0% | 0% | 0% | 100%
src/main/kotlin/org/opensearch/indexmanagement/refreshanalyzer0% | 0% | 0% | 0% | 100%
src/main/kotlin/org/opensearch/indexmanagement/opensearchapi0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
fun parse()
in src/main/kotlin/org/opensearch/indexmanagement/rollup/model/Rollup.kt
94 13 4
fun toMap()
in src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/model/ManagedIndexMetaData.kt
17 11 0
fun parse()
in src/main/kotlin/org/opensearch/indexmanagement/transform/model/Transform.kt
99 11 4
fun parse()
in src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/model/ManagedIndexMetaData.kt
66 10 4
fun parse()
in src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/model/ManagedIndexConfig.kt
78 10 4
override suspend fun execute()
in src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/step/transition/AttemptTransitionStep.kt
68 10 0
suspend fun executeCompositeSearch()
in src/main/kotlin/org/opensearch/indexmanagement/rollup/RollupSearchService.kt
41 10 2
override fun toXContent()
in src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/model/ManagedIndexMetaData.kt
26 9 2
override suspend fun execute()
in src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/step/forcemerge/AttemptCallForceMergeStep.kt
41 9 0
fun initTemplateMigration()
in src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/ManagedIndexCoordinator.kt
34 9 1
override fun messageReceived()
in src/main/kotlin/org/opensearch/indexmanagement/rollup/interceptor/RollupInterceptor.kt
34 9 3
suspend fun index()
in src/main/kotlin/org/opensearch/indexmanagement/transform/TransformIndexer.kt
45 9 1
suspend fun moveMetadata()
in src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/MetadataService.kt
69 8 0
fun buildResponse()
in src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/transport/action/explain/TransportExplainAction.kt
33 8 4
fun getUpdatedClusterState()
in src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/transport/action/updateindexmetadata/TransportUpdateManagedIndexMetaDataAction.kt
31 8 2
override fun onResponse()
in src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/SkipExecution.kt
27 8 1
suspend fun indexRollups()
in src/main/kotlin/org/opensearch/indexmanagement/rollup/RollupIndexer.kt
43 8 2
fun shouldProcessRollup()
in src/main/kotlin/org/opensearch/indexmanagement/rollup/RollupSearchService.kt
16 8 2
override fun runJob()
in src/main/kotlin/org/opensearch/indexmanagement/rollup/RollupRunner.kt
42 8 2
suspend fun validate()
in src/main/kotlin/org/opensearch/indexmanagement/transform/TransformValidator.kt
30 8 1