小橘 8774d71d57 feat: update senses to return ComputeResult<T>
Wrap compute return values in { signal, workflow: null }
to match new SenseComputeFn contract.

— 小橘 🍊(NEKO Team)
2026-04-30 00:38:34 +00:00

38 lines
970 B
JavaScript

// 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()
});
// 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
};