@siglo/opentelemetry 1.0.1 → 1.1.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/README.md +1 -1
- package/dist/instrument.d.ts +5 -2
- package/dist/instrument.d.ts.map +1 -1
- package/dist/instrument.js +139 -46
- package/dist/instrument.js.map +1 -1
- package/package.json +14 -4
package/README.md
CHANGED
|
@@ -66,7 +66,7 @@ function instrumentWorkflow<TInput = any, TOutput = any>(
|
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
#### Options (`SigloTelemetryOptions`):
|
|
69
|
-
- `tracer` (`Tracer`): Custom OpenTelemetry `Tracer` instance. If omitted, uses `trace.getTracer('@siglo/opentelemetry', '1.0.
|
|
69
|
+
- `tracer` (`Tracer`): Custom OpenTelemetry `Tracer` instance. If omitted, uses `trace.getTracer('@siglo/opentelemetry', '1.0.4')`.
|
|
70
70
|
- `serviceName` (`string`): Tracer service name identifier.
|
|
71
71
|
- `workflowName` (`string`): Override workflow span label.
|
|
72
72
|
- `workflowVersion` (`string`): Workflow version (default: `'1.0.0'`).
|
package/dist/instrument.d.ts
CHANGED
|
@@ -13,9 +13,12 @@ export declare function createTelemetryStorageAdapter(options?: SigloTelemetryOp
|
|
|
13
13
|
* Instruments an individual Step with an OpenTelemetry child span covering action execution,
|
|
14
14
|
* attempt counting, and error recording.
|
|
15
15
|
*/
|
|
16
|
-
export declare function instrumentStep<
|
|
16
|
+
export declare function instrumentStep<TStep extends Step<any, any, any>>(step: TStep, options?: SigloTelemetryOptions): TStep;
|
|
17
|
+
export declare function instrumentStep<TInput = any, TOutput = any, TName extends string = string>(step: Step<TInput, TOutput, TName>, options?: SigloTelemetryOptions): Step<TInput, TOutput, TName>;
|
|
17
18
|
/**
|
|
18
|
-
* Wraps a Flow execution with end-to-end OpenTelemetry spans and instruments child steps
|
|
19
|
+
* Wraps a Flow execution with end-to-end OpenTelemetry spans and instruments child steps automatically,
|
|
20
|
+
* including nested branch and when combinators, concurrent operations, and sub-flows.
|
|
19
21
|
*/
|
|
22
|
+
export declare function instrumentWorkflow<TFlow extends Flow<any, any>>(workflow: TFlow, options?: SigloTelemetryOptions): TFlow;
|
|
20
23
|
export declare function instrumentWorkflow<TInput = any, TOutput = any>(workflow: Flow<TInput, TOutput>, options?: SigloTelemetryOptions): Flow<TInput, TOutput>;
|
|
21
24
|
//# sourceMappingURL=instrument.d.ts.map
|
package/dist/instrument.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument.d.ts","sourceRoot":"","sources":["../src/instrument.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"instrument.d.ts","sourceRoot":"","sources":["../src/instrument.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,MAAM,EACT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,IAAI,EACJ,IAAI,EACJ,cAAc,EAIjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAWhD;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAEjE;AAaD;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CAsBjG;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC5D,IAAI,EAAE,KAAK,EACX,OAAO,CAAC,EAAE,qBAAqB,GAChC,KAAK,CAAC;AACT,wBAAgB,cAAc,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,EACrF,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAClC,OAAO,CAAC,EAAE,qBAAqB,GAChC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AA8EhC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAC3D,QAAQ,EAAE,KAAK,EACf,OAAO,CAAC,EAAE,qBAAqB,GAChC,KAAK,CAAC;AACT,wBAAgB,kBAAkB,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,EAC1D,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE,qBAAqB,GAChC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
|
package/dist/instrument.js
CHANGED
|
@@ -5,9 +5,15 @@ exports.createTelemetryStorageAdapter = createTelemetryStorageAdapter;
|
|
|
5
5
|
exports.instrumentStep = instrumentStep;
|
|
6
6
|
exports.instrumentWorkflow = instrumentWorkflow;
|
|
7
7
|
const api_1 = require("@opentelemetry/api");
|
|
8
|
+
const core_1 = require("@siglo/core");
|
|
8
9
|
const attributes_1 = require("./attributes");
|
|
9
10
|
const DEFAULT_TRACER_NAME = '@siglo/opentelemetry';
|
|
10
|
-
const DEFAULT_TRACER_VERSION = '1.
|
|
11
|
+
const DEFAULT_TRACER_VERSION = '1.1.0';
|
|
12
|
+
const STEP_INSTRUMENTED = Symbol.for('siglo.opentelemetry.step_instrumented');
|
|
13
|
+
const WORKFLOW_INSTRUMENTED = Symbol.for('siglo.opentelemetry.workflow_instrumented');
|
|
14
|
+
const STEP_OPTIONS = Symbol.for('siglo.opentelemetry.step_options');
|
|
15
|
+
const ACTIVE_STEP_KEY = (0, api_1.createContextKey)('siglo.opentelemetry.active_step');
|
|
16
|
+
const ACTIVE_WORKFLOW_KEY = (0, api_1.createContextKey)('siglo.opentelemetry.active_workflow');
|
|
11
17
|
/**
|
|
12
18
|
* Returns an OpenTelemetry tracer based on configuration.
|
|
13
19
|
*/
|
|
@@ -48,23 +54,33 @@ function createTelemetryStorageAdapter(options = {}) {
|
|
|
48
54
|
},
|
|
49
55
|
};
|
|
50
56
|
}
|
|
51
|
-
/**
|
|
52
|
-
* Instruments an individual Step with an OpenTelemetry child span covering action execution,
|
|
53
|
-
* attempt counting, and error recording.
|
|
54
|
-
*/
|
|
55
57
|
function instrumentStep(step, options = {}) {
|
|
56
|
-
|
|
58
|
+
if (!step || typeof step !== 'object') {
|
|
59
|
+
return step;
|
|
60
|
+
}
|
|
61
|
+
step[STEP_OPTIONS] = options;
|
|
62
|
+
if (step[STEP_INSTRUMENTED]) {
|
|
63
|
+
return step;
|
|
64
|
+
}
|
|
57
65
|
const originalAction = step.action;
|
|
58
66
|
if (!originalAction) {
|
|
59
67
|
return step;
|
|
60
68
|
}
|
|
61
|
-
|
|
62
|
-
const isNamespaceAllowed = options.allowNamespace ?? false;
|
|
69
|
+
step[STEP_INSTRUMENTED] = true;
|
|
63
70
|
step.action = (async (param, current, index) => {
|
|
64
|
-
invocationCount++;
|
|
65
71
|
const stackId = resolveValue(param?.$stackId);
|
|
66
72
|
const retryCount = resolveValue(param?.$attempt);
|
|
67
|
-
const attempt = retryCount
|
|
73
|
+
const attempt = (retryCount ?? 0) + 1;
|
|
74
|
+
const stepId = step.$stepId || step.name || 'unnamed-step';
|
|
75
|
+
// Duplicate-instrumentation protection:
|
|
76
|
+
// If an active step span with this stepId and attempt is already active in otelContext
|
|
77
|
+
// (for example, created by workflow-level execution hook), do not create a duplicate span!
|
|
78
|
+
const activeStep = api_1.context.active().getValue(ACTIVE_STEP_KEY);
|
|
79
|
+
if (activeStep && activeStep.stepId === stepId && activeStep.attempt === attempt) {
|
|
80
|
+
return originalAction(param, current, index);
|
|
81
|
+
}
|
|
82
|
+
const tracer = getTracer(options);
|
|
83
|
+
const isNamespaceAllowed = options.allowNamespace ?? false;
|
|
68
84
|
const namespace = resolveValue(param?.$namespace);
|
|
69
85
|
const stepName = step.name || step.$stepId || 'unnamed-step';
|
|
70
86
|
const spanName = attempt > 1 ? `step:${stepName} (retry #${attempt})` : `step:${stepName}`;
|
|
@@ -80,7 +96,7 @@ function instrumentStep(step, options = {}) {
|
|
|
80
96
|
...(step.timeoutMs ? { [attributes_1.SemanticAttributes.TIMEOUT]: step.timeoutMs } : {}),
|
|
81
97
|
},
|
|
82
98
|
});
|
|
83
|
-
const ctx = api_1.trace.setSpan(api_1.context.active(), stepSpan);
|
|
99
|
+
const ctx = api_1.trace.setSpan(api_1.context.active(), stepSpan).setValue(ACTIVE_STEP_KEY, { stepId, attempt });
|
|
84
100
|
return api_1.context.with(ctx, async () => {
|
|
85
101
|
try {
|
|
86
102
|
const result = await originalAction(param, current, index);
|
|
@@ -102,61 +118,138 @@ function instrumentStep(step, options = {}) {
|
|
|
102
118
|
});
|
|
103
119
|
return step;
|
|
104
120
|
}
|
|
105
|
-
/**
|
|
106
|
-
* Wraps a Flow execution with end-to-end OpenTelemetry spans and instruments child steps.
|
|
107
|
-
*/
|
|
108
121
|
function instrumentWorkflow(workflow, options = {}) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if (Array.isArray(workflow.steps)) {
|
|
112
|
-
for (const step of workflow.steps) {
|
|
113
|
-
if (step && typeof step === 'object' && 'action' in step) {
|
|
114
|
-
instrumentStep(step, options);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
122
|
+
if (!workflow || typeof workflow !== 'object') {
|
|
123
|
+
return workflow;
|
|
117
124
|
}
|
|
118
|
-
|
|
125
|
+
if (workflow[WORKFLOW_INSTRUMENTED]) {
|
|
126
|
+
return workflow;
|
|
127
|
+
}
|
|
128
|
+
workflow[WORKFLOW_INSTRUMENTED] = true;
|
|
129
|
+
const tracer = getTracer(options);
|
|
119
130
|
const isNamespaceAllowed = options.allowNamespace ?? false;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
const
|
|
124
|
-
const
|
|
131
|
+
// Core runtime step execution hook: wraps every executed step action (including nested branch,
|
|
132
|
+
// when, parallel, map, sub-flows) with an active child span.
|
|
133
|
+
const stepExecutionHook = async (stepContext, next) => {
|
|
134
|
+
const stepId = stepContext.stepId || stepContext.step?.$stepId || stepContext.stepName;
|
|
135
|
+
const attempt = stepContext.attempt || 1;
|
|
136
|
+
// Duplicate-instrumentation protection:
|
|
137
|
+
if (stepContext.step?.[STEP_INSTRUMENTED]) {
|
|
138
|
+
return next();
|
|
139
|
+
}
|
|
140
|
+
const activeStep = api_1.context.active().getValue(ACTIVE_STEP_KEY);
|
|
141
|
+
if (activeStep && activeStep.stepId === stepId && activeStep.attempt === attempt) {
|
|
142
|
+
return next();
|
|
143
|
+
}
|
|
144
|
+
// Check if the step had explicit instrumentStep options configured
|
|
145
|
+
const stepSpecificOptions = stepContext.step?.[STEP_OPTIONS] || options;
|
|
146
|
+
const stepTracer = getTracer(stepSpecificOptions);
|
|
147
|
+
const stepNamespaceAllowed = stepSpecificOptions.allowNamespace ?? isNamespaceAllowed;
|
|
148
|
+
const stackId = resolveValue(stepContext.stackId || stepContext.param?.$stackId);
|
|
149
|
+
const namespace = resolveValue(stepContext.namespace || stepContext.param?.$namespace);
|
|
150
|
+
const stepName = stepContext.stepName || stepContext.step?.name || stepId || 'unnamed-step';
|
|
151
|
+
const spanName = attempt > 1 ? `step:${stepName} (retry #${attempt})` : `step:${stepName}`;
|
|
152
|
+
const stepSpan = stepTracer.startSpan(spanName, {
|
|
125
153
|
attributes: {
|
|
126
|
-
[attributes_1.SemanticAttributes.
|
|
127
|
-
[attributes_1.SemanticAttributes.
|
|
128
|
-
|
|
154
|
+
[attributes_1.SemanticAttributes.STEP_NAME]: stepName,
|
|
155
|
+
...(stepId ? { [attributes_1.SemanticAttributes.STEP_ID]: stepId } : {}),
|
|
156
|
+
[attributes_1.SemanticAttributes.STEP_ATTEMPT]: attempt,
|
|
157
|
+
...(stackId ? { [attributes_1.SemanticAttributes.STACK_ID]: stackId } : {}),
|
|
158
|
+
...(stepNamespaceAllowed && namespace
|
|
129
159
|
? { [attributes_1.SemanticAttributes.NAMESPACE]: namespace }
|
|
130
160
|
: {}),
|
|
131
|
-
...(
|
|
132
|
-
? { [attributes_1.SemanticAttributes.TIMEOUT]: execOptions?.timeout || workflow.timeoutMs }
|
|
133
|
-
: {}),
|
|
161
|
+
...(stepContext.step?.timeoutMs ? { [attributes_1.SemanticAttributes.TIMEOUT]: stepContext.step.timeoutMs } : {}),
|
|
134
162
|
},
|
|
135
163
|
});
|
|
136
|
-
const ctx = api_1.trace.setSpan(api_1.context.active(),
|
|
164
|
+
const ctx = api_1.trace.setSpan(api_1.context.active(), stepSpan).setValue(ACTIVE_STEP_KEY, { stepId, attempt });
|
|
137
165
|
return api_1.context.with(ctx, async () => {
|
|
138
166
|
try {
|
|
139
|
-
const result = await
|
|
140
|
-
|
|
141
|
-
if (stackId) {
|
|
142
|
-
wfSpan.setAttribute(attributes_1.SemanticAttributes.STACK_ID, stackId);
|
|
143
|
-
}
|
|
144
|
-
wfSpan.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
167
|
+
const result = await next();
|
|
168
|
+
stepSpan.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
145
169
|
return result;
|
|
146
170
|
}
|
|
147
171
|
catch (err) {
|
|
148
|
-
|
|
149
|
-
|
|
172
|
+
stepSpan.recordException(err);
|
|
173
|
+
stepSpan.setStatus({
|
|
150
174
|
code: api_1.SpanStatusCode.ERROR,
|
|
151
|
-
message: err?.message || '
|
|
175
|
+
message: err?.message || 'Step execution failed',
|
|
152
176
|
});
|
|
153
177
|
throw err;
|
|
154
178
|
}
|
|
155
179
|
finally {
|
|
156
|
-
|
|
180
|
+
stepSpan.end();
|
|
157
181
|
}
|
|
158
182
|
});
|
|
159
|
-
}
|
|
183
|
+
};
|
|
184
|
+
const originalRun = typeof workflow.run === 'function' ? workflow.run.bind(workflow) : undefined;
|
|
185
|
+
const originalExecute = typeof workflow.execute === 'function' ? workflow.execute.bind(workflow) : undefined;
|
|
186
|
+
const originalStart = typeof workflow.start === 'function' ? workflow.start.bind(workflow) : undefined;
|
|
187
|
+
const wrapEntryPoint = (targetFn) => {
|
|
188
|
+
if (!targetFn)
|
|
189
|
+
return undefined;
|
|
190
|
+
return async (input, execOptions = {}) => {
|
|
191
|
+
// Execution entry-point coverage:
|
|
192
|
+
// If already inside an active workflow span, delegate to original without duplicate workflow span
|
|
193
|
+
const activeWf = api_1.context.active().getValue(ACTIVE_WORKFLOW_KEY);
|
|
194
|
+
if (activeWf) {
|
|
195
|
+
return targetFn(input, execOptions);
|
|
196
|
+
}
|
|
197
|
+
const workflowName = options.workflowName || workflow.name || 'workflow';
|
|
198
|
+
const workflowVersion = options.workflowVersion || workflow.workflowVersion || '1.0.0';
|
|
199
|
+
const namespace = execOptions?.namespace;
|
|
200
|
+
const wfSpan = tracer.startSpan(`workflow:${workflowName}`, {
|
|
201
|
+
attributes: {
|
|
202
|
+
[attributes_1.SemanticAttributes.WORKFLOW_NAME]: workflowName,
|
|
203
|
+
[attributes_1.SemanticAttributes.WORKFLOW_VERSION]: String(workflowVersion),
|
|
204
|
+
...(isNamespaceAllowed && namespace
|
|
205
|
+
? { [attributes_1.SemanticAttributes.NAMESPACE]: namespace }
|
|
206
|
+
: {}),
|
|
207
|
+
...(execOptions?.timeout || workflow.timeoutMs
|
|
208
|
+
? { [attributes_1.SemanticAttributes.TIMEOUT]: execOptions?.timeout || workflow.timeoutMs }
|
|
209
|
+
: {}),
|
|
210
|
+
},
|
|
211
|
+
});
|
|
212
|
+
const ctx = api_1.trace.setSpan(api_1.context.active(), wfSpan).setValue(ACTIVE_WORKFLOW_KEY, wfSpan);
|
|
213
|
+
return api_1.context.with(ctx, async () => {
|
|
214
|
+
try {
|
|
215
|
+
const effectiveExecOptions = {
|
|
216
|
+
...execOptions,
|
|
217
|
+
stepExecutionHook
|
|
218
|
+
};
|
|
219
|
+
const executeCall = () => targetFn(input, effectiveExecOptions);
|
|
220
|
+
const result = core_1.withStepExecutionHook
|
|
221
|
+
? await (0, core_1.withStepExecutionHook)(stepExecutionHook, executeCall)
|
|
222
|
+
: await executeCall();
|
|
223
|
+
const stackId = resolveValue(result?.$stackId);
|
|
224
|
+
if (stackId) {
|
|
225
|
+
wfSpan.setAttribute(attributes_1.SemanticAttributes.STACK_ID, stackId);
|
|
226
|
+
}
|
|
227
|
+
wfSpan.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
228
|
+
return result;
|
|
229
|
+
}
|
|
230
|
+
catch (err) {
|
|
231
|
+
wfSpan.recordException(err);
|
|
232
|
+
wfSpan.setStatus({
|
|
233
|
+
code: api_1.SpanStatusCode.ERROR,
|
|
234
|
+
message: err?.message || 'Workflow execution failed',
|
|
235
|
+
});
|
|
236
|
+
throw err;
|
|
237
|
+
}
|
|
238
|
+
finally {
|
|
239
|
+
wfSpan.end();
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
};
|
|
243
|
+
};
|
|
244
|
+
if (originalRun) {
|
|
245
|
+
workflow.run = wrapEntryPoint(originalRun);
|
|
246
|
+
}
|
|
247
|
+
if (originalExecute) {
|
|
248
|
+
workflow.execute = wrapEntryPoint(originalExecute);
|
|
249
|
+
}
|
|
250
|
+
if (originalStart) {
|
|
251
|
+
workflow.start = wrapEntryPoint(originalStart);
|
|
252
|
+
}
|
|
160
253
|
return workflow;
|
|
161
254
|
}
|
|
162
255
|
//# sourceMappingURL=instrument.js.map
|
package/dist/instrument.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../src/instrument.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"instrument.js","sourceRoot":"","sources":["../src/instrument.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@siglo/opentelemetry",
|
|
3
|
-
"version": "1.0
|
|
4
|
-
"description": "OpenTelemetry
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "OpenTelemetry distributed tracing and trace context propagation for Siglo TypeScript workflows.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"exports": {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"bugs": {
|
|
38
38
|
"url": "https://github.com/jsoftgem/siglo/issues"
|
|
39
39
|
},
|
|
40
|
-
"homepage": "https://github.com/jsoftgem/siglo#readme",
|
|
40
|
+
"homepage": "https://github.com/jsoftgem/siglo/tree/main/packages/opentelemetry#readme",
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@opentelemetry/api": "^1.9.0",
|
|
43
43
|
"@siglo/core": "^1.0.0"
|
|
@@ -50,5 +50,15 @@
|
|
|
50
50
|
"mocha": "^12.0.3",
|
|
51
51
|
"tsx": "^4.23.15",
|
|
52
52
|
"typescript": "~5.7.0"
|
|
53
|
-
}
|
|
53
|
+
},
|
|
54
|
+
"keywords": [
|
|
55
|
+
"siglo",
|
|
56
|
+
"workflow",
|
|
57
|
+
"typescript",
|
|
58
|
+
"opentelemetry",
|
|
59
|
+
"otel",
|
|
60
|
+
"tracing",
|
|
61
|
+
"distributed-tracing",
|
|
62
|
+
"observability"
|
|
63
|
+
]
|
|
54
64
|
}
|