effect-mq 0.3.0 → 0.3.1

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/README.md CHANGED
@@ -171,6 +171,34 @@ DrizzleJobStore.layer({ ...tables, historyTtl: { completed: "1 day", failed: "90
171
171
  The sweep honours `min(per-row keep.age, ceiling)`, so a job name that goes
172
172
  quiet is still pruned on the timer, not only when its group is next acked.
173
173
 
174
+ ## Metrics
175
+
176
+ Workers and producers emit Effect `Metric` instruments (exported as the
177
+ `Metrics` module). They are **process-local operational signal, not
178
+ persisted state** — wire up any Effect-compatible exporter (the Otlp modules
179
+ from `effect/unstable/observability`, `@effect/opentelemetry`, Prometheus)
180
+ and retention lives in your metrics backend. The *durable* analogues stay in
181
+ the store: `store.counts()` for live depth, the attempt ledger for per-run
182
+ history — both queryable forever.
183
+
184
+ | Metric | Type | Tags |
185
+ | --- | --- | --- |
186
+ | `effect_mq_jobs_enqueued` | counter | `name`, `queue`, `duplicate` |
187
+ | `effect_mq_job_runs` | counter | `name`, `queue`, `outcome` |
188
+ | `effect_mq_job_run_duration_ms` | histogram | `name`, `queue`, `outcome` |
189
+ | `effect_mq_job_wait_duration_ms` | histogram | `name`, `queue` |
190
+ | `effect_mq_claims` | counter | `queue`, `result` (claimed/empty) |
191
+ | `effect_mq_jobs_in_flight` | gauge | `queue` |
192
+ | `effect_mq_queue_depth` | gauge | `queue`, `state` (opt-in sampler) |
193
+ | `effect_mq_locks_lost` / `effect_mq_cancel_interrupts` | counter | — |
194
+ | `effect_mq_stalled_recovered` | counter | `outcome` |
195
+ | `effect_mq_schedule_ticks` | counter | `name` |
196
+
197
+ `job_wait_duration_ms` is the queue-latency headline: time between a job
198
+ becoming runnable and its claim. Depth sampling costs one `counts()` query
199
+ per queue per tick, so it is opt-in:
200
+ `Worker.layer({ queueMetricsInterval: "15 seconds" })`.
201
+
174
202
  ## Custom job ids
175
203
 
176
204
  Store-assigned ids default to a compact sequence (`j-<n>`). Bring your own
@@ -475,6 +503,7 @@ handler).
475
503
  | `maxStalledCount` | 1 | stalls tolerated before a job is failed outright |
476
504
  | `pollInterval` | 5s | idle fallback when no wake-up arrives (wake-ups are queue-filtered and push-based, so the default is fine even on Postgres) |
477
505
  | `scheduleSweepInterval` | 15s | how often to tick due repeatable-job schedules |
506
+ | `queueMetricsInterval` | off | sample `store.counts()` per queue into the depth gauge |
478
507
  | `id` | random | identifier used in lock tokens |
479
508
 
480
509
  **Store construction** — every driver accepts `idGenerator`, `historyTtl`,
package/dist/Job.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../src/Job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../src/Job.ts"],"names":[],"mappings":"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"}
package/dist/Job.js CHANGED
@@ -30,8 +30,9 @@
30
30
  *
31
31
  * @since 0.1.0
32
32
  */
33
- import { Clock, Duration, Effect, Layer, Option, Predicate, Schedule, Schema } from "effect";
33
+ import { Clock, Duration, Effect, Layer, Metric, Option, Predicate, Schedule, Schema } from "effect";
34
34
  import { JobCancelledError, JobId, JobNotFoundError, JobStore, nextOccurrence, QueueName, ScheduleKey, unrecoverable } from "./JobStore.js";
35
+ import * as Metrics from "./Metrics.js";
35
36
  export {
36
37
  /**
37
38
  * Mark an error value as unrecoverable: the worker skips the remaining
@@ -109,12 +110,11 @@ const Proto = {
109
110
  ...options?.metadata
110
111
  };
111
112
  const dedupe = normalizeDedupe(options?.dedupe ?? this.dedupe?.(payload));
113
+ const queue = options?.queue !== undefined ? QueueName(options.queue) : this.queue;
112
114
  return Schema.encodeEffect(this.payloadJsonSchema)(payload).pipe(Effect.orDie, Effect.flatMap((encoded) => Effect.flatMap(this.store, (store) => store.enqueue({
113
115
  id,
114
116
  name: this._tag,
115
- queue: options?.queue !== undefined
116
- ? QueueName(options.queue)
117
- : this.queue,
117
+ queue,
118
118
  payload: encoded,
119
119
  metadata,
120
120
  priority: options?.priority ?? this.defaults.priority,
@@ -132,7 +132,11 @@ const Proto = {
132
132
  delayMs: options?.delay !== undefined
133
133
  ? Duration.toMillis(options.delay)
134
134
  : this.defaults.delayMs
135
- }))), Effect.orDie, Effect.map((result) => result.id));
135
+ }))), Effect.orDie, Effect.tap((result) => Metric.update(Metrics.jobsEnqueued.pipe(Metric.withAttributes({
136
+ name: this._tag,
137
+ queue,
138
+ duplicate: result.duplicate ? "true" : "false"
139
+ })), 1)), Effect.map((result) => result.id));
136
140
  }).pipe(Effect.withSpan(`${this._tag}.enqueue`, {}, { captureStackTrace: false }));
137
141
  },
138
142
  poll(jobId) {
package/dist/Job.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Job.js","sourceRoot":"","sources":["../src/Job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Job.js","sourceRoot":"","sources":["../src/Job.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * The metrics effect-mq emits, as Effect `Metric` instruments.
3
+ *
4
+ * Metrics are **process-local operational signal, not persisted state**:
5
+ * they live in the Effect metric registry of the emitting process and are
6
+ * exported by whatever exporter the application runs (the Otlp modules from
7
+ * `effect/unstable/observability`, `@effect/opentelemetry`, a Prometheus
8
+ * scraper, ...). Retention belongs to that metrics backend. The queue's
9
+ * *durable* analogues remain in the store — `store.counts()` for live depth
10
+ * and the attempt ledger for per-run history — and stay queryable forever.
11
+ *
12
+ * Producers emit `jobsEnqueued`; workers emit the rest from their loops.
13
+ * Everything is tagged with low-cardinality attributes only (job name,
14
+ * queue, outcome/result) — never ids or keys.
15
+ *
16
+ * This module is exported so applications can read the same instruments
17
+ * (e.g. `Metric.value(Metrics.jobRuns.pipe(Metric.withAttributes({...})))`)
18
+ * or reference the names when building dashboards.
19
+ *
20
+ * @since 0.3.1
21
+ */
22
+ import { Metric } from "effect";
23
+ /**
24
+ * Producer-side enqueues. Tags: `name`, `queue`, `duplicate` ("true" when
25
+ * the enqueue deduplicated against an existing id or dedup key).
26
+ *
27
+ * @since 0.3.1
28
+ */
29
+ export declare const jobsEnqueued: Metric.Counter<number>;
30
+ /**
31
+ * Finished runs, one per handler attempt. Tags: `name`, `queue`, `outcome`
32
+ * (completed | retried | failed | cancelled | released).
33
+ *
34
+ * @since 0.3.1
35
+ */
36
+ export declare const jobRuns: Metric.Counter<number>;
37
+ /**
38
+ * Handler execution time in milliseconds (claim to ack). Tags: `name`,
39
+ * `queue`, `outcome`.
40
+ *
41
+ * @since 0.3.1
42
+ */
43
+ export declare const jobRunDuration: Metric.Histogram<number>;
44
+ /**
45
+ * Queue latency in milliseconds: how long a job was runnable (past its
46
+ * `runAt`) before a worker claimed it. Tags: `name`, `queue`.
47
+ *
48
+ * @since 0.3.1
49
+ */
50
+ export declare const jobWaitDuration: Metric.Histogram<number>;
51
+ /**
52
+ * Claim attempts by result. Tags: `queue`, `result` (claimed | empty).
53
+ * A high empty ratio means takers outnumber work.
54
+ *
55
+ * @since 0.3.1
56
+ */
57
+ export declare const claims: Metric.Counter<number>;
58
+ /**
59
+ * Handlers currently executing. Tags: `queue`.
60
+ *
61
+ * @since 0.3.1
62
+ */
63
+ export declare const jobsInFlight: Metric.Gauge<number>;
64
+ /**
65
+ * Queue depth by state, sampled from `store.counts()` when
66
+ * `Worker.layer({ queueMetricsInterval })` is set. Tags: `queue`, `state`.
67
+ *
68
+ * @since 0.3.1
69
+ */
70
+ export declare const queueDepth: Metric.Gauge<number>;
71
+ /**
72
+ * Locks found gone at renewal, counted once per lost lock (the job may run
73
+ * twice). Tags: none.
74
+ *
75
+ * @since 0.3.1
76
+ */
77
+ export declare const locksLost: Metric.Counter<number>;
78
+ /**
79
+ * Cross-process cancel requests delivered to running handlers by the
80
+ * heartbeat. Tags: none.
81
+ *
82
+ * @since 0.3.1
83
+ */
84
+ export declare const cancelInterrupts: Metric.Counter<number>;
85
+ /**
86
+ * Jobs recovered by the stalled sweep. Tags: `outcome` (requeued | failed).
87
+ *
88
+ * @since 0.3.1
89
+ */
90
+ export declare const stalledRecovered: Metric.Counter<number>;
91
+ /**
92
+ * Repeatable-schedule occurrences enqueued by this worker's sweep. Tags:
93
+ * `name` (the job name).
94
+ *
95
+ * @since 0.3.1
96
+ */
97
+ export declare const scheduleTicks: Metric.Counter<number>;
98
+ //# sourceMappingURL=Metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metrics.d.ts","sourceRoot":"","sources":["../src/Metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK/B;;;;;GAKG;AACH,eAAO,MAAM,YAAY,wBAEvB,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,OAAO,wBAElB,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,0BAGzB,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,0BAG1B,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,MAAM,wBAEjB,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,sBAEvB,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,sBAErB,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,wBAEpB,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,wBAE3B,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,wBAE3B,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,wBAExB,CAAA"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * The metrics effect-mq emits, as Effect `Metric` instruments.
3
+ *
4
+ * Metrics are **process-local operational signal, not persisted state**:
5
+ * they live in the Effect metric registry of the emitting process and are
6
+ * exported by whatever exporter the application runs (the Otlp modules from
7
+ * `effect/unstable/observability`, `@effect/opentelemetry`, a Prometheus
8
+ * scraper, ...). Retention belongs to that metrics backend. The queue's
9
+ * *durable* analogues remain in the store — `store.counts()` for live depth
10
+ * and the attempt ledger for per-run history — and stay queryable forever.
11
+ *
12
+ * Producers emit `jobsEnqueued`; workers emit the rest from their loops.
13
+ * Everything is tagged with low-cardinality attributes only (job name,
14
+ * queue, outcome/result) — never ids or keys.
15
+ *
16
+ * This module is exported so applications can read the same instruments
17
+ * (e.g. `Metric.value(Metrics.jobRuns.pipe(Metric.withAttributes({...})))`)
18
+ * or reference the names when building dashboards.
19
+ *
20
+ * @since 0.3.1
21
+ */
22
+ import { Metric } from "effect";
23
+ /** Milliseconds, 5ms .. ~55 minutes. */
24
+ const durationBoundaries = Metric.exponentialBoundaries({ start: 5, factor: 2, count: 20 });
25
+ /**
26
+ * Producer-side enqueues. Tags: `name`, `queue`, `duplicate` ("true" when
27
+ * the enqueue deduplicated against an existing id or dedup key).
28
+ *
29
+ * @since 0.3.1
30
+ */
31
+ export const jobsEnqueued = Metric.counter("effect_mq_jobs_enqueued", {
32
+ description: "Jobs submitted via Job.enqueue/execute, including deduplicated submissions"
33
+ });
34
+ /**
35
+ * Finished runs, one per handler attempt. Tags: `name`, `queue`, `outcome`
36
+ * (completed | retried | failed | cancelled | released).
37
+ *
38
+ * @since 0.3.1
39
+ */
40
+ export const jobRuns = Metric.counter("effect_mq_job_runs", {
41
+ description: "Handler runs by outcome (released = handed back on worker shutdown)"
42
+ });
43
+ /**
44
+ * Handler execution time in milliseconds (claim to ack). Tags: `name`,
45
+ * `queue`, `outcome`.
46
+ *
47
+ * @since 0.3.1
48
+ */
49
+ export const jobRunDuration = Metric.histogram("effect_mq_job_run_duration_ms", {
50
+ description: "Handler execution time in milliseconds, claim to ack",
51
+ boundaries: durationBoundaries
52
+ });
53
+ /**
54
+ * Queue latency in milliseconds: how long a job was runnable (past its
55
+ * `runAt`) before a worker claimed it. Tags: `name`, `queue`.
56
+ *
57
+ * @since 0.3.1
58
+ */
59
+ export const jobWaitDuration = Metric.histogram("effect_mq_job_wait_duration_ms", {
60
+ description: "Time between a job becoming runnable and its claim, in milliseconds",
61
+ boundaries: durationBoundaries
62
+ });
63
+ /**
64
+ * Claim attempts by result. Tags: `queue`, `result` (claimed | empty).
65
+ * A high empty ratio means takers outnumber work.
66
+ *
67
+ * @since 0.3.1
68
+ */
69
+ export const claims = Metric.counter("effect_mq_claims", {
70
+ description: "Store claim attempts by result"
71
+ });
72
+ /**
73
+ * Handlers currently executing. Tags: `queue`.
74
+ *
75
+ * @since 0.3.1
76
+ */
77
+ export const jobsInFlight = Metric.gauge("effect_mq_jobs_in_flight", {
78
+ description: "Handlers currently executing"
79
+ });
80
+ /**
81
+ * Queue depth by state, sampled from `store.counts()` when
82
+ * `Worker.layer({ queueMetricsInterval })` is set. Tags: `queue`, `state`.
83
+ *
84
+ * @since 0.3.1
85
+ */
86
+ export const queueDepth = Metric.gauge("effect_mq_queue_depth", {
87
+ description: "Jobs per state, sampled from store.counts() per registered queue"
88
+ });
89
+ /**
90
+ * Locks found gone at renewal, counted once per lost lock (the job may run
91
+ * twice). Tags: none.
92
+ *
93
+ * @since 0.3.1
94
+ */
95
+ export const locksLost = Metric.counter("effect_mq_locks_lost", {
96
+ description: "Locks found lost at heartbeat renewal, once per lock"
97
+ });
98
+ /**
99
+ * Cross-process cancel requests delivered to running handlers by the
100
+ * heartbeat. Tags: none.
101
+ *
102
+ * @since 0.3.1
103
+ */
104
+ export const cancelInterrupts = Metric.counter("effect_mq_cancel_interrupts", {
105
+ description: "Running handlers interrupted by a cancel request"
106
+ });
107
+ /**
108
+ * Jobs recovered by the stalled sweep. Tags: `outcome` (requeued | failed).
109
+ *
110
+ * @since 0.3.1
111
+ */
112
+ export const stalledRecovered = Metric.counter("effect_mq_stalled_recovered", {
113
+ description: "Stalled jobs recovered (requeued) or failed past the stall limit"
114
+ });
115
+ /**
116
+ * Repeatable-schedule occurrences enqueued by this worker's sweep. Tags:
117
+ * `name` (the job name).
118
+ *
119
+ * @since 0.3.1
120
+ */
121
+ export const scheduleTicks = Metric.counter("effect_mq_schedule_ticks", {
122
+ description: "Repeatable-schedule occurrences enqueued by the schedule sweep"
123
+ });
124
+ //# sourceMappingURL=Metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metrics.js","sourceRoot":"","sources":["../src/Metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,wCAAwC;AACxC,MAAM,kBAAkB,GAAG,MAAM,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;AAE3F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;IACpE,WAAW,EAAE,4EAA4E;CAC1F,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE;IAC1D,WAAW,EAAE,qEAAqE;CACnF,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,+BAA+B,EAAE;IAC9E,WAAW,EAAE,sDAAsD;IACnE,UAAU,EAAE,kBAAkB;CAC/B,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,gCAAgC,EAAE;IAChF,WAAW,EAAE,qEAAqE;IAClF,UAAU,EAAE,kBAAkB;CAC/B,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;IACvD,WAAW,EAAE,gCAAgC;CAC9C,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;IACnE,WAAW,EAAE,8BAA8B;CAC5C,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;IAC9D,WAAW,EAAE,kEAAkE;CAChF,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE;IAC9D,WAAW,EAAE,sDAAsD;CACpE,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE;IAC5E,WAAW,EAAE,kDAAkD;CAChE,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE;IAC5E,WAAW,EAAE,kEAAkE;CAChF,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE;IACtE,WAAW,EAAE,gEAAgE;CAC9E,CAAC,CAAA"}
package/dist/Worker.d.ts CHANGED
@@ -96,6 +96,12 @@ export interface WorkerOptions<StoreId = JobStore> {
96
96
  readonly pollInterval?: Duration.Input | undefined;
97
97
  /** How often to tick due repeatable-job schedules (default 15s). */
98
98
  readonly scheduleSweepInterval?: Duration.Input | undefined;
99
+ /**
100
+ * When set, sample `store.counts(queue)` for every registered queue into
101
+ * the `effect_mq_queue_depth` gauge at this cadence (default: off — depth
102
+ * sampling costs one store query per queue per tick).
103
+ */
104
+ readonly queueMetricsInterval?: Duration.Input | undefined;
99
105
  /** Identifier used in lock tokens (default: random). */
100
106
  readonly id?: string | undefined;
101
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../src/Worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../src/Worker.ts"],"names":[],"mappings":"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"}
package/dist/Worker.js CHANGED
@@ -14,8 +14,9 @@
14
14
  *
15
15
  * @since 0.1.0
16
16
  */
17
- import { Cause, Clock, Context, Deferred, Duration, Effect, Exit, Fiber, FiberSet, Layer, Option, Result, Schedule, Schema, Scope as Scope_, Tracer } from "effect";
17
+ import { Cause, Clock, Context, Deferred, Duration, Effect, Exit, Fiber, FiberSet, Layer, Metric, Option, Result, Schedule, Schema, Scope as Scope_, Tracer } from "effect";
18
18
  import { isJobStoreError, isMarkedUnrecoverable, JobId, JobStore, nextOccurrence, QueueName } from "./JobStore.js";
19
+ import * as Metrics from "./Metrics.js";
19
20
  /**
20
21
  * @since 0.1.0
21
22
  */
@@ -131,6 +132,14 @@ export const make = (options) => Effect.gen(function* () {
131
132
  attempt: record.attemptsMade + 1,
132
133
  attemptsMax: record.attemptsMax
133
134
  };
135
+ // One line per finished run: outcome counter + duration histogram
136
+ // (claim time to now, from the Effect Clock).
137
+ const recordRun = (outcome) => Effect.gen(function* () {
138
+ const finished = yield* Clock.currentTimeMillis;
139
+ const attributes = { name: record.name, queue: record.queue, outcome };
140
+ yield* Metric.update(Metrics.jobRuns.pipe(Metric.withAttributes(attributes)), 1);
141
+ yield* Metric.update(Metrics.jobRunDuration.pipe(Metric.withAttributes(attributes)), Math.max(0, finished - (record.processedAt ?? finished)));
142
+ });
134
143
  return Effect.gen(function* () {
135
144
  // The per-run time limit interrupts the handler internally; surface
136
145
  // it as a defect so it flows through normal retry accounting.
@@ -147,14 +156,17 @@ export const make = (options) => Effect.gen(function* () {
147
156
  // keeps the child interruptible while the fork itself is masked.
148
157
  const fiber = yield* Effect.forkChild(restore(handlerEffect));
149
158
  inflight.set(record.id, { id: record.id, token, fiber });
159
+ const busy = Metrics.jobsInFlight.pipe(Metric.withAttributes({ queue: record.queue }));
160
+ yield* Metric.modify(busy, 1);
150
161
  const exit = yield* Effect.exit(restore(Fiber.join(fiber)));
162
+ yield* Metric.modify(busy, -1);
151
163
  inflight.delete(record.id);
152
164
  const wasCancelled = cancelling.delete(record.id);
153
165
  // A cancel-request interrupt is terminal: ack Cancelled (even if a
154
166
  // shutdown races it — cancellation wins, the job must not revive).
155
167
  if (wasCancelled && Exit.isFailure(exit) && Cause.hasInterruptsOnly(exit.cause)) {
156
168
  yield* ackSafely(store.ack(record.id, token, { _tag: "Cancelled" }), "ack");
157
- return;
169
+ return yield* recordRun("cancelled");
158
170
  }
159
171
  // Distinguish worker shutdown from a handler that interrupted
160
172
  // itself: entering an interruptible region while an external
@@ -166,6 +178,7 @@ export const make = (options) => Effect.gen(function* () {
166
178
  // without consuming an attempt.
167
179
  yield* Fiber.interrupt(fiber);
168
180
  yield* ackSafely(store.release(record.id, token), "release");
181
+ yield* recordRun("released");
169
182
  return yield* Effect.interrupt;
170
183
  }
171
184
  // A handler that interrupted itself is a failed attempt, not a
@@ -194,6 +207,13 @@ export const make = (options) => Effect.gen(function* () {
194
207
  ? { _tag: "Fail", exit: exitValue }
195
208
  : routeFailure(record, exitValue);
196
209
  yield* ackSafely(store.ack(record.id, token, outcome), "ack");
210
+ yield* recordRun(outcome._tag === "Complete"
211
+ ? "completed"
212
+ : outcome._tag === "Retry"
213
+ ? "retried"
214
+ : outcome._tag === "Cancelled"
215
+ ? "cancelled"
216
+ : "failed");
197
217
  });
198
218
  });
199
219
  // One loop iteration. The claim and everything after it run
@@ -213,6 +233,7 @@ export const make = (options) => Effect.gen(function* () {
213
233
  lockDurationMs
214
234
  }));
215
235
  if (result._tag === "Empty") {
236
+ yield* Metric.update(Metrics.claims.pipe(Metric.withAttributes({ queue, result: "empty" })), 1);
216
237
  const now = yield* Clock.currentTimeMillis;
217
238
  const timeout = result.nextRunAt !== undefined
218
239
  ? Math.max(0, Math.min(result.nextRunAt - now, pollMs))
@@ -223,6 +244,9 @@ export const make = (options) => Effect.gen(function* () {
223
244
  awaitPulse(observedPulse)
224
245
  ]));
225
246
  }
247
+ yield* Metric.update(Metrics.claims.pipe(Metric.withAttributes({ queue, result: "claimed" })), 1);
248
+ const claimedAt = yield* Clock.currentTimeMillis;
249
+ yield* Metric.update(Metrics.jobWaitDuration.pipe(Metric.withAttributes({ name: result.job.name, queue })), Math.max(0, claimedAt - result.job.runAt));
226
250
  yield* processJob(result.job, token, restore);
227
251
  }));
228
252
  const takerLoop = (queue) => takerIteration(queue).pipe(Effect.catchCause((cause) => Effect.logError(`effect-mq: worker iteration failed (queue "${queue}")`, cause)), Effect.forever);
@@ -245,13 +269,25 @@ export const make = (options) => Effect.gen(function* () {
245
269
  return;
246
270
  const result = yield* retryStore(store.extendLocks(entries.map((entry) => ({ id: entry.id, token: entry.token })), lockDurationMs));
247
271
  if (result.lost.length > 0) {
272
+ yield* Metric.update(Metrics.locksLost, result.lost.length);
248
273
  yield* Effect.logWarning("effect-mq: failed to renew locks; jobs may run twice", result.lost);
274
+ // A lost lock stays lost: drop the flight so we neither renew nor
275
+ // recount it every heartbeat (the run's eventual ack surfaces
276
+ // LockLostError on its own).
277
+ for (const id of result.lost) {
278
+ inflight.delete(id);
279
+ }
249
280
  }
250
281
  // Honour cross-process cancel requests: interrupt the handler fiber;
251
282
  // processJob acks the job as Cancelled.
252
283
  for (const id of result.cancelRequested) {
253
284
  const flight = inflight.get(id);
254
285
  if (flight !== undefined) {
286
+ // The store re-reports the request every heartbeat until the ack
287
+ // lands; count the first delivery only.
288
+ if (!cancelling.has(id)) {
289
+ yield* Metric.update(Metrics.cancelInterrupts, 1);
290
+ }
255
291
  cancelling.add(id);
256
292
  // Delivery only — awaiting the handler's exit here would park the
257
293
  // heartbeat behind arbitrary user finalizers and starve every other
@@ -265,6 +301,13 @@ export const make = (options) => Effect.gen(function* () {
265
301
  yield* Effect.sleep(stalledMs);
266
302
  const recovered = yield* retryStore(store.recoverStalled({ maxStalledCount }));
267
303
  if (recovered.length > 0) {
304
+ const failed = recovered.filter((entry) => entry.failed).length;
305
+ if (failed > 0) {
306
+ yield* Metric.update(Metrics.stalledRecovered.pipe(Metric.withAttributes({ outcome: "failed" })), failed);
307
+ }
308
+ if (recovered.length - failed > 0) {
309
+ yield* Metric.update(Metrics.stalledRecovered.pipe(Metric.withAttributes({ outcome: "requeued" })), recovered.length - failed);
310
+ }
268
311
  yield* Effect.logWarning("effect-mq: recovered stalled jobs", recovered);
269
312
  }
270
313
  }).pipe(Effect.catchCause((cause) => Effect.logError("effect-mq: stalled sweep failed", cause)), Effect.forever);
@@ -279,7 +322,7 @@ export const make = (options) => Effect.gen(function* () {
279
322
  if (next === undefined) {
280
323
  return yield* Effect.logError(`effect-mq: schedule "${schedule.key}" has an invalid cron/every configuration; skipping`);
281
324
  }
282
- yield* retryStore(store.enqueue({
325
+ const tick = yield* retryStore(store.enqueue({
283
326
  id: JobId(`sched/${schedule.key}/${slot}`),
284
327
  name: schedule.jobName,
285
328
  queue: schedule.queue,
@@ -293,6 +336,9 @@ export const make = (options) => Effect.gen(function* () {
293
336
  dedupe: undefined,
294
337
  delayMs: 0
295
338
  }));
339
+ if (!tick.duplicate) {
340
+ yield* Metric.update(Metrics.scheduleTicks.pipe(Metric.withAttributes({ name: schedule.jobName })), 1);
341
+ }
296
342
  yield* retryStore(store.advanceSchedule(schedule.key, slot, next));
297
343
  });
298
344
  // Each due schedule is swept in isolation so one poison row (bad cron,
@@ -307,6 +353,19 @@ export const make = (options) => Effect.gen(function* () {
307
353
  yield* FiberSet.run(fibers, renewalLoop);
308
354
  yield* FiberSet.run(fibers, stalledLoop);
309
355
  yield* FiberSet.run(fibers, scheduleLoop);
356
+ if (options?.queueMetricsInterval !== undefined) {
357
+ const sampleMs = Duration.toMillis(options.queueMetricsInterval);
358
+ const depthLoop = Effect.gen(function* () {
359
+ yield* Effect.sleep(sampleMs);
360
+ for (const queue of startedQueues) {
361
+ const counts = yield* retryStore(store.counts(queue));
362
+ for (const [state, depth] of Object.entries(counts)) {
363
+ yield* Metric.update(Metrics.queueDepth.pipe(Metric.withAttributes({ queue, state })), depth);
364
+ }
365
+ }
366
+ }).pipe(Effect.catchCause((cause) => Effect.logWarning("effect-mq: queue depth sampling failed", cause)), Effect.forever);
367
+ yield* FiberSet.run(fibers, depthLoop);
368
+ }
310
369
  // SAFETY: the public `register` signature declares Scope, the handler's R
311
370
  // and the codec services as requirements; the implementation erases them
312
371
  // (the trailing assertion below) because the handler runs with the
@@ -1 +1 @@
1
- {"version":3,"file":"Worker.js","sourceRoot":"","sources":["../src/Worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Worker.js","sourceRoot":"","sources":["../src/Worker.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -21,6 +21,13 @@ export * as JobStore from "./JobStore.ts";
21
21
  * @since 0.1.0
22
22
  */
23
23
  export * as MemoryJobStore from "./MemoryJobStore.ts";
24
+ /**
25
+ * The metrics effect-mq emits (Effect `Metric` instruments) — process-local,
26
+ * exported by your observability stack.
27
+ *
28
+ * @since 0.3.1
29
+ */
30
+ export * as Metrics from "./Metrics.ts";
24
31
  /**
25
32
  * The worker runtime: `Worker.layer` and handler registration.
26
33
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;GAIG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;;GAIG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;;GAIG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;GAIG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;;GAIG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;;;GAKG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;;GAIG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
package/dist/index.js CHANGED
@@ -21,6 +21,13 @@ export * as JobStore from "./JobStore.js";
21
21
  * @since 0.1.0
22
22
  */
23
23
  export * as MemoryJobStore from "./MemoryJobStore.js";
24
+ /**
25
+ * The metrics effect-mq emits (Effect `Metric` instruments) — process-local,
26
+ * exported by your observability stack.
27
+ *
28
+ * @since 0.3.1
29
+ */
30
+ export * as Metrics from "./Metrics.js";
24
31
  /**
25
32
  * The worker runtime: `Worker.layer` and handler registration.
26
33
  *
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;GAIG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;;GAIG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;;GAIG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;GAIG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;;GAIG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;;;;GAKG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;;GAIG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-mq",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Effect-native background jobs: schema-first definitions, storage-agnostic queue core, worker runtime, and a Postgres store through drizzle.",
5
5
  "license": "MIT",
6
6
  "author": "Adam Rankin",
package/src/Job.ts CHANGED
@@ -30,7 +30,7 @@
30
30
  *
31
31
  * @since 0.1.0
32
32
  */
33
- import { Clock, type Context, Duration, Effect, type Exit, Layer, Option, Predicate, Schedule, Schema } from "effect"
33
+ import { Clock, type Context, Duration, Effect, type Exit, Layer, Metric, Option, Predicate, Schedule, Schema } from "effect"
34
34
  import {
35
35
  type BackoffPolicy,
36
36
  type DedupePolicy,
@@ -51,6 +51,7 @@ import {
51
51
  type Service as StoreService,
52
52
  unrecoverable
53
53
  } from "./JobStore.ts"
54
+ import * as Metrics from "./Metrics.ts"
54
55
 
55
56
  export {
56
57
  /**
@@ -488,6 +489,7 @@ const Proto = {
488
489
  const dedupe = normalizeDedupe(
489
490
  options?.dedupe ?? this.dedupe?.(payload)
490
491
  )
492
+ const queue = options?.queue !== undefined ? QueueName(options.queue) : this.queue
491
493
  return Schema.encodeEffect(this.payloadJsonSchema)(payload).pipe(
492
494
  Effect.orDie,
493
495
  Effect.flatMap((encoded) =>
@@ -495,9 +497,7 @@ const Proto = {
495
497
  store.enqueue({
496
498
  id,
497
499
  name: this._tag,
498
- queue: options?.queue !== undefined
499
- ? QueueName(options.queue)
500
- : this.queue,
500
+ queue,
501
501
  payload: encoded,
502
502
  metadata,
503
503
  priority: options?.priority ?? this.defaults.priority,
@@ -518,6 +518,18 @@ const Proto = {
518
518
  }))
519
519
  ),
520
520
  Effect.orDie,
521
+ Effect.tap((result) =>
522
+ Metric.update(
523
+ Metrics.jobsEnqueued.pipe(
524
+ Metric.withAttributes({
525
+ name: this._tag,
526
+ queue,
527
+ duplicate: result.duplicate ? "true" : "false"
528
+ })
529
+ ),
530
+ 1
531
+ )
532
+ ),
521
533
  Effect.map((result) => result.id)
522
534
  )
523
535
  }).pipe(
package/src/Metrics.ts ADDED
@@ -0,0 +1,135 @@
1
+ /**
2
+ * The metrics effect-mq emits, as Effect `Metric` instruments.
3
+ *
4
+ * Metrics are **process-local operational signal, not persisted state**:
5
+ * they live in the Effect metric registry of the emitting process and are
6
+ * exported by whatever exporter the application runs (the Otlp modules from
7
+ * `effect/unstable/observability`, `@effect/opentelemetry`, a Prometheus
8
+ * scraper, ...). Retention belongs to that metrics backend. The queue's
9
+ * *durable* analogues remain in the store — `store.counts()` for live depth
10
+ * and the attempt ledger for per-run history — and stay queryable forever.
11
+ *
12
+ * Producers emit `jobsEnqueued`; workers emit the rest from their loops.
13
+ * Everything is tagged with low-cardinality attributes only (job name,
14
+ * queue, outcome/result) — never ids or keys.
15
+ *
16
+ * This module is exported so applications can read the same instruments
17
+ * (e.g. `Metric.value(Metrics.jobRuns.pipe(Metric.withAttributes({...})))`)
18
+ * or reference the names when building dashboards.
19
+ *
20
+ * @since 0.3.1
21
+ */
22
+ import { Metric } from "effect"
23
+
24
+ /** Milliseconds, 5ms .. ~55 minutes. */
25
+ const durationBoundaries = Metric.exponentialBoundaries({ start: 5, factor: 2, count: 20 })
26
+
27
+ /**
28
+ * Producer-side enqueues. Tags: `name`, `queue`, `duplicate` ("true" when
29
+ * the enqueue deduplicated against an existing id or dedup key).
30
+ *
31
+ * @since 0.3.1
32
+ */
33
+ export const jobsEnqueued = Metric.counter("effect_mq_jobs_enqueued", {
34
+ description: "Jobs submitted via Job.enqueue/execute, including deduplicated submissions"
35
+ })
36
+
37
+ /**
38
+ * Finished runs, one per handler attempt. Tags: `name`, `queue`, `outcome`
39
+ * (completed | retried | failed | cancelled | released).
40
+ *
41
+ * @since 0.3.1
42
+ */
43
+ export const jobRuns = Metric.counter("effect_mq_job_runs", {
44
+ description: "Handler runs by outcome (released = handed back on worker shutdown)"
45
+ })
46
+
47
+ /**
48
+ * Handler execution time in milliseconds (claim to ack). Tags: `name`,
49
+ * `queue`, `outcome`.
50
+ *
51
+ * @since 0.3.1
52
+ */
53
+ export const jobRunDuration = Metric.histogram("effect_mq_job_run_duration_ms", {
54
+ description: "Handler execution time in milliseconds, claim to ack",
55
+ boundaries: durationBoundaries
56
+ })
57
+
58
+ /**
59
+ * Queue latency in milliseconds: how long a job was runnable (past its
60
+ * `runAt`) before a worker claimed it. Tags: `name`, `queue`.
61
+ *
62
+ * @since 0.3.1
63
+ */
64
+ export const jobWaitDuration = Metric.histogram("effect_mq_job_wait_duration_ms", {
65
+ description: "Time between a job becoming runnable and its claim, in milliseconds",
66
+ boundaries: durationBoundaries
67
+ })
68
+
69
+ /**
70
+ * Claim attempts by result. Tags: `queue`, `result` (claimed | empty).
71
+ * A high empty ratio means takers outnumber work.
72
+ *
73
+ * @since 0.3.1
74
+ */
75
+ export const claims = Metric.counter("effect_mq_claims", {
76
+ description: "Store claim attempts by result"
77
+ })
78
+
79
+ /**
80
+ * Handlers currently executing. Tags: `queue`.
81
+ *
82
+ * @since 0.3.1
83
+ */
84
+ export const jobsInFlight = Metric.gauge("effect_mq_jobs_in_flight", {
85
+ description: "Handlers currently executing"
86
+ })
87
+
88
+ /**
89
+ * Queue depth by state, sampled from `store.counts()` when
90
+ * `Worker.layer({ queueMetricsInterval })` is set. Tags: `queue`, `state`.
91
+ *
92
+ * @since 0.3.1
93
+ */
94
+ export const queueDepth = Metric.gauge("effect_mq_queue_depth", {
95
+ description: "Jobs per state, sampled from store.counts() per registered queue"
96
+ })
97
+
98
+ /**
99
+ * Locks found gone at renewal, counted once per lost lock (the job may run
100
+ * twice). Tags: none.
101
+ *
102
+ * @since 0.3.1
103
+ */
104
+ export const locksLost = Metric.counter("effect_mq_locks_lost", {
105
+ description: "Locks found lost at heartbeat renewal, once per lock"
106
+ })
107
+
108
+ /**
109
+ * Cross-process cancel requests delivered to running handlers by the
110
+ * heartbeat. Tags: none.
111
+ *
112
+ * @since 0.3.1
113
+ */
114
+ export const cancelInterrupts = Metric.counter("effect_mq_cancel_interrupts", {
115
+ description: "Running handlers interrupted by a cancel request"
116
+ })
117
+
118
+ /**
119
+ * Jobs recovered by the stalled sweep. Tags: `outcome` (requeued | failed).
120
+ *
121
+ * @since 0.3.1
122
+ */
123
+ export const stalledRecovered = Metric.counter("effect_mq_stalled_recovered", {
124
+ description: "Stalled jobs recovered (requeued) or failed past the stall limit"
125
+ })
126
+
127
+ /**
128
+ * Repeatable-schedule occurrences enqueued by this worker's sweep. Tags:
129
+ * `name` (the job name).
130
+ *
131
+ * @since 0.3.1
132
+ */
133
+ export const scheduleTicks = Metric.counter("effect_mq_schedule_ticks", {
134
+ description: "Repeatable-schedule occurrences enqueued by the schedule sweep"
135
+ })
package/src/Worker.ts CHANGED
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * @since 0.1.0
16
16
  */
17
- import { Cause, Clock, Context, Deferred, Duration, Effect, Exit, Fiber, FiberSet, Layer, Option, Result, Schedule, Schema, type Scope, Scope as Scope_, Tracer } from "effect"
17
+ import { Cause, Clock, Context, Deferred, Duration, Effect, Exit, Fiber, FiberSet, Layer, Metric, Option, Result, Schedule, Schema, type Scope, Scope as Scope_, Tracer } from "effect"
18
18
  import {
19
19
  type AckOutcome,
20
20
  type BackoffPolicy,
@@ -31,6 +31,7 @@ import {
31
31
  type ScheduleRecord,
32
32
  type Service as StoreService
33
33
  } from "./JobStore.ts"
34
+ import * as Metrics from "./Metrics.ts"
34
35
 
35
36
  /**
36
37
  * Information about the currently running attempt, passed to handlers as the
@@ -117,6 +118,12 @@ export interface WorkerOptions<StoreId = JobStore> {
117
118
  readonly pollInterval?: Duration.Input | undefined
118
119
  /** How often to tick due repeatable-job schedules (default 15s). */
119
120
  readonly scheduleSweepInterval?: Duration.Input | undefined
121
+ /**
122
+ * When set, sample `store.counts(queue)` for every registered queue into
123
+ * the `effect_mq_queue_depth` gauge at this cadence (default: off — depth
124
+ * sampling costs one store query per queue per tick).
125
+ */
126
+ readonly queueMetricsInterval?: Duration.Input | undefined
120
127
  /** Identifier used in lock tokens (default: random). */
121
128
  readonly id?: string | undefined
122
129
  }
@@ -311,6 +318,18 @@ export const make = <StoreId = JobStore>(
311
318
  attempt: record.attemptsMade + 1,
312
319
  attemptsMax: record.attemptsMax
313
320
  }
321
+ // One line per finished run: outcome counter + duration histogram
322
+ // (claim time to now, from the Effect Clock).
323
+ const recordRun = (outcome: string) =>
324
+ Effect.gen(function*() {
325
+ const finished = yield* Clock.currentTimeMillis
326
+ const attributes = { name: record.name, queue: record.queue, outcome }
327
+ yield* Metric.update(Metrics.jobRuns.pipe(Metric.withAttributes(attributes)), 1)
328
+ yield* Metric.update(
329
+ Metrics.jobRunDuration.pipe(Metric.withAttributes(attributes)),
330
+ Math.max(0, finished - (record.processedAt ?? finished))
331
+ )
332
+ })
314
333
  return Effect.gen(function*() {
315
334
  // The per-run time limit interrupts the handler internally; surface
316
335
  // it as a defect so it flows through normal retry accounting.
@@ -334,7 +353,10 @@ export const make = <StoreId = JobStore>(
334
353
  // keeps the child interruptible while the fork itself is masked.
335
354
  const fiber = yield* Effect.forkChild(restore(handlerEffect))
336
355
  inflight.set(record.id, { id: record.id, token, fiber })
356
+ const busy = Metrics.jobsInFlight.pipe(Metric.withAttributes({ queue: record.queue }))
357
+ yield* Metric.modify(busy, 1)
337
358
  const exit = yield* Effect.exit(restore(Fiber.join(fiber)))
359
+ yield* Metric.modify(busy, -1)
338
360
  inflight.delete(record.id)
339
361
  const wasCancelled = cancelling.delete(record.id)
340
362
 
@@ -342,7 +364,7 @@ export const make = <StoreId = JobStore>(
342
364
  // shutdown races it — cancellation wins, the job must not revive).
343
365
  if (wasCancelled && Exit.isFailure(exit) && Cause.hasInterruptsOnly(exit.cause)) {
344
366
  yield* ackSafely(store.ack(record.id, token, { _tag: "Cancelled" }), "ack")
345
- return
367
+ return yield* recordRun("cancelled")
346
368
  }
347
369
 
348
370
  // Distinguish worker shutdown from a handler that interrupted
@@ -355,6 +377,7 @@ export const make = <StoreId = JobStore>(
355
377
  // without consuming an attempt.
356
378
  yield* Fiber.interrupt(fiber)
357
379
  yield* ackSafely(store.release(record.id, token), "release")
380
+ yield* recordRun("released")
358
381
  return yield* Effect.interrupt
359
382
  }
360
383
 
@@ -396,6 +419,15 @@ export const make = <StoreId = JobStore>(
396
419
  ? { _tag: "Fail", exit: exitValue }
397
420
  : routeFailure(record, exitValue)
398
421
  yield* ackSafely(store.ack(record.id, token, outcome), "ack")
422
+ yield* recordRun(
423
+ outcome._tag === "Complete"
424
+ ? "completed"
425
+ : outcome._tag === "Retry"
426
+ ? "retried"
427
+ : outcome._tag === "Cancelled"
428
+ ? "cancelled"
429
+ : "failed"
430
+ )
399
431
  })
400
432
  })
401
433
 
@@ -420,6 +452,10 @@ export const make = <StoreId = JobStore>(
420
452
  lockDurationMs
421
453
  }))
422
454
  if (result._tag === "Empty") {
455
+ yield* Metric.update(
456
+ Metrics.claims.pipe(Metric.withAttributes({ queue, result: "empty" })),
457
+ 1
458
+ )
423
459
  const now = yield* Clock.currentTimeMillis
424
460
  const timeout = result.nextRunAt !== undefined
425
461
  ? Math.max(0, Math.min(result.nextRunAt - now, pollMs))
@@ -430,6 +466,17 @@ export const make = <StoreId = JobStore>(
430
466
  awaitPulse(observedPulse)
431
467
  ]))
432
468
  }
469
+ yield* Metric.update(
470
+ Metrics.claims.pipe(Metric.withAttributes({ queue, result: "claimed" })),
471
+ 1
472
+ )
473
+ const claimedAt = yield* Clock.currentTimeMillis
474
+ yield* Metric.update(
475
+ Metrics.jobWaitDuration.pipe(
476
+ Metric.withAttributes({ name: result.job.name, queue })
477
+ ),
478
+ Math.max(0, claimedAt - result.job.runAt)
479
+ )
433
480
  yield* processJob(result.job, token, restore)
434
481
  })
435
482
  )
@@ -475,16 +522,28 @@ export const make = <StoreId = JobStore>(
475
522
  lockDurationMs
476
523
  ))
477
524
  if (result.lost.length > 0) {
525
+ yield* Metric.update(Metrics.locksLost, result.lost.length)
478
526
  yield* Effect.logWarning(
479
527
  "effect-mq: failed to renew locks; jobs may run twice",
480
528
  result.lost
481
529
  )
530
+ // A lost lock stays lost: drop the flight so we neither renew nor
531
+ // recount it every heartbeat (the run's eventual ack surfaces
532
+ // LockLostError on its own).
533
+ for (const id of result.lost) {
534
+ inflight.delete(id)
535
+ }
482
536
  }
483
537
  // Honour cross-process cancel requests: interrupt the handler fiber;
484
538
  // processJob acks the job as Cancelled.
485
539
  for (const id of result.cancelRequested) {
486
540
  const flight = inflight.get(id)
487
541
  if (flight !== undefined) {
542
+ // The store re-reports the request every heartbeat until the ack
543
+ // lands; count the first delivery only.
544
+ if (!cancelling.has(id)) {
545
+ yield* Metric.update(Metrics.cancelInterrupts, 1)
546
+ }
488
547
  cancelling.add(id)
489
548
  // Delivery only — awaiting the handler's exit here would park the
490
549
  // heartbeat behind arbitrary user finalizers and starve every other
@@ -502,6 +561,19 @@ export const make = <StoreId = JobStore>(
502
561
  yield* Effect.sleep(stalledMs)
503
562
  const recovered = yield* retryStore(store.recoverStalled({ maxStalledCount }))
504
563
  if (recovered.length > 0) {
564
+ const failed = recovered.filter((entry) => entry.failed).length
565
+ if (failed > 0) {
566
+ yield* Metric.update(
567
+ Metrics.stalledRecovered.pipe(Metric.withAttributes({ outcome: "failed" })),
568
+ failed
569
+ )
570
+ }
571
+ if (recovered.length - failed > 0) {
572
+ yield* Metric.update(
573
+ Metrics.stalledRecovered.pipe(Metric.withAttributes({ outcome: "requeued" })),
574
+ recovered.length - failed
575
+ )
576
+ }
505
577
  yield* Effect.logWarning("effect-mq: recovered stalled jobs", recovered)
506
578
  }
507
579
  }).pipe(
@@ -523,7 +595,7 @@ export const make = <StoreId = JobStore>(
523
595
  `effect-mq: schedule "${schedule.key}" has an invalid cron/every configuration; skipping`
524
596
  )
525
597
  }
526
- yield* retryStore(store.enqueue({
598
+ const tick = yield* retryStore(store.enqueue({
527
599
  id: JobId(`sched/${schedule.key}/${slot}`),
528
600
  name: schedule.jobName,
529
601
  queue: schedule.queue,
@@ -537,6 +609,12 @@ export const make = <StoreId = JobStore>(
537
609
  dedupe: undefined,
538
610
  delayMs: 0
539
611
  }))
612
+ if (!tick.duplicate) {
613
+ yield* Metric.update(
614
+ Metrics.scheduleTicks.pipe(Metric.withAttributes({ name: schedule.jobName })),
615
+ 1
616
+ )
617
+ }
540
618
  yield* retryStore(store.advanceSchedule(schedule.key, slot, next))
541
619
  })
542
620
 
@@ -561,6 +639,26 @@ export const make = <StoreId = JobStore>(
561
639
  yield* FiberSet.run(fibers, stalledLoop)
562
640
  yield* FiberSet.run(fibers, scheduleLoop)
563
641
 
642
+ if (options?.queueMetricsInterval !== undefined) {
643
+ const sampleMs = Duration.toMillis(options.queueMetricsInterval)
644
+ const depthLoop = Effect.gen(function*() {
645
+ yield* Effect.sleep(sampleMs)
646
+ for (const queue of startedQueues) {
647
+ const counts = yield* retryStore(store.counts(queue))
648
+ for (const [state, depth] of Object.entries(counts)) {
649
+ yield* Metric.update(
650
+ Metrics.queueDepth.pipe(Metric.withAttributes({ queue, state })),
651
+ depth
652
+ )
653
+ }
654
+ }
655
+ }).pipe(
656
+ Effect.catchCause((cause) => Effect.logWarning("effect-mq: queue depth sampling failed", cause)),
657
+ Effect.forever
658
+ )
659
+ yield* FiberSet.run(fibers, depthLoop)
660
+ }
661
+
564
662
  // SAFETY: the public `register` signature declares Scope, the handler's R
565
663
  // and the codec services as requirements; the implementation erases them
566
664
  // (the trailing assertion below) because the handler runs with the
package/src/index.ts CHANGED
@@ -25,6 +25,14 @@ export * as JobStore from "./JobStore.ts"
25
25
  */
26
26
  export * as MemoryJobStore from "./MemoryJobStore.ts"
27
27
 
28
+ /**
29
+ * The metrics effect-mq emits (Effect `Metric` instruments) — process-local,
30
+ * exported by your observability stack.
31
+ *
32
+ * @since 0.3.1
33
+ */
34
+ export * as Metrics from "./Metrics.ts"
35
+
28
36
  /**
29
37
  * The worker runtime: `Worker.layer` and handler registration.
30
38
  *