@drawbridge/drawbridge-telemetry 0.0.7 → 0.0.8
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/bullmq.cjs +38 -20
- package/dist/bullmq.d.cts +62 -24
- package/dist/bullmq.d.ts +62 -24
- package/dist/bullmq.js +38 -20
- package/package.json +2 -2
package/dist/bullmq.cjs
CHANGED
|
@@ -77,28 +77,46 @@ var enqueueFromWorker = async (queue, name, data, options = {}) => {
|
|
|
77
77
|
options
|
|
78
78
|
);
|
|
79
79
|
};
|
|
80
|
-
var attachQueueEventsLogger = (
|
|
81
|
-
if (!(logger2 == null ? void 0 : logger2.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
queue
|
|
86
|
-
|
|
87
|
-
|
|
80
|
+
var attachQueueEventsLogger = (queue, queueEvents, logger2) => {
|
|
81
|
+
if (!(logger2 == null ? void 0 : logger2.emit)) return;
|
|
82
|
+
const queueName = queue == null ? void 0 : queue.name;
|
|
83
|
+
queueEvents.on("completed", async ({ jobId }) => {
|
|
84
|
+
try {
|
|
85
|
+
const job = await queue.getJob(jobId).catch(() => null);
|
|
86
|
+
const duration = (job == null ? void 0 : job.finishedOn) && (job == null ? void 0 : job.processedOn) ? job.finishedOn - job.processedOn : null;
|
|
87
|
+
await logger2.emit("job.completed", {
|
|
88
|
+
jobId,
|
|
89
|
+
queue: queueName,
|
|
90
|
+
name: job == null ? void 0 : job.name,
|
|
91
|
+
duration,
|
|
92
|
+
attemptsMade: job == null ? void 0 : job.attemptsMade
|
|
93
|
+
});
|
|
94
|
+
} catch {
|
|
95
|
+
}
|
|
88
96
|
});
|
|
89
|
-
queueEvents.on("failed", ({ jobId, failedReason
|
|
90
|
-
|
|
91
|
-
jobId
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
97
|
+
queueEvents.on("failed", async ({ jobId, failedReason }) => {
|
|
98
|
+
try {
|
|
99
|
+
const job = await queue.getJob(jobId).catch(() => null);
|
|
100
|
+
await logger2.emit("job.failed", {
|
|
101
|
+
jobId,
|
|
102
|
+
queue: queueName,
|
|
103
|
+
name: job == null ? void 0 : job.name,
|
|
104
|
+
failedReason,
|
|
105
|
+
attemptsMade: job == null ? void 0 : job.attemptsMade
|
|
106
|
+
});
|
|
107
|
+
} catch {
|
|
108
|
+
}
|
|
96
109
|
});
|
|
97
|
-
queueEvents.on("stalled", ({ jobId }) => {
|
|
98
|
-
|
|
99
|
-
jobId
|
|
100
|
-
|
|
101
|
-
|
|
110
|
+
queueEvents.on("stalled", async ({ jobId }) => {
|
|
111
|
+
try {
|
|
112
|
+
const job = await queue.getJob(jobId).catch(() => null);
|
|
113
|
+
await logger2.emit("job.stalled", {
|
|
114
|
+
jobId,
|
|
115
|
+
queue: queueName,
|
|
116
|
+
name: job == null ? void 0 : job.name
|
|
117
|
+
});
|
|
118
|
+
} catch {
|
|
119
|
+
}
|
|
102
120
|
});
|
|
103
121
|
};
|
|
104
122
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/bullmq.d.cts
CHANGED
|
@@ -61,42 +61,80 @@ const enqueueFromWorker = async ( queue, name, data, options = {} ) => {
|
|
|
61
61
|
|
|
62
62
|
};
|
|
63
63
|
|
|
64
|
-
// Attach a QueueEvents listener that emits
|
|
65
|
-
// `job.
|
|
66
|
-
//
|
|
67
|
-
//
|
|
64
|
+
// Attach a QueueEvents listener that emits `job.completed`, `job.failed`,
|
|
65
|
+
// and `job.stalled` to the unified logger. Called once per (queue, events)
|
|
66
|
+
// pair, typically right after both are constructed.
|
|
67
|
+
//
|
|
68
|
+
// The Queue handle is required because BullMQ's QueueEvents payload doesn't
|
|
69
|
+
// include duration, attempts, or job name on its own — we look those up via
|
|
70
|
+
// queue.getJob( jobId ). The lookup is best-effort: jobs that have already
|
|
71
|
+
// been swept by removeOnComplete / removeOnFail return null, in which case
|
|
72
|
+
// the emit goes out with the fields we do have.
|
|
73
|
+
//
|
|
74
|
+
// duration is measured from worker pickup (processedOn) to finish
|
|
75
|
+
// (finishedOn), i.e. execution time. Queue-wait time (timestamp to
|
|
76
|
+
// processedOn) is not included; if that becomes interesting it can be
|
|
77
|
+
// added as a separate field.
|
|
78
|
+
|
|
79
|
+
const attachQueueEventsLogger = ( queue, queueEvents, logger ) => {
|
|
80
|
+
|
|
81
|
+
if( ! logger?.emit ) return;
|
|
82
|
+
|
|
83
|
+
const queueName = queue?.name;
|
|
84
|
+
|
|
85
|
+
queueEvents.on( 'completed', async ({ jobId }) => {
|
|
86
|
+
|
|
87
|
+
try {
|
|
68
88
|
|
|
69
|
-
const
|
|
89
|
+
const job = await queue.getJob( jobId ).catch( () => null );
|
|
70
90
|
|
|
71
|
-
|
|
91
|
+
const duration = ( job?.finishedOn && job?.processedOn )
|
|
92
|
+
? job.finishedOn - job.processedOn
|
|
93
|
+
: null;
|
|
72
94
|
|
|
73
|
-
|
|
95
|
+
await logger.emit( 'job.completed', {
|
|
96
|
+
jobId,
|
|
97
|
+
queue : queueName,
|
|
98
|
+
name : job?.name,
|
|
99
|
+
duration,
|
|
100
|
+
attemptsMade : job?.attemptsMade
|
|
101
|
+
});
|
|
74
102
|
|
|
75
|
-
|
|
76
|
-
jobId,
|
|
77
|
-
queue : queueName,
|
|
78
|
-
prev
|
|
79
|
-
});
|
|
103
|
+
} catch {}
|
|
80
104
|
|
|
81
105
|
});
|
|
82
106
|
|
|
83
|
-
queueEvents.on( 'failed', ({ jobId, failedReason
|
|
107
|
+
queueEvents.on( 'failed', async ({ jobId, failedReason }) => {
|
|
84
108
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
queue
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
109
|
+
try {
|
|
110
|
+
|
|
111
|
+
const job = await queue.getJob( jobId ).catch( () => null );
|
|
112
|
+
|
|
113
|
+
await logger.emit( 'job.failed', {
|
|
114
|
+
jobId,
|
|
115
|
+
queue : queueName,
|
|
116
|
+
name : job?.name,
|
|
117
|
+
failedReason,
|
|
118
|
+
attemptsMade : job?.attemptsMade
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
} catch {}
|
|
91
122
|
|
|
92
123
|
});
|
|
93
124
|
|
|
94
|
-
queueEvents.on( 'stalled', ({ jobId }) => {
|
|
125
|
+
queueEvents.on( 'stalled', async ({ jobId }) => {
|
|
126
|
+
|
|
127
|
+
try {
|
|
128
|
+
|
|
129
|
+
const job = await queue.getJob( jobId ).catch( () => null );
|
|
130
|
+
|
|
131
|
+
await logger.emit( 'job.stalled', {
|
|
132
|
+
jobId,
|
|
133
|
+
queue : queueName,
|
|
134
|
+
name : job?.name
|
|
135
|
+
});
|
|
95
136
|
|
|
96
|
-
|
|
97
|
-
jobId,
|
|
98
|
-
queue : queueName
|
|
99
|
-
});
|
|
137
|
+
} catch {}
|
|
100
138
|
|
|
101
139
|
});
|
|
102
140
|
|
package/dist/bullmq.d.ts
CHANGED
|
@@ -61,42 +61,80 @@ const enqueueFromWorker = async ( queue, name, data, options = {} ) => {
|
|
|
61
61
|
|
|
62
62
|
};
|
|
63
63
|
|
|
64
|
-
// Attach a QueueEvents listener that emits
|
|
65
|
-
// `job.
|
|
66
|
-
//
|
|
67
|
-
//
|
|
64
|
+
// Attach a QueueEvents listener that emits `job.completed`, `job.failed`,
|
|
65
|
+
// and `job.stalled` to the unified logger. Called once per (queue, events)
|
|
66
|
+
// pair, typically right after both are constructed.
|
|
67
|
+
//
|
|
68
|
+
// The Queue handle is required because BullMQ's QueueEvents payload doesn't
|
|
69
|
+
// include duration, attempts, or job name on its own — we look those up via
|
|
70
|
+
// queue.getJob( jobId ). The lookup is best-effort: jobs that have already
|
|
71
|
+
// been swept by removeOnComplete / removeOnFail return null, in which case
|
|
72
|
+
// the emit goes out with the fields we do have.
|
|
73
|
+
//
|
|
74
|
+
// duration is measured from worker pickup (processedOn) to finish
|
|
75
|
+
// (finishedOn), i.e. execution time. Queue-wait time (timestamp to
|
|
76
|
+
// processedOn) is not included; if that becomes interesting it can be
|
|
77
|
+
// added as a separate field.
|
|
78
|
+
|
|
79
|
+
const attachQueueEventsLogger = ( queue, queueEvents, logger ) => {
|
|
80
|
+
|
|
81
|
+
if( ! logger?.emit ) return;
|
|
82
|
+
|
|
83
|
+
const queueName = queue?.name;
|
|
84
|
+
|
|
85
|
+
queueEvents.on( 'completed', async ({ jobId }) => {
|
|
86
|
+
|
|
87
|
+
try {
|
|
68
88
|
|
|
69
|
-
const
|
|
89
|
+
const job = await queue.getJob( jobId ).catch( () => null );
|
|
70
90
|
|
|
71
|
-
|
|
91
|
+
const duration = ( job?.finishedOn && job?.processedOn )
|
|
92
|
+
? job.finishedOn - job.processedOn
|
|
93
|
+
: null;
|
|
72
94
|
|
|
73
|
-
|
|
95
|
+
await logger.emit( 'job.completed', {
|
|
96
|
+
jobId,
|
|
97
|
+
queue : queueName,
|
|
98
|
+
name : job?.name,
|
|
99
|
+
duration,
|
|
100
|
+
attemptsMade : job?.attemptsMade
|
|
101
|
+
});
|
|
74
102
|
|
|
75
|
-
|
|
76
|
-
jobId,
|
|
77
|
-
queue : queueName,
|
|
78
|
-
prev
|
|
79
|
-
});
|
|
103
|
+
} catch {}
|
|
80
104
|
|
|
81
105
|
});
|
|
82
106
|
|
|
83
|
-
queueEvents.on( 'failed', ({ jobId, failedReason
|
|
107
|
+
queueEvents.on( 'failed', async ({ jobId, failedReason }) => {
|
|
84
108
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
queue
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
109
|
+
try {
|
|
110
|
+
|
|
111
|
+
const job = await queue.getJob( jobId ).catch( () => null );
|
|
112
|
+
|
|
113
|
+
await logger.emit( 'job.failed', {
|
|
114
|
+
jobId,
|
|
115
|
+
queue : queueName,
|
|
116
|
+
name : job?.name,
|
|
117
|
+
failedReason,
|
|
118
|
+
attemptsMade : job?.attemptsMade
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
} catch {}
|
|
91
122
|
|
|
92
123
|
});
|
|
93
124
|
|
|
94
|
-
queueEvents.on( 'stalled', ({ jobId }) => {
|
|
125
|
+
queueEvents.on( 'stalled', async ({ jobId }) => {
|
|
126
|
+
|
|
127
|
+
try {
|
|
128
|
+
|
|
129
|
+
const job = await queue.getJob( jobId ).catch( () => null );
|
|
130
|
+
|
|
131
|
+
await logger.emit( 'job.stalled', {
|
|
132
|
+
jobId,
|
|
133
|
+
queue : queueName,
|
|
134
|
+
name : job?.name
|
|
135
|
+
});
|
|
95
136
|
|
|
96
|
-
|
|
97
|
-
jobId,
|
|
98
|
-
queue : queueName
|
|
99
|
-
});
|
|
137
|
+
} catch {}
|
|
100
138
|
|
|
101
139
|
});
|
|
102
140
|
|
package/dist/bullmq.js
CHANGED
|
@@ -31,28 +31,46 @@ var enqueueFromWorker = async (queue, name, data, options = {}) => {
|
|
|
31
31
|
options
|
|
32
32
|
);
|
|
33
33
|
};
|
|
34
|
-
var attachQueueEventsLogger = (
|
|
35
|
-
if (!(logger == null ? void 0 : logger.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
queue
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
var attachQueueEventsLogger = (queue, queueEvents, logger) => {
|
|
35
|
+
if (!(logger == null ? void 0 : logger.emit)) return;
|
|
36
|
+
const queueName = queue == null ? void 0 : queue.name;
|
|
37
|
+
queueEvents.on("completed", async ({ jobId }) => {
|
|
38
|
+
try {
|
|
39
|
+
const job = await queue.getJob(jobId).catch(() => null);
|
|
40
|
+
const duration = (job == null ? void 0 : job.finishedOn) && (job == null ? void 0 : job.processedOn) ? job.finishedOn - job.processedOn : null;
|
|
41
|
+
await logger.emit("job.completed", {
|
|
42
|
+
jobId,
|
|
43
|
+
queue: queueName,
|
|
44
|
+
name: job == null ? void 0 : job.name,
|
|
45
|
+
duration,
|
|
46
|
+
attemptsMade: job == null ? void 0 : job.attemptsMade
|
|
47
|
+
});
|
|
48
|
+
} catch {
|
|
49
|
+
}
|
|
42
50
|
});
|
|
43
|
-
queueEvents.on("failed", ({ jobId, failedReason
|
|
44
|
-
|
|
45
|
-
jobId
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
queueEvents.on("failed", async ({ jobId, failedReason }) => {
|
|
52
|
+
try {
|
|
53
|
+
const job = await queue.getJob(jobId).catch(() => null);
|
|
54
|
+
await logger.emit("job.failed", {
|
|
55
|
+
jobId,
|
|
56
|
+
queue: queueName,
|
|
57
|
+
name: job == null ? void 0 : job.name,
|
|
58
|
+
failedReason,
|
|
59
|
+
attemptsMade: job == null ? void 0 : job.attemptsMade
|
|
60
|
+
});
|
|
61
|
+
} catch {
|
|
62
|
+
}
|
|
50
63
|
});
|
|
51
|
-
queueEvents.on("stalled", ({ jobId }) => {
|
|
52
|
-
|
|
53
|
-
jobId
|
|
54
|
-
|
|
55
|
-
|
|
64
|
+
queueEvents.on("stalled", async ({ jobId }) => {
|
|
65
|
+
try {
|
|
66
|
+
const job = await queue.getJob(jobId).catch(() => null);
|
|
67
|
+
await logger.emit("job.stalled", {
|
|
68
|
+
jobId,
|
|
69
|
+
queue: queueName,
|
|
70
|
+
name: job == null ? void 0 : job.name
|
|
71
|
+
});
|
|
72
|
+
} catch {
|
|
73
|
+
}
|
|
56
74
|
});
|
|
57
75
|
};
|
|
58
76
|
export {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"dependencies": {
|
|
4
|
-
"@drawbridge/drawbridge-agents": "0.0.
|
|
4
|
+
"@drawbridge/drawbridge-agents": "0.0.5",
|
|
5
5
|
"@sentry/node": "10.27.0",
|
|
6
6
|
"pino": "10.3.1",
|
|
7
7
|
"pino-pretty": "13.1.3"
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"build": "tsup && npm publish"
|
|
61
61
|
},
|
|
62
62
|
"types": "dist/index.d.ts",
|
|
63
|
-
"version": "0.0.
|
|
63
|
+
"version": "0.0.8"
|
|
64
64
|
}
|