@malloy-publisher/server 0.0.198-dev4 → 0.0.198-dev6

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.ts CHANGED
@@ -5,14 +5,14 @@ fs.rmSync("./dist", { recursive: true, force: true });
5
5
  fs.mkdirSync("./dist");
6
6
 
7
7
  await build({
8
- // compile_worker.ts is bundled as a SEPARATE entrypoint so it can
9
- // be loaded by `new Worker(...)` at runtime. It must NOT be
8
+ // package_load_worker.ts is bundled as a SEPARATE entrypoint so it
9
+ // can be loaded by `new Worker(...)` at runtime. It must NOT be
10
10
  // inlined into server.mjs (workers can't share module state with
11
11
  // the parent process — they get their own JS realm).
12
12
  entrypoints: [
13
13
  "./src/server.ts",
14
14
  "./src/instrumentation.ts",
15
- "./src/compile/compile_worker.ts",
15
+ "./src/package_load/package_load_worker.ts",
16
16
  ],
17
17
  outdir: "./dist",
18
18
  target: "node",
@@ -56,22 +56,26 @@ fs.copyFileSync(
56
56
  // Rename ESM outputs to .mjs so both Node and Bun can execute them
57
57
  fs.renameSync("./dist/server.js", "./dist/server.mjs");
58
58
  fs.renameSync("./dist/instrumentation.js", "./dist/instrumentation.mjs");
59
- // Bun emits compile_worker into its source-relative subdir; flatten
60
- // so compile_pool.ts's `resolveWorkerScript()` finds it as a sibling
61
- // of server.mjs. The path layout match is intentional — keep these
62
- // two in sync or the worker pool falls back to in-process compile.
63
- if (fs.existsSync("./dist/compile/compile_worker.js")) {
59
+ // Bun emits package_load_worker into its source-relative subdir;
60
+ // flatten so package_load_pool.ts's `resolveWorkerScript()` finds it
61
+ // as a sibling of server.mjs. The path layout match is intentional —
62
+ // keep these two in sync or the worker pool throws at boot (the
63
+ // in-process fallback was removed; missing worker = no service).
64
+ if (fs.existsSync("./dist/package_load/package_load_worker.js")) {
64
65
  fs.renameSync(
65
- "./dist/compile/compile_worker.js",
66
- "./dist/compile_worker.mjs",
66
+ "./dist/package_load/package_load_worker.js",
67
+ "./dist/package_load_worker.mjs",
67
68
  );
68
69
  try {
69
- fs.rmdirSync("./dist/compile");
70
+ fs.rmdirSync("./dist/package_load");
70
71
  } catch {
71
72
  /* directory may be non-empty if Bun produced sourcemaps; leave it */
72
73
  }
73
- } else if (fs.existsSync("./dist/compile_worker.js")) {
74
- fs.renameSync("./dist/compile_worker.js", "./dist/compile_worker.mjs");
74
+ } else if (fs.existsSync("./dist/package_load_worker.js")) {
75
+ fs.renameSync(
76
+ "./dist/package_load_worker.js",
77
+ "./dist/package_load_worker.mjs",
78
+ );
75
79
  }
76
80
 
77
81
  // Add shebang to server.mjs for npx/bunx compatibility
@@ -115185,6 +115185,7 @@ var import_sdk_logs = __toESM(require_src75(), 1);
115185
115185
  var import_sdk_node = __toESM(require_src106(), 1);
115186
115186
  var import_sdk_trace_base = __toESM(require_src82(), 1);
115187
115187
  var import_semantic_conventions = __toESM(require_src2(), 1);
115188
+ import { monitorEventLoopDelay } from "node:perf_hooks";
115188
115189
  var prometheusExporter = null;
115189
115190
  var sdk = null;
115190
115191
  function getPrometheusMetricsHandler() {
@@ -115266,6 +115267,26 @@ var httpRequestDuration = meter.createHistogram("http_server_request_duration_ms
115266
115267
  var httpRequestCount = meter.createCounter("http_server_requests_total", {
115267
115268
  description: "Total number of HTTP requests"
115268
115269
  });
115270
+ var eventLoopHistogram = monitorEventLoopDelay({ resolution: 20 });
115271
+ eventLoopHistogram.enable();
115272
+ var eventLoopLagP50 = meter.createObservableGauge("publisher_event_loop_lag_p50_ms", {
115273
+ description: "Event loop delay p50 since the last scrape, in milliseconds",
115274
+ unit: "ms"
115275
+ });
115276
+ var eventLoopLagP99 = meter.createObservableGauge("publisher_event_loop_lag_p99_ms", {
115277
+ description: "Event loop delay p99 since the last scrape, in milliseconds",
115278
+ unit: "ms"
115279
+ });
115280
+ var eventLoopLagMax = meter.createObservableGauge("publisher_event_loop_lag_max_ms", {
115281
+ description: "Event loop delay max since the last scrape, in milliseconds",
115282
+ unit: "ms"
115283
+ });
115284
+ meter.addBatchObservableCallback((observableResult) => {
115285
+ observableResult.observe(eventLoopLagP50, eventLoopHistogram.percentile(50) / 1e6);
115286
+ observableResult.observe(eventLoopLagP99, eventLoopHistogram.percentile(99) / 1e6);
115287
+ observableResult.observe(eventLoopLagMax, eventLoopHistogram.max / 1e6);
115288
+ eventLoopHistogram.reset();
115289
+ }, [eventLoopLagP50, eventLoopLagP99, eventLoopLagMax]);
115269
115290
  var IGNORED_PATHS = new Set([
115270
115291
  "/health",
115271
115292
  "/health/liveness",