awslabs / amazon-kinesis-video-streams-webrtc-sdk-c
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 118 files with 29,212 lines of code.
    • 6 very long files (8,523 lines of code)
    • 11 long files (7,590 lines of code)
    • 24 medium size files (7,343 lines of codeclsfd_ftr_w_mp_ins)
    • 24 small files (3,432 lines of code)
    • 53 very small files (2,324 lines of code)
29% | 25% | 25% | 11% | 7%
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
c40% | 23% | 22% | 9% | 3%
cpp21% | 36% | 26% | 11% | 4%
h0% | 14% | 32% | 21% | 31%
cmake0% | 0% | 0% | 0% | 100%
py0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/source/Ice54% | 9% | 25% | 5% | 4%
tst20% | 35% | 29% | 9% | 4%
src/source/Signaling36% | 37% | 12% | 12% | 2%
src/source/PeerConnection29% | 21% | 35% | 3% | 11%
src/source/Stun82% | 0% | 17% | 0% | 0%
src/source/Crypto0% | 56% | 0% | 25% | 18%
src/include/com0% | 60% | 31% | 0% | 7%
src/source/Rtp0% | 0% | 61% | 0% | 38%
src/source/Sctp0% | 0% | 81% | 0% | 18%
src/source/Metrics0% | 0% | 93% | 0% | 6%
src/source/Sdp0% | 0% | 0% | 100% | 0%
src/source/Rtcp0% | 0% | 0% | 77% | 22%
bench0% | 0% | 0% | 75% | 24%
src/source/Srtp0% | 0% | 0% | 84% | 15%
src/source0% | 0% | 0% | 100% | 0%
CMake0% | 0% | 0% | 0% | 100%
scripts0% | 0% | 0% | 0% | 100%
configs0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
IceAgent.c
in src/source/Ice
2029 50
SdpApiTest.cpp
in tst
1760 1
LwsApiCalls.c
in src/source/Signaling
1522 26
PeerConnection.c
in src/source/PeerConnection
1085 40
TurnConnection.c
in src/source/Ice
1069 25
Stun.c
in src/source/Stun
1058 23
JitterBufferFunctionalityTest.cpp
in tst
878 -
Signaling.c
in src/source/Signaling
847 31
TurnConnectionFunctionalityTest.cpp
in tst
816 2
SessionDescription.c
in src/source/PeerConnection
815 17
PeerConnectionFunctionalityTest.cpp
in tst
750 -
StateMachine.c
in src/source/Signaling
716 28
Include.h
in src/include/com/amazonaws/kinesis/video/webrtcclient
599 -
Dtls_mbedtls.c
in src/source/Crypto
564 20
IceFunctionalityTest.cpp
in tst
557 2
Dtls_openssl.c
in src/source/Crypto
535 19
IceAgentStateMachine.c
in src/source/Ice
513 18
StunFunctionalityTest.cpp
in tst
490 -
DataChannelFunctionalityTest.cpp
in tst
456 -
RtpFunctionalityTest.cpp
in tst
437 -
Rtp.c
in src/source/PeerConnection
357 12
Network.c
in src/source/Ice
354 12
Rtcp.c
in src/source/PeerConnection
350 9
jsmn.h
in src/source/PeerConnection
340 5
SignalingApiTest.cpp
in tst
333 -
SocketConnection.c
in src/source/Ice
316 11
Stats.h
in src/include/com/amazonaws/kinesis/video/webrtcclient
315 -
RtpH264Payloader.c
in src/source/Rtp/Codecs
305 4
RtcpFunctionalityTest.cpp
in tst
299 3
Client.c
in src/source/Signaling
293 14
NatBehaviorDiscovery.c
in src/source/Ice
281 7
ConnectionListener.c
in src/source/Ice
275 8
RtpPacket.c
in src/source/Rtp
267 9
JitterBuffer.c
in src/source/PeerConnection
264 6
Sctp.c
in src/source/Sctp
252 12
WebRTCClientTestFixture.h
in tst
244 14
Metrics.c
in src/source/Metrics
236 9
IceAgent.h
in src/source/Ice
230 -
Stun.h
in src/source/Stun
222 -
ChannelInfo.c
in src/source/Signaling
218 7
WebRTCClientTestFixture.cpp
in tst
209 10
Signaling.h
in src/source/Signaling
188 -
IceUtils.c
in src/source/Ice
185 11
Tls_openssl.c
in src/source/Crypto
178 7
Tls_mbedtls.c
in src/source/Crypto
177 8
FileCache.c
in src/source/Signaling
174 4
Serialize.c
in src/source/Sdp
161 8
StunApiTest.cpp
in tst
161 -
PeerConnectionApiTest.cpp
in tst
160 1
RollingBuffer.c
in src/source/Rtcp
156 7
Files With Most Units (Top 20)
File# lines# units
IceAgent.c
in src/source/Ice
2029 50
PeerConnection.c
in src/source/PeerConnection
1085 40
Signaling.c
in src/source/Signaling
847 31
StateMachine.c
in src/source/Signaling
716 28
LwsApiCalls.c
in src/source/Signaling
1522 26
TurnConnection.c
in src/source/Ice
1069 25
Stun.c
in src/source/Stun
1058 23
Dtls_mbedtls.c
in src/source/Crypto
564 20
Dtls_openssl.c
in src/source/Crypto
535 19
IceAgentStateMachine.c
in src/source/Ice
513 18
SessionDescription.c
in src/source/PeerConnection
815 17
Client.c
in src/source/Signaling
293 14
WebRTCClientTestFixture.h
in tst
244 14
Sctp.c
in src/source/Sctp
252 12
Rtp.c
in src/source/PeerConnection
357 12
Network.c
in src/source/Ice
354 12
SocketConnection.c
in src/source/Ice
316 11
IceUtils.c
in src/source/Ice
185 11
WebRTCClientTestFixture.cpp
in tst
209 10
RtpPacket.c
in src/source/Rtp
267 9
Files With Long Lines (Top 20)

There are 80 files with lines longer than 120 characters. In total, there are 1598 long lines.

File# lines# units# long lines
IceAgent.c
in src/source/Ice
2029 50 133
LwsApiCalls.c
in src/source/Signaling
1522 26 115
Stun.c
in src/source/Stun
1058 23 108
TurnConnection.c
in src/source/Ice
1069 25 103
StunFunctionalityTest.cpp
in tst
490 - 101
PeerConnection.c
in src/source/PeerConnection
1085 40 69
SessionDescription.c
in src/source/PeerConnection
815 17 69
Signaling.c
in src/source/Signaling
847 31 56
TurnConnectionFunctionalityTest.cpp
in tst
816 2 51
LwsApiCalls.h
in src/source/Signaling
153 - 46
DataChannelFunctionalityTest.cpp
in tst
456 - 45
StunApiTest.cpp
in tst
161 - 42
StateMachine.c
in src/source/Signaling
716 28 41
PeerConnectionFunctionalityTest.cpp
in tst
750 - 32
Dtls_mbedtls.c
in src/source/Crypto
564 20 30
RtcpFunctionalityTest.cpp
in tst
299 3 30
SdpApiTest.cpp
in tst
1760 1 26
RtpFunctionalityTest.cpp
in tst
437 - 25
Crypto.h
in src/source/Crypto
59 - 22
NatBehaviorDiscovery.c
in src/source/Ice
281 7 22