duron 0.3.0-beta.5 → 0.3.0-beta.7
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/action.d.ts.map +1 -1
- package/dist/adapters/postgres/schema.d.ts.map +1 -1
- package/dist/adapters/postgres/schema.js +3 -1
- package/dist/client.d.ts +25 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +102 -2
- package/dist/step-manager.d.ts.map +1 -1
- package/dist/step-manager.js +28 -0
- package/dist/telemetry/adapter.d.ts +22 -0
- package/dist/telemetry/adapter.d.ts.map +1 -1
- package/dist/telemetry/adapter.js +6 -0
- package/dist/telemetry/index.d.ts +1 -1
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/local.d.ts +2 -1
- package/dist/telemetry/local.d.ts.map +1 -1
- package/dist/telemetry/local.js +63 -0
- package/dist/telemetry/noop.d.ts +2 -1
- package/dist/telemetry/noop.d.ts.map +1 -1
- package/dist/telemetry/noop.js +27 -0
- package/dist/telemetry/opentelemetry.d.ts +2 -1
- package/dist/telemetry/opentelemetry.d.ts.map +1 -1
- package/dist/telemetry/opentelemetry.js +110 -0
- package/migrations/postgres/20260119153838_flimsy_thor_girl/snapshot.json +12 -36
- package/package.json +1 -1
- package/src/action.ts +5 -11
- package/src/adapters/postgres/schema.ts +3 -1
- package/src/client.ts +187 -8
- package/src/step-manager.ts +43 -1
- package/src/telemetry/adapter.ts +174 -0
- package/src/telemetry/index.ts +3 -0
- package/src/telemetry/local.ts +93 -0
- package/src/telemetry/noop.ts +46 -0
- package/src/telemetry/opentelemetry.ts +145 -2
package/dist/action.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAG5D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,MAAM,WAAW,oBAAoB,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpG,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,UAAU,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IAMd,OAAO,EAAE,cAAc,CAAA;IAUvB,IAAI,EAAE,CAAC,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,EACjD,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,KACxC,OAAO,CAAC,OAAO,CAAC,CAAA;IAUrB,GAAG,EAAE,CAAC,UAAU,SAAS,CAAC,CAAC,SAAS,EAAE,OAAO,EAC3C,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,EACxD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC,KACjD,OAAO,CAAC,OAAO,CAAC,CAAA;CACtB;AAED,MAAM,WAAW,kBAAkB;IAQjC,MAAM,EAAE,WAAW,CAAA;IAKnB,MAAM,EAAE,MAAM,CAAA;IAKd,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAM3B,OAAO,EAAE,cAAc,CAAA;IAYvB,IAAI,EAAE,CAAC,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,EACjD,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,KACxC,OAAO,CAAC,OAAO,CAAC,CAAA;IAWrB,GAAG,EAAE,CAAC,UAAU,SAAS,CAAC,CAAC,SAAS,EAAE,OAAO,EAC3C,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,EACjD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC,KACjD,OAAO,CAAC,OAAO,CAAC,CAAA;CACtB;AAMD,MAAM,WAAW,4BAA4B,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC5G,SAAQ,kBAAkB;IAI1B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAKtB,GAAG,EAAE,UAAU,CAAA;IAKf,MAAM,EAAE,MAAM,CAAA;IAKd,KAAK,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/schema.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA4Eb,IAAI;uBAAS,iBAAiB;2BAAa,MAAM;;;;;;8BAAjD,IAAI;2BAAS,iBAAiB;+BAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgres/schema.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA4Eb,IAAI;uBAAS,iBAAiB;2BAAa,MAAM;;;;;;8BAAjD,IAAI;2BAAS,iBAAiB;+BAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2E1F"}
|
|
@@ -79,7 +79,9 @@ export default function createSchema(schemaName) {
|
|
|
79
79
|
index('idx_job_steps_job_status').on(table.job_id, table.status),
|
|
80
80
|
index('idx_job_steps_job_name').on(table.job_id, table.name),
|
|
81
81
|
index('idx_job_steps_output_fts').using('gin', sql `to_tsvector('english', ${table.output}::text)`),
|
|
82
|
-
unique('unique_job_step_name_parent')
|
|
82
|
+
unique('unique_job_step_name_parent')
|
|
83
|
+
.on(table.job_id, table.name, table.parent_step_id)
|
|
84
|
+
.nullsNotDistinct(),
|
|
83
85
|
check('job_steps_status_check', sql `${table.status} IN ${sql.raw(`(${STEP_STATUSES.map((s) => `'${s}'`).join(',')})`)}`),
|
|
84
86
|
]);
|
|
85
87
|
const metricsTable = schema.table('metrics', {
|
package/dist/client.d.ts
CHANGED
|
@@ -3,7 +3,27 @@ import * as z from 'zod';
|
|
|
3
3
|
import type { Action } from './action.js';
|
|
4
4
|
import type { Adapter, GetActionsResult, GetJobStepsOptions, GetJobStepsResult, GetJobsOptions, GetJobsResult, GetMetricsOptions, GetMetricsResult, Job, JobStep } from './adapters/adapter.js';
|
|
5
5
|
import type { JobStatusResult, JobStepStatusResult } from './adapters/schemas.js';
|
|
6
|
+
import { type JobStatus } from './constants.js';
|
|
6
7
|
import { type TelemetryAdapter } from './telemetry/index.js';
|
|
8
|
+
type InferActionSchema<T> = T extends z.ZodTypeAny ? z.infer<T> : Record<string, unknown>;
|
|
9
|
+
export interface JobResult {
|
|
10
|
+
jobId: string;
|
|
11
|
+
actionName: string;
|
|
12
|
+
status: JobStatus;
|
|
13
|
+
groupKey: string;
|
|
14
|
+
input: unknown;
|
|
15
|
+
output: unknown;
|
|
16
|
+
error: Job['error'];
|
|
17
|
+
}
|
|
18
|
+
export interface TypedJobResult<TAction extends Action<any, any, any>> {
|
|
19
|
+
jobId: string;
|
|
20
|
+
actionName: string;
|
|
21
|
+
status: JobStatus;
|
|
22
|
+
groupKey: string;
|
|
23
|
+
input: InferActionSchema<NonNullable<TAction['input']>>;
|
|
24
|
+
output: InferActionSchema<NonNullable<TAction['output']>>;
|
|
25
|
+
error: Job['error'];
|
|
26
|
+
}
|
|
7
27
|
declare const BaseOptionsSchema: z.ZodObject<{
|
|
8
28
|
id: z.ZodOptional<z.ZodString>;
|
|
9
29
|
syncPattern: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"pull">, z.ZodLiteral<"push">, z.ZodLiteral<"hybrid">, z.ZodLiteral<false>]>>;
|
|
@@ -48,6 +68,10 @@ export declare class Client<TActions extends Record<string, Action<any, any, TVa
|
|
|
48
68
|
id?: string | undefined;
|
|
49
69
|
};
|
|
50
70
|
runAction<TActionName extends keyof TActions>(actionName: TActionName, input?: NonNullable<TActions[TActionName]['input']> extends z.ZodObject ? z.input<NonNullable<TActions[TActionName]['input']>> : never): Promise<string>;
|
|
71
|
+
runActionAndWait<TActionName extends keyof TActions>(actionName: TActionName, input?: NonNullable<TActions[TActionName]['input']> extends z.ZodObject ? z.input<NonNullable<TActions[TActionName]['input']>> : never, options?: {
|
|
72
|
+
signal?: AbortSignal;
|
|
73
|
+
timeout?: number;
|
|
74
|
+
}): Promise<TypedJobResult<TActions[TActionName]>>;
|
|
51
75
|
fetch(options: FetchOptions): Promise<{
|
|
52
76
|
id: string;
|
|
53
77
|
actionName: string;
|
|
@@ -79,7 +103,7 @@ export declare class Client<TActions extends Record<string, Action<any, any, TVa
|
|
|
79
103
|
waitForJob(jobId: string, options?: {
|
|
80
104
|
timeout?: number;
|
|
81
105
|
signal?: AbortSignal;
|
|
82
|
-
}): Promise<
|
|
106
|
+
}): Promise<JobResult | null>;
|
|
83
107
|
getActions(): Promise<GetActionsResult>;
|
|
84
108
|
getMetrics(options: GetMetricsOptions): Promise<GetMetricsResult>;
|
|
85
109
|
getActionsMetadata(): Promise<Array<{
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,KAAK,EAAE,MAAM,EAA6B,MAAM,aAAa,CAAA;AAEpE,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,GAAG,EACH,OAAO,EACR,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -117,6 +117,87 @@ export class Client {
|
|
|
117
117
|
this.#logger.debug({ jobId, actionName: String(actionName), groupKey }, '[Duron] Action sent/created');
|
|
118
118
|
return jobId;
|
|
119
119
|
}
|
|
120
|
+
async runActionAndWait(actionName, input, options) {
|
|
121
|
+
if (options?.signal?.aborted) {
|
|
122
|
+
throw new Error('Operation was aborted');
|
|
123
|
+
}
|
|
124
|
+
const jobId = await this.runAction(actionName, input);
|
|
125
|
+
let abortHandler;
|
|
126
|
+
if (options?.signal) {
|
|
127
|
+
abortHandler = () => {
|
|
128
|
+
this.cancelJob(jobId).catch((err) => {
|
|
129
|
+
this.#logger.error({ err, jobId }, '[Duron] Error cancelling job on abort');
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
options.signal.addEventListener('abort', abortHandler, { once: true });
|
|
133
|
+
}
|
|
134
|
+
let timeoutId;
|
|
135
|
+
let timeoutAbortController;
|
|
136
|
+
if (options?.timeout) {
|
|
137
|
+
timeoutAbortController = new AbortController();
|
|
138
|
+
timeoutId = setTimeout(() => {
|
|
139
|
+
timeoutAbortController.abort();
|
|
140
|
+
this.cancelJob(jobId).catch((err) => {
|
|
141
|
+
this.#logger.error({ err, jobId }, '[Duron] Error cancelling job on timeout');
|
|
142
|
+
});
|
|
143
|
+
}, options.timeout);
|
|
144
|
+
}
|
|
145
|
+
try {
|
|
146
|
+
let waitSignal;
|
|
147
|
+
if (options?.signal && timeoutAbortController) {
|
|
148
|
+
waitSignal = AbortSignal.any([options.signal, timeoutAbortController.signal]);
|
|
149
|
+
}
|
|
150
|
+
else if (options?.signal) {
|
|
151
|
+
waitSignal = options.signal;
|
|
152
|
+
}
|
|
153
|
+
else if (timeoutAbortController) {
|
|
154
|
+
waitSignal = timeoutAbortController.signal;
|
|
155
|
+
}
|
|
156
|
+
const job = await this.waitForJob(jobId, { signal: waitSignal });
|
|
157
|
+
if (timeoutId) {
|
|
158
|
+
clearTimeout(timeoutId);
|
|
159
|
+
}
|
|
160
|
+
if (options?.signal && abortHandler) {
|
|
161
|
+
options.signal.removeEventListener('abort', abortHandler);
|
|
162
|
+
}
|
|
163
|
+
if (!job) {
|
|
164
|
+
if (options?.signal?.aborted) {
|
|
165
|
+
throw new Error('Operation was aborted');
|
|
166
|
+
}
|
|
167
|
+
if (timeoutAbortController?.signal.aborted) {
|
|
168
|
+
throw new Error('Operation timed out');
|
|
169
|
+
}
|
|
170
|
+
throw new Error('Job not found');
|
|
171
|
+
}
|
|
172
|
+
if (job.status === JOB_STATUS_CANCELLED) {
|
|
173
|
+
if (options?.signal?.aborted) {
|
|
174
|
+
throw new Error('Operation was aborted');
|
|
175
|
+
}
|
|
176
|
+
if (timeoutAbortController?.signal.aborted) {
|
|
177
|
+
throw new Error('Operation timed out');
|
|
178
|
+
}
|
|
179
|
+
throw new Error('Job was cancelled');
|
|
180
|
+
}
|
|
181
|
+
if (job.status === JOB_STATUS_FAILED) {
|
|
182
|
+
const errorMessage = job.error?.message ?? 'Job failed';
|
|
183
|
+
const error = new Error(errorMessage);
|
|
184
|
+
if (job.error?.stack) {
|
|
185
|
+
error.stack = job.error.stack;
|
|
186
|
+
}
|
|
187
|
+
throw error;
|
|
188
|
+
}
|
|
189
|
+
return job;
|
|
190
|
+
}
|
|
191
|
+
catch (err) {
|
|
192
|
+
if (timeoutId) {
|
|
193
|
+
clearTimeout(timeoutId);
|
|
194
|
+
}
|
|
195
|
+
if (options?.signal && abortHandler) {
|
|
196
|
+
options.signal.removeEventListener('abort', abortHandler);
|
|
197
|
+
}
|
|
198
|
+
throw err;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
120
201
|
async fetch(options) {
|
|
121
202
|
await this.start();
|
|
122
203
|
if (!this.#actions) {
|
|
@@ -194,7 +275,15 @@ export class Client {
|
|
|
194
275
|
if (!job) {
|
|
195
276
|
return null;
|
|
196
277
|
}
|
|
197
|
-
return
|
|
278
|
+
return {
|
|
279
|
+
jobId: job.id,
|
|
280
|
+
actionName: job.actionName,
|
|
281
|
+
status: job.status,
|
|
282
|
+
groupKey: job.groupKey,
|
|
283
|
+
input: job.input,
|
|
284
|
+
output: job.output,
|
|
285
|
+
error: job.error,
|
|
286
|
+
};
|
|
198
287
|
}
|
|
199
288
|
}
|
|
200
289
|
this.#setupJobStatusListener();
|
|
@@ -347,6 +436,17 @@ export class Client {
|
|
|
347
436
|
return;
|
|
348
437
|
}
|
|
349
438
|
const job = await this.getJobById(event.jobId);
|
|
439
|
+
const result = job
|
|
440
|
+
? {
|
|
441
|
+
jobId: job.id,
|
|
442
|
+
actionName: job.actionName,
|
|
443
|
+
status: job.status,
|
|
444
|
+
groupKey: job.groupKey,
|
|
445
|
+
input: job.input,
|
|
446
|
+
output: job.output,
|
|
447
|
+
error: job.error,
|
|
448
|
+
}
|
|
449
|
+
: null;
|
|
350
450
|
const waitsToResolve = Array.from(pendingWaits);
|
|
351
451
|
this.#pendingJobWaits.delete(event.jobId);
|
|
352
452
|
for (const wait of waitsToResolve) {
|
|
@@ -356,7 +456,7 @@ export class Client {
|
|
|
356
456
|
if (wait.signal && wait.abortHandler) {
|
|
357
457
|
wait.signal.removeEventListener('abort', wait.abortHandler);
|
|
358
458
|
}
|
|
359
|
-
wait.resolve(
|
|
459
|
+
wait.resolve(result);
|
|
360
460
|
}
|
|
361
461
|
});
|
|
362
462
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-manager.d.ts","sourceRoot":"","sources":["../src/step-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,EACL,KAAK,MAAM,EACX,KAAK,oBAAoB,EAGzB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAEjB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,OAAO,EAAgC,MAAM,uBAAuB,CAAA;AAClF,OAAO,EAAoE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAWlH,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"step-manager.d.ts","sourceRoot":"","sources":["../src/step-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,EACL,KAAK,MAAM,EACX,KAAK,oBAAoB,EAGzB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAEjB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,OAAO,EAAgC,MAAM,uBAAuB,CAAA;AAClF,OAAO,EAAoE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAWlH,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAsB,MAAM,wBAAwB,CAAA;AA2CxG,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7C,OAAO,EAAE,WAAW,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAMD,qBAAa,SAAS;;gBAYR,OAAO,EAAE,OAAO;IAoBtB,WAAW,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,MAAM,GAAG,IAAW,EAClC,QAAQ,GAAE,OAAe;;;;;;;;;;IAyBrB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB7F,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;CAG3E;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,gBAAgB,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAMD,qBAAa,WAAW;;gBAyBV,OAAO,EAAE,kBAAkB;IAqBvC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAU5B,eAAe,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,WAAW,KAAK,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI;IAoBpH,mBAAmB,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EAAE,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/G,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAC9D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAC3C,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,GAC7B,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC;IAO3C,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAgClD,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAQlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAkT7B"}
|
package/dist/step-manager.js
CHANGED
|
@@ -2,6 +2,31 @@ import fastq from 'fastq';
|
|
|
2
2
|
import { StepOptionsSchema, } from './action.js';
|
|
3
3
|
import { STEP_STATUS_CANCELLED, STEP_STATUS_COMPLETED, STEP_STATUS_FAILED } from './constants.js';
|
|
4
4
|
import { ActionCancelError, isCancelError, isNonRetriableError, NonRetriableError, StepAlreadyExecutedError, StepTimeoutError, serializeError, UnhandledChildStepsError, } from './errors.js';
|
|
5
|
+
const noopTracerSpan = {
|
|
6
|
+
setAttribute() {
|
|
7
|
+
},
|
|
8
|
+
setAttributes() {
|
|
9
|
+
},
|
|
10
|
+
addEvent() {
|
|
11
|
+
},
|
|
12
|
+
recordException() {
|
|
13
|
+
},
|
|
14
|
+
setStatusOk() {
|
|
15
|
+
},
|
|
16
|
+
setStatusError() {
|
|
17
|
+
},
|
|
18
|
+
end() {
|
|
19
|
+
},
|
|
20
|
+
isRecording() {
|
|
21
|
+
return false;
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
const createNoopTracer = (name) => ({
|
|
25
|
+
name,
|
|
26
|
+
startSpan() {
|
|
27
|
+
return noopTracerSpan;
|
|
28
|
+
},
|
|
29
|
+
});
|
|
5
30
|
import pRetry from './utils/p-retry.js';
|
|
6
31
|
import waitForAbort from './utils/wait-for-abort.js';
|
|
7
32
|
export class StepStore {
|
|
@@ -90,6 +115,9 @@ export class StepManager {
|
|
|
90
115
|
},
|
|
91
116
|
addSpanEvent: () => {
|
|
92
117
|
},
|
|
118
|
+
getTracer: (name) => {
|
|
119
|
+
return createNoopTracer(name);
|
|
120
|
+
},
|
|
93
121
|
};
|
|
94
122
|
}
|
|
95
123
|
async push(task) {
|
|
@@ -47,10 +47,30 @@ export interface AddSpanAttributeOptions {
|
|
|
47
47
|
key: string;
|
|
48
48
|
value: string | number | boolean;
|
|
49
49
|
}
|
|
50
|
+
export interface StartSpanOptions {
|
|
51
|
+
kind?: 'internal' | 'client' | 'server' | 'producer' | 'consumer';
|
|
52
|
+
attributes?: Record<string, string | number | boolean>;
|
|
53
|
+
parentSpan?: TracerSpan;
|
|
54
|
+
}
|
|
55
|
+
export interface TracerSpan {
|
|
56
|
+
setAttribute(key: string, value: string | number | boolean): void;
|
|
57
|
+
setAttributes(attributes: Record<string, string | number | boolean>): void;
|
|
58
|
+
addEvent(name: string, attributes?: Record<string, string | number | boolean>): void;
|
|
59
|
+
recordException(error: Error): void;
|
|
60
|
+
setStatusOk(): void;
|
|
61
|
+
setStatusError(message?: string): void;
|
|
62
|
+
end(): void;
|
|
63
|
+
isRecording(): boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface Tracer {
|
|
66
|
+
readonly name: string;
|
|
67
|
+
startSpan(name: string, options?: StartSpanOptions): TracerSpan;
|
|
68
|
+
}
|
|
50
69
|
export interface ObserveContext {
|
|
51
70
|
recordMetric(name: string, value: number, attributes?: Record<string, any>): void;
|
|
52
71
|
addSpanAttribute(key: string, value: string | number | boolean): void;
|
|
53
72
|
addSpanEvent(name: string, attributes?: Record<string, any>): void;
|
|
73
|
+
getTracer(name: string): Tracer;
|
|
54
74
|
}
|
|
55
75
|
export declare abstract class TelemetryAdapter {
|
|
56
76
|
#private;
|
|
@@ -69,6 +89,7 @@ export declare abstract class TelemetryAdapter {
|
|
|
69
89
|
recordMetric(options: RecordMetricOptions): Promise<void>;
|
|
70
90
|
addSpanEvent(options: AddSpanEventOptions): Promise<void>;
|
|
71
91
|
addSpanAttribute(options: AddSpanAttributeOptions): Promise<void>;
|
|
92
|
+
getTracer(name: string): Tracer;
|
|
72
93
|
createObserveContext(jobId: string, stepId: string | null, span: Span): ObserveContext;
|
|
73
94
|
protected abstract _start(): Promise<void>;
|
|
74
95
|
protected abstract _stop(): Promise<void>;
|
|
@@ -81,5 +102,6 @@ export declare abstract class TelemetryAdapter {
|
|
|
81
102
|
protected abstract _recordMetric(options: RecordMetricOptions): Promise<void>;
|
|
82
103
|
protected abstract _addSpanEvent(options: AddSpanEventOptions): Promise<void>;
|
|
83
104
|
protected abstract _addSpanAttribute(options: AddSpanAttributeOptions): Promise<void>;
|
|
105
|
+
protected abstract _getTracer(name: string): Tracer;
|
|
84
106
|
}
|
|
85
107
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/telemetry/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAUrD,MAAM,WAAW,eAAe;IAI9B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAKD,MAAM,WAAW,IAAI;IAInB,EAAE,EAAE,MAAM,CAAA;IAKV,KAAK,EAAE,MAAM,CAAA;IAKb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAKrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAKD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,GAAG,CAAA;CACZ;AAKD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAKD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,WAAW,CAAA;IACpC,KAAK,CAAC,EAAE,GAAG,CAAA;CACZ;AAKD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAKD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACjC;AAKD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACjC;AAKD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,IAAI,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CACjC;AAKD,MAAM,WAAW,cAAc;IAQ7B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;IAQjF,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;IAQrE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/telemetry/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,6 +100,9 @@ export class TelemetryAdapter {
|
|
|
100
100
|
await this.start();
|
|
101
101
|
return this._addSpanAttribute(options);
|
|
102
102
|
}
|
|
103
|
+
getTracer(name) {
|
|
104
|
+
return this._getTracer(name);
|
|
105
|
+
}
|
|
103
106
|
createObserveContext(jobId, stepId, span) {
|
|
104
107
|
return {
|
|
105
108
|
recordMetric: (name, value, attributes) => {
|
|
@@ -123,6 +126,9 @@ export class TelemetryAdapter {
|
|
|
123
126
|
this.#logger?.error(err, 'Error adding span event');
|
|
124
127
|
});
|
|
125
128
|
},
|
|
129
|
+
getTracer: (name) => {
|
|
130
|
+
return this.getTracer(name);
|
|
131
|
+
},
|
|
126
132
|
};
|
|
127
133
|
}
|
|
128
134
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { type AddSpanAttributeOptions, type AddSpanEventOptions, type EndSpanOptions, type ObserveContext, type RecordMetricOptions, type Span, type StartDatabaseSpanOptions, type StartJobSpanOptions, type StartStepSpanOptions, TelemetryAdapter, } from './adapter.js';
|
|
1
|
+
export { type AddSpanAttributeOptions, type AddSpanEventOptions, type EndSpanOptions, type ObserveContext, type RecordMetricOptions, type Span, type StartDatabaseSpanOptions, type StartJobSpanOptions, type StartSpanOptions, type StartStepSpanOptions, TelemetryAdapter, type Tracer, type TracerSpan, } from './adapter.js';
|
|
2
2
|
export { LocalTelemetryAdapter, type LocalTelemetryAdapterOptions, localTelemetryAdapter } from './local.js';
|
|
3
3
|
export { NoopTelemetryAdapter, noopTelemetryAdapter } from './noop.js';
|
|
4
4
|
export { OpenTelemetryAdapter, type OpenTelemetryAdapterOptions, openTelemetryAdapter } from './opentelemetry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,KAAK,MAAM,EACX,KAAK,UAAU,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,qBAAqB,EAAE,KAAK,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAC5G,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,KAAK,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AddSpanAttributeOptions, type AddSpanEventOptions, type EndSpanOptions, type RecordMetricOptions, type Span, type StartDatabaseSpanOptions, type StartJobSpanOptions, type StartStepSpanOptions, TelemetryAdapter } from './adapter.js';
|
|
1
|
+
import { type AddSpanAttributeOptions, type AddSpanEventOptions, type EndSpanOptions, type RecordMetricOptions, type Span, type StartDatabaseSpanOptions, type StartJobSpanOptions, type StartStepSpanOptions, TelemetryAdapter, type Tracer } from './adapter.js';
|
|
2
2
|
export interface LocalTelemetryAdapterOptions {
|
|
3
3
|
flushDelayMs?: number;
|
|
4
4
|
}
|
|
@@ -16,6 +16,7 @@ export declare class LocalTelemetryAdapter extends TelemetryAdapter {
|
|
|
16
16
|
protected _recordMetric(options: RecordMetricOptions): Promise<void>;
|
|
17
17
|
protected _addSpanEvent(options: AddSpanEventOptions): Promise<void>;
|
|
18
18
|
protected _addSpanAttribute(options: AddSpanAttributeOptions): Promise<void>;
|
|
19
|
+
protected _getTracer(name: string): Tracer;
|
|
19
20
|
}
|
|
20
21
|
export declare const localTelemetryAdapter: (options?: LocalTelemetryAdapterOptions) => LocalTelemetryAdapter;
|
|
21
22
|
//# sourceMappingURL=local.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/telemetry/local.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/telemetry/local.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EAExB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,KAAK,MAAM,EAEZ,MAAM,cAAc,CAAA;AAMrB,MAAM,WAAW,4BAA4B;IAM3C,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AA4BD,qBAAa,qBAAsB,SAAQ,gBAAgB;;gBAO7C,OAAO,CAAC,EAAE,4BAA4B;cAwFlC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;cAIvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAUtB,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAyB1D,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cAoB/D,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;cA2B5D,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cAqBhE,kBAAkB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;cAK5E,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cAQtE,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAW1D,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAc1D,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlF,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAqF3C;AA6BD,eAAO,MAAM,qBAAqB,GAAI,UAAU,4BAA4B,0BAAuC,CAAA"}
|
package/dist/telemetry/local.js
CHANGED
|
@@ -176,5 +176,68 @@ export class LocalTelemetryAdapter extends TelemetryAdapter {
|
|
|
176
176
|
},
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
|
+
_getTracer(name) {
|
|
180
|
+
const adapter = this;
|
|
181
|
+
return {
|
|
182
|
+
name,
|
|
183
|
+
startSpan(spanName, options) {
|
|
184
|
+
const spanId = `tracer:${name}:${globalThis.crypto.randomUUID()}`;
|
|
185
|
+
const startTime = Date.now();
|
|
186
|
+
let ended = false;
|
|
187
|
+
const attributes = {
|
|
188
|
+
...options?.attributes,
|
|
189
|
+
};
|
|
190
|
+
const tracerSpan = {
|
|
191
|
+
setAttribute(key, value) {
|
|
192
|
+
if (!ended) {
|
|
193
|
+
attributes[key] = value;
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
setAttributes(attrs) {
|
|
197
|
+
if (!ended) {
|
|
198
|
+
Object.assign(attributes, attrs);
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
addEvent(eventName, eventAttrs) {
|
|
202
|
+
if (!ended) {
|
|
203
|
+
adapter.logger?.debug({ spanId, event: eventName, attributes: eventAttrs }, 'Tracer span event');
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
recordException(error) {
|
|
207
|
+
if (!ended) {
|
|
208
|
+
attributes['error.message'] = error.message;
|
|
209
|
+
attributes['error.name'] = error.name;
|
|
210
|
+
adapter.logger?.debug({ spanId, error: error.message }, 'Tracer span exception');
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
setStatusOk() {
|
|
214
|
+
if (!ended) {
|
|
215
|
+
attributes['status'] = 'ok';
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
setStatusError(message) {
|
|
219
|
+
if (!ended) {
|
|
220
|
+
attributes['status'] = 'error';
|
|
221
|
+
if (message) {
|
|
222
|
+
attributes['status.message'] = message;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
end() {
|
|
227
|
+
if (!ended) {
|
|
228
|
+
ended = true;
|
|
229
|
+
const duration = Date.now() - startTime;
|
|
230
|
+
adapter.logger?.debug({ spanId, spanName, tracerName: name, durationMs: duration, attributes }, 'Tracer span ended');
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
isRecording() {
|
|
234
|
+
return !ended;
|
|
235
|
+
},
|
|
236
|
+
};
|
|
237
|
+
adapter.logger?.debug({ spanId, spanName, tracerName: name }, 'Tracer span started');
|
|
238
|
+
return tracerSpan;
|
|
239
|
+
},
|
|
240
|
+
};
|
|
241
|
+
}
|
|
179
242
|
}
|
|
180
243
|
export const localTelemetryAdapter = (options) => new LocalTelemetryAdapter(options);
|
package/dist/telemetry/noop.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AddSpanAttributeOptions, type AddSpanEventOptions, type EndSpanOptions, type RecordMetricOptions, type Span, type StartDatabaseSpanOptions, type StartJobSpanOptions, type StartStepSpanOptions, TelemetryAdapter } from './adapter.js';
|
|
1
|
+
import { type AddSpanAttributeOptions, type AddSpanEventOptions, type EndSpanOptions, type RecordMetricOptions, type Span, type StartDatabaseSpanOptions, type StartJobSpanOptions, type StartStepSpanOptions, TelemetryAdapter, type Tracer } from './adapter.js';
|
|
2
2
|
export declare class NoopTelemetryAdapter extends TelemetryAdapter {
|
|
3
3
|
protected _start(): Promise<void>;
|
|
4
4
|
protected _stop(): Promise<void>;
|
|
@@ -11,6 +11,7 @@ export declare class NoopTelemetryAdapter extends TelemetryAdapter {
|
|
|
11
11
|
protected _recordMetric(_options: RecordMetricOptions): Promise<void>;
|
|
12
12
|
protected _addSpanEvent(_options: AddSpanEventOptions): Promise<void>;
|
|
13
13
|
protected _addSpanAttribute(_options: AddSpanAttributeOptions): Promise<void>;
|
|
14
|
+
protected _getTracer(name: string): Tracer;
|
|
14
15
|
}
|
|
15
16
|
export declare const noopTelemetryAdapter: () => NoopTelemetryAdapter;
|
|
16
17
|
//# sourceMappingURL=noop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noop.d.ts","sourceRoot":"","sources":["../../src/telemetry/noop.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"noop.d.ts","sourceRoot":"","sources":["../../src/telemetry/noop.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,KAAK,MAAM,EAEZ,MAAM,cAAc,CAAA;AAyCrB,qBAAa,oBAAqB,SAAQ,gBAAgB;cAKxC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;cAIvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAQtB,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAS1D,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cAIjE,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;cAS5D,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cAIlE,kBAAkB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;cAI5E,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cAQtE,aAAa,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAI3D,aAAa,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAI3D,iBAAiB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnF,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAQ3C;AAQD,eAAO,MAAM,oBAAoB,4BAAmC,CAAA"}
|
package/dist/telemetry/noop.js
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { TelemetryAdapter, } from './adapter.js';
|
|
2
|
+
const noopTracerSpan = {
|
|
3
|
+
setAttribute() {
|
|
4
|
+
},
|
|
5
|
+
setAttributes() {
|
|
6
|
+
},
|
|
7
|
+
addEvent() {
|
|
8
|
+
},
|
|
9
|
+
recordException() {
|
|
10
|
+
},
|
|
11
|
+
setStatusOk() {
|
|
12
|
+
},
|
|
13
|
+
setStatusError() {
|
|
14
|
+
},
|
|
15
|
+
end() {
|
|
16
|
+
},
|
|
17
|
+
isRecording() {
|
|
18
|
+
return false;
|
|
19
|
+
},
|
|
20
|
+
};
|
|
2
21
|
export class NoopTelemetryAdapter extends TelemetryAdapter {
|
|
3
22
|
async _start() {
|
|
4
23
|
}
|
|
@@ -35,5 +54,13 @@ export class NoopTelemetryAdapter extends TelemetryAdapter {
|
|
|
35
54
|
}
|
|
36
55
|
async _addSpanAttribute(_options) {
|
|
37
56
|
}
|
|
57
|
+
_getTracer(name) {
|
|
58
|
+
return {
|
|
59
|
+
name,
|
|
60
|
+
startSpan() {
|
|
61
|
+
return noopTracerSpan;
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
38
65
|
}
|
|
39
66
|
export const noopTelemetryAdapter = () => new NoopTelemetryAdapter();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TracerProvider } from '@opentelemetry/api';
|
|
2
|
-
import { type AddSpanAttributeOptions, type AddSpanEventOptions, type EndSpanOptions, type RecordMetricOptions, type Span, type StartDatabaseSpanOptions, type StartJobSpanOptions, type StartStepSpanOptions, TelemetryAdapter } from './adapter.js';
|
|
2
|
+
import { type AddSpanAttributeOptions, type AddSpanEventOptions, type EndSpanOptions, type RecordMetricOptions, type Span, type StartDatabaseSpanOptions, type StartJobSpanOptions, type StartStepSpanOptions, TelemetryAdapter, type Tracer } from './adapter.js';
|
|
3
3
|
export interface OpenTelemetryAdapterOptions {
|
|
4
4
|
serviceName?: string;
|
|
5
5
|
tracerProvider?: TracerProvider;
|
|
@@ -19,6 +19,7 @@ export declare class OpenTelemetryAdapter extends TelemetryAdapter {
|
|
|
19
19
|
protected _recordMetric(options: RecordMetricOptions): Promise<void>;
|
|
20
20
|
protected _addSpanEvent(options: AddSpanEventOptions): Promise<void>;
|
|
21
21
|
protected _addSpanAttribute(options: AddSpanAttributeOptions): Promise<void>;
|
|
22
|
+
protected _getTracer(name: string): Tracer;
|
|
22
23
|
}
|
|
23
24
|
export declare const openTelemetryAdapter: (options?: OpenTelemetryAdapterOptions) => OpenTelemetryAdapter;
|
|
24
25
|
//# sourceMappingURL=opentelemetry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry/opentelemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry/opentelemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0C,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEhG,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EAExB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,KAAK,MAAM,EAEZ,MAAM,cAAc,CAAA;AAMrB,MAAM,WAAW,2BAA2B;IAK1C,WAAW,CAAC,EAAE,MAAM,CAAA;IAMpB,cAAc,CAAC,EAAE,cAAc,CAAA;IAM/B,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAcD,qBAAa,oBAAqB,SAAQ,gBAAgB;;gBAQ5C,OAAO,GAAE,2BAAgC;cAWrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;cAYvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAStB,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cA8B1D,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cA2B/D,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;cA4C5D,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cA2BhE,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;cA8B3E,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cAyBpE,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAe1D,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAO1D,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlF,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAsI3C;AASD,eAAO,MAAM,oBAAoB,GAAI,UAAU,2BAA2B,yBAAsC,CAAA"}
|