microsoft / Service-Fabric-POA
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 261 units with 4,354 lines of code in units (70.9% of code).
    • 0 very complex units (0 lines of code)
    • 0 complex units (0 lines of code)
    • 8 medium complex units (651 lines of code)
    • 20 simple units (922 lines of code)
    • 233 very simple units (2,781 lines of code)
0% | 0% | 14% | 21% | 63%
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
cs0% | 0% | 14% | 21% | 63%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
src/PatchOrchestrationApplication/NodeAgentNTService/src0% | 0% | 20% | 18% | 61%
src/PatchOrchestrationApplication/NodeAgentSFUtility/src0% | 0% | 13% | 34% | 51%
src/PatchOrchestrationApplication/CoordinatorService/src0% | 0% | 7% | 27% | 64%
src/PatchOrchestrationApplication/NodeAgentService/src0% | 0% | 13% | 14% | 71%
src/PatchOrchestrationApplication/TelemetryLib/src0% | 0% | 0% | 0% | 100%
src/PatchOrchestrationApplication/Common0% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
private bool HandleWUOperationStates()
in src/PatchOrchestrationApplication/NodeAgentNTService/src/Manager/WindowsUpdateManager.cs
124 22 1
private void ParseWUFrequency()
in src/PatchOrchestrationApplication/NodeAgentNTService/src/Manager/ServiceSettings.cs
86 19 0
private DateTime GetNextSchedulingTime()
in src/PatchOrchestrationApplication/NodeAgentNTService/src/Manager/TimerManager.cs
80 15 0
private void ScheduleTimer()
in src/PatchOrchestrationApplication/NodeAgentNTService/src/Manager/TimerManager.cs
89 14 0
internal async Task PrepareRepairTasks()
in src/PatchOrchestrationApplication/CoordinatorService/src/RepairManagerHelper.cs
65 13 1
public async Task GetWuOperationStateAsync()
in src/PatchOrchestrationApplication/NodeAgentSFUtility/src/CommandProcessor.cs
89 13 3
private OperationResultCode DownloadUpdatesUtil()
in src/PatchOrchestrationApplication/NodeAgentNTService/src/Manager/WindowsUpdateManager.cs
67 11 1
private static void ValidateNTServiceSettings()
in src/PatchOrchestrationApplication/NodeAgentService/src/NTServiceConfigurationUtility.cs
51 11 3
private void ModifySettings()
in src/PatchOrchestrationApplication/CoordinatorService/src/CoordinatorService.cs
54 10 1
internal async Task TimeoutRepairTasks()
in src/PatchOrchestrationApplication/CoordinatorService/src/RepairManagerHelper.cs
63 10 1
private OperationResultCode InstallUpdatesUtil()
in src/PatchOrchestrationApplication/NodeAgentNTService/src/Manager/WindowsUpdateManager.cs
51 10 1
public async Task ClearOrphanEvents()
in src/PatchOrchestrationApplication/CoordinatorService/src/RepairManagerHelper.cs
44 9 1
public async Task ProcessArguments()
in src/PatchOrchestrationApplication/NodeAgentSFUtility/src/CommandProcessor.cs
51 9 1
public async Task UpdateInstallationStatusAsync()
in src/PatchOrchestrationApplication/NodeAgentSFUtility/src/CommandProcessor.cs
98 9 6
private async Task CancelRepairTask()
in src/PatchOrchestrationApplication/CoordinatorService/src/RepairManagerHelper.cs
30 8 1
private OperationResultCode SearchUpdates()
in src/PatchOrchestrationApplication/NodeAgentNTService/src/Manager/WindowsUpdateManager.cs
34 8 1
public bool GetApplicationDeployedStatus()
in src/PatchOrchestrationApplication/NodeAgentNTService/src/Utility/NodeAgentSfUtility.cs
38 8 1
public async Task PostClusterPatchingStatus()
in src/PatchOrchestrationApplication/CoordinatorService/src/RepairManagerHelper.cs
55 7 1
public static void EnablePrivilege()
in src/PatchOrchestrationApplication/NodeAgentNTService/src/Utility/ShutdownUtility.cs
65 7 0
private void DisableWindowsUpdate()
in src/PatchOrchestrationApplication/NodeAgentNTService/src/Manager/TimerManager.cs
48 6 0