opensearch-project / anomaly-detection
Unit Size

The distribution of size of units (measured in lines of code).

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 2,261 units with 26,658 lines of code in units (72.3% of code).
    • 12 very long units (1,786 lines of code)
    • 54 long units (3,609 lines of code)
    • 307 medium size units (9,579 lines of code)
    • 349 small units (5,124 lines of code)
    • 1,539 very small units (6,560 lines of code)
6% | 13% | 35% | 19% | 24%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java6% | 13% | 35% | 19% | 24%
groovy0% | 0% | 70% | 10% | 19%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
src/main/java/org/opensearch/ad/model15% | 11% | 29% | 13% | 30%
src/main/java/org/opensearch/ad26% | 12% | 32% | 13% | 14%
src/main/java/org/opensearch/ad/transport4% | 11% | 32% | 19% | 31%
src/main/java/org/opensearch/ad/task5% | 23% | 36% | 15% | 18%
src/main/java/org/opensearch/ad/rest0% | 14% | 45% | 24% | 15%
src/main/java/org/opensearch/ad/feature0% | 17% | 33% | 31% | 17%
src/main/java/org/opensearch/ad/ratelimit0% | 16% | 47% | 19% | 16%
src/main/java/org/opensearch/ad/ml0% | 10% | 43% | 27% | 18%
src/main/java/org/opensearch/ad/cluster0% | 17% | 42% | 26% | 14%
src/main/java/org/opensearch/ad/indices0% | 16% | 44% | 21% | 17%
src/main/java/org/opensearch/ad/util0% | 0% | 45% | 27% | 27%
src/main/java/org/opensearch/ad/caching0% | 0% | 34% | 26% | 38%
src/main/groovy/io/pry/gradle/offline_dependencies0% | 0% | 70% | 10% | 19%
src/main/java/org/opensearch/ad/common0% | 0% | 24% | 6% | 68%
src/main/java/org/opensearch/ad/stats0% | 0% | 0% | 15% | 84%
src/main/java/org/opensearch/ad/breaker0% | 0% | 0% | 20% | 79%
src/main/java/org/opensearch/ad/settings0% | 0% | 0% | 0% | 100%
src/main/java/org/opensearch/ad/constant0% | 0% | 0% | 0% | 100%
src/main/java/org/opensearch/ad/dataprocessor0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public Collection createComponents()
in src/main/java/org/opensearch/ad/AnomalyDetectorPlugin.java
400 1 11
public static AnomalyDetector parse()
in src/main/java/org/opensearch/ad/model/AnomalyDetector.java
161 34 5
protected void doExecute()
in src/main/java/org/opensearch/ad/transport/ForwardADTaskTransportAction.java
161 28 3
public static ADTask parse()
in src/main/java/org/opensearch/ad/model/ADTask.java
150 26 2
public static AnomalyResult parse()
in src/main/java/org/opensearch/ad/model/AnomalyResult.java
126 26 1
private void prepareProfile()
in src/main/java/org/opensearch/ad/AnomalyDetectorProfileRunner.java
122 44 3
public static AnomalyResult fromRawTRCFResult()
in src/main/java/org/opensearch/ad/model/AnomalyResult.java
121 17 22
private void detectAnomaly()
in src/main/java/org/opensearch/ad/task/ADBatchTaskRunner.java
121 12 9
protected void getExecute()
in src/main/java/org/opensearch/ad/transport/GetAnomalyDetectorTransportAction.java
109 17 2
public void forwardOrExecuteADTask()
in src/main/java/org/opensearch/ad/task/ADBatchTaskRunner.java
107 6 3
public static ADTaskProfile parse()
in src/main/java/org/opensearch/ad/model/ADTaskProfile.java
106 21 1
private void getJob()
in src/main/java/org/opensearch/ad/EntityProfileRunner.java
102 17 6
protected void doExecute()
in src/main/java/org/opensearch/ad/transport/SearchAnomalyResultTransportAction.java
98 21 3
public AnomalyDetector()
in src/main/java/org/opensearch/ad/model/AnomalyDetector.java
95 13 17
protected void doExecute()
in src/main/java/org/opensearch/ad/transport/SearchTopAnomalyResultTransportAction.java
95 19 3
private void buildCircles()
in src/main/java/org/opensearch/ad/cluster/HashRing.java
90 26 3
private void coldStart()
in src/main/java/org/opensearch/ad/ml/EntityColdStarter.java
90 11 6
private void runNextPiece()
in src/main/java/org/opensearch/ad/task/ADBatchTaskRunner.java
86 6 6
private ActionListener onMultiGetResponse()
in src/main/java/org/opensearch/ad/transport/GetAnomalyDetectorTransportAction.java
86 12 6
public void checkTaskSlots()
in src/main/java/org/opensearch/ad/task/ADTaskManager.java
85 6 7