awslabs / aws-glue-catalog-sync-agent-for-hive
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 20 units with 506 lines of code in units (81.5% of code).
    • 1 very long units (166 lines of code)
    • 1 long units (74 lines of code)
    • 4 medium size units (143 lines of code)
    • 5 small units (75 lines of code)
    • 9 very small units (48 lines of code)
32% | 14% | 28% | 14% | 9%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java32% | 14% | 28% | 14% | 9%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
catalog32% | 14% | 28% | 14% | 9%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
protected static String showCreateTable()
in src/main/java/com/amazonaws/services/glue/catalog/HiveUtils.java
166 25 1
public void run()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
74 16 0
public CloudWatchLogsReporter()
in src/main/java/com/amazonaws/services/glue/catalog/CloudWatchLogsReporter.java
39 12 1
public HiveGlueCatalogSyncAgent()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
39 4 1
public void onDropPartition()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
37 9 1
public void onAddPartition()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
28 8 1
public void onCreateTable()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
18 5 1
public void onDropTable()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
17 5 1
protected static String propertiesToString()
in src/main/java/com/amazonaws/services/glue/catalog/HiveUtils.java
14 6 2
protected String getPartitionSpec()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
14 3 2
public static StringBuilder appendSerdeParams()
in src/main/java/com/amazonaws/services/glue/catalog/HiveUtils.java
12 2 2
public void sendToCWL()
in src/main/java/com/amazonaws/services/glue/catalog/CloudWatchLogsReporter.java
10 1 1
public void stop()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
9 2 0
private boolean addToAthenaQueue()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
9 2 1
public AthenaQueueProcessor()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
4 1 1
private final void configureAthenaConnection()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
4 1 0
protected SyncAgentShutdownRoutine()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
3 1 1
public void run()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
3 1 0
public HiveGlueCatalogSyncAgent()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
3 1 0
private String getFqtn()
in src/main/java/com/amazonaws/services/glue/catalog/HiveGlueCatalogSyncAgent.java
3 1 1