facebookincubator / oomd
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 123 files with 14,552 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 7 files changed 21-50 times (5,042 lines of code)
    • 29 files changed 6-20 times (4,872 lines of code)
    • 87 files changed 1-5 times (4,638 lines of code)
0% | 0% | 34% | 33% | 31%
Legend:
101+
51-100
21-50
6-20
1-5
explore: zoomable circles | data
File Change Frequency per File Extension
cpp, h, md, json, in, sh, gitignore, clang-format, txt, yml
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
cpp0% | 0% | 41% | 32% | 26%
h0% | 0% | 7% | 38% | 54%
in0% | 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
oomd/plugins0% | 0% | 69% | 18% | 11%
oomd/util0% | 0% | 50% | 0% | 49%
oomd0% | 0% | 2% | 60% | 36%
oomd/config0% | 0% | 0% | 78% | 21%
oomd/engine0% | 0% | 0% | 75% | 24%
oomd/fixtures0% | 0% | 0% | 94% | 5%
oomd/include0% | 0% | 0% | 45% | 54%
oomd/dropin0% | 0% | 0% | 0% | 100%
oomd/plugins/systemd0% | 0% | 0% | 0% | 100%
oomd/etc0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
CorePluginsTest.cpp
in src/oomd/plugins
2586 13 43 953 34 10
Fs.cpp
in src/oomd/util
781 48 152 953 29 14
Oomd.cpp
in src/oomd
92 2 155 953 26 10
Senpai.cpp
in src/oomd/plugins
545 20 297 793 24 5
Fs.h
in src/oomd/util
191 4 403 953 23 9
BaseKillPlugin.cpp
in src/oomd/plugins
464 16 283 953 23 10
FsTest.cpp
in src/oomd/util
383 2 403 953 22 9
Senpai.h
in src/oomd/plugins
80 - 297 793 17 4
OomdContext.cpp
in src/oomd
185 13 344 953 16 6
ConfigCompilerTest.cpp
in src/oomd/config
913 34 296 953 15 9
374 25 421 704 14 4
Types.h
in src/oomd/include
80 2 150 953 13 8
CgroupContext.h
in src/oomd
135 1 150 704 13 4
BaseKillPlugin.h
in src/oomd/plugins
124 1 283 953 12 4
KillMemoryGrowth-inl.h
in src/oomd/plugins
140 4 43 953 12 8
OomdContext.h
in src/oomd
109 3 344 953 11 4
535 2 461 704 11 4
Main.cpp
in src/oomd
404 8 461 953 10 9
DumpCgroupOverview.cpp
in src/oomd/plugins
66 3 309 953 9 8
KillSwapUsage-inl.h
in src/oomd/plugins
91 4 43 953 9 9
Engine.cpp
in src/oomd/engine
117 5 297 953 9 7
Ruleset.cpp
in src/oomd/engine
166 7 415 953 9 5
KillIOCost-inl.h
in src/oomd/plugins
36 3 558 953 7 6
BasePlugin.h
in src/oomd/engine
38 2 409 953 7 5
Engine.h
in src/oomd/engine
49 - 297 953 7 5
Ruleset.h
in src/oomd/engine
59 1 150 953 7 6
KillPressure-inl.h
in src/oomd/plugins
67 3 409 953 7 7
PressureAbove.cpp
in src/oomd/plugins
75 2 409 953 7 7
PressureRisingBeyond.cpp
in src/oomd/plugins
87 2 409 953 7 7
Log.cpp
in src/oomd
145 4 299 953 7 6
ConfigCompiler.cpp
in src/oomd/config
213 7 355 953 7 4
FsFixture.cpp
in src/oomd/fixtures
291 8 551 950 7 4
KillSwapUsage.h
in src/oomd/plugins
29 - 43 953 6 6
Exists.cpp
in src/oomd/plugins
45 2 409 953 6 7
MemoryAbove.cpp
in src/oomd/plugins
107 2 409 953 6 7
CgroupPath.cpp
in src/oomd/include
112 6 284 953 6 6
DumpKillInfoNoOp.cpp
in src/oomd/plugins
11 1 283 788 5 2
SwapFree.cpp
in src/oomd/plugins
29 2 409 953 5 6
Util.h
in src/oomd/util
32 1 638 953 5 5
Oomd.h
in src/oomd
36 - 638 953 5 5
KillMemoryGrowth.h
in src/oomd/plugins
41 - 668 953 5 4
MemoryReclaim.cpp
in src/oomd/plugins
51 2 409 953 5 6
SystemMaybe.h
in src/oomd/util
136 5 309 584 5 2
Util.cpp
in src/oomd/util
178 12 596 953 5 5
StatsTest.cpp
in src/oomd
195 2 296 953 5 5
Stats.cpp
in src/oomd
241 14 422 953 5 5
ConfigCompiler.h
in src/oomd/config
16 - 355 953 4 4
StatsClient.h
in src/oomd
18 - 422 953 4 4
SwapFree.h
in src/oomd/plugins
18 - 409 953 4 5
SystemdRestart.h
in src/oomd/plugins/systemd
22 - 704 953 4 5
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
CorePluginsTest.cpp
in src/oomd/plugins
2586 13 43 953 34 10
Fs.cpp
in src/oomd/util
781 48 152 953 29 14
Oomd.cpp
in src/oomd
92 2 155 953 26 10
Senpai.cpp
in src/oomd/plugins
545 20 297 793 24 5
Fs.h
in src/oomd/util
191 4 403 953 23 9
BaseKillPlugin.cpp
in src/oomd/plugins
464 16 283 953 23 10
FsTest.cpp
in src/oomd/util
383 2 403 953 22 9
Senpai.h
in src/oomd/plugins
80 - 297 793 17 4
OomdContext.cpp
in src/oomd
185 13 344 953 16 6
ConfigCompilerTest.cpp
in src/oomd/config
913 34 296 953 15 9
374 25 421 704 14 4
CgroupContext.h
in src/oomd
135 1 150 704 13 4
Types.h
in src/oomd/include
80 2 150 953 13 8
BaseKillPlugin.h
in src/oomd/plugins
124 1 283 953 12 4
KillMemoryGrowth-inl.h
in src/oomd/plugins
140 4 43 953 12 8
535 2 461 704 11 4
OomdContext.h
in src/oomd
109 3 344 953 11 4
Main.cpp
in src/oomd
404 8 461 953 10 9
Ruleset.cpp
in src/oomd/engine
166 7 415 953 9 5
Engine.cpp
in src/oomd/engine
117 5 297 953 9 7
DumpCgroupOverview.cpp
in src/oomd/plugins
66 3 309 953 9 8
KillSwapUsage-inl.h
in src/oomd/plugins
91 4 43 953 9 9
FsFixture.cpp
in src/oomd/fixtures
291 8 551 950 7 4
ConfigCompiler.cpp
in src/oomd/config
213 7 355 953 7 4
BasePlugin.h
in src/oomd/engine
38 2 409 953 7 5
Engine.h
in src/oomd/engine
49 - 297 953 7 5
Ruleset.h
in src/oomd/engine
59 1 150 953 7 6
KillIOCost-inl.h
in src/oomd/plugins
36 3 558 953 7 6
Log.cpp
in src/oomd
145 4 299 953 7 6
PressureRisingBeyond.cpp
in src/oomd/plugins
87 2 409 953 7 7
PressureAbove.cpp
in src/oomd/plugins
75 2 409 953 7 7
KillPressure-inl.h
in src/oomd/plugins
67 3 409 953 7 7
CgroupPath.cpp
in src/oomd/include
112 6 284 953 6 6
KillSwapUsage.h
in src/oomd/plugins
29 - 43 953 6 6
MemoryAbove.cpp
in src/oomd/plugins
107 2 409 953 6 7
Exists.cpp
in src/oomd/plugins
45 2 409 953 6 7
DumpKillInfoNoOp.cpp
in src/oomd/plugins
11 1 283 788 5 2
SystemMaybe.h
in src/oomd/util
136 5 309 584 5 2
KillMemoryGrowth.h
in src/oomd/plugins
41 - 668 953 5 4
Stats.cpp
in src/oomd
241 14 422 953 5 5
Util.h
in src/oomd/util
32 1 638 953 5 5
Util.cpp
in src/oomd/util
178 12 596 953 5 5
Oomd.h
in src/oomd
36 - 638 953 5 5
StatsTest.cpp
in src/oomd
195 2 296 953 5 5
MemoryReclaim.cpp
in src/oomd/plugins
51 2 409 953 5 6
SwapFree.cpp
in src/oomd/plugins
29 2 409 953 5 6
KillPgScan-inl.h
in src/oomd/plugins
66 3 344 668 4 2
TestHelper.h
in src/oomd/util
80 4 355 704 4 2
Log.h
in src/oomd
96 1 366 953 4 4
StatsClient.h
in src/oomd
18 - 422 953 4 4
Correlations

File Size vs. Number of Changes: 123 points

src/oomd/plugins/CorePluginsTest.cpp x: 2586 lines of code y: 34 # changes src/oomd/plugins/KillSwapUsage-inl.h x: 91 lines of code y: 9 # changes src/oomd/plugins/KillSwapUsage.h x: 29 lines of code y: 6 # changes src/oomd/plugins/KillMemoryGrowth-inl.h x: 140 lines of code y: 12 # changes src/oomd/PluginConstructionContext.cpp x: 9 lines of code y: 2 # changes src/oomd/util/PluginArgParser.cpp x: 122 lines of code y: 3 # changes src/oomd/util/PluginArgParser.h x: 71 lines of code y: 2 # changes src/oomd/CgroupContext.h x: 135 lines of code y: 13 # changes src/oomd/engine/Ruleset.h x: 59 lines of code y: 7 # changes src/oomd/include/Types.h x: 80 lines of code y: 13 # changes src/oomd/util/Fs.cpp x: 781 lines of code y: 29 # changes src/oomd/Oomd.cpp x: 92 lines of code y: 26 # changes src/oomd/plugins/BaseKillPlugin.cpp x: 464 lines of code y: 23 # changes src/oomd/plugins/BaseKillPlugin.h x: 124 lines of code y: 12 # changes src/oomd/plugins/DumpKillInfoNoOp.cpp x: 11 lines of code y: 5 # changes src/oomd/include/CgroupPath.cpp x: 112 lines of code y: 6 # changes src/oomd/config/ConfigCompilerTest.cpp x: 913 lines of code y: 15 # changes src/oomd/StatsTest.cpp x: 195 lines of code y: 5 # changes src/oomd/plugins/Senpai.cpp x: 545 lines of code y: 24 # changes src/oomd/plugins/Senpai.h x: 80 lines of code y: 17 # changes src/oomd/engine/Engine.cpp x: 117 lines of code y: 9 # changes src/oomd/engine/Engine.h x: 49 lines of code y: 7 # changes src/oomd/engine/PrekillHook.h x: 66 lines of code y: 3 # changes src/oomd/plugins/DummyPrekillHook.cpp x: 22 lines of code y: 2 # changes src/oomd/Log.cpp x: 145 lines of code y: 7 # changes src/oomd/plugins/DumpCgroupOverview.cpp x: 66 lines of code y: 9 # changes src/oomd/util/SystemMaybe.h x: 136 lines of code y: 5 # changes src/oomd/OomdContext.cpp x: 185 lines of code y: 16 # changes src/oomd/OomdContext.h x: 109 lines of code y: 11 # changes src/oomd/plugins/KillPgScan-inl.h x: 66 lines of code y: 4 # changes src/oomd/plugins/KillPgScan.h x: 26 lines of code y: 2 # changes src/oomd/config/ConfigCompiler.cpp x: 213 lines of code y: 7 # changes src/oomd/config/ConfigCompiler.h x: 16 lines of code y: 4 # changes src/oomd/dropin/DropInServiceAdaptor.cpp x: 39 lines of code y: 2 # changes src/oomd/util/TestHelper.h x: 80 lines of code y: 4 # changes src/oomd/Log.h x: 96 lines of code y: 4 # changes src/oomd/config/ConfigTypes.cpp x: 75 lines of code y: 2 # changes src/oomd/util/PluginArgParserTest.cpp x: 199 lines of code y: 2 # changes src/oomd/PluginRegistry.h x: 45 lines of code y: 3 # changes src/oomd/include/CgroupPath.h x: 41 lines of code y: 3 # changes src/oomd/include/CgroupPathTest.cpp x: 119 lines of code y: 4 # changes src/oomd/util/Fs.h x: 191 lines of code y: 23 # changes src/oomd/util/FsTest.cpp x: 383 lines of code y: 22 # changes src/oomd/PluginConstructionContext.h x: 19 lines of code y: 3 # changes src/oomd/engine/BasePlugin.h x: 38 lines of code y: 7 # changes src/oomd/plugins/Exists.cpp x: 45 lines of code y: 6 # changes src/oomd/plugins/KillPressure-inl.h x: 67 lines of code y: 7 # changes src/oomd/plugins/MemoryAbove.cpp x: 107 lines of code y: 6 # changes src/oomd/plugins/MemoryReclaim.cpp x: 51 lines of code y: 5 # changes src/oomd/plugins/NrDyingDescendants.cpp x: 41 lines of code y: 4 # changes src/oomd/plugins/PressureAbove.cpp x: 75 lines of code y: 7 # changes src/oomd/plugins/PressureRisingBeyond.cpp x: 87 lines of code y: 7 # changes src/oomd/plugins/PressureRisingBeyond.h x: 25 lines of code y: 4 # changes src/oomd/plugins/SwapFree.cpp x: 29 lines of code y: 5 # changes src/oomd/plugins/systemd/SystemdRestart-inl.h x: 52 lines of code y: 4 # changes src/oomd/config/JsonConfigParser.cpp x: 104 lines of code y: 4 # changes src/oomd/config/JsonConfigParserTest.cpp x: 64 lines of code y: 4 # changes src/oomd/engine/Ruleset.cpp x: 166 lines of code y: 9 # changes src/oomd/CgroupContext.cpp x: 374 lines of code y: 14 # changes src/oomd/PluginRegistry.cpp x: 11 lines of code y: 2 # changes src/oomd/Stats.cpp x: 241 lines of code y: 5 # changes src/oomd/StatsClient.cpp x: 146 lines of code y: 3 # changes src/oomd/CgroupContextTest.cpp x: 535 lines of code y: 11 # changes src/oomd/Main.cpp x: 404 lines of code y: 10 # changes src/oomd/dropin/DropInServiceAdaptorTest.cpp x: 153 lines of code y: 2 # changes src/oomd/dropin/FsDropInServiceTest.cpp x: 107 lines of code y: 2 # changes src/oomd/fixtures/FsFixture.cpp x: 291 lines of code y: 7 # changes src/oomd/dropin/FsDropInService.cpp x: 268 lines of code y: 2 # changes src/oomd/plugins/KillIOCost-inl.h x: 36 lines of code y: 7 # changes src/oomd/util/Util.cpp x: 178 lines of code y: 5 # changes src/oomd/Oomd.h x: 36 lines of code y: 5 # changes src/oomd/dropin/FsDropInService.h x: 48 lines of code y: 1 # changes src/oomd/OomdContextTest.cpp x: 134 lines of code y: 3 # changes src/oomd/plugins/KillMemoryGrowth.h x: 41 lines of code y: 5 # changes src/oomd/plugins/KillPgScan.cpp x: 5 lines of code y: 1 # changes src/oomd/plugins/MemoryAbove.h x: 24 lines of code y: 3 # changes src/oomd/plugins/systemd/SystemdRestart.h x: 22 lines of code y: 4 # changes src/oomd/util/Fixture.h x: 43 lines of code y: 2 # changes src/oomd/util/FixtureTest.cpp x: 145 lines of code y: 2 # changes src/oomd/util/ScopeGuardTest.cpp x: 50 lines of code y: 2 # changes src/oomd/include/CoreStats.h x: 15 lines of code y: 3 # changes src/oomd/util/UtilTest.cpp x: 93 lines of code y: 2 # changes src/oomd/etc/oomd.service.in x: 10 lines of code y: 1 # changes src/oomd/fixtures/FsFixture.h x: 17 lines of code y: 1 # changes src/oomd/include/Assert.cpp x: 25 lines of code y: 1 # changes src/oomd/include/Defines.h x: 2 lines of code y: 1 # changes src/oomd/plugins/systemd/BaseSystemdPlugin.cpp x: 65 lines of code y: 1 # changes
34.0
# changes
  min: 1.0
  average: 5.62
  25th percentile: 2.0
  median: 4.0
  75th percentile: 7.0
  max: 34.0
0 2586.0
lines of code
min: 2.0 | average: 118.31 | 25th percentile: 22.0 | median: 48.0 | 75th percentile: 122.0 | max: 2586.0

Number of Contributors vs. Number of Changes: 123 points

src/oomd/plugins/CorePluginsTest.cpp x: 10 # contributors y: 34 # changes src/oomd/plugins/KillSwapUsage-inl.h x: 9 # contributors y: 9 # changes src/oomd/plugins/KillSwapUsage.h x: 6 # contributors y: 6 # changes src/oomd/plugins/KillMemoryGrowth-inl.h x: 8 # contributors y: 12 # changes src/oomd/PluginConstructionContext.cpp x: 2 # contributors y: 2 # changes src/oomd/util/PluginArgParser.cpp x: 3 # contributors y: 3 # changes src/oomd/CgroupContext.h x: 4 # contributors y: 13 # changes src/oomd/engine/Ruleset.h x: 6 # contributors y: 7 # changes src/oomd/include/Types.h x: 8 # contributors y: 13 # changes src/oomd/util/Fs.cpp x: 14 # contributors y: 29 # changes src/oomd/Oomd.cpp x: 10 # contributors y: 26 # changes src/oomd/plugins/BaseKillPlugin.cpp x: 10 # contributors y: 23 # changes src/oomd/plugins/BaseKillPlugin.h x: 4 # contributors y: 12 # changes src/oomd/plugins/DumpKillInfoNoOp.cpp x: 2 # contributors y: 5 # changes src/oomd/LogTest.cpp x: 4 # contributors y: 3 # changes src/oomd/config/ConfigCompilerTest.cpp x: 9 # contributors y: 15 # changes src/oomd/StatsTest.cpp x: 5 # contributors y: 5 # changes src/oomd/plugins/Senpai.cpp x: 5 # contributors y: 24 # changes src/oomd/plugins/Senpai.h x: 4 # contributors y: 17 # changes src/oomd/engine/Engine.cpp x: 7 # contributors y: 9 # changes src/oomd/engine/Engine.h x: 5 # contributors y: 7 # changes src/oomd/engine/PrekillHook.h x: 2 # contributors y: 3 # changes src/oomd/plugins/DumpCgroupOverview.cpp x: 8 # contributors y: 9 # changes src/oomd/OomdContext.cpp x: 6 # contributors y: 16 # changes src/oomd/OomdContext.h x: 4 # contributors y: 11 # changes src/oomd/plugins/KillPgScan-inl.h x: 2 # contributors y: 4 # changes src/oomd/plugins/KillPgScan.h x: 1 # contributors y: 2 # changes src/oomd/config/ConfigCompiler.cpp x: 4 # contributors y: 7 # changes src/oomd/config/ConfigCompiler.h x: 4 # contributors y: 4 # changes src/oomd/config/ConfigTypes.cpp x: 3 # contributors y: 2 # changes src/oomd/include/CgroupPathTest.cpp x: 5 # contributors y: 4 # changes src/oomd/util/Fs.h x: 9 # contributors y: 23 # changes src/oomd/util/FsTest.cpp x: 9 # contributors y: 22 # changes src/oomd/plugins/Exists.cpp x: 7 # contributors y: 6 # changes src/oomd/plugins/KillPressure-inl.h x: 7 # contributors y: 7 # changes src/oomd/plugins/MemoryReclaim.cpp x: 6 # contributors y: 5 # changes src/oomd/engine/Ruleset.cpp x: 5 # contributors y: 9 # changes src/oomd/CgroupContext.cpp x: 4 # contributors y: 14 # changes src/oomd/Main.cpp x: 9 # contributors y: 10 # changes src/oomd/dropin/FsDropInService.h x: 1 # contributors y: 1 # changes src/oomd/plugins/KillMemoryGrowth.h x: 4 # contributors y: 5 # changes src/oomd/config/JsonConfigParser.h x: 2 # contributors y: 1 # changes
34.0
# changes
  min: 1.0
  average: 5.62
  25th percentile: 2.0
  median: 4.0
  75th percentile: 7.0
  max: 34.0
0 14.0
# contributors
min: 1.0 | average: 4.11 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 5.0 | max: 14.0