facebookincubator / hsthrift
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

File Change Frequency Overall
File Change Frequency Overall
The number of recorded file updates
  • There are 128 files with 24,536 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 0 files changed 21-50 times (0 lines of code)
    • 7 files changed 6-20 times (3,832 lines of code)
    • 121 files changed 1-5 times (20,704 lines of code)
0% | 0% | 0% | 15% | 84%
Legend:
101+
51-100
21-50
6-20
1-5
explore: zoomable circles | data
File Change Frequency per File Extension
hs, thrift, py, h, cpp, cmake, md, cabal, hsc, sh, project, gitignore, c, txt, x, json, yml, y
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
hs0% | 0% | 0% | 15% | 84%
h0% | 0% | 0% | 62% | 37%
cabal0% | 0% | 0% | 58% | 41%
hsc0% | 0% | 0% | 50% | 49%
py0% | 0% | 0% | 0% | 100%
cmake0% | 0% | 0% | 0% | 100%
cpp0% | 0% | 0% | 0% | 100%
y0% | 0% | 0% | 0% | 100%
x0% | 0% | 0% | 0% | 100%
c0% | 0% | 0% | 0% | 100%
project0% | 0% | 0% | 0% | 100%
thrift0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
common/util0% | 0% | 0% | 37% | 62%
compiler/Thrift0% | 0% | 0% | 22% | 77%
cpp-channel/cpp0% | 0% | 0% | 46% | 53%
cpp-channel0% | 0% | 0% | 100% | 0%
server0% | 0% | 0% | 100% | 0%
build/fbcode_builder0% | 0% | 0% | 0% | 100%
exactprint/Thrift0% | 0% | 0% | 0% | 100%
common/mangle0% | 0% | 0% | 0% | 100%
haxl/Haxl0% | 0% | 0% | 0% | 100%
cpp-channel/Thrift0% | 0% | 0% | 0% | 100%
compiler/plugins0% | 0% | 0% | 0% | 100%
server/cpp0% | 0% | 0% | 0% | 100%
lib/Thrift0% | 0% | 0% | 0% | 100%
lib0% | 0% | 0% | 0% | 100%
server/Thrift0% | 0% | 0% | 0% | 100%
compiler0% | 0% | 0% | 0% | 100%
haxl0% | 0% | 0% | 0% | 100%
common/github0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
lib/if0% | 0% | 0% | 0% | 100%
serialization0% | 0% | 0% | 0% | 0%
compiler/main0% | 0% | 0% | 0% | 0%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
cabal
fb-util.cabal
in common/util
402 - 16 408 15 5
hsc
Types.hsc
in common/util/Foreign/CPP/HsStruct
622 - 71 303 10 3
HsChannel.h
in cpp-channel/cpp
209 10 95 368 8 5
HsStruct.h
in common/util/cpp
674 42 59 360 8 3
cabal
159 - 40 368 7 6
cabal
153 - 95 383 6 4
hs
Typechecker.hs
in compiler/Thrift/Compiler
1613 - 68 372 6 3
cabal
214 - 37 383 5 3
HsStruct.cpp
in common/util/cpp
217 12 214 303 5 2
project
12 - 367 403 4 3
project
21 - 367 403 4 3
hs
RequestContext.hs
in common/util/Util
67 - 32 122 4 2
HsChannel.cpp
in cpp-channel/cpp
188 7 165 368 4 3
hs
Types.hs
in compiler/Thrift/Compiler
696 - 99 271 4 2
logging.cpp
in common/util/cpp
33 7 150 352 3 3
HeaderChannel.cpp
in cpp-channel/cpp
52 3 340 368 3 3
HaskellProcessor.h
in server/cpp
53 3 44 359 3 3
hs
Stream.hs
in common/util/Control/Concurrent
102 - 74 101 3 1
118 1 166 396 3 3
cabal
131 - 359 383 3 2
hs
GenHaskell.hs
in compiler/Thrift/Compiler
291 - 290 420 3 2
y
Parser.y
in compiler/Thrift/Compiler
722 - 99 271 3 2
HsStructDefines.h
in common/util/cpp
6 - 302 303 2 1
12 - 367 368 2 2
16 - 187 432 2 2
hs
Log.hs
in common/util/Util
16 - 150 352 2 2
hs
HeaderChannel.hs
in cpp-channel/Thrift/Channel
34 - 340 368 2 2
cabal
mangle.cabal
in common/mangle
51 - 37 383 2 2
hs
Internal.hs
in common/util/Util/Log
61 - 150 352 2 2
cabal
65 - 389 404 2 1
HsOption.h
in common/util/cpp
70 2 302 303 2 1
hsc
Monad.hsc
in lib/Thrift
92 - 248 432 2 2
cdynamic.cpp
in common/util/cpp
133 6 33 58 2 2
hs
HsOption.hs
in common/util/Foreign/CPP/HsStruct
134 - 298 303 2 1
CppServer.cpp
in server/cpp
139 6 59 151 2 2
py_wheel_builder.py
in build/fbcode_builder/getdeps
145 8 78 86 2 2
hs
Pretty.hs
in compiler/Thrift/Compiler
184 - 226 270 2 1
hs
Plugin.hs
in compiler/Thrift/Compiler
239 - 270 290 2 2
hs
Haskell.hs
in compiler/plugins/Thrift/Compiler/Plugins
315 - 136 290 2 2
hs
GenJSON.hs
in compiler/Thrift/Compiler
330 - 270 385 2 2
buildopts.py
in build/fbcode_builder/getdeps
347 16 78 86 2 2
hs
IO.hs
in common/util/Util
382 - 100 386 2 2
hs
GenService.hs
in compiler/Thrift/Compiler
406 - 271 290 2 2
hs
GenJSONLoc.hs
in compiler/Thrift/Compiler
524 - 270 385 2 2
hs
Convert.hs
in exactprint/Thrift/ExactPrint
668 - 99 270 2 2
hs
GenStruct.hs
in compiler/Thrift/Compiler
866 - 270 401 2 2
__init__.py
in build/fbcode_builder/getdeps
1 - 86 86 1 1
errors.py
in build/fbcode_builder/getdeps
6 1 86 86 1 1
cmake
FBCompilerSettingsUnix.cmake
in build/fbcode_builder/CMake
7 - 86 86 1 1
logging.h
in common/util/cpp
7 - 150 150 1 1
Files With Most Contributors (Top 50)
Files sorted by the number of unique email addresses found in commits.

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
cabal
fb-util.cabal
in common/util
402 - 16 408 15 5
hsc
Types.hsc
in common/util/Foreign/CPP/HsStruct
622 - 71 303 10 3
HsStruct.h
in common/util/cpp
674 42 59 360 8 3
HsChannel.h
in cpp-channel/cpp
209 10 95 368 8 5
cabal
159 - 40 368 7 6
hs
Typechecker.hs
in compiler/Thrift/Compiler
1613 - 68 372 6 3
cabal
153 - 95 383 6 4
HsStruct.cpp
in common/util/cpp
217 12 214 303 5 2
cabal
214 - 37 383 5 3
hs
Types.hs
in compiler/Thrift/Compiler
696 - 99 271 4 2
hs
RequestContext.hs
in common/util/Util
67 - 32 122 4 2
project
12 - 367 403 4 3
project
21 - 367 403 4 3
HsChannel.cpp
in cpp-channel/cpp
188 7 165 368 4 3
hs
Stream.hs
in common/util/Control/Concurrent
102 - 74 101 3 1
hs
GenHaskell.hs
in compiler/Thrift/Compiler
291 - 290 420 3 2
y
Parser.y
in compiler/Thrift/Compiler
722 - 99 271 3 2
cabal
131 - 359 383 3 2
logging.cpp
in common/util/cpp
33 7 150 352 3 3
HaskellProcessor.h
in server/cpp
53 3 44 359 3 3
118 1 166 396 3 3
HeaderChannel.cpp
in cpp-channel/cpp
52 3 340 368 3 3
hs
Pretty.hs
in compiler/Thrift/Compiler
184 - 226 270 2 1
hs
HsOption.hs
in common/util/Foreign/CPP/HsStruct
134 - 298 303 2 1
HsStructDefines.h
in common/util/cpp
6 - 302 303 2 1
HsOption.h
in common/util/cpp
70 2 302 303 2 1
cabal
65 - 389 404 2 1
hs
GenJSON.hs
in compiler/Thrift/Compiler
330 - 270 385 2 2
hs
GenStruct.hs
in compiler/Thrift/Compiler
866 - 270 401 2 2
hs
GenService.hs
in compiler/Thrift/Compiler
406 - 271 290 2 2
hs
GenJSONLoc.hs
in compiler/Thrift/Compiler
524 - 270 385 2 2
hs
Plugin.hs
in compiler/Thrift/Compiler
239 - 270 290 2 2
hs
Haskell.hs
in compiler/plugins/Thrift/Compiler/Plugins
315 - 136 290 2 2
12 - 367 368 2 2
buildopts.py
in build/fbcode_builder/getdeps
347 16 78 86 2 2
py_wheel_builder.py
in build/fbcode_builder/getdeps
145 8 78 86 2 2
hsc
Monad.hsc
in lib/Thrift
92 - 248 432 2 2
16 - 187 432 2 2
hs
Convert.hs
in exactprint/Thrift/ExactPrint
668 - 99 270 2 2
cabal
mangle.cabal
in common/mangle
51 - 37 383 2 2
cdynamic.cpp
in common/util/cpp
133 6 33 58 2 2
hs
IO.hs
in common/util/Util
382 - 100 386 2 2
hs
Internal.hs
in common/util/Util/Log
61 - 150 352 2 2
hs
Log.hs
in common/util/Util
16 - 150 352 2 2
CppServer.cpp
in server/cpp
139 6 59 151 2 2
hs
HeaderChannel.hs
in cpp-channel/Thrift/Channel
34 - 340 368 2 2
hs
GenUtils.hs
in compiler/Thrift/Compiler
460 - 270 270 1 1
hs
Monad.hs
in compiler/Thrift/Compiler/Typechecker
167 - 226 226 1 1
hs
GenFunction.hs
in compiler/Thrift/Compiler
490 - 271 271 1 1
x
Lexer.x
in compiler/Thrift/Compiler
236 - 99 99 1 1
Correlations

File Size vs. Number of Changes: 128 points

common/util/Util/FFI.hs x: 113 lines of code y: 1 # changes common/util/cpp/ffi.cpp x: 18 lines of code y: 1 # changes common/util/cpp/ffi.h x: 8 lines of code y: 1 # changes common/util/cpp/memory.h x: 78 lines of code y: 1 # changes common/util/cpp/wrap.h x: 34 lines of code y: 1 # changes common/util/fb-util.cabal x: 402 lines of code y: 15 # changes common/util/Util/RequestContext.hs x: 67 lines of code y: 4 # changes common/util/cpp/cdynamic.cpp x: 133 lines of code y: 2 # changes common/mangle/mangle.cabal x: 51 lines of code y: 2 # changes lib/thrift-lib.cabal x: 214 lines of code y: 5 # changes cpp-channel/thrift-cpp-channel.cabal x: 159 lines of code y: 7 # changes common/util/Util/AllocLimit.hs x: 103 lines of code y: 1 # changes server/cpp/HaskellProcessor.h x: 53 lines of code y: 3 # changes common/util/Foreign/CPP/Dynamic.hsc x: 272 lines of code y: 1 # changes common/util/cpp/HsStruct.h x: 674 lines of code y: 8 # changes server/cpp/CppServer.cpp x: 139 lines of code y: 2 # changes compiler/Thrift/Compiler/Typechecker.hs x: 1613 lines of code y: 6 # changes common/util/Foreign/CPP/HsStruct/HsStdVariant.hs x: 126 lines of code y: 1 # changes common/util/Foreign/CPP/HsStruct/Types.hsc x: 622 lines of code y: 10 # changes common/util/cpp/HsStdVariant.h x: 48 lines of code y: 1 # changes common/util/Control/Concurrent/Stream.hs x: 102 lines of code y: 3 # changes build/fbcode_builder/getdeps/buildopts.py x: 347 lines of code y: 2 # changes build/fbcode_builder/getdeps/py_wheel_builder.py x: 145 lines of code y: 2 # changes build/fbcode_builder/CMake/FBBuildOptions.cmake x: 13 lines of code y: 1 # changes build/fbcode_builder/CMake/FBCMakeParseArgs.cmake x: 135 lines of code y: 1 # changes build/fbcode_builder/CMake/FBCompilerSettings.cmake x: 11 lines of code y: 1 # changes build/fbcode_builder/CMake/FBPythonBinary.cmake x: 646 lines of code y: 1 # changes build/fbcode_builder/CMake/FBPythonTestAddTests.cmake x: 54 lines of code y: 1 # changes build/fbcode_builder/CMake/FBThriftCppLibrary.cmake x: 180 lines of code y: 1 # changes build/fbcode_builder/CMake/FBThriftLibrary.cmake x: 72 lines of code y: 1 # changes build/fbcode_builder/CMake/FBThriftPyLibrary.cmake x: 100 lines of code y: 1 # changes build/fbcode_builder/CMake/FindGflags.cmake x: 97 lines of code y: 1 # changes build/fbcode_builder/CMake/FindGlog.cmake x: 29 lines of code y: 1 # changes build/fbcode_builder/CMake/FindLibEvent.cmake x: 69 lines of code y: 1 # changes build/fbcode_builder/CMake/FindLibUnwind.cmake x: 25 lines of code y: 1 # changes build/fbcode_builder/CMake/FindRe2.cmake x: 16 lines of code y: 1 # changes build/fbcode_builder/CMake/FindSodium.cmake x: 265 lines of code y: 1 # changes build/fbcode_builder/CMake/RustStaticLibrary.cmake x: 259 lines of code y: 1 # changes build/fbcode_builder/CMake/fb_py_test_main.py x: 567 lines of code y: 1 # changes build/fbcode_builder/CMake/fb_py_win_main.c x: 74 lines of code y: 1 # changes build/fbcode_builder/CMake/make_fbpy_archive.py x: 243 lines of code y: 1 # changes build/fbcode_builder/docker_builder.py x: 115 lines of code y: 1 # changes build/fbcode_builder/fbcode_builder.py x: 395 lines of code y: 1 # changes build/fbcode_builder/getdeps.py x: 874 lines of code y: 1 # changes build/fbcode_builder/getdeps/__init__.py x: 1 lines of code y: 1 # changes build/fbcode_builder/getdeps/builder.py x: 972 lines of code y: 1 # changes build/fbcode_builder/getdeps/copytree.py x: 41 lines of code y: 1 # changes build/fbcode_builder/getdeps/dyndeps.py x: 296 lines of code y: 1 # changes build/fbcode_builder/getdeps/envfuncs.py x: 109 lines of code y: 1 # changes build/fbcode_builder/getdeps/expr.py x: 120 lines of code y: 1 # changes build/fbcode_builder/getdeps/fetcher.py x: 511 lines of code y: 1 # changes build/fbcode_builder/getdeps/load.py x: 216 lines of code y: 1 # changes build/fbcode_builder/getdeps/manifest.py x: 496 lines of code y: 1 # changes build/fbcode_builder/getdeps/platform.py x: 88 lines of code y: 1 # changes build/fbcode_builder/getdeps/runcmd.py x: 107 lines of code y: 1 # changes build/fbcode_builder/parse_args.py x: 58 lines of code y: 1 # changes build/fbcode_builder/shell_quoting.py x: 52 lines of code y: 1 # changes server/thrift-server.cabal x: 153 lines of code y: 6 # changes cpp-channel/cpp/HsChannel.h x: 209 lines of code y: 8 # changes compiler/Thrift/Compiler/Lexer.x x: 236 lines of code y: 1 # changes compiler/Thrift/Compiler/Parser.y x: 722 lines of code y: 3 # changes compiler/Thrift/Compiler/Types.hs x: 696 lines of code y: 4 # changes exactprint/Thrift/ExactPrint/Convert.hs x: 668 lines of code y: 2 # changes common/util/Util/IO.hs x: 382 lines of code y: 2 # changes compiler/plugins/Thrift/Compiler/Plugins/Haskell.hs x: 315 lines of code y: 2 # changes common/util/Util/Log.hs x: 16 lines of code y: 2 # changes common/util/Util/Log/Internal.hs x: 61 lines of code y: 2 # changes common/util/Util/Log/String.hs x: 59 lines of code y: 1 # changes common/util/cpp/logging.cpp x: 33 lines of code y: 3 # changes cpp-channel/cpp/HsChannel.cpp x: 188 lines of code y: 4 # changes server/cpp/HaskellProcessor.cpp x: 118 lines of code y: 3 # changes lib/if/ApplicationException.thrift x: 21 lines of code y: 1 # changes common/util/cpp/HsStruct.cpp x: 217 lines of code y: 5 # changes compiler/Thrift/Compiler/Pretty.hs x: 184 lines of code y: 2 # changes compiler/Thrift/Compiler/Typechecker/Monad.hs x: 167 lines of code y: 1 # changes lib/Thrift/Monad.hsc x: 92 lines of code y: 2 # changes exactprint/Thrift/ExactPrint/PrettyPrint.hs x: 326 lines of code y: 1 # changes compiler/Thrift/Compiler/GenJSON.hs x: 330 lines of code y: 2 # changes compiler/Thrift/Compiler/GenJSONLoc.hs x: 524 lines of code y: 2 # changes compiler/Thrift/Compiler/GenStruct.hs x: 866 lines of code y: 2 # changes compiler/Thrift/Compiler/GenUtils.hs x: 460 lines of code y: 1 # changes compiler/Thrift/Compiler/Plugin.hs x: 239 lines of code y: 2 # changes compiler/Thrift/Compiler/GenFunction.hs x: 490 lines of code y: 1 # changes compiler/Thrift/Compiler/GenService.hs x: 406 lines of code y: 2 # changes common/util/Util/Graph.hs x: 32 lines of code y: 1 # changes compiler/Thrift/Compiler/GenClient.hs x: 36 lines of code y: 1 # changes compiler/Thrift/Compiler/GenHaskell.hs x: 291 lines of code y: 3 # changes common/util/Foreign/CPP/HsStruct/HsArray.hs x: 81 lines of code y: 1 # changes common/util/Foreign/CPP/HsStruct/HsOption.hs x: 134 lines of code y: 2 # changes common/util/Util/Directory.hs x: 39 lines of code y: 1 # changes common/util/cpp/HsOption.h x: 70 lines of code y: 2 # changes common/util/cpp/HsStructDefines.h x: 6 lines of code y: 2 # changes common/util/Foreign/CPP/Marshallable.hs x: 153 lines of code y: 1 # changes common/mangle/Mangle.hs x: 418 lines of code y: 1 # changes cpp-channel/Thrift/Channel/HeaderChannel.hs x: 34 lines of code y: 2 # changes cpp-channel/Thrift/Channel/Lib/CppChannel.hsc x: 206 lines of code y: 1 # changes cpp-channel/cpp/HeaderChannel.cpp x: 52 lines of code y: 3 # changes compiler/thrift-compiler.cabal x: 131 lines of code y: 3 # changes lib/Thrift/Channel/SocketChannel/Server.hs x: 211 lines of code y: 1 # changes cabal.project x: 12 lines of code y: 4 # changes ci-sdist.cabal.project x: 12 lines of code y: 2 # changes ci.cabal.project x: 21 lines of code y: 4 # changes common/util/cpp/HsVariant.h x: 227 lines of code y: 1 # changes haxl/thrift-haxl.cabal x: 65 lines of code y: 2 # changes haxl/Haxl/DataSource/Thrift.hs x: 342 lines of code y: 1 # changes
15.0
# changes
  min: 1.0
  average: 1.91
  25th percentile: 1.0
  median: 1.0
  75th percentile: 2.0
  max: 15.0
0 1613.0
lines of code
min: 1.0 | average: 191.69 | 25th percentile: 36.75 | median: 102.5 | 75th percentile: 242.0 | max: 1613.0

Number of Contributors vs. Number of Changes: 128 points

common/util/Util/FFI.hs x: 1 # contributors y: 1 # changes common/util/fb-util.cabal x: 5 # contributors y: 15 # changes common/util/Util/RequestContext.hs x: 2 # contributors y: 4 # changes common/util/cpp/cdynamic.cpp x: 2 # contributors y: 2 # changes lib/thrift-lib.cabal x: 3 # contributors y: 5 # changes cpp-channel/thrift-cpp-channel.cabal x: 6 # contributors y: 7 # changes server/cpp/HaskellProcessor.h x: 3 # contributors y: 3 # changes common/util/cpp/HsStruct.h x: 3 # contributors y: 8 # changes compiler/Thrift/Compiler/Typechecker.hs x: 3 # contributors y: 6 # changes common/util/Foreign/CPP/HsStruct/Types.hsc x: 3 # contributors y: 10 # changes common/util/Control/Concurrent/Stream.hs x: 1 # contributors y: 3 # changes server/thrift-server.cabal x: 4 # contributors y: 6 # changes cpp-channel/cpp/HsChannel.h x: 5 # contributors y: 8 # changes compiler/Thrift/Compiler/Parser.y x: 2 # contributors y: 3 # changes cpp-channel/cpp/HsChannel.cpp x: 3 # contributors y: 4 # changes common/util/cpp/HsStruct.cpp x: 2 # contributors y: 5 # changes compiler/Thrift/Compiler/Pretty.hs x: 1 # contributors y: 2 # changes
15.0
# changes
  min: 1.0
  average: 1.91
  25th percentile: 1.0
  median: 1.0
  75th percentile: 2.0
  max: 15.0
0 6.0
# contributors
min: 1.0 | average: 1.49 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 2.0 | max: 6.0