小橘 1940ccedd6 refactor: bundle sense-generator to dist/ via esbuild
- Add esbuild build script to package.json
- Add .gitignore for dist/
- Remove stale tsc-generated .js files (now bundled)
- Include sense files generated by workflow run (hermes-gateway-health update, worker-process-metrics)
- Clean up nerve.yaml (remove deleted workflows, migrate reflexes to interval)
2026-04-28 05:31:04 +00:00

36 lines
757 B
JavaScript

import { workerProcessMetrics } from "./schema.ts";
function round2(n) {
return Math.round(n * 100) / 100;
}
export async function compute(db, _peers) {
const ts = Date.now();
const pid = process.pid;
const uptimeSec = process.uptime();
const m = process.memoryUsage();
const heapUsedMB = round2(m.heapUsed / 1024 / 1024);
const rssMB = round2(m.rss / 1024 / 1024);
const externalMB = round2(m.external / 1024 / 1024);
const row = {
ts,
pid,
uptimeSec,
heapUsedMB,
rssMB,
externalMB,
};
await db.insert(workerProcessMetrics).values(row);
return {
ts: row.ts,
pid: row.pid,
uptimeSec: row.uptimeSec,
heapUsedMB: row.heapUsedMB,
rssMB: row.rssMB,
externalMB: row.externalMB,
};
}