@worker-manager/metrics 2.0.1 → 2.1.0-next.0
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/HistoryAdmin.d.ts +11 -0
- package/dist/HistoryAdmin.js.map +1 -1
- package/dist/HistoryStore.d.ts +7 -2
- package/dist/HistoryStore.js +18 -4
- package/dist/HistoryStore.js.map +1 -1
- package/dist/LatencySampler.d.ts +10 -0
- package/dist/LatencySampler.js +47 -25
- package/dist/LatencySampler.js.map +1 -1
- package/dist/LatencyStore.d.ts +2 -2
- package/dist/LatencyStore.js +4 -4
- package/dist/LatencyStore.js.map +1 -1
- package/dist/MetricsRecorder.d.ts +22 -2
- package/dist/MetricsRecorder.js +45 -16
- package/dist/MetricsRecorder.js.map +1 -1
- package/dist/RedisHistoryAdmin.js +17 -12
- package/dist/RedisHistoryAdmin.js.map +1 -1
- package/dist/counterSources.d.ts +45 -0
- package/dist/counterSources.js +34 -0
- package/dist/counterSources.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/namespacedHistoryProvider.d.ts +29 -0
- package/dist/namespacedHistoryProvider.js +95 -0
- package/dist/namespacedHistoryProvider.js.map +1 -0
- package/dist/postgres/admin.js +13 -9
- package/dist/postgres/admin.js.map +1 -1
- package/dist/postgres/stores.d.ts +6 -4
- package/dist/postgres/stores.js +17 -14
- package/dist/postgres/stores.js.map +1 -1
- package/dist/store.d.ts +15 -3
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedisHistoryAdmin.js","sourceRoot":"","sources":["../src/RedisHistoryAdmin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RedisHistoryAdmin.js","sourceRoot":"","sources":["../src/RedisHistoryAdmin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { BaseAdapter } from '@worker-manager/api/baseAdapter';
|
|
2
|
+
import { type MinutePoint } from './dataMapping';
|
|
3
|
+
import type { JobSource } from './jobSources';
|
|
4
|
+
export type CounterMetric = 'completed' | 'failed';
|
|
5
|
+
/**
|
|
6
|
+
* One queue as the recorder sees it: a name to record under, per-minute completed and failed
|
|
7
|
+
* counts, and optionally where job timings are read from. A BullMQ or Bull adapter is one of
|
|
8
|
+
* these through `adapterCounterSource`; an engine with no BullMQ-style metrics buffer (pg-boss)
|
|
9
|
+
* provides its own.
|
|
10
|
+
*/
|
|
11
|
+
export interface CounterSource {
|
|
12
|
+
/** What the history is recorded under, and what `MetricsHistoryQuery.queue` asks for. */
|
|
13
|
+
readonly name: string;
|
|
14
|
+
/**
|
|
15
|
+
* The cross-queue series this queue's counts and latencies also roll up into. Defaults to
|
|
16
|
+
* `__global__`. A source that shares a store with another board sets its own, so the two
|
|
17
|
+
* boards' global charts stay apart; `namespacedHistoryProvider` reads it back.
|
|
18
|
+
*/
|
|
19
|
+
readonly rollup?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Finished minutes in `[fromMs, toMs)`, as absolute counts per minute, in any order. Only
|
|
22
|
+
* minutes that can no longer change belong here: the recorder advances its watermark past
|
|
23
|
+
* the newest minute returned and never asks for it again. `toMs` is the start of the
|
|
24
|
+
* recorder's current minute; a source whose own clock or commit lag says a minute is still
|
|
25
|
+
* open should stop earlier. A source that cannot read returns `[]`, and the recorder retries
|
|
26
|
+
* the same range on the next tick.
|
|
27
|
+
*/
|
|
28
|
+
readMinutes(metric: CounterMetric, fromMs: number, toMs: number): Promise<MinutePoint[]>;
|
|
29
|
+
/** Where the latency sampler reads this queue's job timings, or `null` for no latency. */
|
|
30
|
+
jobSource(): JobSource | null;
|
|
31
|
+
}
|
|
32
|
+
/** Either a fixed list, read once, or a function resolved on every tick. */
|
|
33
|
+
export type CounterSources = CounterSource[] | (() => CounterSource[] | Promise<CounterSource[]>);
|
|
34
|
+
/**
|
|
35
|
+
* A queue adapter as a `CounterSource`: BullMQ's own per-minute buffer, exactly what the
|
|
36
|
+
* recorder has always read. The buffer never holds the minute in progress, so the range is not
|
|
37
|
+
* applied here; the recorder's watermark does the filtering, as it always has.
|
|
38
|
+
*
|
|
39
|
+
* `jobSource()` answers `null` because choosing between the Redis and the PostgreSQL reader
|
|
40
|
+
* takes a round trip. The recorder hands an adapter source to the sampler whole, and the
|
|
41
|
+
* sampler resolves and caches it the way it does for `queues`.
|
|
42
|
+
*/
|
|
43
|
+
export declare function adapterCounterSource(adapter: BaseAdapter): CounterSource;
|
|
44
|
+
/** The adapter behind a source made by `adapterCounterSource`, or `null`. */
|
|
45
|
+
export declare function adapterOf(source: CounterSource): BaseAdapter | null;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.adapterCounterSource = adapterCounterSource;
|
|
4
|
+
exports.adapterOf = adapterOf;
|
|
5
|
+
const dataMapping_1 = require("./dataMapping");
|
|
6
|
+
const ADAPTER = Symbol('worker-manager.metrics.adapter');
|
|
7
|
+
/**
|
|
8
|
+
* A queue adapter as a `CounterSource`: BullMQ's own per-minute buffer, exactly what the
|
|
9
|
+
* recorder has always read. The buffer never holds the minute in progress, so the range is not
|
|
10
|
+
* applied here; the recorder's watermark does the filtering, as it always has.
|
|
11
|
+
*
|
|
12
|
+
* `jobSource()` answers `null` because choosing between the Redis and the PostgreSQL reader
|
|
13
|
+
* takes a round trip. The recorder hands an adapter source to the sampler whole, and the
|
|
14
|
+
* sampler resolves and caches it the way it does for `queues`.
|
|
15
|
+
*/
|
|
16
|
+
function adapterCounterSource(adapter) {
|
|
17
|
+
const source = {
|
|
18
|
+
[ADAPTER]: adapter,
|
|
19
|
+
get name() {
|
|
20
|
+
return adapter.getName();
|
|
21
|
+
},
|
|
22
|
+
async readMinutes(metric) {
|
|
23
|
+
return (0, dataMapping_1.metricsToMinutePoints)(await adapter.getMetrics(metric).catch(() => null));
|
|
24
|
+
},
|
|
25
|
+
jobSource: () => null,
|
|
26
|
+
};
|
|
27
|
+
return source;
|
|
28
|
+
}
|
|
29
|
+
/** The adapter behind a source made by `adapterCounterSource`, or `null`. */
|
|
30
|
+
function adapterOf(source) {
|
|
31
|
+
var _a;
|
|
32
|
+
return (_a = source[ADAPTER]) !== null && _a !== void 0 ? _a : null;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=counterSources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"counterSources.js","sourceRoot":"","sources":["../src/counterSources.ts"],"names":[],"mappings":";;AAoDA,oDAYC;AAGD,8BAEC;AApED,+CAAwE;AAoCxE,MAAM,OAAO,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC;AAMzD;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAAC,OAAoB;IACvD,MAAM,MAAM,GAAyB;QACnC,CAAC,OAAO,CAAC,EAAE,OAAO;QAClB,IAAI,IAAI;YACN,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,MAAM;YACtB,OAAO,IAAA,mCAAqB,EAAC,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI;KACtB,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,6EAA6E;AAC7E,SAAgB,SAAS,CAAC,MAAqB;;IAC7C,OAAO,MAAC,MAAwC,CAAC,OAAO,CAAC,mCAAI,IAAI,CAAC;AACpE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,11 @@ export { MetricsHistoryAdmin } from './HistoryAdmin';
|
|
|
2
2
|
export type { HistoryQueueStats, HistoryStats, HistoryTier, MetricsHistoryAdminOptions, PurgeOptions, PurgeResult, TierStats, } from './HistoryAdmin';
|
|
3
3
|
export { MetricsRecorder } from './MetricsRecorder';
|
|
4
4
|
export type { MetricsRecorderOptions } from './MetricsRecorder';
|
|
5
|
+
export { adapterCounterSource } from './counterSources';
|
|
6
|
+
export type { CounterMetric, CounterSource, CounterSources } from './counterSources';
|
|
7
|
+
export type { MinutePoint } from './dataMapping';
|
|
8
|
+
export type { FinishedJob, FinishedJobs, JobSource } from './jobSources';
|
|
9
|
+
export { namespacedHistoryProvider, namespacedRollup } from './namespacedHistoryProvider';
|
|
5
10
|
export type { MetricsStore, Retention } from './store';
|
|
6
11
|
export { RedisMetricsStore } from './RedisMetricsStore';
|
|
7
12
|
export type { RedisMetricsStoreOptions } from './RedisMetricsStore';
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.quantile = exports.BUCKET_COUNT = exports.BUCKET_BOUNDS = exports.QUEUE_AGE_METRIC = exports.LatencyStore = exports.LatencySampler = exports.POSTGRES_METRICS_SCHEMA_VERSION = exports.PostgresMetricsHistoryProvider = exports.migratePostgresMetrics = exports.PostgresMetricsStore = exports.RedisMetricsHistoryProvider = exports.RedisMetricsStore = exports.MetricsRecorder = exports.MetricsHistoryAdmin = void 0;
|
|
3
|
+
exports.quantile = exports.BUCKET_COUNT = exports.BUCKET_BOUNDS = exports.QUEUE_AGE_METRIC = exports.LatencyStore = exports.LatencySampler = exports.POSTGRES_METRICS_SCHEMA_VERSION = exports.PostgresMetricsHistoryProvider = exports.migratePostgresMetrics = exports.PostgresMetricsStore = exports.RedisMetricsHistoryProvider = exports.RedisMetricsStore = exports.namespacedRollup = exports.namespacedHistoryProvider = exports.adapterCounterSource = exports.MetricsRecorder = exports.MetricsHistoryAdmin = void 0;
|
|
4
4
|
var HistoryAdmin_1 = require("./HistoryAdmin");
|
|
5
5
|
Object.defineProperty(exports, "MetricsHistoryAdmin", { enumerable: true, get: function () { return HistoryAdmin_1.MetricsHistoryAdmin; } });
|
|
6
6
|
var MetricsRecorder_1 = require("./MetricsRecorder");
|
|
7
7
|
Object.defineProperty(exports, "MetricsRecorder", { enumerable: true, get: function () { return MetricsRecorder_1.MetricsRecorder; } });
|
|
8
|
+
var counterSources_1 = require("./counterSources");
|
|
9
|
+
Object.defineProperty(exports, "adapterCounterSource", { enumerable: true, get: function () { return counterSources_1.adapterCounterSource; } });
|
|
10
|
+
var namespacedHistoryProvider_1 = require("./namespacedHistoryProvider");
|
|
11
|
+
Object.defineProperty(exports, "namespacedHistoryProvider", { enumerable: true, get: function () { return namespacedHistoryProvider_1.namespacedHistoryProvider; } });
|
|
12
|
+
Object.defineProperty(exports, "namespacedRollup", { enumerable: true, get: function () { return namespacedHistoryProvider_1.namespacedRollup; } });
|
|
8
13
|
var RedisMetricsStore_1 = require("./RedisMetricsStore");
|
|
9
14
|
Object.defineProperty(exports, "RedisMetricsStore", { enumerable: true, get: function () { return RedisMetricsStore_1.RedisMetricsStore; } });
|
|
10
15
|
var RedisMetricsHistoryProvider_1 = require("./RedisMetricsHistoryProvider");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqD;AAA5C,mHAAA,mBAAmB,OAAA;AAU5B,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqD;AAA5C,mHAAA,mBAAmB,OAAA;AAU5B,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AAExB,mDAAwD;AAA/C,sHAAA,oBAAoB,OAAA;AAI7B,yEAA0F;AAAjF,sIAAA,yBAAyB,OAAA;AAAE,6HAAA,gBAAgB,OAAA;AAEpD,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAE1B,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA;AAEpC,wEAA+F;AAAtF,4HAAA,oBAAoB,OAAA;AAAE,8HAAA,sBAAsB,OAAA;AAKrD,4FAA2F;AAAlF,gJAAA,8BAA8B,OAAA;AAGvC,4CAAsF;AAA7E,yHAAA,cAAc,OAAmC;AAC1D,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,+CAAgE;AAAvD,4GAAA,YAAY,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAEvC,yCAAoE;AAA3D,0GAAA,aAAa,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,qGAAA,QAAQ,OAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { MetricsHistoryProvider } from '@worker-manager/api/typings/app';
|
|
2
|
+
/** The rollup a `CounterSource` recording under `prefix` writes into, e.g. `pgboss:app:__global__`. */
|
|
3
|
+
export declare function namespacedRollup(prefix: string): string;
|
|
4
|
+
/**
|
|
5
|
+
* One board's view of a store that several boards record into. Every queue the board asks for
|
|
6
|
+
* is read as `prefix + queue`, and the cross-queue chart as `prefix + '__global__'`, which is
|
|
7
|
+
* the rollup a `CounterSource` recording under the same prefix writes (see
|
|
8
|
+
* `CounterSource.rollup`). A pg-boss board and a BullMQ board can then share one
|
|
9
|
+
* `PostgresMetricsStore` without either one's global chart counting the other's jobs:
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* const provider = new PostgresMetricsHistoryProvider({ store });
|
|
13
|
+
* createWorkerManagerBoard({ queues, serverAdapter, options: { historyProvider: provider } });
|
|
14
|
+
* createPgBossBoard({
|
|
15
|
+
* serverAdapter: pgBossAdapter,
|
|
16
|
+
* pgBoss: { connection, schema: 'pgboss' },
|
|
17
|
+
* options: { historyProvider: namespacedHistoryProvider(provider, pgBossMetricsNamespace('pgboss')) },
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* The storage panel lists only the namespace's queues, without the prefix. Purging is offered
|
|
22
|
+
* only over this package's own providers, whose purge understands a namespace: a single queue
|
|
23
|
+
* is subtracted from the namespace's rollup, and "clear all" stays inside the namespace. A
|
|
24
|
+
* third-party provider would treat the same call as a purge of everything, so it gets none.
|
|
25
|
+
*
|
|
26
|
+
* The un-namespaced board sharing the store still sees everything in its storage panel,
|
|
27
|
+
* pg-boss queues included, and its "clear all" clears those too.
|
|
28
|
+
*/
|
|
29
|
+
export declare function namespacedHistoryProvider(provider: MetricsHistoryProvider, prefix: string): MetricsHistoryProvider;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.namespacedRollup = namespacedRollup;
|
|
4
|
+
exports.namespacedHistoryProvider = namespacedHistoryProvider;
|
|
5
|
+
const keys_1 = require("./keys");
|
|
6
|
+
const StoreHistoryProvider_1 = require("./StoreHistoryProvider");
|
|
7
|
+
/** The rollup a `CounterSource` recording under `prefix` writes into, e.g. `pgboss:app:__global__`. */
|
|
8
|
+
function namespacedRollup(prefix) {
|
|
9
|
+
return `${prefix}${keys_1.GLOBAL_QUEUE}`;
|
|
10
|
+
}
|
|
11
|
+
function emptyTiers() {
|
|
12
|
+
return {
|
|
13
|
+
minute: { keys: 0, bytes: 0 },
|
|
14
|
+
hour: { keys: 0, bytes: 0 },
|
|
15
|
+
day: { keys: 0, bytes: 0 },
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* One board's view of a store that several boards record into. Every queue the board asks for
|
|
20
|
+
* is read as `prefix + queue`, and the cross-queue chart as `prefix + '__global__'`, which is
|
|
21
|
+
* the rollup a `CounterSource` recording under the same prefix writes (see
|
|
22
|
+
* `CounterSource.rollup`). A pg-boss board and a BullMQ board can then share one
|
|
23
|
+
* `PostgresMetricsStore` without either one's global chart counting the other's jobs:
|
|
24
|
+
*
|
|
25
|
+
* ```ts
|
|
26
|
+
* const provider = new PostgresMetricsHistoryProvider({ store });
|
|
27
|
+
* createWorkerManagerBoard({ queues, serverAdapter, options: { historyProvider: provider } });
|
|
28
|
+
* createPgBossBoard({
|
|
29
|
+
* serverAdapter: pgBossAdapter,
|
|
30
|
+
* pgBoss: { connection, schema: 'pgboss' },
|
|
31
|
+
* options: { historyProvider: namespacedHistoryProvider(provider, pgBossMetricsNamespace('pgboss')) },
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* The storage panel lists only the namespace's queues, without the prefix. Purging is offered
|
|
36
|
+
* only over this package's own providers, whose purge understands a namespace: a single queue
|
|
37
|
+
* is subtracted from the namespace's rollup, and "clear all" stays inside the namespace. A
|
|
38
|
+
* third-party provider would treat the same call as a purge of everything, so it gets none.
|
|
39
|
+
*
|
|
40
|
+
* The un-namespaced board sharing the store still sees everything in its storage panel,
|
|
41
|
+
* pg-boss queues included, and its "clear all" clears those too.
|
|
42
|
+
*/
|
|
43
|
+
function namespacedHistoryProvider(provider, prefix) {
|
|
44
|
+
if (!prefix) {
|
|
45
|
+
throw new Error('namespacedHistoryProvider needs a non-empty prefix.');
|
|
46
|
+
}
|
|
47
|
+
const rollup = namespacedRollup(prefix);
|
|
48
|
+
const scoped = (queue) => queue === undefined || queue === keys_1.GLOBAL_QUEUE ? rollup : `${prefix}${queue}`;
|
|
49
|
+
const namespaced = {
|
|
50
|
+
getHistory: (query) => provider.getHistory({ ...query, queue: scoped(query.queue) }),
|
|
51
|
+
};
|
|
52
|
+
if (provider.getLatency) {
|
|
53
|
+
const getLatency = provider.getLatency.bind(provider);
|
|
54
|
+
namespaced.getLatency = (query) => getLatency({ ...query, queue: scoped(query.queue) });
|
|
55
|
+
}
|
|
56
|
+
if (provider.getUsage) {
|
|
57
|
+
const getUsage = provider.getUsage.bind(provider);
|
|
58
|
+
namespaced.getUsage = async () => narrowUsage(await getUsage(), prefix);
|
|
59
|
+
}
|
|
60
|
+
if (provider instanceof StoreHistoryProvider_1.StoreHistoryProvider) {
|
|
61
|
+
namespaced.purge = (options) => provider.purge(options.queue === undefined
|
|
62
|
+
? { before: options.before, queuePrefix: prefix }
|
|
63
|
+
: { before: options.before, queue: scoped(options.queue), rollup });
|
|
64
|
+
}
|
|
65
|
+
return namespaced;
|
|
66
|
+
}
|
|
67
|
+
/** The namespace's share of a store-wide report, re-totalled, with the prefix taken off. */
|
|
68
|
+
function narrowUsage(usage, prefix) {
|
|
69
|
+
const queues = usage.queues
|
|
70
|
+
.filter((queue) => queue.queue.startsWith(prefix))
|
|
71
|
+
.map((queue) => ({ ...queue, queue: queue.queue.slice(prefix.length) }));
|
|
72
|
+
const tiers = emptyTiers();
|
|
73
|
+
let keys = 0;
|
|
74
|
+
let bytes = 0;
|
|
75
|
+
let minutes = 0;
|
|
76
|
+
let oldestDay = null;
|
|
77
|
+
let newestDay = null;
|
|
78
|
+
for (const queue of queues) {
|
|
79
|
+
keys += queue.keys;
|
|
80
|
+
bytes += queue.bytes;
|
|
81
|
+
minutes += queue.minutes;
|
|
82
|
+
for (const tier of Object.keys(tiers)) {
|
|
83
|
+
tiers[tier].keys += queue.tiers[tier].keys;
|
|
84
|
+
tiers[tier].bytes += queue.tiers[tier].bytes;
|
|
85
|
+
}
|
|
86
|
+
for (const day of queue.days) {
|
|
87
|
+
if (oldestDay === null || day < oldestDay)
|
|
88
|
+
oldestDay = day;
|
|
89
|
+
if (newestDay === null || day > newestDay)
|
|
90
|
+
newestDay = day;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return { ...usage, keys, bytes, minutes, oldestDay, newestDay, tiers, queues };
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=namespacedHistoryProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespacedHistoryProvider.js","sourceRoot":"","sources":["../src/namespacedHistoryProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/postgres/admin.js
CHANGED
|
@@ -119,13 +119,17 @@ class PostgresHistoryAdmin {
|
|
|
119
119
|
* rows.
|
|
120
120
|
*/
|
|
121
121
|
async purge(opts = {}) {
|
|
122
|
-
var _a;
|
|
122
|
+
var _a, _b, _c;
|
|
123
123
|
const before = opts.before === undefined ? null : (0, keys_1.dayToIndex)((0, keys_1.toDay)(opts.before));
|
|
124
124
|
const queue = (_a = opts.queue) !== null && _a !== void 0 ? _a : null;
|
|
125
|
-
const
|
|
125
|
+
const rollup = (_b = opts.rollup) !== null && _b !== void 0 ? _b : keys_1.GLOBAL_QUEUE;
|
|
126
|
+
const prefix = (_c = opts.queuePrefix) !== null && _c !== void 0 ? _c : null;
|
|
127
|
+
const adjustGlobal = queue !== null && queue !== keys_1.GLOBAL_QUEUE && queue !== rollup;
|
|
126
128
|
const { counters, histograms } = this.ctx.tables;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
+
// `left()` rather than LIKE, so a `_` or `%` in the prefix is not a wildcard.
|
|
130
|
+
const scope = (prefixParam) => `($1::text IS NULL OR queue = $1)
|
|
131
|
+
AND ($2::bigint IS NULL OR coalesce(${ROW_DAY}, bucket) < $2)
|
|
132
|
+
AND (${prefixParam}::text IS NULL OR left(queue, length(${prefixParam})) = ${prefixParam})`;
|
|
129
133
|
return (0, context_1.inTransaction)(this.ctx, async (client) => {
|
|
130
134
|
const result = { keysDeleted: 0, fieldsDeleted: 0 };
|
|
131
135
|
const tally = (tier, count) => {
|
|
@@ -137,7 +141,7 @@ class PostgresHistoryAdmin {
|
|
|
137
141
|
}
|
|
138
142
|
};
|
|
139
143
|
const { rows: removed } = await client.query(`WITH doomed AS (
|
|
140
|
-
DELETE FROM ${counters} WHERE ${scope}
|
|
144
|
+
DELETE FROM ${counters} WHERE ${scope('$6')}
|
|
141
145
|
RETURNING metric, tier, bucket, value
|
|
142
146
|
),
|
|
143
147
|
drained AS (
|
|
@@ -152,7 +156,7 @@ class PostgresHistoryAdmin {
|
|
|
152
156
|
FROM doomed GROUP BY tier
|
|
153
157
|
UNION ALL
|
|
154
158
|
SELECT 'drained', tier, count(*), array_agg(metric), array_agg(bucket)
|
|
155
|
-
FROM drained WHERE value <= 0 GROUP BY tier`, [queue, before, adjustGlobal,
|
|
159
|
+
FROM drained WHERE value <= 0 GROUP BY tier`, [queue, before, adjustGlobal, rollup, SUMMABLE_METRICS, prefix]);
|
|
156
160
|
for (const row of removed) {
|
|
157
161
|
if (row.kind === 'doomed') {
|
|
158
162
|
tally(row.tier, Number(row.n));
|
|
@@ -162,11 +166,11 @@ class PostgresHistoryAdmin {
|
|
|
162
166
|
// recorded-but-idle instead of not recorded.
|
|
163
167
|
const { rowCount } = await client.query(`DELETE FROM ${counters} g
|
|
164
168
|
USING unnest($2::text[], $3::bigint[]) AS d(metric, bucket)
|
|
165
|
-
WHERE g.queue = $1 AND g.tier = $4 AND g.metric = d.metric AND g.bucket = d.bucket`, [
|
|
169
|
+
WHERE g.queue = $1 AND g.tier = $4 AND g.metric = d.metric AND g.bucket = d.bucket`, [rollup, row.metrics, row.buckets, row.tier]);
|
|
166
170
|
tally(row.tier, rowCount !== null && rowCount !== void 0 ? rowCount : 0);
|
|
167
171
|
}
|
|
168
|
-
const { rows: latency } = await client.query(`WITH doomed AS (DELETE FROM ${histograms} WHERE ${scope} RETURNING tier)
|
|
169
|
-
SELECT tier, count(*) AS n FROM doomed GROUP BY tier`, [queue, before]);
|
|
172
|
+
const { rows: latency } = await client.query(`WITH doomed AS (DELETE FROM ${histograms} WHERE ${scope('$3')} RETURNING tier)
|
|
173
|
+
SELECT tier, count(*) AS n FROM doomed GROUP BY tier`, [queue, before, prefix]);
|
|
170
174
|
for (const row of latency) {
|
|
171
175
|
tally(row.tier, Number(row.n));
|
|
172
176
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/postgres/admin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/postgres/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,10 @@ export declare class PostgresCounterStore implements CounterStore {
|
|
|
17
17
|
readonly retention: Retention;
|
|
18
18
|
private readonly pruner;
|
|
19
19
|
constructor(ctx: PgContext, retention: Retention);
|
|
20
|
-
upsertMinute(queue: string, metric: string, minute: number, value: number): Promise<void>;
|
|
21
|
-
upsertMinutes(queue: string, metric: string, points: MinutePoint[]): Promise<void>;
|
|
20
|
+
upsertMinute(queue: string, metric: string, minute: number, value: number, rollup?: string): Promise<void>;
|
|
21
|
+
upsertMinutes(queue: string, metric: string, points: MinutePoint[], rollup?: string): Promise<void>;
|
|
22
|
+
/** The minute tier only holds rows inside the minute window, so this is one index probe. */
|
|
23
|
+
latestMinute(queue: string, metric: string): Promise<number | null>;
|
|
22
24
|
readDailyTotals(queue: string, metric: string, days: string[]): Promise<(number | null)[]>;
|
|
23
25
|
readHours(queue: string, metric: string, days: string[]): Promise<Record<string, number>>;
|
|
24
26
|
}
|
|
@@ -36,8 +38,8 @@ export declare class PostgresLatencyStore implements LatencyStorage {
|
|
|
36
38
|
readonly retention: Retention;
|
|
37
39
|
private readonly pruner;
|
|
38
40
|
constructor(ctx: PgContext, retention: Retention);
|
|
39
|
-
addSamples(queue: string, metric: LatencyMetric, hour: number, vector: number[]): Promise<void>;
|
|
40
|
-
recordQueueAge(queue: string, hour: number, ms: number): Promise<void>;
|
|
41
|
+
addSamples(queue: string, metric: LatencyMetric, hour: number, vector: number[], rollup?: string): Promise<void>;
|
|
42
|
+
recordQueueAge(queue: string, hour: number, ms: number, rollup?: string): Promise<void>;
|
|
41
43
|
readRange(queue: string, metric: LatencyMetric, granularity: 'hour' | 'day', days: string[]): Promise<Record<string, number[]>>;
|
|
42
44
|
readQueueAge(queue: string, granularity: 'hour' | 'day', days: string[]): Promise<Record<string, number>>;
|
|
43
45
|
/**
|
package/dist/postgres/stores.js
CHANGED
|
@@ -38,10 +38,10 @@ class PostgresCounterStore {
|
|
|
38
38
|
this.retention = (0, context_1.normalizeRetention)(retention);
|
|
39
39
|
this.pruner = new context_1.RetentionPruner(ctx, this.retention);
|
|
40
40
|
}
|
|
41
|
-
async upsertMinute(queue, metric, minute, value) {
|
|
42
|
-
await this.upsertMinutes(queue, metric, [{ minute, value }]);
|
|
41
|
+
async upsertMinute(queue, metric, minute, value, rollup = keys_1.GLOBAL_QUEUE) {
|
|
42
|
+
await this.upsertMinutes(queue, metric, [{ minute, value }], rollup);
|
|
43
43
|
}
|
|
44
|
-
async upsertMinutes(queue, metric, points) {
|
|
44
|
+
async upsertMinutes(queue, metric, points, rollup = keys_1.GLOBAL_QUEUE) {
|
|
45
45
|
if (points.length === 0) {
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
@@ -82,17 +82,20 @@ class PostgresCounterStore {
|
|
|
82
82
|
INSERT INTO ${counters} (queue, metric, tier, bucket, value)
|
|
83
83
|
SELECT queue, $2, tier, bucket, delta FROM rollup ORDER BY queue, tier, bucket
|
|
84
84
|
ON CONFLICT (queue, metric, tier, bucket)
|
|
85
|
-
DO UPDATE SET value = ${counters}.value + EXCLUDED.value`, [
|
|
86
|
-
queue,
|
|
87
|
-
metric,
|
|
88
|
-
points.map((p) => p.minute),
|
|
89
|
-
points.map((p) => Math.round(p.value)),
|
|
90
|
-
keys_1.GLOBAL_QUEUE,
|
|
91
|
-
]);
|
|
85
|
+
DO UPDATE SET value = ${counters}.value + EXCLUDED.value`, [queue, metric, points.map((p) => p.minute), points.map((p) => Math.round(p.value)), rollup]);
|
|
92
86
|
});
|
|
93
87
|
const newest = Math.max(...points.map((p) => p.minute));
|
|
94
88
|
await this.pruner.afterWrite((0, keys_1.minuteToDay)(newest));
|
|
95
89
|
}
|
|
90
|
+
/** The minute tier only holds rows inside the minute window, so this is one index probe. */
|
|
91
|
+
async latestMinute(queue, metric) {
|
|
92
|
+
var _a;
|
|
93
|
+
await this.ctx.ready();
|
|
94
|
+
const { rows } = await this.ctx.pool.query(`SELECT max(bucket) AS minute FROM ${this.ctx.tables.counters}
|
|
95
|
+
WHERE queue = $1 AND metric = $2 AND tier = 'minute'`, [queue, metric]);
|
|
96
|
+
const minute = (_a = rows[0]) === null || _a === void 0 ? void 0 : _a.minute;
|
|
97
|
+
return minute == null ? null : Number(minute);
|
|
98
|
+
}
|
|
96
99
|
async readDailyTotals(queue, metric, days) {
|
|
97
100
|
if (days.length === 0) {
|
|
98
101
|
return [];
|
|
@@ -141,7 +144,7 @@ class PostgresLatencyStore {
|
|
|
141
144
|
this.retention = (0, context_1.normalizeRetention)(retention);
|
|
142
145
|
this.pruner = new context_1.RetentionPruner(ctx, this.retention);
|
|
143
146
|
}
|
|
144
|
-
async addSamples(queue, metric, hour, vector) {
|
|
147
|
+
async addSamples(queue, metric, hour, vector, rollup = keys_1.GLOBAL_QUEUE) {
|
|
145
148
|
await this.ctx.ready();
|
|
146
149
|
const { histograms } = this.ctx.tables;
|
|
147
150
|
const day = (0, keys_1.minuteToDay)(hour * 60);
|
|
@@ -155,10 +158,10 @@ class PostgresLatencyStore {
|
|
|
155
158
|
SELECT coalesce(a, 0) + coalesce(b, 0)
|
|
156
159
|
FROM unnest(${histograms}.counts, EXCLUDED.counts) WITH ORDINALITY AS t(a, b, i)
|
|
157
160
|
ORDER BY i
|
|
158
|
-
)`, [queue, metric, hour, (0, keys_1.dayToIndex)(day), counts,
|
|
161
|
+
)`, [queue, metric, hour, (0, keys_1.dayToIndex)(day), counts, rollup]);
|
|
159
162
|
await this.pruner.afterWrite(day);
|
|
160
163
|
}
|
|
161
|
-
async recordQueueAge(queue, hour, ms) {
|
|
164
|
+
async recordQueueAge(queue, hour, ms, rollup = keys_1.GLOBAL_QUEUE) {
|
|
162
165
|
await this.ctx.ready();
|
|
163
166
|
const { counters } = this.ctx.tables;
|
|
164
167
|
const day = (0, keys_1.minuteToDay)(hour * 60);
|
|
@@ -168,7 +171,7 @@ class PostgresLatencyStore {
|
|
|
168
171
|
($6, $2, 'day', $4, $5),
|
|
169
172
|
($6, $2, 'hour', $3, $5)
|
|
170
173
|
ON CONFLICT (queue, metric, tier, bucket)
|
|
171
|
-
DO UPDATE SET value = GREATEST(${counters}.value, EXCLUDED.value)`, [queue, LatencyStore_1.QUEUE_AGE_METRIC, hour, (0, keys_1.dayToIndex)(day), Math.max(0, Math.round(ms)),
|
|
174
|
+
DO UPDATE SET value = GREATEST(${counters}.value, EXCLUDED.value)`, [queue, LatencyStore_1.QUEUE_AGE_METRIC, hour, (0, keys_1.dayToIndex)(day), Math.max(0, Math.round(ms)), rollup]);
|
|
172
175
|
await this.pruner.afterWrite(day);
|
|
173
176
|
}
|
|
174
177
|
async readRange(queue, metric, granularity, days) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stores.js","sourceRoot":"","sources":["../../src/postgres/stores.ts"],"names":[],"mappings":";;;AACA,4CAAyD;AACzD,kCAA4E;AAC5E,kDAAmD;AAEnD,uCAA+F;AAE/F,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB,4FAA4F;AAC5F,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAU,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,QAAQ,CAAC,GAAY;IAC5B,MAAM,GAAG,GAAG,IAAA,uBAAW,GAAE,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAY,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxD,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAa,oBAAoB;IAI/B,YACmB,GAAc,EAC/B,SAAoB;QADH,QAAG,GAAH,GAAG,CAAW;QAG/B,IAAI,CAAC,SAAS,GAAG,IAAA,4BAAkB,EAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,yBAAe,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"stores.js","sourceRoot":"","sources":["../../src/postgres/stores.ts"],"names":[],"mappings":"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"}
|
package/dist/store.d.ts
CHANGED
|
@@ -21,7 +21,18 @@ export type LatencyMetric = 'runtime' | 'waittime';
|
|
|
21
21
|
*/
|
|
22
22
|
export interface CounterStore {
|
|
23
23
|
readonly retention: Retention;
|
|
24
|
-
|
|
24
|
+
/**
|
|
25
|
+
* `rollup` names the cross-queue series the points are also added to, `__global__` unless a
|
|
26
|
+
* `CounterSource` says otherwise. That is what keeps two boards sharing one store apart.
|
|
27
|
+
*/
|
|
28
|
+
upsertMinutes(queue: string, metric: string, points: MinutePoint[], rollup?: string): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* The newest minute recorded for a queue inside the minute window, or `null`. A recorder that
|
|
31
|
+
* restarts reads a `CounterSource` from here instead of from the start of the window, since a
|
|
32
|
+
* source that counts rows can lose rows it already counted (pg-boss deletes finished jobs) and
|
|
33
|
+
* re-reading those minutes would write the smaller number back over the recorded one.
|
|
34
|
+
*/
|
|
35
|
+
latestMinute(queue: string, metric: string): Promise<number | null>;
|
|
25
36
|
/** One entry per requested day: `null` when never recorded, a number (maybe 0) when it was. */
|
|
26
37
|
readDailyTotals(queue: string, metric: string, days: string[]): Promise<(number | null)[]>;
|
|
27
38
|
/** Hourly buckets over the given days, keyed by absolute hour index. */
|
|
@@ -36,8 +47,9 @@ export interface CounterStore {
|
|
|
36
47
|
*/
|
|
37
48
|
export interface LatencyStorage {
|
|
38
49
|
readonly retention: Retention;
|
|
39
|
-
|
|
40
|
-
|
|
50
|
+
/** `rollup` as in `CounterStore.upsertMinutes`. */
|
|
51
|
+
addSamples(queue: string, metric: LatencyMetric, hour: number, vector: number[], rollup?: string): Promise<void>;
|
|
52
|
+
recordQueueAge(queue: string, hour: number, ms: number, rollup?: string): Promise<void>;
|
|
41
53
|
/** Keyed by ISO day for `'day'`, by absolute hour index for `'hour'`. */
|
|
42
54
|
readRange(queue: string, metric: LatencyMetric, granularity: 'hour' | 'day', days: string[]): Promise<Record<string, number[]>>;
|
|
43
55
|
readQueueAge(queue: string, granularity: 'hour' | 'day', days: string[]): Promise<Record<string, number>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@worker-manager/metrics",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.1.0-next.0",
|
|
4
4
|
"description": "Opt-in long-retention historical job metrics recorder and provider for Worker Manager.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bull",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"test": "jest"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@worker-manager/api": "2.0.
|
|
37
|
+
"@worker-manager/api": "2.1.0-next.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/jest": "^30.0.0",
|