MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / check_pressure

Function check_pressure

src/foundation/mem.c:76–105  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

74/* ── Pressure logging (hysteresis) ────────────────────────────── */
75
76static void check_pressure(size_t rss) {
77 if (g_budget == 0) {
78 return;
79 }
80
81 bool over = rss > g_budget;
82 int was = atomic_load(&g_was_over);
83
84 if (over && !was) {
85 atomic_store(&g_was_over, 1);
86 char rss_mb[CBM_SZ_32];
87 char budget_mb[CBM_SZ_32];
88 char pct_str[CBM_SZ_16];
89 snprintf(rss_mb, sizeof(rss_mb), "%zu", rss / MB_DIVISOR);
90 snprintf(budget_mb, sizeof(budget_mb), "%zu", g_budget / MB_DIVISOR);
91 snprintf(pct_str, sizeof(pct_str), "%zu",
92 g_budget > 0 ? (rss * CBM_PERCENT) / g_budget : 0);
93 cbm_log_warn("mem.pressure.warn", "rss_mb", rss_mb, "budget_mb", budget_mb, "pct", pct_str);
94 } else if (!over && was) {
95 atomic_store(&g_was_over, 0);
96 char rss_mb[CBM_SZ_32];
97 char budget_mb[CBM_SZ_32];
98 char pct_str[CBM_SZ_16];
99 snprintf(rss_mb, sizeof(rss_mb), "%zu", rss / MB_DIVISOR);
100 snprintf(budget_mb, sizeof(budget_mb), "%zu", g_budget / MB_DIVISOR);
101 snprintf(pct_str, sizeof(pct_str), "%zu",
102 g_budget > 0 ? (rss * CBM_PERCENT) / g_budget : 0);
103 cbm_log_info("mem.pressure.ok", "rss_mb", rss_mb, "budget_mb", budget_mb, "pct", pct_str);
104 }
105}
106
107/* ── Public API ────────────────────────────────────────────────── */
108

Callers 1

cbm_mem_over_budgetFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected