// senses/worker-process-metrics/src/schema.ts import { integer, real, sqliteTable } from "drizzle-orm/sqlite-core"; var workerProcessMetrics = sqliteTable("worker_process_metrics", { ts: integer("ts").primaryKey(), pid: integer("pid").notNull(), uptimeSec: real("uptime_sec").notNull(), heapUsedMB: real("heap_used_mb").notNull(), rssMB: real("rss_mb").notNull(), externalMB: real("external_mb").notNull() }); // senses/worker-process-metrics/src/index.ts function round2(n) { return Math.round(n * 100) / 100; } async function compute() { 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 }; return { signal: row, workflow: null }; } export { compute, workerProcessMetrics as table };