awslabs / amazon-kinesis-connector-flink
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 471 units with 4,409 lines of code in units (69.2% of code).
    • 2 very long units (261 lines of code)
    • 4 long units (282 lines of code)
    • 35 medium size units (1,087 lines of code)
    • 91 small units (1,318 lines of code)
    • 339 very small units (1,461 lines of code)
5% | 6% | 24% | 29% | 33%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
101+
51-100
21-50
11-20
1-10
java5% | 6% | 24% | 29% | 33%
Unit Size per Logical Component
primary logical decomposition
101+
51-100
21-50
11-20
1-10
flink/internals20% | 0% | 38% | 18% | 22%
flink/util11% | 7% | 23% | 32% | 24%
flink/proxy0% | 22% | 27% | 23% | 25%
flink/internals/publisher0% | 11% | 16% | 38% | 33%
flink0% | 0% | 42% | 22% | 34%
flink/table0% | 0% | 19% | 50% | 29%
flink/model0% | 0% | 7% | 24% | 67%
flink/serialization0% | 0% | 0% | 38% | 61%
flink/metrics0% | 0% | 0% | 0% | 100%
flink/config0% | 0% | 0% | 0% | 100%
Alternative Visuals
Longest Units
Top 20 longest units
Unit# linesMcCabe index# params
public void runFetcher()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/internals/KinesisDataFetcher.java
154 26 0
public static void validateConsumerConfiguration()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/util/KinesisConfigUtil.java
107 9 2
public FanOutRecordPublisherConfiguration()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/internals/publisher/fanout/FanOutRecordPublisherConfiguration.java
100 5 2
protected void emitRecords()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/util/RecordEmitter.java
68 23 0
protected KinesisProxy()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/proxy/KinesisProxy.java
62 1 1
private ListShardsResult listShards()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/proxy/KinesisProxy.java
52 15 3
private static AWSCredentialsProvider getCredentialsProvider()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/util/AWSUtil.java
50 9 2
public void run()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/FlinkKinesisConsumer.java
45 8 1
public RowDataFieldsKinesisPartitioner()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/table/RowDataFieldsKinesisPartitioner.java
42 5 2
public void onProcessingTime()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/internals/KinesisDataFetcher.java
42 10 1
protected void emitWatermark()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/internals/KinesisDataFetcher.java
41 12 0
protected KinesisDataFetcher()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/internals/KinesisDataFetcher.java
40 1 14
public static SdkAsyncHttpClient createHttpClient()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/util/AwsV2Util.java
38 2 3
public void open()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/FlinkKinesisProducer.java
38 6 1
private FanOutShardSubscription openSubscriptionToShard()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/internals/publisher/fanout/FanOutShardSubscriber.java
36 4 1
private RecordPublisherRunResult runWithBackoff()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/internals/publisher/fanout/FanOutRecordPublisher.java
36 7 1
public static void validateEfoConfiguration()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/util/KinesisConfigUtil.java
35 8 2
private boolean consumeAllRecordsFromKinesisShard()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/internals/publisher/fanout/FanOutShardSubscriber.java
35 7 2
public void run()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/internals/ShardConsumer.java
35 8 0
protected DescribeStreamResult describeStream()
in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/proxy/KinesisProxy.java
34 7 2