@telora/daemon 0.24.38 → 0.24.39
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/build-info.json +2 -2
- package/dist/composition/focus-activity-live-sources.d.ts.map +1 -1
- package/dist/composition/focus-activity-live-sources.js +1 -0
- package/dist/composition/focus-activity-live-sources.js.map +1 -1
- package/dist/composition/runtime-heartbeat-context.d.ts +11 -0
- package/dist/composition/runtime-heartbeat-context.d.ts.map +1 -1
- package/dist/composition/runtime-heartbeat-context.js +20 -2
- package/dist/composition/runtime-heartbeat-context.js.map +1 -1
- package/dist/composition/team-liveness-phase-sources.d.ts.map +1 -1
- package/dist/composition/team-liveness-phase-sources.js +1 -0
- package/dist/composition/team-liveness-phase-sources.js.map +1 -1
- package/dist/focus/heartbeat-metadata.d.ts +3 -0
- package/dist/focus/heartbeat-metadata.d.ts.map +1 -1
- package/dist/focus/heartbeat-metadata.js +5 -0
- package/dist/focus/heartbeat-metadata.js.map +1 -1
- package/dist/focus/heartbeat.d.ts.map +1 -1
- package/dist/focus/heartbeat.js +2 -1
- package/dist/focus/heartbeat.js.map +1 -1
- package/dist/focus/host-cpu.d.ts +87 -0
- package/dist/focus/host-cpu.d.ts.map +1 -0
- package/dist/focus/host-cpu.js +118 -0
- package/dist/focus/host-cpu.js.map +1 -0
- package/dist/queries/sessions/daemon-connection.d.ts.map +1 -1
- package/dist/queries/sessions/daemon-connection.js +1 -0
- package/dist/queries/sessions/daemon-connection.js.map +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/package.json +1 -1
package/build-info.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"commitSha": "
|
|
3
|
-
"builtAt": "2026-10-
|
|
2
|
+
"commitSha": "3b25cd912",
|
|
3
|
+
"builtAt": "2026-10-24T18:26:54.179Z",
|
|
4
4
|
"expectedMigrations": [
|
|
5
5
|
"20250829113330_create_org_nodes_table.sql",
|
|
6
6
|
"20250829113402_fix_function_security_search_path.sql",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-activity-live-sources.d.ts","sourceRoot":"","sources":["../../src/composition/focus-activity-live-sources.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"focus-activity-live-sources.d.ts","sourceRoot":"","sources":["../../src/composition/focus-activity-live-sources.ts"],"names":[],"mappings":"AA4CA,OAAO,EAGL,KAAK,oBAAoB,EAG1B,MAAM,oCAAoC,CAAC;AAiC5C,wFAAwF;AACxF,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAgB1E"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
// packages/daemon/src/focus/heartbeat-completion-merge.test.ts,
|
|
7
7
|
// packages/daemon/src/focus/heartbeat-draining-status.test.ts,
|
|
8
8
|
// packages/daemon/src/focus/heartbeat-focus-activity.test.ts,
|
|
9
|
+
// packages/daemon/src/focus/heartbeat-host-cpu.test.ts,
|
|
9
10
|
// packages/daemon/src/focus/heartbeat-host-load.test.ts,
|
|
10
11
|
// packages/daemon/src/focus/heartbeat-host-pressure.test.ts,
|
|
11
12
|
// packages/daemon/src/focus/heartbeat-shutdown-guard.test.ts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-activity-live-sources.js","sourceRoot":"","sources":["../../src/composition/focus-activity-live-sources.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"focus-activity-live-sources.js","sourceRoot":"","sources":["../../src/composition/focus-activity-live-sources.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8EAA8E;AAC9E,qEAAqE;AACrE,6DAA6D;AAC7D,iEAAiE;AACjE,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,0DAA0D;AAC1D,2DAA2D;AAC3D,+DAA+D;AAC/D,gEAAgE;AAChE,sEAAsE;AACtE,uEAAuE;AACvE,6DAA6D;AAC7D,uEAAuE;AACvE,gBAAgB;AAEhB;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EACL,gBAAgB,GAKjB,MAAM,oCAAoC,CAAC;AAE5C,4GAA4G;AAC5G,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,CAAC,GAAG,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO;QACP,WAAW,EAAE,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QAChE,SAAS,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;QACrC,gBAAgB,EAAE,kBAAkB,CAAC,IAAI,CAAC;QAC1C,YAAY,EAAE,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC;QAC3C,UAAU,EAAE,IAAI,CAAC,iBAAiB,IAAI,IAAI;QAC1C,SAAS,EAAE,IAAI,CAAC,wBAAwB,KAAK,IAAI;KAClD,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,uBAAuB,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnD,MAAM,SAAS,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iHAAiH;AACjH,SAAS,oBAAoB;IAC3B,OAAO,uBAAuB,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/C,GAAG,KAAK;QACR,gBAAgB,EAAE,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;KAClI,CAAC,CAAC,CAAC;AACN,CAAC;AAED,sEAAsE;AACtE,MAAM,aAAa,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAE7C,wFAAwF;AACxF,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,OAAO;QACL,GAAG;QACH,QAAQ,EAAE,eAAe,EAAE;QAC3B,kBAAkB,EAAE,uBAAuB;QAC3C,kBAAkB,EAAE,qBAAqB;QACzC,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC;QACzB,YAAY,EAAE,uBAAuB,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QACnH,aAAa,EAAE,iBAAiB,EAAE;QAClC,WAAW,EAAE,kBAAkB,EAAE;QACjC,mBAAmB,EAAE,2BAA2B,EAAE;QAClD,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC;QACtE,aAAa,EAAE,mBAAmB,EAAE;QACpC,gBAAgB,EAAE,oBAAoB,EAAE;QACxC,SAAS,EAAE,aAAa;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { type HeartbeatContext } from '../focus/heartbeat.js';
|
|
|
3
3
|
import { type ComputeBranchStatusDeps } from '../focus/branch-status.js';
|
|
4
4
|
import { type MigrationHeldSetProducerDeps } from '../focus/migration-held-set-publish.js';
|
|
5
5
|
import { type HostPsiReading } from '../focus/host-pressure.js';
|
|
6
|
+
import { type CpuTimes, type HostCpuField } from '../focus/host-cpu.js';
|
|
6
7
|
/** Where Linux publishes PSI. The production reader reads here unless told otherwise. */
|
|
7
8
|
export declare const PROC_PRESSURE_DIR = "/proc/pressure";
|
|
8
9
|
/**
|
|
@@ -11,6 +12,16 @@ export declare const PROC_PRESSURE_DIR = "/proc/pressure";
|
|
|
11
12
|
* exact reader -- the one the heartbeat context binds -- over fixture files.
|
|
12
13
|
*/
|
|
13
14
|
export declare function readProductionHostPressure(pressureDir?: string): HostPsiReading | null;
|
|
15
|
+
/** Where Linux publishes its cumulative CPU time counters. */
|
|
16
|
+
export declare const PROC_STAT_PATH = "/proc/stat";
|
|
17
|
+
/**
|
|
18
|
+
* The host's CPU time counters off `procStatPath` (/proc/stat in production),
|
|
19
|
+
* else node:os cpus() when that file cannot be read. The path is a parameter so a
|
|
20
|
+
* test can drive this exact reader over a fixture file, or force the fallback.
|
|
21
|
+
*/
|
|
22
|
+
export declare function readProductionHostCpuTimes(procStatPath?: string): CpuTimes | null;
|
|
23
|
+
/** A hostCpu producer over the production counters: one per heartbeat context, holding its previous reading. */
|
|
24
|
+
export declare function createProductionHostCpuProducer(): () => HostCpuField | null;
|
|
14
25
|
/** The host's logical CPU count; 0 (published as no count) when it cannot be read. */
|
|
15
26
|
export declare function readProductionHostCores(): number;
|
|
16
27
|
/** computeBranchStatus's git/state reads and health-event signal. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-heartbeat-context.d.ts","sourceRoot":"","sources":["../../src/composition/runtime-heartbeat-context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime-heartbeat-context.d.ts","sourceRoot":"","sources":["../../src/composition/runtime-heartbeat-context.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAQrF,OAAO,EAAuB,KAAK,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,wCAAwC,CAAC;AAOhD,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAA2C,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAKjH,yFAAyF;AACzF,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,GAAE,MAA0B,GAAG,cAAc,GAAG,IAAI,CAEzG;AAED,8DAA8D;AAC9D,eAAO,MAAM,cAAc,eAAe,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,GAAE,MAAuB,GAAG,QAAQ,GAAG,IAAI,CAEjG;AAED,gHAAgH;AAChH,wBAAgB,+BAA+B,IAAI,MAAM,YAAY,GAAG,IAAI,CAE3E;AAED,sFAAsF;AACtF,wBAAgB,uBAAuB,IAAI,MAAM,CAMhD;AAED,qEAAqE;AACrE,wBAAgB,qBAAqB,IAAI,uBAAuB,CAQ/D;AAED,+FAA+F;AAC/F,wBAAgB,qBAAqB,CACnC,wBAAwB,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,4BAA4B,GAC/E,gBAAgB,CA0BlB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by: packages/daemon/src/focus/heartbeat-host-
|
|
2
|
+
// Pinned by: packages/daemon/src/focus/heartbeat-host-cpu.test.ts,
|
|
3
|
+
// packages/daemon/src/focus/heartbeat-host-load.test.ts,
|
|
3
4
|
// packages/daemon/src/focus/heartbeat-host-pressure.test.ts,
|
|
4
5
|
// packages/daemon/src/focus/heartbeat-mcp-version.test.ts,
|
|
5
6
|
// packages/daemon/src/focus/heartbeat-migration-held-set.test.ts,
|
|
@@ -11,6 +12,7 @@
|
|
|
11
12
|
* probe, the per-product branch status over real git and the live worktree /
|
|
12
13
|
* team registries, the focus activity record's live sources, the per-product migration held set, the executed-MCP
|
|
13
14
|
* version read, the host's load averages (node:os), core count and PSI pressure (/proc/pressure),
|
|
15
|
+
* its CPU utilization since the previous beat (/proc/stat, else node:os cpus()),
|
|
14
16
|
* and the workstation capacity close a graceful stop writes before its disconnect.
|
|
15
17
|
*
|
|
16
18
|
* Part of the daemon composition root (runtime contexts, member `heartbeat`).
|
|
@@ -24,7 +26,7 @@ import { liveTeamLivenessPhaseSources } from './team-liveness-phase-sources.js';
|
|
|
24
26
|
import { liveFocusActivitySources } from './focus-activity-live-sources.js';
|
|
25
27
|
import { readFileSync } from 'node:fs';
|
|
26
28
|
import { join } from 'node:path';
|
|
27
|
-
import { loadavg } from 'node:os';
|
|
29
|
+
import { cpus, loadavg } from 'node:os';
|
|
28
30
|
import { healthEvents } from '@telora/daemon-core';
|
|
29
31
|
import { HEARTBEAT_INTERVAL_MS } from '../focus/heartbeat.js';
|
|
30
32
|
import { sendHeartbeat, sendDisconnect } from '../queries/sessions/daemon-connection.js';
|
|
@@ -39,6 +41,7 @@ import { getActiveTeams } from '../daemon-state/focus-team-state.js';
|
|
|
39
41
|
import { buildTowerStatusByProduct } from '../tower/tower-heartbeat-status.js';
|
|
40
42
|
import { PRODUCTION_TOWER_ADMISSION } from './tower-pass-context.js';
|
|
41
43
|
import { readHostPsi } from '../focus/host-pressure.js';
|
|
44
|
+
import { createHostCpuProducer, readHostCpuTimes } from '../focus/host-cpu.js';
|
|
42
45
|
import { readHostCapacity } from '../config/session-cap.js';
|
|
43
46
|
import { WORKSTATION_CAPACITY_CLOSE_TIMEOUT_MS } from '../focus/workstation-intervals.js';
|
|
44
47
|
import { PRODUCTION_WORKSTATION_INTERVALS } from './workstation-intervals-context.js';
|
|
@@ -52,6 +55,20 @@ export const PROC_PRESSURE_DIR = '/proc/pressure';
|
|
|
52
55
|
export function readProductionHostPressure(pressureDir = PROC_PRESSURE_DIR) {
|
|
53
56
|
return readHostPsi((resource) => readFileSync(join(pressureDir, resource), 'utf8'));
|
|
54
57
|
}
|
|
58
|
+
/** Where Linux publishes its cumulative CPU time counters. */
|
|
59
|
+
export const PROC_STAT_PATH = '/proc/stat';
|
|
60
|
+
/**
|
|
61
|
+
* The host's CPU time counters off `procStatPath` (/proc/stat in production),
|
|
62
|
+
* else node:os cpus() when that file cannot be read. The path is a parameter so a
|
|
63
|
+
* test can drive this exact reader over a fixture file, or force the fallback.
|
|
64
|
+
*/
|
|
65
|
+
export function readProductionHostCpuTimes(procStatPath = PROC_STAT_PATH) {
|
|
66
|
+
return readHostCpuTimes(() => readFileSync(procStatPath, 'utf8'), cpus);
|
|
67
|
+
}
|
|
68
|
+
/** A hostCpu producer over the production counters: one per heartbeat context, holding its previous reading. */
|
|
69
|
+
export function createProductionHostCpuProducer() {
|
|
70
|
+
return createHostCpuProducer({ readTimes: () => readProductionHostCpuTimes(), now: Date.now });
|
|
71
|
+
}
|
|
55
72
|
/** The host's logical CPU count; 0 (published as no count) when it cannot be read. */
|
|
56
73
|
export function readProductionHostCores() {
|
|
57
74
|
try {
|
|
@@ -90,6 +107,7 @@ export function buildHeartbeatContext(migrationHeldSetProducer) {
|
|
|
90
107
|
readHostLoad: loadavg,
|
|
91
108
|
readHostPressure: readProductionHostPressure,
|
|
92
109
|
readHostCores: readProductionHostCores,
|
|
110
|
+
readHostCpu: createProductionHostCpuProducer(),
|
|
93
111
|
},
|
|
94
112
|
stop: {
|
|
95
113
|
sendDisconnect,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-heartbeat-context.js","sourceRoot":"","sources":["../../src/composition/runtime-heartbeat-context.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"runtime-heartbeat-context.js","sourceRoot":"","sources":["../../src/composition/runtime-heartbeat-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-liveness-phase-sources.d.ts","sourceRoot":"","sources":["../../src/composition/team-liveness-phase-sources.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"team-liveness-phase-sources.d.ts","sourceRoot":"","sources":["../../src/composition/team-liveness-phase-sources.ts"],"names":[],"mappings":"AAaA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAOnG,oEAAoE;AACpE,eAAO,MAAM,4BAA4B,EAAE,wBAS1C,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// packages/daemon/src/focus/heartbeat-completion-merge.test.ts,
|
|
4
4
|
// packages/daemon/src/focus/heartbeat-draining-status.test.ts,
|
|
5
5
|
// packages/daemon/src/focus/heartbeat-focus-activity.test.ts,
|
|
6
|
+
// packages/daemon/src/focus/heartbeat-host-cpu.test.ts,
|
|
6
7
|
// packages/daemon/src/focus/heartbeat-host-load.test.ts,
|
|
7
8
|
// packages/daemon/src/focus/heartbeat-host-pressure.test.ts,
|
|
8
9
|
// packages/daemon/src/focus/heartbeat-shutdown-guard.test.ts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-liveness-phase-sources.js","sourceRoot":"","sources":["../../src/composition/team-liveness-phase-sources.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8DAA8D;AAC9D,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,2DAA2D;AAC3D,+DAA+D;AAC/D,gEAAgE;AAChE,sEAAsE;AACtE,sEAAsE;AACtE,gBAAgB;AAchB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,oEAAoE;AACpE,MAAM,CAAC,MAAM,4BAA4B,GAA6B;IACpE,qBAAqB,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE;IACpD,aAAa;IACb,uBAAuB;IACvB,cAAc;IACd,uBAAuB;IACvB,wBAAwB;IACxB,wBAAwB;IACxB,iBAAiB,EAAE,0BAA0B;CAC9C,CAAC"}
|
|
1
|
+
{"version":3,"file":"team-liveness-phase-sources.js","sourceRoot":"","sources":["../../src/composition/team-liveness-phase-sources.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8DAA8D;AAC9D,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,0DAA0D;AAC1D,2DAA2D;AAC3D,+DAA+D;AAC/D,gEAAgE;AAChE,sEAAsE;AACtE,sEAAsE;AACtE,gBAAgB;AAchB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,oEAAoE;AACpE,MAAM,CAAC,MAAM,4BAA4B,GAA6B;IACpE,qBAAqB,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE;IACpD,aAAa;IACb,uBAAuB;IACvB,cAAc;IACd,uBAAuB;IACvB,wBAAwB;IACxB,wBAAwB;IACxB,iBAAiB,EAAE,0BAA0B;CAC9C,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { type ProductBranchConfig } from '../queries/org-config/products.js';
|
|
|
5
5
|
import { type VersionDistance } from '../config/update-channel.js';
|
|
6
6
|
import type { TowerHeartbeatStatus } from '../tower/tower-heartbeat-status.js';
|
|
7
7
|
import { type HostPsiReading } from './host-pressure.js';
|
|
8
|
+
import type { HostCpuField } from './host-cpu.js';
|
|
8
9
|
/** Fetch (with 5-minute cache) the branch config for one product. */
|
|
9
10
|
export declare function getCachedBranchConfig(productId: string): Promise<ProductBranchConfig>;
|
|
10
11
|
/** buildBranchStatusByProduct's collaborators, bound at the composition root (unit tests inject fakes). */
|
|
@@ -148,6 +149,8 @@ export interface HeartbeatProducers {
|
|
|
148
149
|
readHostPressure: () => HostPsiReading | null;
|
|
149
150
|
/** The host's logical CPU count (os.availableParallelism); 0 when it cannot be read. Never throws. */
|
|
150
151
|
readHostCores: () => number;
|
|
152
|
+
/** The host's CPU utilization since the previous beat (focus/host-cpu.ts); null when there is none to publish. Never throws. */
|
|
153
|
+
readHostCpu: () => HostCpuField | null;
|
|
151
154
|
}
|
|
152
155
|
export interface HeartbeatVersionState {
|
|
153
156
|
daemonVersion: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat-metadata.d.ts","sourceRoot":"","sources":["../../src/focus/heartbeat-metadata.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACrG,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAA+C,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"heartbeat-metadata.d.ts","sourceRoot":"","sources":["../../src/focus/heartbeat-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -233,6 +233,11 @@ export async function buildHeartbeatMetadata(args) {
|
|
|
233
233
|
const hostPressure = buildHostPressureField(producers.readHostPressure(), cores, cfg.maxTotalSessions);
|
|
234
234
|
if (hostPressure)
|
|
235
235
|
metadata.hostPressure = hostPressure;
|
|
236
|
+
// How busy its CPUs were since the previous beat -- the nav's headline cpu
|
|
237
|
+
// figure; PSI above is how much work stalled, not how busy the CPUs are.
|
|
238
|
+
const hostCpu = producers.readHostCpu();
|
|
239
|
+
if (hostCpu)
|
|
240
|
+
metadata.hostCpu = hostCpu;
|
|
236
241
|
// Publish per-product verification posture ({ [productId]: { posture, command } })
|
|
237
242
|
// so the web app's product settings can surface how each product's deliveries
|
|
238
243
|
// are gated -- posture is local daemon.json config the app cannot otherwise see.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat-metadata.js","sourceRoot":"","sources":["../../src/focus/heartbeat-metadata.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,oEAAoE;AACpE,6DAA6D;AAC7D,2EAA2E;AAC3E,iEAAiE;AACjE,6DAA6D;AAC7D,6DAA6D;AAC7D,gEAAgE;AAChE,kEAAkE;AAClE,6DAA6D;AAC7D,gBAAgB;AAEhB;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,sBAAsB,EAA4B,MAAM,mCAAmC,CAAC;AACrG,OAAO,EACL,cAAc,EACd,eAAe,EACf,qBAAqB,GAEtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AAChI,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAuB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"heartbeat-metadata.js","sourceRoot":"","sources":["../../src/focus/heartbeat-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/focus/heartbeat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/focus/heartbeat.ts"],"names":[],"mappings":"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"}
|
package/dist/focus/heartbeat.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
// packages/daemon/src/focus/heartbeat-completion-merge.test.ts,
|
|
4
4
|
// packages/daemon/src/focus/heartbeat-draining-status.test.ts,
|
|
5
5
|
// packages/daemon/src/focus/heartbeat-focus-activity.test.ts,
|
|
6
|
-
// packages/daemon/src/focus/heartbeat-gap.test.ts, packages/daemon/src/focus/heartbeat-host-
|
|
6
|
+
// packages/daemon/src/focus/heartbeat-gap.test.ts, packages/daemon/src/focus/heartbeat-host-cpu.test.ts,
|
|
7
|
+
// packages/daemon/src/focus/heartbeat-host-load.test.ts,
|
|
7
8
|
// packages/daemon/src/focus/heartbeat-host-pressure.test.ts,
|
|
8
9
|
// packages/daemon/src/focus/heartbeat-migration-held-set.test.ts,
|
|
9
10
|
// packages/daemon/src/focus/heartbeat-read-only.test.ts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/focus/heartbeat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/focus/heartbeat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host CPU utilization: how busy the host's CPUs were over the window since the
|
|
3
|
+
* previous heartbeat.
|
|
4
|
+
*
|
|
5
|
+
* PSI (focus/host-pressure.ts) says what share of time work STALLED waiting for
|
|
6
|
+
* a CPU; it is not how busy the CPUs are, and a host can run its cores at 60%
|
|
7
|
+
* while its cpu `some` share reads 13%. This is the busy figure: the share of
|
|
8
|
+
* CPU time, across every core, spent on anything but idle, between two readings
|
|
9
|
+
* of the kernel's cumulative CPU time counters.
|
|
10
|
+
*
|
|
11
|
+
* On Linux the counters are /proc/stat's aggregate `cpu` line, in clock ticks:
|
|
12
|
+
*
|
|
13
|
+
* cpu user nice system idle iowait irq softirq steal guest guest_nice
|
|
14
|
+
*
|
|
15
|
+
* Idle time is idle + iowait (a CPU waiting on io is not busy). Total is user
|
|
16
|
+
* through steal; guest and guest_nice are already counted inside user and nice,
|
|
17
|
+
* so they are not added again. Where /proc/stat cannot be read (macOS, a
|
|
18
|
+
* sandbox) the counters are node:os cpus() times summed across cores, in ms --
|
|
19
|
+
* the same ratio, so the same utilization. Readings from the two sources are
|
|
20
|
+
* never compared with each other.
|
|
21
|
+
*
|
|
22
|
+
* No timer, interval or child process: the heartbeat calls the producer once per
|
|
23
|
+
* beat, and the producer holds only the previous reading in memory. The first
|
|
24
|
+
* beat, a failed or malformed read, and a window whose counters did not advance
|
|
25
|
+
* publish NO hostCpu -- never a zero -- and nothing here can fail the beat.
|
|
26
|
+
*
|
|
27
|
+
* @module focus/host-cpu
|
|
28
|
+
*/
|
|
29
|
+
import type { CpuInfo } from 'node:os';
|
|
30
|
+
/** Which counters a reading came from; readings are compared only within a source. */
|
|
31
|
+
export type CpuTimesSource = 'proc-stat' | 'os-cpus';
|
|
32
|
+
/** Cumulative CPU time counters at one instant: the idle part and the total. */
|
|
33
|
+
export interface CpuTimes {
|
|
34
|
+
source: CpuTimesSource;
|
|
35
|
+
/** Idle time (idle + iowait on Linux), in the source's unit. */
|
|
36
|
+
idle: number;
|
|
37
|
+
/** All CPU time, idle included, in the source's unit. */
|
|
38
|
+
total: number;
|
|
39
|
+
}
|
|
40
|
+
/** The hostCpu heartbeat field. */
|
|
41
|
+
export interface HostCpuField {
|
|
42
|
+
/** Percent of CPU time, across every core, that was not idle over the window. A finite number in [0, 100]. */
|
|
43
|
+
utilization: number;
|
|
44
|
+
/** The window the utilization covers: ms since the previous reading. */
|
|
45
|
+
windowMs: number;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The aggregate `cpu` line of /proc/stat's text as idle and total ticks, or null
|
|
49
|
+
* when the text carries no such line or the line is malformed (fewer than four
|
|
50
|
+
* columns, or a column that is not a non-negative integer). Pure.
|
|
51
|
+
*/
|
|
52
|
+
export declare function parseProcStatCpu(text: string): CpuTimes | null;
|
|
53
|
+
/**
|
|
54
|
+
* node:os cpus() times summed across every core as idle and total ms, or null
|
|
55
|
+
* when there are no cores or a time is not a finite non-negative number. Pure.
|
|
56
|
+
*/
|
|
57
|
+
export declare function cpuTimesFromOsCpus(cpus: readonly Pick<CpuInfo, 'times'>[]): CpuTimes | null;
|
|
58
|
+
/** Reads /proc/stat's text; throws when it cannot. A seam, so the read is testable. */
|
|
59
|
+
export type ProcStatReader = () => string;
|
|
60
|
+
/** node:os cpus(). A seam, so the fallback is testable. */
|
|
61
|
+
export type OsCpusReader = () => readonly Pick<CpuInfo, 'times'>[];
|
|
62
|
+
/**
|
|
63
|
+
* The host's CPU time counters now: /proc/stat's aggregate line, or -- only when
|
|
64
|
+
* /proc/stat cannot be READ -- os.cpus() times. A /proc/stat that reads but does
|
|
65
|
+
* not parse is a malformed reading, null, not a reason to switch sources. Never
|
|
66
|
+
* throws.
|
|
67
|
+
*/
|
|
68
|
+
export declare function readHostCpuTimes(readProcStat: ProcStatReader, readOsCpus: OsCpusReader): CpuTimes | null;
|
|
69
|
+
/**
|
|
70
|
+
* Utilization percent between two readings of the same source: 100 * (1 - idle
|
|
71
|
+
* delta / total delta). Null when the sources differ, the total did not advance,
|
|
72
|
+
* or the counters went backwards (a reset) -- anything that would not yield a
|
|
73
|
+
* finite number in [0, 100]. Pure.
|
|
74
|
+
*/
|
|
75
|
+
export declare function computeUtilization(previous: CpuTimes, current: CpuTimes): number | null;
|
|
76
|
+
/**
|
|
77
|
+
* The heartbeat's hostCpu producer: each call reads the counters once and
|
|
78
|
+
* answers the utilization over the window since the previous successful
|
|
79
|
+
* reading, holding that reading in memory. Null on the first call, on a failed
|
|
80
|
+
* read (the previous reading is kept, so the next window simply spans the gap),
|
|
81
|
+
* and on a window that yields no utilization. Never throws.
|
|
82
|
+
*/
|
|
83
|
+
export declare function createHostCpuProducer(deps: {
|
|
84
|
+
readTimes: () => CpuTimes | null;
|
|
85
|
+
now: () => number;
|
|
86
|
+
}): () => HostCpuField | null;
|
|
87
|
+
//# sourceMappingURL=host-cpu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-cpu.d.ts","sourceRoot":"","sources":["../../src/focus/host-cpu.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,sFAAsF;AACtF,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,SAAS,CAAC;AAErD,gFAAgF;AAChF,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,8GAA8G;IAC9G,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAaD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAY9D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,QAAQ,GAAG,IAAI,CAW3F;AAED,uFAAuF;AACvF,MAAM,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC;AAC1C,2DAA2D;AAC3D,MAAM,MAAM,YAAY,GAAG,MAAM,SAAS,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,GAAG,QAAQ,GAAG,IAAI,CAYxG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAOvF;AAQD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,SAAS,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC;IACjC,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB,GAAG,MAAM,YAAY,GAAG,IAAI,CAkB5B"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/focus/heartbeat-host-cpu.test.ts
|
|
3
|
+
// PINNED-BY-END
|
|
4
|
+
/** The /proc/stat columns user..steal; guest and guest_nice (indexes 8, 9) are inside user and nice already. */
|
|
5
|
+
const PROC_STAT_TOTAL_COLUMNS = 8;
|
|
6
|
+
/** user nice system idle: the columns every kernel has printed. */
|
|
7
|
+
const PROC_STAT_MIN_COLUMNS = 4;
|
|
8
|
+
const IDLE_COLUMN = 3;
|
|
9
|
+
const IOWAIT_COLUMN = 4;
|
|
10
|
+
function isCounter(value) {
|
|
11
|
+
return Number.isSafeInteger(value) && value >= 0;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The aggregate `cpu` line of /proc/stat's text as idle and total ticks, or null
|
|
15
|
+
* when the text carries no such line or the line is malformed (fewer than four
|
|
16
|
+
* columns, or a column that is not a non-negative integer). Pure.
|
|
17
|
+
*/
|
|
18
|
+
export function parseProcStatCpu(text) {
|
|
19
|
+
for (const line of text.split('\n')) {
|
|
20
|
+
const fields = line.trim().split(/\s+/);
|
|
21
|
+
if (fields[0] !== 'cpu')
|
|
22
|
+
continue;
|
|
23
|
+
const columns = fields.slice(1).map((field) => (/^\d+$/.test(field) ? Number(field) : Number.NaN));
|
|
24
|
+
if (columns.length < PROC_STAT_MIN_COLUMNS || !columns.every(isCounter))
|
|
25
|
+
return null;
|
|
26
|
+
const counted = columns.slice(0, PROC_STAT_TOTAL_COLUMNS);
|
|
27
|
+
const total = counted.reduce((sum, value) => sum + value, 0);
|
|
28
|
+
const idle = (counted[IDLE_COLUMN] ?? 0) + (counted[IOWAIT_COLUMN] ?? 0);
|
|
29
|
+
return { source: 'proc-stat', idle, total };
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* node:os cpus() times summed across every core as idle and total ms, or null
|
|
35
|
+
* when there are no cores or a time is not a finite non-negative number. Pure.
|
|
36
|
+
*/
|
|
37
|
+
export function cpuTimesFromOsCpus(cpus) {
|
|
38
|
+
if (cpus.length === 0)
|
|
39
|
+
return null;
|
|
40
|
+
let idle = 0;
|
|
41
|
+
let total = 0;
|
|
42
|
+
for (const { times } of cpus) {
|
|
43
|
+
const values = [times.user, times.nice, times.sys, times.idle, times.irq];
|
|
44
|
+
if (!values.every((value) => Number.isFinite(value) && value >= 0))
|
|
45
|
+
return null;
|
|
46
|
+
idle += times.idle;
|
|
47
|
+
total += values.reduce((sum, value) => sum + value, 0);
|
|
48
|
+
}
|
|
49
|
+
return { source: 'os-cpus', idle, total };
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The host's CPU time counters now: /proc/stat's aggregate line, or -- only when
|
|
53
|
+
* /proc/stat cannot be READ -- os.cpus() times. A /proc/stat that reads but does
|
|
54
|
+
* not parse is a malformed reading, null, not a reason to switch sources. Never
|
|
55
|
+
* throws.
|
|
56
|
+
*/
|
|
57
|
+
export function readHostCpuTimes(readProcStat, readOsCpus) {
|
|
58
|
+
let text;
|
|
59
|
+
try {
|
|
60
|
+
text = readProcStat();
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
try {
|
|
64
|
+
return cpuTimesFromOsCpus(readOsCpus());
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return parseProcStatCpu(text);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Utilization percent between two readings of the same source: 100 * (1 - idle
|
|
74
|
+
* delta / total delta). Null when the sources differ, the total did not advance,
|
|
75
|
+
* or the counters went backwards (a reset) -- anything that would not yield a
|
|
76
|
+
* finite number in [0, 100]. Pure.
|
|
77
|
+
*/
|
|
78
|
+
export function computeUtilization(previous, current) {
|
|
79
|
+
if (previous.source !== current.source)
|
|
80
|
+
return null;
|
|
81
|
+
const totalDelta = current.total - previous.total;
|
|
82
|
+
const idleDelta = current.idle - previous.idle;
|
|
83
|
+
if (!(totalDelta > 0) || idleDelta < 0 || idleDelta > totalDelta)
|
|
84
|
+
return null;
|
|
85
|
+
const utilization = (100 * (totalDelta - idleDelta)) / totalDelta;
|
|
86
|
+
return Number.isFinite(utilization) && utilization >= 0 && utilization <= 100 ? utilization : null;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The heartbeat's hostCpu producer: each call reads the counters once and
|
|
90
|
+
* answers the utilization over the window since the previous successful
|
|
91
|
+
* reading, holding that reading in memory. Null on the first call, on a failed
|
|
92
|
+
* read (the previous reading is kept, so the next window simply spans the gap),
|
|
93
|
+
* and on a window that yields no utilization. Never throws.
|
|
94
|
+
*/
|
|
95
|
+
export function createHostCpuProducer(deps) {
|
|
96
|
+
let previous = null;
|
|
97
|
+
return () => {
|
|
98
|
+
try {
|
|
99
|
+
const times = deps.readTimes();
|
|
100
|
+
if (!times)
|
|
101
|
+
return null;
|
|
102
|
+
const at = deps.now();
|
|
103
|
+
const last = previous;
|
|
104
|
+
previous = { times, at };
|
|
105
|
+
if (!last)
|
|
106
|
+
return null;
|
|
107
|
+
const windowMs = at - last.at;
|
|
108
|
+
if (!(windowMs > 0))
|
|
109
|
+
return null;
|
|
110
|
+
const utilization = computeUtilization(last.times, times);
|
|
111
|
+
return utilization === null ? null : { utilization, windowMs };
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=host-cpu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-cpu.js","sourceRoot":"","sources":["../../src/focus/host-cpu.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-connection.d.ts","sourceRoot":"","sources":["../../../src/queries/sessions/daemon-connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"daemon-connection.d.ts","sourceRoot":"","sources":["../../../src/queries/sessions/daemon-connection.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE;IACR,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,EACD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAW5B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/D;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAKnD"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Pinned by: packages/daemon/src/focus/heartbeat-completion-merge.test.ts,
|
|
3
3
|
// packages/daemon/src/focus/heartbeat-draining-status.test.ts,
|
|
4
4
|
// packages/daemon/src/focus/heartbeat-focus-activity.test.ts,
|
|
5
|
+
// packages/daemon/src/focus/heartbeat-host-cpu.test.ts,
|
|
5
6
|
// packages/daemon/src/focus/heartbeat-host-load.test.ts,
|
|
6
7
|
// packages/daemon/src/focus/heartbeat-host-pressure.test.ts,
|
|
7
8
|
// packages/daemon/src/focus/heartbeat-migration-held-set.test.ts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-connection.js","sourceRoot":"","sources":["../../../src/queries/sessions/daemon-connection.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,2EAA2E;AAC3E,iEAAiE;AACjE,gEAAgE;AAChE,2DAA2D;AAC3D,+DAA+D;AAC/D,oEAAoE;AACpE,gEAAgE;AAChE,sEAAsE;AACtE,sEAAsE;AACtE,gBAAgB;AAEhB;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAoBlD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,aAAqB,EACrB,QA2BC,EACD,QAAkC;IAElC,OAAO,OAAO,CAAoB,kBAAkB,EAAE;QACpD,MAAM,EAAE;YACN,GAAG;YACH,QAAQ;YACR,QAAQ;YACR,aAAa;YACb,GAAG,QAAQ;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,OAAO,CAAC,mBAAmB,EAAE;QACjC,MAAM,EAAE,EAAE,GAAG,EAAE;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAAiB,EACjB,QAAgB;IAEhB,OAAO,OAAO,CAA2C,sBAAsB,EAAE;QAC/E,SAAS;QACT,MAAM,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE;KACrC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"daemon-connection.js","sourceRoot":"","sources":["../../../src/queries/sessions/daemon-connection.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,2EAA2E;AAC3E,iEAAiE;AACjE,gEAAgE;AAChE,0DAA0D;AAC1D,2DAA2D;AAC3D,+DAA+D;AAC/D,oEAAoE;AACpE,gEAAgE;AAChE,sEAAsE;AACtE,sEAAsE;AACtE,gBAAgB;AAEhB;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAoBlD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,aAAqB,EACrB,QA2BC,EACD,QAAkC;IAElC,OAAO,OAAO,CAAoB,kBAAkB,EAAE;QACpD,MAAM,EAAE;YACN,GAAG;YACH,QAAQ;YACR,QAAQ;YACR,aAAa;YACb,GAAG,QAAQ;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,OAAO,CAAC,mBAAmB,EAAE;QACjC,MAAM,EAAE,EAAE,GAAG,EAAE;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAAiB,EACjB,QAAgB;IAEhB,OAAO,OAAO,CAA2C,sBAAsB,EAAE;QAC/E,SAAS;QACT,MAAM,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE;KACrC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by:
|
|
2
|
+
// Pinned by: 379 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/testing/fixtures/index.ts
|
|
3
3
|
// PINNED-BY-END
|
|
4
4
|
/**
|
|
5
5
|
* Build an ActiveFocusRow (a getActiveFocuses row): an active, armed focus with
|