@respan/tracing 1.1.2 → 1.1.3
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/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SpanAttributes } from "@traceloop/ai-semantic-conventions";
|
|
2
|
-
import { RESPAN_SPAN_ATTRIBUTES_MAP, RespanSpanAttributes,
|
|
2
|
+
import { RESPAN_SPAN_ATTRIBUTES_MAP, RespanSpanAttributes, } from "@respan/respan-sdk";
|
|
3
3
|
import { getEntityPath, getPropagatedAttributes } from "../utils/context.js";
|
|
4
4
|
import { metadataAttributeKey } from "../constants/index.js";
|
|
5
5
|
// ── LLM span name patterns ────────────────────────────────────────────────
|
|
@@ -10,71 +10,6 @@ const LLM_SPAN_NAME_PATTERNS = [
|
|
|
10
10
|
"openai.chat",
|
|
11
11
|
"chat.completions",
|
|
12
12
|
];
|
|
13
|
-
// ── OpenInference span enrichment ──────────────────────────────────────────
|
|
14
|
-
/** Map OI span kinds → Traceloop span kinds */
|
|
15
|
-
const OI_KIND_TO_TRACELOOP = {
|
|
16
|
-
LLM: RespanLogType.TASK,
|
|
17
|
-
CHAIN: RespanLogType.WORKFLOW,
|
|
18
|
-
TOOL: RespanLogType.TOOL,
|
|
19
|
-
AGENT: RespanLogType.AGENT,
|
|
20
|
-
EMBEDDING: RespanLogType.TASK,
|
|
21
|
-
RETRIEVER: RespanLogType.TASK,
|
|
22
|
-
RERANKER: RespanLogType.TASK,
|
|
23
|
-
GUARDRAIL: RespanLogType.TASK,
|
|
24
|
-
EVALUATOR: RespanLogType.TASK,
|
|
25
|
-
};
|
|
26
|
-
/** OI span kinds that imply an LLM request type */
|
|
27
|
-
const OI_LLM_REQUEST_KINDS = {
|
|
28
|
-
LLM: RespanLogType.CHAT,
|
|
29
|
-
EMBEDDING: RespanLogType.EMBEDDING,
|
|
30
|
-
};
|
|
31
|
-
/** Map OI span kinds → respan.entity.log_type values */
|
|
32
|
-
const OI_LOG_TYPE = {
|
|
33
|
-
LLM: RespanLogType.CHAT,
|
|
34
|
-
CHAIN: RespanLogType.WORKFLOW,
|
|
35
|
-
TOOL: RespanLogType.TOOL,
|
|
36
|
-
AGENT: RespanLogType.AGENT,
|
|
37
|
-
EMBEDDING: RespanLogType.EMBEDDING,
|
|
38
|
-
RETRIEVER: RespanLogType.TASK,
|
|
39
|
-
RERANKER: RespanLogType.TASK,
|
|
40
|
-
GUARDRAIL: RespanLogType.GUARDRAIL,
|
|
41
|
-
EVALUATOR: RespanLogType.TASK,
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Build Traceloop/GenAI enrichment attributes for an OpenInference span.
|
|
45
|
-
* Returns only the attributes that need to be *added*; callers merge them
|
|
46
|
-
* on top of the original span attributes.
|
|
47
|
-
*/
|
|
48
|
-
function getOIEnrichmentAttrs(span) {
|
|
49
|
-
const attrs = {};
|
|
50
|
-
const oiKind = String(span.attributes[RespanSpanAttributes.OPENINFERENCE_SPAN_KIND] ?? "");
|
|
51
|
-
if (OI_KIND_TO_TRACELOOP[oiKind]) {
|
|
52
|
-
attrs[SpanAttributes.TRACELOOP_SPAN_KIND] = OI_KIND_TO_TRACELOOP[oiKind];
|
|
53
|
-
}
|
|
54
|
-
if (OI_LLM_REQUEST_KINDS[oiKind]) {
|
|
55
|
-
attrs[RespanSpanAttributes.LLM_REQUEST_TYPE] = OI_LLM_REQUEST_KINDS[oiKind];
|
|
56
|
-
}
|
|
57
|
-
if (OI_LOG_TYPE[oiKind]) {
|
|
58
|
-
attrs[RespanSpanAttributes.RESPAN_LOG_TYPE] = OI_LOG_TYPE[oiKind];
|
|
59
|
-
}
|
|
60
|
-
// Bridge OI semantic attrs → Traceloop/GenAI equivalents
|
|
61
|
-
if (span.attributes["input.value"] !== undefined)
|
|
62
|
-
attrs[SpanAttributes.TRACELOOP_ENTITY_INPUT] = span.attributes["input.value"];
|
|
63
|
-
if (span.attributes["output.value"] !== undefined)
|
|
64
|
-
attrs[SpanAttributes.TRACELOOP_ENTITY_OUTPUT] = span.attributes["output.value"];
|
|
65
|
-
if (span.attributes[RespanSpanAttributes.OPENINFERENCE_LLM_MODEL_NAME] !== undefined)
|
|
66
|
-
attrs[RespanSpanAttributes.GEN_AI_REQUEST_MODEL] = span.attributes[RespanSpanAttributes.OPENINFERENCE_LLM_MODEL_NAME];
|
|
67
|
-
if (span.attributes[RespanSpanAttributes.OPENINFERENCE_LLM_TOKEN_COUNT_PROMPT] !== undefined)
|
|
68
|
-
attrs[RespanSpanAttributes.GEN_AI_USAGE_PROMPT_TOKENS] = span.attributes[RespanSpanAttributes.OPENINFERENCE_LLM_TOKEN_COUNT_PROMPT];
|
|
69
|
-
if (span.attributes[RespanSpanAttributes.OPENINFERENCE_LLM_TOKEN_COUNT_COMPLETION] !== undefined)
|
|
70
|
-
attrs[RespanSpanAttributes.GEN_AI_USAGE_COMPLETION_TOKENS] = span.attributes[RespanSpanAttributes.OPENINFERENCE_LLM_TOKEN_COUNT_COMPLETION];
|
|
71
|
-
// Entity name / path
|
|
72
|
-
attrs[SpanAttributes.TRACELOOP_ENTITY_NAME] = span.name;
|
|
73
|
-
if (OI_KIND_TO_TRACELOOP[oiKind] !== "workflow") {
|
|
74
|
-
attrs[SpanAttributes.TRACELOOP_ENTITY_PATH] = span.name;
|
|
75
|
-
}
|
|
76
|
-
return attrs;
|
|
77
|
-
}
|
|
78
13
|
// ── Composite processor ────────────────────────────────────────────────────
|
|
79
14
|
/**
|
|
80
15
|
* Composite processor that combines filtering with multi-processor routing.
|
|
@@ -178,18 +113,9 @@ export class RespanCompositeProcessor {
|
|
|
178
113
|
this._processorManager.onEnd(span);
|
|
179
114
|
}
|
|
180
115
|
else if (span.attributes[RespanSpanAttributes.OPENINFERENCE_SPAN_KIND] !== undefined) {
|
|
181
|
-
// OpenInference span —
|
|
116
|
+
// OpenInference span — already enriched by OpenInferenceTranslator processor
|
|
182
117
|
console.debug(`[Respan Debug] Processing OpenInference span: ${span.name} (kind: ${span.attributes[RespanSpanAttributes.OPENINFERENCE_SPAN_KIND]})`);
|
|
183
|
-
|
|
184
|
-
const enrichedSpan = Object.create(Object.getPrototypeOf(span));
|
|
185
|
-
Object.assign(enrichedSpan, span);
|
|
186
|
-
Object.defineProperty(enrichedSpan, "attributes", {
|
|
187
|
-
value: { ...span.attributes, ...enrichmentAttrs },
|
|
188
|
-
writable: false,
|
|
189
|
-
configurable: true,
|
|
190
|
-
enumerable: true,
|
|
191
|
-
});
|
|
192
|
-
this._processorManager.onEnd(enrichedSpan);
|
|
118
|
+
this._processorManager.onEnd(span);
|
|
193
119
|
}
|
|
194
120
|
else if (span.attributes[RespanSpanAttributes.RESPAN_LOG_TYPE] !== undefined) {
|
|
195
121
|
// Enriched Respan span (from an instrumentation plugin)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composite.js","sourceRoot":"","sources":["../../src/processor/composite.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,
|
|
1
|
+
{"version":3,"file":"composite.js","sourceRoot":"","sources":["../../src/processor/composite.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/tracing.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NodeSDK } from "@opentelemetry/sdk-node";
|
|
2
|
+
import type { ReadableSpan } from "@opentelemetry/sdk-trace-base";
|
|
2
3
|
import { RespanOptions, ProcessorConfig } from "../types/clientTypes.js";
|
|
3
4
|
/**
|
|
4
5
|
* Helper function to resolve and clean up the base URL
|
|
@@ -28,4 +29,16 @@ export declare const getClient: () => NodeSDK | undefined;
|
|
|
28
29
|
*
|
|
29
30
|
* @param config - Processor configuration
|
|
30
31
|
*/
|
|
32
|
+
/**
|
|
33
|
+
* Inject a ReadableSpan into the OTEL pipeline.
|
|
34
|
+
*
|
|
35
|
+
* This is how plugin-constructed spans enter the pipeline without
|
|
36
|
+
* needing a live tracer context. The span passes through the
|
|
37
|
+
* RespanCompositeProcessor (filtering + routing) → exporter → /v2/traces.
|
|
38
|
+
*
|
|
39
|
+
* Equivalent to Python's ``inject_span()`` in ``span_factory.py``.
|
|
40
|
+
*
|
|
41
|
+
* @returns true if injected, false if SDK not initialized
|
|
42
|
+
*/
|
|
43
|
+
export declare const injectSpan: (span: ReadableSpan) => boolean;
|
|
31
44
|
export declare const addProcessorToSDK: (config: ProcessorConfig) => void;
|
package/dist/utils/tracing.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NodeSDK } from "@opentelemetry/sdk-node";
|
|
2
2
|
import { diag, DiagLogLevel } from "@opentelemetry/api";
|
|
3
|
-
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-
|
|
3
|
+
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
|
|
4
4
|
import { Resource } from "@opentelemetry/resources";
|
|
5
5
|
import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
|
|
6
6
|
import { MultiProcessorManager } from "../processor/manager.js";
|
|
@@ -124,10 +124,10 @@ export const startTracing = async (options) => {
|
|
|
124
124
|
});
|
|
125
125
|
console.debug("[Respan Debug] Created resource with service name:", appName, "and attributes:", resourceAttributes);
|
|
126
126
|
// Prepare exporter URL and configuration
|
|
127
|
-
|
|
127
|
+
// Use /v2/traces with OTLP JSON — same format as the Python RespanSpanExporter.
|
|
128
|
+
const exporterUrl = `${_resolveBaseURL(baseURL)}/api/v2/traces`;
|
|
128
129
|
const exporterHeaders = {
|
|
129
130
|
Authorization: `Bearer ${apiKey}`,
|
|
130
|
-
"Content-Type": "application/x-protobuf",
|
|
131
131
|
...headers,
|
|
132
132
|
};
|
|
133
133
|
console.debug("[Respan Debug] Exporter configuration:", {
|
|
@@ -227,6 +227,25 @@ export const getClient = () => {
|
|
|
227
227
|
*
|
|
228
228
|
* @param config - Processor configuration
|
|
229
229
|
*/
|
|
230
|
+
/**
|
|
231
|
+
* Inject a ReadableSpan into the OTEL pipeline.
|
|
232
|
+
*
|
|
233
|
+
* This is how plugin-constructed spans enter the pipeline without
|
|
234
|
+
* needing a live tracer context. The span passes through the
|
|
235
|
+
* RespanCompositeProcessor (filtering + routing) → exporter → /v2/traces.
|
|
236
|
+
*
|
|
237
|
+
* Equivalent to Python's ``inject_span()`` in ``span_factory.py``.
|
|
238
|
+
*
|
|
239
|
+
* @returns true if injected, false if SDK not initialized
|
|
240
|
+
*/
|
|
241
|
+
export const injectSpan = (span) => {
|
|
242
|
+
if (!_compositeProcessor) {
|
|
243
|
+
console.warn("[Respan] Cannot inject span — SDK not initialized");
|
|
244
|
+
return false;
|
|
245
|
+
}
|
|
246
|
+
_compositeProcessor.onEnd(span);
|
|
247
|
+
return true;
|
|
248
|
+
};
|
|
230
249
|
export const addProcessorToSDK = (config) => {
|
|
231
250
|
if (!_compositeProcessor) {
|
|
232
251
|
console.error("[Respan] Cannot add processor - SDK not initialized");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/utils/tracing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/utils/tracing.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@respan/tracing",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.1.
|
|
5
|
-
"description": "
|
|
4
|
+
"version": "1.1.3",
|
|
5
|
+
"description": "TypeScript support for Respan SDK",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"files": [
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"@respan/respan-sdk": "^1.0.0",
|
|
30
30
|
"@opentelemetry/api": "^1.9.0",
|
|
31
31
|
"@opentelemetry/core": "^1.26.0",
|
|
32
|
-
"@opentelemetry/exporter-trace-otlp-
|
|
32
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.56.0",
|
|
33
33
|
"@opentelemetry/resources": "^1.26.0",
|
|
34
34
|
"@opentelemetry/sdk-node": "^0.56.0",
|
|
35
35
|
"@opentelemetry/sdk-trace-base": "^1.26.0",
|