awslabs / amazon-kinesis-video-streams-pic
File Size

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

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 171 files with 40,273 lines of code.
    • 7 very long files (8,954 lines of code)
    • 10 long files (6,793 lines of code)
    • 51 medium size files (15,988 lines of codeclsfd_ftr_w_mp_ins)
    • 37 small files (5,279 lines of code)
    • 66 very small files (3,259 lines of code)
22% | 16% | 39% | 13% | 8%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
cpp23% | 11% | 46% | 13% | 4%
c28% | 14% | 38% | 14% | 4%
h0% | 42% | 19% | 9% | 28%
cmake0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/client31% | 25% | 31% | 7% | 3%
src/mkvgen46% | 9% | 31% | 7% | 5%
src/view48% | 22% | 19% | 4% | 4%
src/common0% | 87% | 0% | 10% | 1%
src/heap0% | 14% | 60% | 14% | 10%
src/utils0% | 0% | 62% | 24% | 12%
src/trace0% | 0% | 45% | 22% | 32%
src/duration0% | 0% | 0% | 95% | 4%
src/state0% | 0% | 0% | 29% | 70%
CMake0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
Stream.c
in src/client/src
1951 44
StreamApiFunctionalityTest.cpp
in src/client/tst
1333 -
MkvgenApiFunctionalityTest.cpp
in src/mkvgen/tst
1279 -
MkvGenerator.c
in src/mkvgen/src
1121 40
Client.c
in src/client/src
1113 39
ViewApiFunctionalityTest.cpp
in src/view/tst
1079 -
StreamPutGetTest.cpp
in src/client/tst
1078 -
StreamRecoveryFunctionalityTest.cpp
in src/client/tst
892 1
CommonDefs.h
in src/common/include/com/amazonaws/kinesis/video/common
835 -
ClientTestFixture.h
in src/client/tst
805 31
ClientTestFixture.cpp
in src/client/tst
734 49
StreamStateTransitionsTest.cpp
in src/client/tst
702 -
Include.h
in src/client/include/com/amazonaws/kinesis/video/client
664 -
StreamEvent.c
in src/client/src
576 11
AivHeap.c
in src/heap/src
570 10
ContentView.c
in src/view/src
512 23
SpsParser.c
in src/mkvgen/src
503 12
StreamState.c
in src/client/src
500 20
TimerQueue.cpp
in src/utils/tst
490 2
HeapApiFunctionalityTest.cpp
in src/heap/tst
477 9
StreamApiTest.cpp
in src/client/tst
472 1
IntermittentProducerAutomaticStreamingTest.cpp
in src/client/tst
451 3
StateTransitionFunctionalityTest.cpp
in src/client/tst
437 1
TimerQueue.c
in src/utils/src
412 14
DoubleLinkedList.cpp
in src/utils/tst
408 -
ClientFunctionalityTest.cpp
in src/client/tst
406 1
Include.h
in src/utils/include/com/amazonaws/kinesis/video/utils
405 -
HashTable.cpp
in src/utils/tst
402 3
HybridHeapTest.cpp
in src/heap/tst
393 2
MkvgenApiTest.cpp
in src/mkvgen/tst
387 -
HybridHeap.c
in src/heap/src
377 1
SingleLinkedList.cpp
in src/utils/tst
377 -
StreamApiFunctionalityScenarioTest.cpp
in src/client/tst
369 1
HeapApiTest.cpp
in src/heap/tst
360 -
HybridFileHeap.c
in src/heap/src
357 2
AnnexBNalAdapterTest.cpp
in src/mkvgen/tst
354 -
DoubleLinkedList.c
in src/utils/src
349 31
StringToInteger.cpp
in src/utils/tst
321 -
ClientApiTest.cpp
in src/client/tst
318 -
String.c
in src/utils/src
316 16
SingleLinkedList.c
in src/utils/src
298 25
ClientState.c
in src/client/src
297 15
TraceProfiler.c
in src/trace/src
292 8
AckParser.c
in src/client/src
284 8
InputValidator.c
in src/client/src
283 13
InstrumentedAllocators.cpp
in src/utils/tst
283 -
HashTable.c
in src/utils/src
264 16
StackQueue.cpp
in src/utils/tst
262 -
StreamTokenRotationTest.cpp
in src/client/tst
261 2
FrameOrderCoordinator.c
in src/client/src
254 7
Files With Most Units (Top 20)
File# lines# units
ClientTestFixture.cpp
in src/client/tst
734 49
Stream.c
in src/client/src
1951 44
MkvGenerator.c
in src/mkvgen/src
1121 40
Client.c
in src/client/src
1113 39
ClientTestFixture.h
in src/client/tst
805 31
DoubleLinkedList.c
in src/utils/src
349 31
Endianness.c
in src/utils/src
199 26
SingleLinkedList.c
in src/utils/src
298 25
ContentView.c
in src/view/src
512 23
StreamState.c
in src/client/src
500 20
Mutex.c
in src/utils/src
226 20
Callbacks.c
in src/client/src
105 18
StackQueue.c
in src/utils/src
148 18
Thread.c
in src/utils/src
242 17
String.c
in src/utils/src
316 16
HashTable.c
in src/utils/src
264 16
ClientState.c
in src/client/src
297 15
TimerQueue.c
in src/utils/src
412 14
HeapTestFixture.cpp
in src/heap/tst
145 13
InputValidator.c
in src/client/src
283 13
Files With Long Lines (Top 20)

There are 97 files with lines longer than 120 characters. In total, there are 1791 long lines.

File# lines# units# long lines
Stream.c
in src/client/src
1951 44 185
ViewApiFunctionalityTest.cpp
in src/view/tst
1079 - 130
MkvgenApiFunctionalityTest.cpp
in src/mkvgen/tst
1279 - 91
AnnexBNalAdapterTest.cpp
in src/mkvgen/tst
354 - 89
CommonDefs.h
in src/common/include/com/amazonaws/kinesis/video/common
835 - 86
Client.c
in src/client/src
1113 39 84
MkvGenerator.c
in src/mkvgen/src
1121 40 74
StreamApiFunctionalityTest.cpp
in src/client/tst
1333 - 71
StreamEvent.c
in src/client/src
576 11 56
Include.h
in src/utils/include/com/amazonaws/kinesis/video/utils
405 - 53
MkvgenApiTest.cpp
in src/mkvgen/tst
387 - 50
StreamPutGetTest.cpp
in src/client/tst
1078 - 49
StreamStateTransitionsTest.cpp
in src/client/tst
702 - 46
StateTransitionFunctionalityTest.cpp
in src/client/tst
437 1 43
ClientTestFixture.h
in src/client/tst
805 31 32
FrameOrderCoordinator.c
in src/client/src
254 7 29
StreamState.c
in src/client/src
500 20 28
StreamApiTest.cpp
in src/client/tst
472 1 28
AivHeap.c
in src/heap/src
570 10 24
Include.h
in src/client/include/com/amazonaws/kinesis/video/client
664 - 21