@superblocksteam/sdk 2.0.154 → 2.0.155-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/dist/dev-utils/warm-activation-forwarding.d.ts +12 -0
- package/dist/dev-utils/warm-activation-forwarding.d.ts.map +1 -0
- package/dist/dev-utils/warm-activation-forwarding.js +17 -0
- package/dist/dev-utils/warm-activation-forwarding.js.map +1 -0
- package/dist/dev-utils/warm-activation-forwarding.test.d.ts +2 -0
- package/dist/dev-utils/warm-activation-forwarding.test.d.ts.map +1 -0
- package/dist/dev-utils/warm-activation-forwarding.test.js +34 -0
- package/dist/dev-utils/warm-activation-forwarding.test.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/telemetry/memory-metrics.d.ts +28 -3
- package/dist/telemetry/memory-metrics.d.ts.map +1 -1
- package/dist/telemetry/memory-metrics.js +51 -15
- package/dist/telemetry/memory-metrics.js.map +1 -1
- package/dist/telemetry/memory-metrics.test.js +169 -22
- package/dist/telemetry/memory-metrics.test.js.map +1 -1
- package/package.json +6 -6
- package/src/dev-utils/warm-activation-forwarding.test.ts +48 -0
- package/src/dev-utils/warm-activation-forwarding.ts +29 -0
- package/src/index.ts +5 -0
- package/src/telemetry/memory-metrics.test.ts +217 -22
- package/src/telemetry/memory-metrics.ts +84 -19
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-metrics.test.js","sourceRoot":"","sources":["../../src/telemetry/memory-metrics.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-metrics.test.js","sourceRoot":"","sources":["../../src/telemetry/memory-metrics.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superblocksteam/sdk",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.155-next.1",
|
|
4
4
|
"description": "Superblocks JS SDK",
|
|
5
5
|
"homepage": "https://www.superblocks.com",
|
|
6
6
|
"license": "Superblocks Community Software License",
|
|
@@ -57,11 +57,11 @@
|
|
|
57
57
|
"vite-tsconfig-paths": "^6.0.4",
|
|
58
58
|
"winston": "^3.17.0",
|
|
59
59
|
"yaml": "^2.7.1",
|
|
60
|
-
"@superblocksteam/shared": "0.
|
|
61
|
-
"@superblocksteam/
|
|
62
|
-
"@superblocksteam/
|
|
63
|
-
"@superblocksteam/
|
|
64
|
-
"@superblocksteam/vite-plugin-file-sync": "2.0.
|
|
60
|
+
"@superblocksteam/shared": "0.9608.1",
|
|
61
|
+
"@superblocksteam/library-shared": "2.0.155-next.1",
|
|
62
|
+
"@superblocksteam/util": "2.0.155-next.1",
|
|
63
|
+
"@superblocksteam/telemetry": "2.0.155-next.1",
|
|
64
|
+
"@superblocksteam/vite-plugin-file-sync": "2.0.155-next.1"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@eslint/js": "^9.39.2",
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
|
|
3
|
+
import { applyWarmActivationForwardingEnv } from "./warm-activation-forwarding.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A warm pod is built before any live edit claims it, so it boots with
|
|
7
|
+
* placeholder identity. Activation is the only moment SABS can tell it which
|
|
8
|
+
* live edit it now serves and where to forward that live edit's events; a
|
|
9
|
+
* cold-start pod is handed the same two values as environment at creation.
|
|
10
|
+
*/
|
|
11
|
+
describe("warm activation forwarding config", () => {
|
|
12
|
+
it("tells the dev server which live edit it is now serving", () => {
|
|
13
|
+
const environment: NodeJS.ProcessEnv = {};
|
|
14
|
+
|
|
15
|
+
applyWarmActivationForwardingEnv(
|
|
16
|
+
{ liveEditId: "le-42", sabsBaseUrl: "http://sabs.sabs.svc:8080" },
|
|
17
|
+
environment,
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
expect(environment.LIVE_EDIT_ID).toBe("le-42");
|
|
21
|
+
expect(environment.SUPERBLOCKS_SABS_BASE_URL).toBe(
|
|
22
|
+
"http://sabs.sabs.svc:8080",
|
|
23
|
+
);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it("leaves forwarding off when the deployment does not run the push channel", () => {
|
|
27
|
+
const environment: NodeJS.ProcessEnv = {};
|
|
28
|
+
|
|
29
|
+
applyWarmActivationForwardingEnv({ liveEditId: "le-42" }, environment);
|
|
30
|
+
|
|
31
|
+
expect(environment.LIVE_EDIT_ID).toBe("le-42");
|
|
32
|
+
expect(environment.SUPERBLOCKS_SABS_BASE_URL).toBeUndefined();
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it("clears a previous pod's identity rather than forwarding under it", () => {
|
|
36
|
+
// Belt and braces: a warm entrypoint that seeded a placeholder must not
|
|
37
|
+
// leave it behind for the live edit that actually claimed the pod.
|
|
38
|
+
const environment: NodeJS.ProcessEnv = {
|
|
39
|
+
LIVE_EDIT_ID: "stale-le",
|
|
40
|
+
SUPERBLOCKS_SABS_BASE_URL: "http://stale.svc:8080",
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
applyWarmActivationForwardingEnv({}, environment);
|
|
44
|
+
|
|
45
|
+
expect(environment.LIVE_EDIT_ID).toBeUndefined();
|
|
46
|
+
expect(environment.SUPERBLOCKS_SABS_BASE_URL).toBeUndefined();
|
|
47
|
+
});
|
|
48
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The two values a warm pod cannot know before a live edit claims it: which
|
|
3
|
+
* live edit it now serves, and where SABS answers so Clark's events can be
|
|
4
|
+
* forwarded there. Cold-start pods receive both as environment at creation;
|
|
5
|
+
* activation is the warm path's equivalent.
|
|
6
|
+
*/
|
|
7
|
+
export type WarmActivationForwardingConfig = {
|
|
8
|
+
liveEditId?: string;
|
|
9
|
+
sabsBaseUrl?: string;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export function applyWarmActivationForwardingEnv(
|
|
13
|
+
config: WarmActivationForwardingConfig,
|
|
14
|
+
environment: NodeJS.ProcessEnv = process.env,
|
|
15
|
+
): void {
|
|
16
|
+
// Assign or clear, never leave behind: a pod that was seeded with a
|
|
17
|
+
// placeholder must not forward under the previous occupant's identity.
|
|
18
|
+
if (config.liveEditId) {
|
|
19
|
+
environment.LIVE_EDIT_ID = config.liveEditId;
|
|
20
|
+
} else {
|
|
21
|
+
delete environment.LIVE_EDIT_ID;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (config.sabsBaseUrl) {
|
|
25
|
+
environment.SUPERBLOCKS_SABS_BASE_URL = config.sabsBaseUrl;
|
|
26
|
+
} else {
|
|
27
|
+
delete environment.SUPERBLOCKS_SABS_BASE_URL;
|
|
28
|
+
}
|
|
29
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -141,3 +141,8 @@ export {
|
|
|
141
141
|
type StartupTraceCarrier,
|
|
142
142
|
withStartupTraceContext,
|
|
143
143
|
} from "./telemetry/startup-context.js";
|
|
144
|
+
|
|
145
|
+
export {
|
|
146
|
+
applyWarmActivationForwardingEnv,
|
|
147
|
+
type WarmActivationForwardingConfig,
|
|
148
|
+
} from "./dev-utils/warm-activation-forwarding.js";
|
|
@@ -156,26 +156,41 @@ function observeAll() {
|
|
|
156
156
|
return observations;
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
+
/**
|
|
160
|
+
* Reset every piece of shared harness state.
|
|
161
|
+
*
|
|
162
|
+
* Any describe block that calls `startMemoryMetrics` must run this: the batch
|
|
163
|
+
* callback dereferences the mocked `performance.eventLoopUtilization()` result,
|
|
164
|
+
* so a block that leaves `h.elu` unconfigured throws
|
|
165
|
+
* `Cannot read properties of undefined (reading 'utilization')` the moment it
|
|
166
|
+
* observes — an obscure failure unrelated to whatever it was asserting. Sharing
|
|
167
|
+
* one reset keeps blocks independent of declaration order, `.only`, and
|
|
168
|
+
* `sequence.shuffle`.
|
|
169
|
+
*/
|
|
170
|
+
function resetHarness() {
|
|
171
|
+
vi.resetModules();
|
|
172
|
+
h.gauges.length = 0;
|
|
173
|
+
h.observableCounters.length = 0;
|
|
174
|
+
h.counters.length = 0;
|
|
175
|
+
h.histograms.length = 0;
|
|
176
|
+
h.throwOnGaugeName = undefined;
|
|
177
|
+
h.delayMonitor.enable.mockClear();
|
|
178
|
+
h.delayMonitor.disable.mockClear();
|
|
179
|
+
h.delayMonitor.reset.mockClear();
|
|
180
|
+
h.delayMonitor.percentile.mockClear();
|
|
181
|
+
h.gcCallback = undefined;
|
|
182
|
+
h.elu.mockReset();
|
|
183
|
+
h.elu
|
|
184
|
+
.mockReturnValueOnce({ idle: 0, active: 0, utilization: 0 })
|
|
185
|
+
.mockReturnValueOnce({ idle: 25, active: 75, utilization: 0.75 })
|
|
186
|
+
.mockReturnValue({ idle: 100, active: 200, utilization: 0.67 });
|
|
187
|
+
h.addBatchObservableCallback.mockClear();
|
|
188
|
+
h.removeBatchObservableCallback.mockClear();
|
|
189
|
+
}
|
|
190
|
+
|
|
159
191
|
describe("memory metrics", () => {
|
|
160
|
-
beforeEach(
|
|
161
|
-
|
|
162
|
-
h.gauges.length = 0;
|
|
163
|
-
h.observableCounters.length = 0;
|
|
164
|
-
h.counters.length = 0;
|
|
165
|
-
h.histograms.length = 0;
|
|
166
|
-
h.throwOnGaugeName = undefined;
|
|
167
|
-
h.delayMonitor.enable.mockClear();
|
|
168
|
-
h.delayMonitor.disable.mockClear();
|
|
169
|
-
h.delayMonitor.reset.mockClear();
|
|
170
|
-
h.delayMonitor.percentile.mockClear();
|
|
171
|
-
h.gcCallback = undefined;
|
|
172
|
-
h.elu.mockReset();
|
|
173
|
-
h.elu
|
|
174
|
-
.mockReturnValueOnce({ idle: 0, active: 0, utilization: 0 })
|
|
175
|
-
.mockReturnValueOnce({ idle: 25, active: 75, utilization: 0.75 })
|
|
176
|
-
.mockReturnValue({ idle: 100, active: 200, utilization: 0.67 });
|
|
177
|
-
h.addBatchObservableCallback.mockClear();
|
|
178
|
-
h.removeBatchObservableCallback.mockClear();
|
|
192
|
+
beforeEach(() => {
|
|
193
|
+
resetHarness();
|
|
179
194
|
});
|
|
180
195
|
|
|
181
196
|
it("observes event-loop, V8 heap, and memory-pressure gauges", async () => {
|
|
@@ -321,17 +336,21 @@ describe("readCgroupMemory", () => {
|
|
|
321
336
|
currentBytes: 50,
|
|
322
337
|
limitBytes: 200,
|
|
323
338
|
usageRatio: 0.25,
|
|
339
|
+
limitState: "available",
|
|
324
340
|
});
|
|
325
341
|
});
|
|
326
342
|
|
|
327
|
-
it("returns undefined when cgroup files are absent
|
|
343
|
+
it("returns undefined when cgroup files are absent, and usage alone when unlimited", async () => {
|
|
328
344
|
const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
|
|
329
345
|
const { readCgroupMemory } = await import("./memory-metrics.js");
|
|
330
346
|
|
|
331
347
|
expect(readCgroupMemory(root)).toBeUndefined();
|
|
332
348
|
writeFileSync(path.join(root, "memory.current"), "50\n");
|
|
333
349
|
writeFileSync(path.join(root, "memory.max"), "max\n");
|
|
334
|
-
expect(readCgroupMemory(root)).
|
|
350
|
+
expect(readCgroupMemory(root)).toEqual({
|
|
351
|
+
currentBytes: 50,
|
|
352
|
+
limitState: "unlimited",
|
|
353
|
+
});
|
|
335
354
|
});
|
|
336
355
|
|
|
337
356
|
it("does not combine v2 usage with v1 limits", async () => {
|
|
@@ -344,7 +363,12 @@ describe("readCgroupMemory", () => {
|
|
|
344
363
|
writeFileSync(path.join(memoryRoot, "memory.limit_in_bytes"), "200\n");
|
|
345
364
|
const { readCgroupMemory } = await import("./memory-metrics.js");
|
|
346
365
|
|
|
347
|
-
|
|
366
|
+
// v2 is detected, so the v1 limit of 200 must not be adopted: the result
|
|
367
|
+
// carries the v2 usage of 50 and no limit at all.
|
|
368
|
+
expect(readCgroupMemory(root)).toEqual({
|
|
369
|
+
currentBytes: 50,
|
|
370
|
+
limitState: "unlimited",
|
|
371
|
+
});
|
|
348
372
|
});
|
|
349
373
|
|
|
350
374
|
it("treats cgroup v1 sentinel limits as unlimited", async () => {
|
|
@@ -358,6 +382,177 @@ describe("readCgroupMemory", () => {
|
|
|
358
382
|
);
|
|
359
383
|
const { readCgroupMemory } = await import("./memory-metrics.js");
|
|
360
384
|
|
|
385
|
+
expect(readCgroupMemory(root)).toEqual({
|
|
386
|
+
currentBytes: 50,
|
|
387
|
+
limitState: "unlimited",
|
|
388
|
+
});
|
|
389
|
+
});
|
|
390
|
+
});
|
|
391
|
+
|
|
392
|
+
describe("readCgroupMemory without a readable limit", () => {
|
|
393
|
+
beforeEach(() => {
|
|
394
|
+
vi.resetModules();
|
|
395
|
+
});
|
|
396
|
+
|
|
397
|
+
it("still reports current usage when the v1 limit is the unlimited sentinel", async () => {
|
|
398
|
+
const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
|
|
399
|
+
const memoryRoot = path.join(root, "memory");
|
|
400
|
+
mkdirSync(memoryRoot);
|
|
401
|
+
writeFileSync(path.join(memoryRoot, "memory.usage_in_bytes"), "50\n");
|
|
402
|
+
writeFileSync(
|
|
403
|
+
path.join(memoryRoot, "memory.limit_in_bytes"),
|
|
404
|
+
"9223372036854775807\n",
|
|
405
|
+
);
|
|
406
|
+
const { readCgroupMemory } = await import("./memory-metrics.js");
|
|
407
|
+
|
|
408
|
+
const cgroup = readCgroupMemory(root);
|
|
409
|
+
expect(cgroup?.currentBytes).toBe(50);
|
|
410
|
+
expect(cgroup?.limitBytes).toBeUndefined();
|
|
411
|
+
expect(cgroup?.usageRatio).toBeUndefined();
|
|
412
|
+
});
|
|
413
|
+
|
|
414
|
+
it("still reports current usage when the v2 limit is max", async () => {
|
|
415
|
+
const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
|
|
416
|
+
writeFileSync(path.join(root, "memory.current"), "50\n");
|
|
417
|
+
writeFileSync(path.join(root, "memory.max"), "max\n");
|
|
418
|
+
const { readCgroupMemory } = await import("./memory-metrics.js");
|
|
419
|
+
|
|
420
|
+
const cgroup = readCgroupMemory(root);
|
|
421
|
+
expect(cgroup?.currentBytes).toBe(50);
|
|
422
|
+
expect(cgroup?.limitBytes).toBeUndefined();
|
|
423
|
+
});
|
|
424
|
+
|
|
425
|
+
it("returns undefined when current usage itself is unreadable", async () => {
|
|
426
|
+
const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
|
|
427
|
+
writeFileSync(path.join(root, "memory.max"), "200\n");
|
|
428
|
+
const { readCgroupMemory } = await import("./memory-metrics.js");
|
|
429
|
+
|
|
361
430
|
expect(readCgroupMemory(root)).toBeUndefined();
|
|
362
431
|
});
|
|
363
432
|
});
|
|
433
|
+
|
|
434
|
+
describe("cgroup limit state", () => {
|
|
435
|
+
beforeEach(() => {
|
|
436
|
+
vi.resetModules();
|
|
437
|
+
});
|
|
438
|
+
|
|
439
|
+
it("reports an unlimited cgroup distinctly from an unreadable limit", async () => {
|
|
440
|
+
const unlimited = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
|
|
441
|
+
writeFileSync(path.join(unlimited, "memory.current"), "50\n");
|
|
442
|
+
writeFileSync(path.join(unlimited, "memory.max"), "max\n");
|
|
443
|
+
|
|
444
|
+
// memory.current is readable, memory.max is absent: the limit read fails
|
|
445
|
+
// rather than reporting "no limit", and the two must not look alike.
|
|
446
|
+
const unreadable = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
|
|
447
|
+
writeFileSync(path.join(unreadable, "memory.current"), "50\n");
|
|
448
|
+
|
|
449
|
+
const { readCgroupMemory } = await import("./memory-metrics.js");
|
|
450
|
+
|
|
451
|
+
expect(readCgroupMemory(unlimited)?.limitState).toBe("unlimited");
|
|
452
|
+
expect(readCgroupMemory(unreadable)?.limitState).toBe("unreadable");
|
|
453
|
+
});
|
|
454
|
+
|
|
455
|
+
it("reports the v1 unlimited sentinel as unlimited, not unreadable", async () => {
|
|
456
|
+
const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
|
|
457
|
+
const memoryRoot = path.join(root, "memory");
|
|
458
|
+
mkdirSync(memoryRoot);
|
|
459
|
+
writeFileSync(path.join(memoryRoot, "memory.usage_in_bytes"), "50\n");
|
|
460
|
+
writeFileSync(
|
|
461
|
+
path.join(memoryRoot, "memory.limit_in_bytes"),
|
|
462
|
+
"9223372036854775807\n",
|
|
463
|
+
);
|
|
464
|
+
const { readCgroupMemory } = await import("./memory-metrics.js");
|
|
465
|
+
|
|
466
|
+
expect(readCgroupMemory(root)?.limitState).toBe("unlimited");
|
|
467
|
+
});
|
|
468
|
+
|
|
469
|
+
it("reports a readable limit as available", async () => {
|
|
470
|
+
const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
|
|
471
|
+
writeFileSync(path.join(root, "memory.current"), "50\n");
|
|
472
|
+
writeFileSync(path.join(root, "memory.max"), "200\n");
|
|
473
|
+
const { readCgroupMemory } = await import("./memory-metrics.js");
|
|
474
|
+
|
|
475
|
+
expect(readCgroupMemory(root)?.limitState).toBe("available");
|
|
476
|
+
});
|
|
477
|
+
});
|
|
478
|
+
|
|
479
|
+
describe("cgroup gauge emission", () => {
|
|
480
|
+
beforeEach(() => {
|
|
481
|
+
resetHarness();
|
|
482
|
+
});
|
|
483
|
+
|
|
484
|
+
it("emits current usage but omits limit and ratio when the cgroup is unlimited", async () => {
|
|
485
|
+
const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
|
|
486
|
+
writeFileSync(path.join(root, "memory.current"), "2041380864\n");
|
|
487
|
+
writeFileSync(path.join(root, "memory.max"), "max\n");
|
|
488
|
+
const { startMemoryMetrics, stopMemoryMetrics } =
|
|
489
|
+
await import("./memory-metrics.js");
|
|
490
|
+
|
|
491
|
+
startMemoryMetrics({ cgroupRoot: root });
|
|
492
|
+
const observations = observeAll();
|
|
493
|
+
stopMemoryMetrics();
|
|
494
|
+
|
|
495
|
+
const names = observations.map((o) => o.name);
|
|
496
|
+
expect(names).toContain("nodejs.memory.cgroup_current_bytes");
|
|
497
|
+
expect(names).not.toContain("nodejs.memory.cgroup_limit_bytes");
|
|
498
|
+
expect(names).not.toContain("nodejs.memory.cgroup_usage_ratio");
|
|
499
|
+
expect(
|
|
500
|
+
observations.find((o) => o.name === "nodejs.memory.cgroup_current_bytes")
|
|
501
|
+
?.value,
|
|
502
|
+
).toBe(2041380864);
|
|
503
|
+
});
|
|
504
|
+
|
|
505
|
+
it("emits all three gauges when the cgroup limit is readable", async () => {
|
|
506
|
+
const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
|
|
507
|
+
writeFileSync(path.join(root, "memory.current"), "50\n");
|
|
508
|
+
writeFileSync(path.join(root, "memory.max"), "200\n");
|
|
509
|
+
const { startMemoryMetrics, stopMemoryMetrics } =
|
|
510
|
+
await import("./memory-metrics.js");
|
|
511
|
+
|
|
512
|
+
startMemoryMetrics({ cgroupRoot: root });
|
|
513
|
+
const observations = observeAll();
|
|
514
|
+
stopMemoryMetrics();
|
|
515
|
+
|
|
516
|
+
const names = observations.map((o) => o.name);
|
|
517
|
+
expect(names).toContain("nodejs.memory.cgroup_current_bytes");
|
|
518
|
+
expect(names).toContain("nodejs.memory.cgroup_limit_bytes");
|
|
519
|
+
expect(
|
|
520
|
+
observations.find((o) => o.name === "nodejs.memory.cgroup_usage_ratio")
|
|
521
|
+
?.value,
|
|
522
|
+
).toBe(0.25);
|
|
523
|
+
});
|
|
524
|
+
|
|
525
|
+
it("labels current usage with the limit state so the no-limit case is filterable", async () => {
|
|
526
|
+
const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
|
|
527
|
+
writeFileSync(path.join(root, "memory.current"), "2041380864\n");
|
|
528
|
+
writeFileSync(path.join(root, "memory.max"), "max\n");
|
|
529
|
+
const { startMemoryMetrics, stopMemoryMetrics } =
|
|
530
|
+
await import("./memory-metrics.js");
|
|
531
|
+
|
|
532
|
+
startMemoryMetrics({ cgroupRoot: root });
|
|
533
|
+
const observations = observeAll();
|
|
534
|
+
stopMemoryMetrics();
|
|
535
|
+
|
|
536
|
+
expect(
|
|
537
|
+
observations.find((o) => o.name === "nodejs.memory.cgroup_current_bytes")
|
|
538
|
+
?.attrs,
|
|
539
|
+
).toEqual({ "cgroup.limit_state": "unlimited" });
|
|
540
|
+
});
|
|
541
|
+
|
|
542
|
+
it("labels current usage as available when a real limit is present", async () => {
|
|
543
|
+
const root = mkdtempSync(path.join(tmpdir(), "sb-cgroup-"));
|
|
544
|
+
writeFileSync(path.join(root, "memory.current"), "50\n");
|
|
545
|
+
writeFileSync(path.join(root, "memory.max"), "200\n");
|
|
546
|
+
const { startMemoryMetrics, stopMemoryMetrics } =
|
|
547
|
+
await import("./memory-metrics.js");
|
|
548
|
+
|
|
549
|
+
startMemoryMetrics({ cgroupRoot: root });
|
|
550
|
+
const observations = observeAll();
|
|
551
|
+
stopMemoryMetrics();
|
|
552
|
+
|
|
553
|
+
expect(
|
|
554
|
+
observations.find((o) => o.name === "nodejs.memory.cgroup_current_bytes")
|
|
555
|
+
?.attrs,
|
|
556
|
+
).toEqual({ "cgroup.limit_state": "available" });
|
|
557
|
+
});
|
|
558
|
+
});
|
|
@@ -14,10 +14,29 @@ import { getMeter } from "./index.js";
|
|
|
14
14
|
|
|
15
15
|
let cleanupFn: (() => void) | undefined;
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Why a limit did or did not accompany a usage reading.
|
|
19
|
+
*
|
|
20
|
+
* available A finite positive limit was read; `limitBytes` is set.
|
|
21
|
+
* unlimited The cgroup reports no limit: v2 `max`, or v1's 2^63-1 sentinel
|
|
22
|
+
* (which gVisor sandboxes always report, because the real limit
|
|
23
|
+
* is enforced on the host cgroup outside the sandbox).
|
|
24
|
+
* unreadable The limit file could not be read at all.
|
|
25
|
+
*
|
|
26
|
+
* The last two both omit `limitBytes`, so without this they are indistinguishable
|
|
27
|
+
* to a consumer -- an unreadable limit is a genuine fault worth alerting on,
|
|
28
|
+
* while an unlimited one is the normal steady state under gVisor.
|
|
29
|
+
*/
|
|
30
|
+
type CgroupLimitState = "available" | "unlimited" | "unreadable";
|
|
31
|
+
|
|
17
32
|
interface CgroupMemory {
|
|
18
33
|
currentBytes: number;
|
|
19
|
-
|
|
20
|
-
|
|
34
|
+
/** Set only when `limitState` is `available`. */
|
|
35
|
+
limitBytes?: number;
|
|
36
|
+
/** Absent whenever `limitBytes` is, since it is derived from it. */
|
|
37
|
+
usageRatio?: number;
|
|
38
|
+
/** Always set; see {@link CgroupLimitState}. */
|
|
39
|
+
limitState: CgroupLimitState;
|
|
21
40
|
}
|
|
22
41
|
|
|
23
42
|
interface CgroupNumber {
|
|
@@ -25,6 +44,14 @@ interface CgroupNumber {
|
|
|
25
44
|
value?: number;
|
|
26
45
|
}
|
|
27
46
|
|
|
47
|
+
export interface MemoryMetricsOptions {
|
|
48
|
+
/**
|
|
49
|
+
* Cgroup filesystem root to read from. Defaults to the real `/sys/fs/cgroup`;
|
|
50
|
+
* overridden only by tests, which point it at a fixture directory.
|
|
51
|
+
*/
|
|
52
|
+
cgroupRoot?: string;
|
|
53
|
+
}
|
|
54
|
+
|
|
28
55
|
interface GcPerformanceEntry {
|
|
29
56
|
duration: number;
|
|
30
57
|
kind?: number;
|
|
@@ -36,6 +63,12 @@ interface GcPerformanceEntry {
|
|
|
36
63
|
const NS_PER_MS = 1_000_000;
|
|
37
64
|
const US_PER_SECOND = 1_000_000;
|
|
38
65
|
|
|
66
|
+
/**
|
|
67
|
+
* Attribute on `nodejs.memory.cgroup_current_bytes` recording whether a limit
|
|
68
|
+
* accompanied the reading. Bounded to the three {@link CgroupLimitState} values.
|
|
69
|
+
*/
|
|
70
|
+
const ATTR_CGROUP_LIMIT_STATE = "cgroup.limit_state";
|
|
71
|
+
|
|
39
72
|
function finiteNonNegative(value: number): number {
|
|
40
73
|
return Number.isFinite(value) && value > 0 ? value : 0;
|
|
41
74
|
}
|
|
@@ -80,25 +113,40 @@ export function readCgroupMemory(
|
|
|
80
113
|
const v2Current = readCgroupNumber(`${root}/memory.current`);
|
|
81
114
|
const v2Limit = readCgroupNumber(`${root}/memory.max`);
|
|
82
115
|
const usesCgroupV2 = v2Current.exists || v2Limit.exists;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const
|
|
87
|
-
?
|
|
88
|
-
: readCgroupNumber(`${root}/memory/memory.
|
|
116
|
+
// Keep the whole CgroupNumber, not just its value: `exists` is what separates
|
|
117
|
+
// a cgroup that reports no limit from one whose limit file could not be read,
|
|
118
|
+
// and both arrive here with `value === undefined`.
|
|
119
|
+
const current = usesCgroupV2
|
|
120
|
+
? v2Current
|
|
121
|
+
: readCgroupNumber(`${root}/memory/memory.usage_in_bytes`);
|
|
122
|
+
const limit = usesCgroupV2
|
|
123
|
+
? v2Limit
|
|
124
|
+
: readCgroupNumber(`${root}/memory/memory.limit_in_bytes`);
|
|
125
|
+
const currentBytes = current.value;
|
|
126
|
+
const limitBytes = limit.value;
|
|
89
127
|
|
|
90
|
-
if (
|
|
91
|
-
currentBytes === undefined ||
|
|
92
|
-
limitBytes === undefined ||
|
|
93
|
-
limitBytes <= 0
|
|
94
|
-
) {
|
|
128
|
+
if (currentBytes === undefined) {
|
|
95
129
|
return undefined;
|
|
96
130
|
}
|
|
97
131
|
|
|
132
|
+
// Current usage stands on its own as a measurement. A container routinely
|
|
133
|
+
// reads its own usage while the limit is absent or unlimited: gVisor
|
|
134
|
+
// sandboxes expose cgroup v1 with `memory.limit_in_bytes` at the unlimited
|
|
135
|
+
// sentinel (2^63-1), because the real limit is enforced on the host cgroup
|
|
136
|
+
// outside the sandbox. Returning undefined here would discard a readable
|
|
137
|
+
// usage value and leave every such pod with no cgroup telemetry at all.
|
|
138
|
+
if (limitBytes === undefined || limitBytes <= 0) {
|
|
139
|
+
return {
|
|
140
|
+
currentBytes,
|
|
141
|
+
limitState: limit.exists ? "unlimited" : "unreadable",
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
|
|
98
145
|
return {
|
|
99
146
|
currentBytes,
|
|
100
147
|
limitBytes,
|
|
101
148
|
usageRatio: ratio(currentBytes, limitBytes),
|
|
149
|
+
limitState: "available",
|
|
102
150
|
};
|
|
103
151
|
}
|
|
104
152
|
|
|
@@ -117,10 +165,11 @@ function gcKind(kind: number | undefined): string {
|
|
|
117
165
|
}
|
|
118
166
|
}
|
|
119
167
|
|
|
120
|
-
export function startMemoryMetrics(): void {
|
|
168
|
+
export function startMemoryMetrics(options: MemoryMetricsOptions = {}): void {
|
|
121
169
|
if (cleanupFn) {
|
|
122
170
|
return;
|
|
123
171
|
}
|
|
172
|
+
const cgroupRoot = options.cgroupRoot;
|
|
124
173
|
|
|
125
174
|
const meter = getMeter();
|
|
126
175
|
const eventLoopDelay = monitorEventLoopDelay({ resolution: 20 });
|
|
@@ -269,7 +318,7 @@ export function startMemoryMetrics(): void {
|
|
|
269
318
|
try {
|
|
270
319
|
const mem = process.memoryUsage();
|
|
271
320
|
const heap = getHeapStatistics();
|
|
272
|
-
const cgroup = readCgroupMemory();
|
|
321
|
+
const cgroup = readCgroupMemory(cgroupRoot);
|
|
273
322
|
const elu = performance.eventLoopUtilization(
|
|
274
323
|
previousEventLoopUtilization,
|
|
275
324
|
);
|
|
@@ -286,11 +335,27 @@ export function startMemoryMetrics(): void {
|
|
|
286
335
|
heapUsedRatioGauge,
|
|
287
336
|
ratio(mem.heapUsed, heap.heap_size_limit),
|
|
288
337
|
);
|
|
289
|
-
//
|
|
338
|
+
// Current usage is emitted whenever the cgroup is readable at all; the
|
|
339
|
+
// limit and its derived ratio are omitted when no usable limit could be
|
|
340
|
+
// determined. Neither may suppress current usage.
|
|
341
|
+
//
|
|
342
|
+
// This makes "current present, limit absent" a normal steady state
|
|
343
|
+
// rather than the impossible one it was before, and under gVisor it is
|
|
344
|
+
// the permanent shape. So the absence of a limit series is NOT a
|
|
345
|
+
// telemetry-failure signal, and `cgroup.limit_state` carries the reason
|
|
346
|
+
// on the usage gauge itself rather than leaving consumers to infer it
|
|
347
|
+
// from a missing series. Three bounded values; see CgroupLimitState.
|
|
290
348
|
if (cgroup) {
|
|
291
|
-
result.observe(cgroupCurrentGauge, cgroup.currentBytes
|
|
292
|
-
|
|
293
|
-
|
|
349
|
+
result.observe(cgroupCurrentGauge, cgroup.currentBytes, {
|
|
350
|
+
[ATTR_CGROUP_LIMIT_STATE]: cgroup.limitState,
|
|
351
|
+
});
|
|
352
|
+
if (
|
|
353
|
+
cgroup.limitBytes !== undefined &&
|
|
354
|
+
cgroup.usageRatio !== undefined
|
|
355
|
+
) {
|
|
356
|
+
result.observe(cgroupLimitGauge, cgroup.limitBytes);
|
|
357
|
+
result.observe(cgroupUsageRatioGauge, cgroup.usageRatio);
|
|
358
|
+
}
|
|
294
359
|
}
|
|
295
360
|
result.observe(eventLoopDelayMeanGauge, nsToMs(eventLoopDelay.mean));
|
|
296
361
|
result.observe(eventLoopDelayMaxGauge, nsToMs(eventLoopDelay.max));
|