@trigger.dev/core 4.5.0-rc.4 → 4.5.0-rc.6
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/dist/commonjs/v3/apiClient/index.d.ts +7 -6
- package/dist/commonjs/v3/apiClient/index.js +7 -1
- package/dist/commonjs/v3/apiClient/index.js.map +1 -1
- package/dist/commonjs/v3/apiClient/runStream.js +15 -1
- package/dist/commonjs/v3/apiClient/runStream.js.map +1 -1
- package/dist/commonjs/v3/apiClient/types.d.ts +4 -0
- package/dist/commonjs/v3/errors.d.ts +8 -0
- package/dist/commonjs/v3/errors.js +28 -1
- package/dist/commonjs/v3/errors.js.map +1 -1
- package/dist/commonjs/v3/errors.test.d.ts +1 -0
- package/dist/commonjs/v3/errors.test.js +38 -0
- package/dist/commonjs/v3/errors.test.js.map +1 -0
- package/dist/commonjs/v3/otel/tracingSDK.js +6 -0
- package/dist/commonjs/v3/otel/tracingSDK.js.map +1 -1
- package/dist/commonjs/v3/resource-catalog/catalog.d.ts +4 -0
- package/dist/commonjs/v3/resource-catalog/index.d.ts +4 -0
- package/dist/commonjs/v3/resource-catalog/index.js +3 -0
- package/dist/commonjs/v3/resource-catalog/index.js.map +1 -1
- package/dist/commonjs/v3/resource-catalog/noopResourceCatalog.d.ts +4 -0
- package/dist/commonjs/v3/resource-catalog/noopResourceCatalog.js +3 -0
- package/dist/commonjs/v3/resource-catalog/noopResourceCatalog.js.map +1 -1
- package/dist/commonjs/v3/resource-catalog/standardResourceCatalog.d.ts +5 -0
- package/dist/commonjs/v3/resource-catalog/standardResourceCatalog.js +28 -0
- package/dist/commonjs/v3/resource-catalog/standardResourceCatalog.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPool.d.ts +7 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPool.js +15 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPool.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPool.test.js +85 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPool.test.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPoolMetrics.d.ts +16 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPoolMetrics.js +26 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/consumerPoolMetrics.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/queueConsumer.d.ts +8 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/queueConsumer.js +14 -2
- package/dist/commonjs/v3/runEngineWorker/supervisor/queueConsumer.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/queueConsumer.test.d.ts +1 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/queueConsumer.test.js +77 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/queueConsumer.test.js.map +1 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.d.ts +12 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.js +10 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/schemas.js.map +1 -1
- package/dist/commonjs/v3/runEngineWorker/supervisor/session.d.ts +3 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/session.js +1 -0
- package/dist/commonjs/v3/runEngineWorker/supervisor/session.js.map +1 -1
- package/dist/commonjs/v3/schemas/api-type.test.js +32 -0
- package/dist/commonjs/v3/schemas/api-type.test.js.map +1 -1
- package/dist/commonjs/v3/schemas/api.d.ts +224 -2
- package/dist/commonjs/v3/schemas/api.js +37 -8
- package/dist/commonjs/v3/schemas/api.js.map +1 -1
- package/dist/commonjs/v3/schemas/messages.d.ts +25 -0
- package/dist/commonjs/v3/schemas/messages.js +4 -0
- package/dist/commonjs/v3/schemas/messages.js.map +1 -1
- package/dist/commonjs/v3/schemas/queues.d.ts +2 -2
- package/dist/commonjs/v3/sessionStreams/chatSnapshot.d.ts +11 -0
- package/dist/commonjs/v3/sessionStreams/chatSnapshot.js +1 -0
- package/dist/commonjs/v3/sessionStreams/chatSnapshot.js.map +1 -1
- package/dist/commonjs/v3/sessionStreams/index.d.ts +1 -1
- package/dist/commonjs/v3/sessionStreams/index.js.map +1 -1
- package/dist/commonjs/v3/sessionStreams/manager.d.ts +1 -1
- package/dist/commonjs/v3/sessionStreams/manager.js +58 -28
- package/dist/commonjs/v3/sessionStreams/manager.js.map +1 -1
- package/dist/commonjs/v3/sessionStreams/noopManager.d.ts +1 -1
- package/dist/commonjs/v3/sessionStreams/noopManager.js.map +1 -1
- package/dist/commonjs/v3/sessionStreams/types.d.ts +11 -2
- package/dist/commonjs/v3/test/test-session-stream-manager.d.ts +15 -14
- package/dist/commonjs/v3/test/test-session-stream-manager.js +90 -42
- package/dist/commonjs/v3/test/test-session-stream-manager.js.map +1 -1
- package/dist/commonjs/v3/utils/ioSerialization.d.ts +9 -1
- package/dist/commonjs/v3/utils/ioSerialization.js +15 -6
- package/dist/commonjs/v3/utils/ioSerialization.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/v3/apiClient/index.d.ts +7 -6
- package/dist/esm/v3/apiClient/index.js +7 -1
- package/dist/esm/v3/apiClient/index.js.map +1 -1
- package/dist/esm/v3/apiClient/runStream.js +15 -1
- package/dist/esm/v3/apiClient/runStream.js.map +1 -1
- package/dist/esm/v3/apiClient/types.d.ts +4 -0
- package/dist/esm/v3/errors.d.ts +8 -0
- package/dist/esm/v3/errors.js +26 -0
- package/dist/esm/v3/errors.js.map +1 -1
- package/dist/esm/v3/errors.test.d.ts +1 -0
- package/dist/esm/v3/errors.test.js +36 -0
- package/dist/esm/v3/errors.test.js.map +1 -0
- package/dist/esm/v3/otel/tracingSDK.js +6 -0
- package/dist/esm/v3/otel/tracingSDK.js.map +1 -1
- package/dist/esm/v3/resource-catalog/catalog.d.ts +4 -0
- package/dist/esm/v3/resource-catalog/index.d.ts +4 -0
- package/dist/esm/v3/resource-catalog/index.js +3 -0
- package/dist/esm/v3/resource-catalog/index.js.map +1 -1
- package/dist/esm/v3/resource-catalog/noopResourceCatalog.d.ts +4 -0
- package/dist/esm/v3/resource-catalog/noopResourceCatalog.js +3 -0
- package/dist/esm/v3/resource-catalog/noopResourceCatalog.js.map +1 -1
- package/dist/esm/v3/resource-catalog/standardResourceCatalog.d.ts +5 -0
- package/dist/esm/v3/resource-catalog/standardResourceCatalog.js +28 -0
- package/dist/esm/v3/resource-catalog/standardResourceCatalog.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPool.d.ts +7 -0
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPool.js +15 -0
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPool.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPool.test.js +85 -0
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPool.test.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPoolMetrics.d.ts +16 -1
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPoolMetrics.js +27 -1
- package/dist/esm/v3/runEngineWorker/supervisor/consumerPoolMetrics.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/queueConsumer.d.ts +8 -1
- package/dist/esm/v3/runEngineWorker/supervisor/queueConsumer.js +14 -2
- package/dist/esm/v3/runEngineWorker/supervisor/queueConsumer.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/queueConsumer.test.d.ts +1 -0
- package/dist/esm/v3/runEngineWorker/supervisor/queueConsumer.test.js +75 -0
- package/dist/esm/v3/runEngineWorker/supervisor/queueConsumer.test.js.map +1 -0
- package/dist/esm/v3/runEngineWorker/supervisor/schemas.d.ts +12 -0
- package/dist/esm/v3/runEngineWorker/supervisor/schemas.js +9 -0
- package/dist/esm/v3/runEngineWorker/supervisor/schemas.js.map +1 -1
- package/dist/esm/v3/runEngineWorker/supervisor/session.d.ts +3 -0
- package/dist/esm/v3/runEngineWorker/supervisor/session.js +1 -0
- package/dist/esm/v3/runEngineWorker/supervisor/session.js.map +1 -1
- package/dist/esm/v3/schemas/api-type.test.js +33 -1
- package/dist/esm/v3/schemas/api-type.test.js.map +1 -1
- package/dist/esm/v3/schemas/api.d.ts +224 -2
- package/dist/esm/v3/schemas/api.js +33 -4
- package/dist/esm/v3/schemas/api.js.map +1 -1
- package/dist/esm/v3/schemas/messages.d.ts +25 -0
- package/dist/esm/v3/schemas/messages.js +4 -0
- package/dist/esm/v3/schemas/messages.js.map +1 -1
- package/dist/esm/v3/schemas/queues.d.ts +2 -2
- package/dist/esm/v3/sessionStreams/chatSnapshot.d.ts +11 -0
- package/dist/esm/v3/sessionStreams/chatSnapshot.js +1 -0
- package/dist/esm/v3/sessionStreams/chatSnapshot.js.map +1 -1
- package/dist/esm/v3/sessionStreams/index.d.ts +1 -1
- package/dist/esm/v3/sessionStreams/index.js.map +1 -1
- package/dist/esm/v3/sessionStreams/manager.d.ts +1 -1
- package/dist/esm/v3/sessionStreams/manager.js +58 -28
- package/dist/esm/v3/sessionStreams/manager.js.map +1 -1
- package/dist/esm/v3/sessionStreams/noopManager.d.ts +1 -1
- package/dist/esm/v3/sessionStreams/noopManager.js.map +1 -1
- package/dist/esm/v3/sessionStreams/types.d.ts +11 -2
- package/dist/esm/v3/test/test-session-stream-manager.d.ts +15 -14
- package/dist/esm/v3/test/test-session-stream-manager.js +90 -42
- package/dist/esm/v3/test/test-session-stream-manager.js.map +1 -1
- package/dist/esm/v3/utils/ioSerialization.d.ts +9 -1
- package/dist/esm/v3/utils/ioSerialization.js +15 -6
- package/dist/esm/v3/utils/ioSerialization.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +17 -15
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
|
|
2
2
|
import { RunQueueConsumerPool, } from "./consumerPool.js";
|
|
3
|
+
import { ConsumerPoolMetrics } from "./consumerPoolMetrics.js";
|
|
4
|
+
import { Registry } from "prom-client";
|
|
3
5
|
// Mock only the logger
|
|
4
6
|
vi.mock("../../utils/structuredLogger.js");
|
|
5
7
|
// Test implementation of QueueConsumer
|
|
@@ -7,8 +9,10 @@ class TestQueueConsumer {
|
|
|
7
9
|
started = false;
|
|
8
10
|
stopped = false;
|
|
9
11
|
onDequeue;
|
|
12
|
+
metrics;
|
|
10
13
|
constructor(opts) {
|
|
11
14
|
this.onDequeue = opts.onDequeue;
|
|
15
|
+
this.metrics = opts.metrics;
|
|
12
16
|
}
|
|
13
17
|
start() {
|
|
14
18
|
this.started = true;
|
|
@@ -583,5 +587,86 @@ describe("RunQueueConsumerPool", () => {
|
|
|
583
587
|
expect(pool.size).toBe(1);
|
|
584
588
|
});
|
|
585
589
|
});
|
|
590
|
+
describe("Metrics wiring", () => {
|
|
591
|
+
it("injects the pool's shared ConsumerPoolMetrics into every consumer when a registry is provided", async () => {
|
|
592
|
+
pool = new RunQueueConsumerPool({
|
|
593
|
+
...defaultOptions,
|
|
594
|
+
metricsRegistry: new Registry(),
|
|
595
|
+
scaling: { strategy: "none", maxConsumerCount: 3 },
|
|
596
|
+
});
|
|
597
|
+
await pool.start();
|
|
598
|
+
expect(testConsumers.length).toBe(3);
|
|
599
|
+
const poolMetrics = pool["promMetrics"];
|
|
600
|
+
expect(poolMetrics).toBeInstanceOf(ConsumerPoolMetrics);
|
|
601
|
+
testConsumers.forEach((consumer) => {
|
|
602
|
+
expect(consumer.metrics).toBe(poolMetrics);
|
|
603
|
+
});
|
|
604
|
+
});
|
|
605
|
+
it("preserves a caller-supplied consumer metrics instance when no registry is provided", async () => {
|
|
606
|
+
const callerMetrics = new ConsumerPoolMetrics({ register: new Registry() });
|
|
607
|
+
pool = new RunQueueConsumerPool({
|
|
608
|
+
...defaultOptions,
|
|
609
|
+
consumer: { ...defaultOptions.consumer, metrics: callerMetrics },
|
|
610
|
+
scaling: { strategy: "none", maxConsumerCount: 1 },
|
|
611
|
+
});
|
|
612
|
+
await pool.start();
|
|
613
|
+
expect(testConsumers[0]?.metrics).toBe(callerMetrics);
|
|
614
|
+
});
|
|
615
|
+
});
|
|
616
|
+
describe("Backpressure scale-up freeze", () => {
|
|
617
|
+
it("freezes scale-up while shouldPauseScaling returns true, then resumes", async () => {
|
|
618
|
+
let paused = true;
|
|
619
|
+
pool = new RunQueueConsumerPool({
|
|
620
|
+
...defaultOptions,
|
|
621
|
+
scaling: {
|
|
622
|
+
strategy: "smooth",
|
|
623
|
+
minConsumerCount: 1,
|
|
624
|
+
maxConsumerCount: 10,
|
|
625
|
+
scaleUpCooldownMs: 0,
|
|
626
|
+
disableJitter: true,
|
|
627
|
+
shouldPauseScaling: () => paused,
|
|
628
|
+
},
|
|
629
|
+
});
|
|
630
|
+
await pool.start();
|
|
631
|
+
expect(pool.size).toBe(1);
|
|
632
|
+
// A high queue would normally scale up, but backpressure freezes it.
|
|
633
|
+
pool.updateQueueLength(10);
|
|
634
|
+
advanceTimeAndProcessMetrics(1100);
|
|
635
|
+
expect(pool.size).toBe(1);
|
|
636
|
+
// Once backpressure releases, scaling resumes.
|
|
637
|
+
paused = false;
|
|
638
|
+
pool.updateQueueLength(10);
|
|
639
|
+
advanceTimeAndProcessMetrics(1100);
|
|
640
|
+
expect(pool.size).toBeGreaterThan(1);
|
|
641
|
+
});
|
|
642
|
+
it("still allows scale-down while paused", async () => {
|
|
643
|
+
let paused = false;
|
|
644
|
+
pool = new RunQueueConsumerPool({
|
|
645
|
+
...defaultOptions,
|
|
646
|
+
scaling: {
|
|
647
|
+
strategy: "smooth",
|
|
648
|
+
minConsumerCount: 1,
|
|
649
|
+
maxConsumerCount: 10,
|
|
650
|
+
scaleUpCooldownMs: 0,
|
|
651
|
+
scaleDownCooldownMs: 0,
|
|
652
|
+
disableJitter: true,
|
|
653
|
+
shouldPauseScaling: () => paused,
|
|
654
|
+
},
|
|
655
|
+
});
|
|
656
|
+
await pool.start();
|
|
657
|
+
pool.updateQueueLength(10);
|
|
658
|
+
advanceTimeAndProcessMetrics(1100);
|
|
659
|
+
const scaledUp = pool.size;
|
|
660
|
+
expect(scaledUp).toBeGreaterThan(1);
|
|
661
|
+
// Pausing must not block shrinking - we want to drain down, just not grow.
|
|
662
|
+
// Loop to let the EWMA-smoothed queue length fall (one batch isn't enough).
|
|
663
|
+
paused = true;
|
|
664
|
+
for (let i = 0; i < 5; i++) {
|
|
665
|
+
pool.updateQueueLength(0);
|
|
666
|
+
advanceTimeAndProcessMetrics(1100);
|
|
667
|
+
}
|
|
668
|
+
expect(pool.size).toBeLessThan(scaledUp);
|
|
669
|
+
});
|
|
670
|
+
});
|
|
586
671
|
});
|
|
587
672
|
//# sourceMappingURL=consumerPool.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumerPool.test.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/consumerPool.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consumerPool.test.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/consumerPool.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
-
import { Counter, Gauge, Registry } from "prom-client";
|
|
1
|
+
import { Counter, Gauge, Histogram, Registry } from "prom-client";
|
|
2
2
|
export interface ConsumerPoolMetricsOptions {
|
|
3
3
|
register?: Registry;
|
|
4
4
|
prefix?: string;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Outcome of a single dequeue API round-trip, used as a low-cardinality label
|
|
8
|
+
* on the dequeue latency histogram.
|
|
9
|
+
* - `success`: the call returned at least one run
|
|
10
|
+
* - `empty`: the call succeeded but returned no runs (the common idle case)
|
|
11
|
+
* - `error`: the call failed (unsuccessful response, network error, or timeout)
|
|
12
|
+
*/
|
|
13
|
+
export type DequeueOutcome = "success" | "empty" | "error";
|
|
6
14
|
export declare class ConsumerPoolMetrics {
|
|
7
15
|
private readonly register;
|
|
8
16
|
private readonly prefix;
|
|
@@ -17,6 +25,7 @@ export declare class ConsumerPoolMetrics {
|
|
|
17
25
|
readonly scalingCooldownsApplied: Counter;
|
|
18
26
|
readonly queueLengthUpdatesTotal: Counter;
|
|
19
27
|
readonly batchesProcessedTotal: Counter;
|
|
28
|
+
readonly dequeueDurationSeconds: Histogram;
|
|
20
29
|
constructor(opts?: ConsumerPoolMetricsOptions);
|
|
21
30
|
/**
|
|
22
31
|
* Update all gauge metrics with current state
|
|
@@ -40,4 +49,10 @@ export declare class ConsumerPoolMetrics {
|
|
|
40
49
|
* Record a queue length update
|
|
41
50
|
*/
|
|
42
51
|
recordQueueLengthUpdate(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Record the client-side latency of a single dequeue API round-trip.
|
|
54
|
+
* @param seconds Wall-clock duration of the dequeue call, in seconds.
|
|
55
|
+
* @param outcome Whether the call returned runs, was empty, or errored.
|
|
56
|
+
*/
|
|
57
|
+
observeDequeueLatency(seconds: number, outcome: DequeueOutcome): void;
|
|
43
58
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Counter, Gauge, Registry } from "prom-client";
|
|
1
|
+
import { Counter, Gauge, Histogram, Registry } from "prom-client";
|
|
2
2
|
export class ConsumerPoolMetrics {
|
|
3
3
|
register;
|
|
4
4
|
prefix;
|
|
@@ -16,6 +16,8 @@ export class ConsumerPoolMetrics {
|
|
|
16
16
|
// Performance metrics
|
|
17
17
|
queueLengthUpdatesTotal;
|
|
18
18
|
batchesProcessedTotal;
|
|
19
|
+
// Dequeue API latency (client-side, measured around the dequeue HTTP call)
|
|
20
|
+
dequeueDurationSeconds;
|
|
19
21
|
constructor(opts = {}) {
|
|
20
22
|
this.register = opts.register ?? new Registry();
|
|
21
23
|
this.prefix = opts.prefix ?? "queue_consumer_pool";
|
|
@@ -81,6 +83,22 @@ export class ConsumerPoolMetrics {
|
|
|
81
83
|
help: "Total number of metric batches processed",
|
|
82
84
|
registers: [this.register],
|
|
83
85
|
});
|
|
86
|
+
this.dequeueDurationSeconds = new Histogram({
|
|
87
|
+
name: `${this.prefix}_dequeue_duration_seconds`,
|
|
88
|
+
help: "Client-side duration of the dequeue API call (POST /engine/v1/worker-actions/dequeue), including the HTTP client's internal retries and backoff",
|
|
89
|
+
labelNames: ["outcome"],
|
|
90
|
+
// The HTTP client retries internally (up to 5 attempts with 0.5-5s backoff),
|
|
91
|
+
// so one observation can span multiple requests plus sleeps. A retryable
|
|
92
|
+
// failure surfaces as `error` only after >=7.5s of backoff - the 10-30s
|
|
93
|
+
// buckets exist so that mode doesn't collapse into +Inf. The server also
|
|
94
|
+
// long-polls (RUN_ENGINE_DEQUEUE_BLOCKING_TIMEOUT_SECONDS, default 10s),
|
|
95
|
+
// parking empty dequeues at ~10s - the 11/12.5/15/20 buckets give the
|
|
96
|
+
// quantiles resolution just above that boundary, where the mass sits.
|
|
97
|
+
// 60s brackets the worst-case error envelope (5 attempts that each hit
|
|
98
|
+
// the ~10s hold, plus backoff); beyond that the connection is hung.
|
|
99
|
+
buckets: [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2, 5, 10, 11, 12.5, 15, 20, 30, 60],
|
|
100
|
+
registers: [this.register],
|
|
101
|
+
});
|
|
84
102
|
}
|
|
85
103
|
/**
|
|
86
104
|
* Update all gauge metrics with current state
|
|
@@ -123,5 +141,13 @@ export class ConsumerPoolMetrics {
|
|
|
123
141
|
recordQueueLengthUpdate() {
|
|
124
142
|
this.queueLengthUpdatesTotal.inc();
|
|
125
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Record the client-side latency of a single dequeue API round-trip.
|
|
146
|
+
* @param seconds Wall-clock duration of the dequeue call, in seconds.
|
|
147
|
+
* @param outcome Whether the call returned runs, was empty, or errored.
|
|
148
|
+
*/
|
|
149
|
+
observeDequeueLatency(seconds, outcome) {
|
|
150
|
+
this.dequeueDurationSeconds.observe({ outcome }, seconds);
|
|
151
|
+
}
|
|
126
152
|
}
|
|
127
153
|
//# sourceMappingURL=consumerPoolMetrics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumerPoolMetrics.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/consumerPoolMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"consumerPoolMetrics.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/consumerPoolMetrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SupervisorHttpClient } from "./http.js";
|
|
2
|
-
import { WorkerApiDequeueResponseBody } from "./schemas.js";
|
|
2
|
+
import { WorkerApiDequeueResponseBody, WorkerQueueClass } from "./schemas.js";
|
|
3
3
|
import { PreDequeueFn, PreSkipFn } from "./types.js";
|
|
4
|
+
import type { ConsumerPoolMetrics } from "./consumerPoolMetrics.js";
|
|
4
5
|
export interface QueueConsumer {
|
|
5
6
|
start(): void;
|
|
6
7
|
stop(): void;
|
|
@@ -12,17 +13,23 @@ export type RunQueueConsumerOptions = {
|
|
|
12
13
|
preDequeue?: PreDequeueFn;
|
|
13
14
|
preSkip?: PreSkipFn;
|
|
14
15
|
maxRunCount?: number;
|
|
16
|
+
/** Which worker-queue class this consumer pulls from. Defaults to the worker's region queue. */
|
|
17
|
+
queueClass?: WorkerQueueClass;
|
|
15
18
|
onDequeue: (messages: WorkerApiDequeueResponseBody, timing?: {
|
|
16
19
|
dequeueResponseMs: number;
|
|
17
20
|
pollingIntervalMs: number;
|
|
18
21
|
}) => Promise<void>;
|
|
22
|
+
/** Optional shared pool metrics. When provided, dequeue API latency is recorded as a histogram. */
|
|
23
|
+
metrics?: ConsumerPoolMetrics;
|
|
19
24
|
};
|
|
20
25
|
export declare class RunQueueConsumer implements QueueConsumer {
|
|
21
26
|
private readonly client;
|
|
22
27
|
private readonly preDequeue?;
|
|
23
28
|
private readonly preSkip?;
|
|
24
29
|
private readonly maxRunCount?;
|
|
30
|
+
private readonly queueClass?;
|
|
25
31
|
private readonly onDequeue;
|
|
32
|
+
private readonly metrics?;
|
|
26
33
|
private readonly logger;
|
|
27
34
|
private intervalMs;
|
|
28
35
|
private idleIntervalMs;
|
|
@@ -4,7 +4,9 @@ export class RunQueueConsumer {
|
|
|
4
4
|
preDequeue;
|
|
5
5
|
preSkip;
|
|
6
6
|
maxRunCount;
|
|
7
|
+
queueClass;
|
|
7
8
|
onDequeue;
|
|
9
|
+
metrics;
|
|
8
10
|
logger = new SimpleStructuredLogger("queue-consumer");
|
|
9
11
|
intervalMs;
|
|
10
12
|
idleIntervalMs;
|
|
@@ -17,9 +19,11 @@ export class RunQueueConsumer {
|
|
|
17
19
|
this.preDequeue = opts.preDequeue;
|
|
18
20
|
this.preSkip = opts.preSkip;
|
|
19
21
|
this.maxRunCount = opts.maxRunCount;
|
|
22
|
+
this.queueClass = opts.queueClass;
|
|
20
23
|
this.lastScheduledIntervalMs = opts.idleIntervalMs;
|
|
21
24
|
this.onDequeue = opts.onDequeue;
|
|
22
25
|
this.client = opts.client;
|
|
26
|
+
this.metrics = opts.metrics;
|
|
23
27
|
}
|
|
24
28
|
start() {
|
|
25
29
|
if (this.isEnabled) {
|
|
@@ -75,17 +79,21 @@ export class RunQueueConsumer {
|
|
|
75
79
|
return;
|
|
76
80
|
}
|
|
77
81
|
let nextIntervalMs = this.idleIntervalMs;
|
|
82
|
+
const dequeueStart = performance.now();
|
|
78
83
|
try {
|
|
79
|
-
const dequeueStart = performance.now();
|
|
80
84
|
const response = await this.client.dequeue({
|
|
81
85
|
maxResources: preDequeueResult?.maxResources,
|
|
82
86
|
maxRunCount: this.maxRunCount,
|
|
87
|
+
queueClass: this.queueClass,
|
|
83
88
|
});
|
|
84
|
-
const
|
|
89
|
+
const dequeueDurationSeconds = (performance.now() - dequeueStart) / 1000;
|
|
90
|
+
const dequeueResponseMs = Math.round(dequeueDurationSeconds * 1000);
|
|
85
91
|
if (!response.success) {
|
|
92
|
+
this.metrics?.observeDequeueLatency(dequeueDurationSeconds, "error");
|
|
86
93
|
this.logger.error("Failed to dequeue", { error: response.error });
|
|
87
94
|
}
|
|
88
95
|
else {
|
|
96
|
+
this.metrics?.observeDequeueLatency(dequeueDurationSeconds, response.data.length > 0 ? "success" : "empty");
|
|
89
97
|
try {
|
|
90
98
|
await this.onDequeue(response.data, { dequeueResponseMs, pollingIntervalMs: this.lastScheduledIntervalMs });
|
|
91
99
|
if (response.data.length > 0) {
|
|
@@ -98,6 +106,10 @@ export class RunQueueConsumer {
|
|
|
98
106
|
}
|
|
99
107
|
}
|
|
100
108
|
catch (clientError) {
|
|
109
|
+
// wrapZodFetch traps all errors into { success: false }, so this branch is
|
|
110
|
+
// unreachable with the real client today. Record defensively so a future
|
|
111
|
+
// client that throws can't silently lose error samples.
|
|
112
|
+
this.metrics?.observeDequeueLatency((performance.now() - dequeueStart) / 1000, "error");
|
|
101
113
|
this.logger.error("client.dequeue error", { error: clientError });
|
|
102
114
|
}
|
|
103
115
|
this.scheduleNextDequeue(nextIntervalMs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queueConsumer.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/queueConsumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"queueConsumer.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/queueConsumer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach, vi } from "vitest";
|
|
2
|
+
import { Registry } from "prom-client";
|
|
3
|
+
import { RunQueueConsumer } from "./queueConsumer.js";
|
|
4
|
+
import { ConsumerPoolMetrics } from "./consumerPoolMetrics.js";
|
|
5
|
+
// Mock only the logger (same approach as consumerPool.test.ts)
|
|
6
|
+
vi.mock("../../utils/structuredLogger.js");
|
|
7
|
+
function makeClient(dequeueImpl) {
|
|
8
|
+
return { dequeue: vi.fn(dequeueImpl) };
|
|
9
|
+
}
|
|
10
|
+
describe("RunQueueConsumer dequeue latency metric", () => {
|
|
11
|
+
let register;
|
|
12
|
+
let metrics;
|
|
13
|
+
let consumer;
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
vi.clearAllMocks();
|
|
16
|
+
// Fake timers so the trailing scheduleNextDequeue() never fires during the test.
|
|
17
|
+
vi.useFakeTimers();
|
|
18
|
+
register = new Registry();
|
|
19
|
+
metrics = new ConsumerPoolMetrics({ register });
|
|
20
|
+
});
|
|
21
|
+
afterEach(() => {
|
|
22
|
+
consumer?.stop();
|
|
23
|
+
vi.clearAllTimers();
|
|
24
|
+
vi.useRealTimers();
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* Runs exactly one dequeue iteration and awaits it. We set `isEnabled`
|
|
28
|
+
* directly and invoke the private `dequeue()` rather than `start()`, so no
|
|
29
|
+
* timer-driven loop runs - the metric is recorded before scheduleNextDequeue().
|
|
30
|
+
*/
|
|
31
|
+
async function runOneDequeue(opts) {
|
|
32
|
+
consumer = new RunQueueConsumer({
|
|
33
|
+
client: makeClient(opts.dequeueImpl),
|
|
34
|
+
intervalMs: 600_000,
|
|
35
|
+
idleIntervalMs: 600_000,
|
|
36
|
+
onDequeue: async () => { },
|
|
37
|
+
...(opts.withMetrics === false ? {} : { metrics }),
|
|
38
|
+
});
|
|
39
|
+
consumer.isEnabled = true;
|
|
40
|
+
await consumer.dequeue();
|
|
41
|
+
}
|
|
42
|
+
it('records outcome="empty" for a successful empty dequeue', async () => {
|
|
43
|
+
await runOneDequeue({ dequeueImpl: async () => ({ success: true, data: [] }) });
|
|
44
|
+
expect(await register.metrics()).toContain('queue_consumer_pool_dequeue_duration_seconds_count{outcome="empty"} 1');
|
|
45
|
+
});
|
|
46
|
+
it('records outcome="success" once per round-trip, regardless of message count', async () => {
|
|
47
|
+
const messages = [{ run: {} }, { run: {} }];
|
|
48
|
+
await runOneDequeue({ dequeueImpl: async () => ({ success: true, data: messages }) });
|
|
49
|
+
const text = await register.metrics();
|
|
50
|
+
// One observation for the whole batch, not one per message.
|
|
51
|
+
expect(text).toContain('queue_consumer_pool_dequeue_duration_seconds_count{outcome="success"} 1');
|
|
52
|
+
});
|
|
53
|
+
it('records outcome="error" when the response is unsuccessful', async () => {
|
|
54
|
+
await runOneDequeue({
|
|
55
|
+
dequeueImpl: async () => ({ success: false, error: new Error("boom") }),
|
|
56
|
+
});
|
|
57
|
+
expect(await register.metrics()).toContain('queue_consumer_pool_dequeue_duration_seconds_count{outcome="error"} 1');
|
|
58
|
+
});
|
|
59
|
+
// Defensive path: wrapZodFetch traps all errors today, so the real client
|
|
60
|
+
// never throws - this guards against a future client that does.
|
|
61
|
+
it('records outcome="error" when the dequeue call throws', async () => {
|
|
62
|
+
await runOneDequeue({
|
|
63
|
+
dequeueImpl: async () => {
|
|
64
|
+
throw new Error("network down");
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
expect(await register.metrics()).toContain('queue_consumer_pool_dequeue_duration_seconds_count{outcome="error"} 1');
|
|
68
|
+
});
|
|
69
|
+
it("is a no-op (does not throw) when no metrics instance is provided", async () => {
|
|
70
|
+
await expect(runOneDequeue({ dequeueImpl: async () => ({ success: true, data: [] }), withMetrics: false })).resolves.not.toThrow();
|
|
71
|
+
// Histogram has no observations - the labelled count line should be absent.
|
|
72
|
+
expect(await register.metrics()).not.toContain("queue_consumer_pool_dequeue_duration_seconds_count");
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=queueConsumer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queueConsumer.test.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/queueConsumer.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -209,6 +209,8 @@ export declare const WorkerApiConnectResponseBody: z.ZodObject<{
|
|
|
209
209
|
};
|
|
210
210
|
}>;
|
|
211
211
|
export type WorkerApiConnectResponseBody = z.infer<typeof WorkerApiConnectResponseBody>;
|
|
212
|
+
export declare const WorkerQueueClass: z.ZodEnum<["default", "scheduled"]>;
|
|
213
|
+
export type WorkerQueueClass = z.infer<typeof WorkerQueueClass>;
|
|
212
214
|
export declare const WorkerApiDequeueRequestBody: z.ZodObject<{
|
|
213
215
|
maxResources: z.ZodOptional<z.ZodObject<{
|
|
214
216
|
cpu: z.ZodNumber;
|
|
@@ -221,18 +223,28 @@ export declare const WorkerApiDequeueRequestBody: z.ZodObject<{
|
|
|
221
223
|
memory: number;
|
|
222
224
|
}>>;
|
|
223
225
|
maxRunCount: z.ZodOptional<z.ZodNumber>;
|
|
226
|
+
/**
|
|
227
|
+
* Which class of worker queue this consumer pulls from. Absent or "default" =
|
|
228
|
+
* the worker group's region queue. "scheduled" targets the dedicated
|
|
229
|
+
* scheduled-lineage queue so a separate fleet can drain it independently. The
|
|
230
|
+
* server derives the actual queue name from the token, so this only ever
|
|
231
|
+
* selects between the authenticated worker's own queues.
|
|
232
|
+
*/
|
|
233
|
+
queueClass: z.ZodOptional<z.ZodEnum<["default", "scheduled"]>>;
|
|
224
234
|
}, "strip", z.ZodTypeAny, {
|
|
225
235
|
maxResources?: {
|
|
226
236
|
cpu: number;
|
|
227
237
|
memory: number;
|
|
228
238
|
} | undefined;
|
|
229
239
|
maxRunCount?: number | undefined;
|
|
240
|
+
queueClass?: "default" | "scheduled" | undefined;
|
|
230
241
|
}, {
|
|
231
242
|
maxResources?: {
|
|
232
243
|
cpu: number;
|
|
233
244
|
memory: number;
|
|
234
245
|
} | undefined;
|
|
235
246
|
maxRunCount?: number | undefined;
|
|
247
|
+
queueClass?: "default" | "scheduled" | undefined;
|
|
236
248
|
}>;
|
|
237
249
|
export type WorkerApiDequeueRequestBody = z.infer<typeof WorkerApiDequeueRequestBody>;
|
|
238
250
|
export declare const WorkerApiDequeueResponseBody: z.ZodArray<z.ZodObject<{
|
|
@@ -39,9 +39,18 @@ export const WorkerApiConnectResponseBody = z.object({
|
|
|
39
39
|
name: z.string(),
|
|
40
40
|
}),
|
|
41
41
|
});
|
|
42
|
+
export const WorkerQueueClass = z.enum(["default", "scheduled"]);
|
|
42
43
|
export const WorkerApiDequeueRequestBody = z.object({
|
|
43
44
|
maxResources: MachineResources.optional(),
|
|
44
45
|
maxRunCount: z.number().optional(),
|
|
46
|
+
/**
|
|
47
|
+
* Which class of worker queue this consumer pulls from. Absent or "default" =
|
|
48
|
+
* the worker group's region queue. "scheduled" targets the dedicated
|
|
49
|
+
* scheduled-lineage queue so a separate fleet can drain it independently. The
|
|
50
|
+
* server derives the actual queue name from the token, so this only ever
|
|
51
|
+
* selects between the authenticated worker's own queues.
|
|
52
|
+
*/
|
|
53
|
+
queueClass: WorkerQueueClass.optional(),
|
|
45
54
|
});
|
|
46
55
|
export const WorkerApiDequeueResponseBody = DequeuedMessage.array();
|
|
47
56
|
export const WorkerApiRunHeartbeatRequestBody = z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC3B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CACpB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IAC5E,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACxB,UAAU,EAAE,eAAe;KAC5B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;CACH,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CACpB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,wCAAwC,GAAG,eAAe,CAAC;AAKxE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;CAC5B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC;CACH,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../../src/v3/runEngineWorker/supervisor/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SupervisorHttpClient } from "./http.js";
|
|
2
2
|
import { PreDequeueFn, PreSkipFn, SupervisorClientCommonOptions } from "./types.js";
|
|
3
|
+
import { WorkerQueueClass } from "./schemas.js";
|
|
3
4
|
import { ScalingOptions } from "./consumerPool.js";
|
|
4
5
|
import { WorkerEvents } from "./events.js";
|
|
5
6
|
import EventEmitter from "events";
|
|
@@ -13,6 +14,8 @@ type SupervisorSessionOptions = SupervisorClientCommonOptions & {
|
|
|
13
14
|
preDequeue?: PreDequeueFn;
|
|
14
15
|
preSkip?: PreSkipFn;
|
|
15
16
|
maxRunCount?: number;
|
|
17
|
+
/** Which worker-queue class this supervisor's consumers pull from. Defaults to the region queue. */
|
|
18
|
+
queueClass?: WorkerQueueClass;
|
|
16
19
|
sendRunDebugLogs?: boolean;
|
|
17
20
|
scaling: ScalingOptions;
|
|
18
21
|
metricsRegistry?: Registry;
|
|
@@ -30,6 +30,7 @@ export class SupervisorSession extends EventEmitter {
|
|
|
30
30
|
intervalMs: opts.dequeueIntervalMs,
|
|
31
31
|
idleIntervalMs: opts.dequeueIdleIntervalMs,
|
|
32
32
|
maxRunCount: opts.maxRunCount,
|
|
33
|
+
queueClass: opts.queueClass,
|
|
33
34
|
},
|
|
34
35
|
scaling: opts.scaling,
|
|
35
36
|
metricsRegistry: opts.metricsRegistry,
|