openclaw-apm-tracing 0.5.0-beta.4 → 0.5.0-beta.6
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 +14 -0
- package/dist/index.js +43 -8
- package/dist/index.js.map +1 -1
- package/dist/otel-api.d.ts +10 -1
- package/dist/otel-api.js +123 -51
- package/dist/otel-api.js.map +1 -1
- package/dist/trace-context.d.ts +9 -0
- package/dist/trace-context.js +135 -0
- package/dist/trace-context.js.map +1 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -96,10 +96,22 @@ openclaw plugins inspect openclaw-apm-tracing --runtime
|
|
|
96
96
|
|
|
97
97
|
```
|
|
98
98
|
[openclaw-apm-tracing] [message_received] key=xxx:...
|
|
99
|
+
[openclaw-apm-tracing] Started root span: traceId=<32-hex> ... parentSource=active-context inboundTraceId=<backend-trace-id>
|
|
99
100
|
[openclaw-apm-tracing] [before_agent_start] ...
|
|
100
101
|
[openclaw-apm-tracing] [llm_input] ...
|
|
101
102
|
```
|
|
102
103
|
|
|
104
|
+
`parentSource` 含义:
|
|
105
|
+
|
|
106
|
+
| 值 | 说明 |
|
|
107
|
+
|----|------|
|
|
108
|
+
| `hook.trace` / `hook.traceId` | 外部 channel 通过 OpenClaw hook 传入 trace |
|
|
109
|
+
| `traceparent` | W3C traceparent 传播 |
|
|
110
|
+
| `active-context` | 继承当前 OTel active span(如元宝 `pipeline.execute`) |
|
|
111
|
+
| `new-trace` | 无外部 trace,本地新建 |
|
|
112
|
+
|
|
113
|
+
客户侧用**后端日志 traceId** 查 APM 时,应看到 `parentSource=active-context` 或 `hook.traceId`,且 root span 的 `traceId` 与后端一致。
|
|
114
|
+
|
|
103
115
|
## 开发
|
|
104
116
|
|
|
105
117
|
```bash
|
|
@@ -122,6 +134,8 @@ openclaw plugins install openclaw-apm-tracing@beta
|
|
|
122
134
|
|
|
123
135
|
## 版本
|
|
124
136
|
|
|
137
|
+
- **v0.5.0-beta.6** — `message_received` 支持外部 trace 传播:优先 hook traceId / traceparent,其次继承 OTel active context(与 channel 后端 traceId 对齐);日志输出 `parentSource`
|
|
138
|
+
- **v0.5.0-beta.5** — 修复 host api 解析:优先从 peer-linked `openclaw` 与 sibling `diagnostics-otel` 查找;恢复 bundled fallback 避免插件加载失败
|
|
125
139
|
- **v0.5.0-beta.4** — 修复 `@opentelemetry/api` 多实例导致 traceId 全 0 / 链路不导出;启动时 TracerProvider probe + 解析路径日志
|
|
126
140
|
- **v0.5.0-beta.3** — 将 typed hook 注册从 `service.start()` 移到 `register()`,修复运行时 hook 不触发;增加注册计数日志
|
|
127
141
|
- **v0.5.0-beta.2** — 去掉 scope,npm 包名 `openclaw-apm-tracing`
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
1
|
+
import { getOtelApiPath, getOtelApiResolution, isOtelApiFallback } from "./otel-api.js";
|
|
2
|
+
import { resolveInboundParentContext } from "./trace-context.js";
|
|
3
|
+
const PLUGIN_VERSION = "0.5.0-beta.6";
|
|
4
|
+
let trace;
|
|
5
|
+
let context;
|
|
6
|
+
let SpanStatusCode;
|
|
7
|
+
let SpanKind;
|
|
8
|
+
let ROOT_CONTEXT;
|
|
9
|
+
function ensureOtelBindings() {
|
|
10
|
+
if (trace) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const resolution = getOtelApiResolution();
|
|
14
|
+
trace = resolution.api.trace;
|
|
15
|
+
context = resolution.api.context;
|
|
16
|
+
SpanStatusCode = resolution.api.SpanStatusCode;
|
|
17
|
+
SpanKind = resolution.api.SpanKind;
|
|
18
|
+
ROOT_CONTEXT = resolution.api.ROOT_CONTEXT;
|
|
19
|
+
}
|
|
5
20
|
// ─── Span Names ──────────────────────────────────────────────────────────
|
|
6
21
|
const SPAN = {
|
|
7
22
|
MESSAGE: "openclaw.message", // Root: incoming message
|
|
@@ -593,7 +608,8 @@ function registerApmTracingHooks(api) {
|
|
|
593
608
|
prev.rootSpan.end();
|
|
594
609
|
tracingRuntime.states.delete(compositeKey);
|
|
595
610
|
}
|
|
596
|
-
const
|
|
611
|
+
const parentResolution = resolveInboundParentContext(getOtelApiResolution().api, event, hookCtx);
|
|
612
|
+
const rootCtx = parentResolution.parentCtx;
|
|
597
613
|
const rootSpan = getTracer().startSpan(SPAN.MESSAGE, {
|
|
598
614
|
kind: SpanKind.SERVER,
|
|
599
615
|
attributes: {
|
|
@@ -602,6 +618,10 @@ function registerApmTracingHooks(api) {
|
|
|
602
618
|
[A.SESSION_KEY]: compositeKey,
|
|
603
619
|
[A.GENAI_SPAN_KIND]: "ENTRY",
|
|
604
620
|
[A.GENAI_OPERATION_NAME]: "enter",
|
|
621
|
+
"openclaw.trace.parent_source": parentResolution.source,
|
|
622
|
+
...(parentResolution.traceId
|
|
623
|
+
? { "openclaw.trace.inbound_id": parentResolution.traceId }
|
|
624
|
+
: {}),
|
|
605
625
|
// Traceloop compat
|
|
606
626
|
[A.TRACELOOP_SPAN_KIND]: "workflow",
|
|
607
627
|
[A.TRACELOOP_ENTITY_NAME]: "openclaw.message",
|
|
@@ -635,7 +655,11 @@ function registerApmTracingHooks(api) {
|
|
|
635
655
|
messageCount: 1,
|
|
636
656
|
});
|
|
637
657
|
log.info(`${LOG_PREFIX} Started root span: traceId=${rootSpan.spanContext().traceId} ` +
|
|
638
|
-
`spanId=${rootSpan.spanContext().spanId} key=${compositeKey}`
|
|
658
|
+
`spanId=${rootSpan.spanContext().spanId} key=${compositeKey} ` +
|
|
659
|
+
`parentSource=${parentResolution.source}` +
|
|
660
|
+
(parentResolution.traceId
|
|
661
|
+
? ` inboundTraceId=${parentResolution.traceId}`
|
|
662
|
+
: ""));
|
|
639
663
|
if (!isValidSpanTraceId(rootSpan.spanContext().traceId)) {
|
|
640
664
|
(log.warn ?? log.info)(`${LOG_PREFIX} Root span has invalid traceId — TracerProvider is still NOOP. ` +
|
|
641
665
|
`Resolved api=${getOtelApiPath() ?? "unknown"}. ` +
|
|
@@ -1417,8 +1441,14 @@ const plugin = {
|
|
|
1417
1441
|
"with parent-child span tree. Reuses diagnostics-otel OTel SDK.",
|
|
1418
1442
|
configSchema: { type: "object", additionalProperties: false, properties: {} },
|
|
1419
1443
|
register(api) {
|
|
1444
|
+
ensureOtelBindings();
|
|
1420
1445
|
tracingRuntime.log = api.logger;
|
|
1421
1446
|
tracingRuntime.hookRegistrationCount = 0;
|
|
1447
|
+
if (isOtelApiFallback()) {
|
|
1448
|
+
api.logger.warn(`${LOG_PREFIX} Using bundled @opentelemetry/api (host copy not found at ${getOtelApiPath()}). ` +
|
|
1449
|
+
"Spans will not export until diagnostics-otel shares the same api module. " +
|
|
1450
|
+
"Install @openclaw/diagnostics-otel via: openclaw plugins install @openclaw/diagnostics-otel");
|
|
1451
|
+
}
|
|
1422
1452
|
if (typeof api.on !== "function") {
|
|
1423
1453
|
api.logger.error(`${LOG_PREFIX} api.on unavailable during register(); typed hooks will NOT fire`);
|
|
1424
1454
|
}
|
|
@@ -1429,10 +1459,15 @@ const plugin = {
|
|
|
1429
1459
|
api.registerService({
|
|
1430
1460
|
id: "openclaw-apm-tracing",
|
|
1431
1461
|
async start(ctx) {
|
|
1462
|
+
ensureOtelBindings();
|
|
1432
1463
|
tracingRuntime.log = ctx.logger;
|
|
1433
|
-
const
|
|
1464
|
+
const resolution = getOtelApiResolution();
|
|
1434
1465
|
ctx.logger.info(`${LOG_PREFIX} Attaching to global TracerProvider` +
|
|
1435
|
-
|
|
1466
|
+
` (api=${resolution.apiPath}, source=${resolution.source})`);
|
|
1467
|
+
if (resolution.fallback) {
|
|
1468
|
+
ctx.logger.warn(`${LOG_PREFIX} Host @opentelemetry/api not found — using plugin fallback. ` +
|
|
1469
|
+
"Install @openclaw/diagnostics-otel for trace export.");
|
|
1470
|
+
}
|
|
1436
1471
|
const probe = getTracer().startSpan("openclaw-apm-tracing.probe");
|
|
1437
1472
|
const probeCtx = probe.spanContext();
|
|
1438
1473
|
probe.end();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/otel-api.d.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
export type OtelApiModule = typeof import("@opentelemetry/api");
|
|
2
|
-
|
|
2
|
+
export type OtelApiResolution = {
|
|
3
|
+
api: OtelApiModule;
|
|
4
|
+
apiPath: string;
|
|
5
|
+
/** True when using the plugin-bundled api (spans will not export). */
|
|
6
|
+
fallback: boolean;
|
|
7
|
+
source: "host" | "fallback";
|
|
8
|
+
};
|
|
9
|
+
/** Load (and memoize) the OpenTelemetry API module. Prefer host; fall back to bundled copy. */
|
|
3
10
|
export declare function getOtelApi(): OtelApiModule;
|
|
11
|
+
export declare function getOtelApiResolution(): OtelApiResolution;
|
|
4
12
|
/** Path of the resolved @opentelemetry/api module (for startup diagnostics). */
|
|
5
13
|
export declare function getOtelApiPath(): string | undefined;
|
|
14
|
+
export declare function isOtelApiFallback(): boolean;
|
|
6
15
|
/** Reset memoized API — test-only. */
|
|
7
16
|
export declare function resetOtelApiForTest(): void;
|
package/dist/otel-api.js
CHANGED
|
@@ -14,8 +14,7 @@ import fs from "node:fs";
|
|
|
14
14
|
import path from "node:path";
|
|
15
15
|
import { fileURLToPath } from "node:url";
|
|
16
16
|
const PLUGIN_MODULE_DIR = path.dirname(fileURLToPath(import.meta.url));
|
|
17
|
-
let
|
|
18
|
-
let cachedApiPath;
|
|
17
|
+
let cachedResolution;
|
|
19
18
|
function tryResolvePackageRoot(require, packageName, searchPaths) {
|
|
20
19
|
for (const base of searchPaths) {
|
|
21
20
|
try {
|
|
@@ -28,6 +27,20 @@ function tryResolvePackageRoot(require, packageName, searchPaths) {
|
|
|
28
27
|
}
|
|
29
28
|
return undefined;
|
|
30
29
|
}
|
|
30
|
+
function resolveLinkedOpenClawRoot() {
|
|
31
|
+
const pluginPackageRoot = path.resolve(PLUGIN_MODULE_DIR, "..");
|
|
32
|
+
const npmProjectRoot = path.resolve(pluginPackageRoot, "..", "..");
|
|
33
|
+
const linkedPkg = path.join(npmProjectRoot, "node_modules", "openclaw", "package.json");
|
|
34
|
+
if (!fs.existsSync(linkedPkg)) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
return fs.realpathSync(path.dirname(linkedPkg));
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return path.dirname(linkedPkg);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
31
44
|
function findDiagnosticsOtelRoot(npmProjectsDir) {
|
|
32
45
|
if (!fs.existsSync(npmProjectsDir)) {
|
|
33
46
|
return undefined;
|
|
@@ -47,85 +60,144 @@ function findDiagnosticsOtelRoot(npmProjectsDir) {
|
|
|
47
60
|
}
|
|
48
61
|
return undefined;
|
|
49
62
|
}
|
|
50
|
-
function
|
|
63
|
+
function findBundledDiagnosticsUnderOpenClaw(openclawRoot) {
|
|
64
|
+
const candidates = [
|
|
65
|
+
path.join(openclawRoot, "node_modules", "@openclaw", "diagnostics-otel"),
|
|
66
|
+
path.join(openclawRoot, "extensions", "diagnostics-otel"),
|
|
67
|
+
path.join(openclawRoot, "dist", "extensions", "diagnostics-otel"),
|
|
68
|
+
];
|
|
69
|
+
for (const dir of candidates) {
|
|
70
|
+
if (fs.existsSync(path.join(dir, "package.json"))) {
|
|
71
|
+
return dir;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
function tryResolveOtelApiFromBase(require, base) {
|
|
77
|
+
try {
|
|
78
|
+
return require.resolve("@opentelemetry/api", { paths: [base] });
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
const nested = path.join(base, "node_modules", "@opentelemetry", "api");
|
|
82
|
+
if (!fs.existsSync(path.join(nested, "package.json"))) {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
return require.resolve("@opentelemetry/api", { paths: [nested] });
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
for (const entry of [
|
|
90
|
+
"build/src/index.js",
|
|
91
|
+
"build/esm/index.js",
|
|
92
|
+
"build/esnext/index.js",
|
|
93
|
+
]) {
|
|
94
|
+
const filePath = path.join(nested, entry);
|
|
95
|
+
if (fs.existsSync(filePath)) {
|
|
96
|
+
return filePath;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
function buildHostSearchBases() {
|
|
51
104
|
const require = createRequire(import.meta.url);
|
|
52
|
-
const
|
|
53
|
-
// .../node_modules/openclaw-apm-tracing/dist|.
|
|
105
|
+
const bases = [];
|
|
54
106
|
const pluginPackageRoot = path.resolve(PLUGIN_MODULE_DIR, "..");
|
|
55
|
-
// Managed npm project root (.../npm/projects/<plugin>/)
|
|
56
107
|
const npmProjectRoot = path.resolve(pluginPackageRoot, "..", "..");
|
|
57
|
-
// .../npm/projects
|
|
58
108
|
const npmProjectsDir = path.resolve(npmProjectRoot, "..");
|
|
59
|
-
// .../npm
|
|
60
109
|
const npmRoot = path.resolve(npmProjectsDir, "..");
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
110
|
+
const linkedOpenClaw = resolveLinkedOpenClawRoot();
|
|
111
|
+
if (linkedOpenClaw) {
|
|
112
|
+
bases.push(linkedOpenClaw);
|
|
113
|
+
const bundledDiag = findBundledDiagnosticsUnderOpenClaw(linkedOpenClaw);
|
|
114
|
+
if (bundledDiag) {
|
|
115
|
+
bases.unshift(bundledDiag);
|
|
64
116
|
}
|
|
65
117
|
}
|
|
66
|
-
roots.push(pluginPackageRoot, npmProjectRoot, npmProjectsDir, npmRoot);
|
|
67
118
|
const diagSibling = findDiagnosticsOtelRoot(npmProjectsDir);
|
|
68
119
|
if (diagSibling) {
|
|
69
|
-
|
|
120
|
+
bases.unshift(diagSibling);
|
|
70
121
|
}
|
|
71
|
-
const seedPaths = [...
|
|
122
|
+
const seedPaths = [pluginPackageRoot, npmProjectRoot, npmProjectsDir, npmRoot, ...bases];
|
|
72
123
|
const diagRoot = tryResolvePackageRoot(require, "@openclaw/diagnostics-otel", seedPaths);
|
|
73
124
|
if (diagRoot) {
|
|
74
|
-
|
|
125
|
+
bases.unshift(diagRoot);
|
|
75
126
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
roots.unshift(openclawRoot);
|
|
127
|
+
if (linkedOpenClaw) {
|
|
128
|
+
bases.unshift(linkedOpenClaw);
|
|
79
129
|
}
|
|
80
|
-
|
|
130
|
+
bases.push(npmProjectRoot, npmRoot, npmProjectsDir);
|
|
131
|
+
return [...new Set(bases.filter(Boolean))];
|
|
81
132
|
}
|
|
82
|
-
function
|
|
83
|
-
const require = createRequire(import.meta.url);
|
|
133
|
+
function resolveHostOtelApiPath(require) {
|
|
84
134
|
const errors = [];
|
|
85
|
-
for (const base of
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
catch (err) {
|
|
90
|
-
errors.push(`${base}: ${String(err)}`);
|
|
135
|
+
for (const base of buildHostSearchBases()) {
|
|
136
|
+
const resolved = tryResolveOtelApiFromBase(require, base);
|
|
137
|
+
if (resolved) {
|
|
138
|
+
return resolved;
|
|
91
139
|
}
|
|
140
|
+
errors.push(`${base}: not found`);
|
|
141
|
+
}
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
function resolveOtelApi() {
|
|
145
|
+
if (cachedResolution) {
|
|
146
|
+
return cachedResolution;
|
|
147
|
+
}
|
|
148
|
+
const require = createRequire(import.meta.url);
|
|
149
|
+
const hostPath = resolveHostOtelApiPath(require);
|
|
150
|
+
if (hostPath) {
|
|
151
|
+
cachedResolution = {
|
|
152
|
+
api: require(hostPath),
|
|
153
|
+
apiPath: hostPath,
|
|
154
|
+
fallback: false,
|
|
155
|
+
source: "host",
|
|
156
|
+
};
|
|
157
|
+
return cachedResolution;
|
|
92
158
|
}
|
|
93
159
|
try {
|
|
94
|
-
|
|
160
|
+
const fallbackPath = require.resolve("@opentelemetry/api");
|
|
161
|
+
cachedResolution = {
|
|
162
|
+
api: require(fallbackPath),
|
|
163
|
+
apiPath: fallbackPath,
|
|
164
|
+
fallback: true,
|
|
165
|
+
source: "fallback",
|
|
166
|
+
};
|
|
167
|
+
return cachedResolution;
|
|
95
168
|
}
|
|
96
169
|
catch (err) {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
`Attempts: ${errors.join(" | ")}`);
|
|
170
|
+
throw new Error("[openclaw-apm-tracing] Failed to resolve @opentelemetry/api from host or plugin bundle. " +
|
|
171
|
+
"Install @openclaw/diagnostics-otel and enable diagnostics.otel.traces. " +
|
|
172
|
+
`Detail: ${String(err)}`);
|
|
101
173
|
}
|
|
102
174
|
}
|
|
103
|
-
/** Load (and memoize) the
|
|
175
|
+
/** Load (and memoize) the OpenTelemetry API module. Prefer host; fall back to bundled copy. */
|
|
104
176
|
export function getOtelApi() {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
const require = createRequire(import.meta.url);
|
|
110
|
-
cachedApiPath = apiPath;
|
|
111
|
-
cachedApi = require(apiPath);
|
|
112
|
-
return cachedApi;
|
|
177
|
+
return resolveOtelApi().api;
|
|
178
|
+
}
|
|
179
|
+
export function getOtelApiResolution() {
|
|
180
|
+
return resolveOtelApi();
|
|
113
181
|
}
|
|
114
182
|
/** Path of the resolved @opentelemetry/api module (for startup diagnostics). */
|
|
115
183
|
export function getOtelApiPath() {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
184
|
+
try {
|
|
185
|
+
return resolveOtelApi().apiPath;
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
return undefined;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
export function isOtelApiFallback() {
|
|
192
|
+
try {
|
|
193
|
+
return resolveOtelApi().fallback;
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
return false;
|
|
123
197
|
}
|
|
124
|
-
return cachedApiPath;
|
|
125
198
|
}
|
|
126
199
|
/** Reset memoized API — test-only. */
|
|
127
200
|
export function resetOtelApiForTest() {
|
|
128
|
-
|
|
129
|
-
cachedApiPath = undefined;
|
|
201
|
+
cachedResolution = undefined;
|
|
130
202
|
}
|
|
131
203
|
//# sourceMappingURL=otel-api.js.map
|
package/dist/otel-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel-api.js","sourceRoot":"","sources":["../otel-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"otel-api.js","sourceRoot":"","sources":["../otel-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Context } from "@opentelemetry/api";
|
|
2
|
+
import type { OtelApiModule } from "./otel-api.js";
|
|
3
|
+
export type InboundTraceSource = "hook.trace" | "hook.traceId" | "traceparent" | "active-context" | "new-trace";
|
|
4
|
+
export type InboundParentContextResolution = {
|
|
5
|
+
parentCtx: Context;
|
|
6
|
+
source: InboundTraceSource;
|
|
7
|
+
traceId?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function resolveInboundParentContext(api: OtelApiModule, event?: unknown, hookCtx?: unknown): InboundParentContextResolution;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve OTel parent context for inbound message_received spans.
|
|
3
|
+
*
|
|
4
|
+
* Priority:
|
|
5
|
+
* 1. OpenClaw hook trace object (event.trace / hookCtx.trace)
|
|
6
|
+
* 2. Explicit traceId (+ optional spanId) on hook event/context
|
|
7
|
+
* 3. W3C traceparent (hook fields or MsgContext metadata)
|
|
8
|
+
* 4. Active OTel context (e.g. channel plugin pipeline.execute)
|
|
9
|
+
* 5. ROOT_CONTEXT — new trace
|
|
10
|
+
*/
|
|
11
|
+
import { createHash, randomBytes } from "node:crypto";
|
|
12
|
+
const EMPTY_TRACE_ID = "0".repeat(32);
|
|
13
|
+
const TRACE_ID_RE = /^[0-9a-f]{32}$/;
|
|
14
|
+
const SPAN_ID_RE = /^[0-9a-f]{16}$/;
|
|
15
|
+
const TRACEPARENT_RE = /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/i;
|
|
16
|
+
function randomHex(bytes) {
|
|
17
|
+
return randomBytes(bytes).toString("hex");
|
|
18
|
+
}
|
|
19
|
+
function isValidTraceId(traceId) {
|
|
20
|
+
return TRACE_ID_RE.test(traceId) && traceId !== EMPTY_TRACE_ID;
|
|
21
|
+
}
|
|
22
|
+
function normalizeTraceId(raw) {
|
|
23
|
+
if (typeof raw !== "string") {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
const normalized = raw.trim().toLowerCase().replace(/[^0-9a-f]/g, "");
|
|
27
|
+
if (normalized.length >= 32) {
|
|
28
|
+
const candidate = normalized.slice(0, 32);
|
|
29
|
+
if (isValidTraceId(candidate)) {
|
|
30
|
+
return candidate;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const trimmed = raw.trim();
|
|
34
|
+
if (!trimmed) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
const hashed = createHash("sha256").update(trimmed).digest("hex").slice(0, 32);
|
|
38
|
+
return isValidTraceId(hashed) ? hashed : undefined;
|
|
39
|
+
}
|
|
40
|
+
function normalizeSpanId(raw) {
|
|
41
|
+
if (typeof raw !== "string") {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
const normalized = raw.trim().toLowerCase().replace(/[^0-9a-f]/g, "");
|
|
45
|
+
if (normalized.length >= 16) {
|
|
46
|
+
const candidate = normalized.slice(0, 16);
|
|
47
|
+
if (SPAN_ID_RE.test(candidate) && candidate !== "0".repeat(16)) {
|
|
48
|
+
return candidate;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
function buildRemoteSpanContext(api, traceId, spanId) {
|
|
54
|
+
const { trace, TraceFlags, ROOT_CONTEXT } = api;
|
|
55
|
+
return trace.setSpanContext(ROOT_CONTEXT, {
|
|
56
|
+
traceId,
|
|
57
|
+
spanId: spanId ?? randomHex(8),
|
|
58
|
+
traceFlags: TraceFlags.SAMPLED,
|
|
59
|
+
isRemote: true,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function readTraceFromHook(event, hookCtx) {
|
|
63
|
+
const eventTrace = event?.trace;
|
|
64
|
+
const hookTrace = hookCtx?.trace;
|
|
65
|
+
return eventTrace ?? hookTrace;
|
|
66
|
+
}
|
|
67
|
+
function readTraceIdFields(event, hookCtx) {
|
|
68
|
+
const evt = event;
|
|
69
|
+
const ctx = hookCtx;
|
|
70
|
+
const traceId = normalizeTraceId(ctx?.traceId) ?? normalizeTraceId(evt?.traceId);
|
|
71
|
+
const spanId = normalizeSpanId(ctx?.spanId) ?? normalizeSpanId(evt?.spanId);
|
|
72
|
+
return { traceId, spanId };
|
|
73
|
+
}
|
|
74
|
+
function readTraceparent(event, hookCtx) {
|
|
75
|
+
const evt = event;
|
|
76
|
+
const ctx = hookCtx;
|
|
77
|
+
const candidates = [
|
|
78
|
+
ctx?.traceparent,
|
|
79
|
+
evt?.traceparent,
|
|
80
|
+
evt?.metadata?.Traceparent,
|
|
81
|
+
evt?.metadata?.traceparent,
|
|
82
|
+
ctx?.metadata?.Traceparent,
|
|
83
|
+
ctx?.metadata?.traceparent,
|
|
84
|
+
];
|
|
85
|
+
for (const candidate of candidates) {
|
|
86
|
+
if (typeof candidate === "string" && TRACEPARENT_RE.test(candidate.trim())) {
|
|
87
|
+
return candidate.trim();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
export function resolveInboundParentContext(api, event, hookCtx) {
|
|
93
|
+
const { context, trace, propagation, ROOT_CONTEXT } = api;
|
|
94
|
+
const hookTrace = readTraceFromHook(event, hookCtx);
|
|
95
|
+
if (hookTrace?.traceId) {
|
|
96
|
+
const traceId = normalizeTraceId(hookTrace.traceId);
|
|
97
|
+
if (traceId) {
|
|
98
|
+
const spanId = normalizeSpanId(hookTrace.spanId);
|
|
99
|
+
return {
|
|
100
|
+
parentCtx: buildRemoteSpanContext(api, traceId, spanId),
|
|
101
|
+
source: "hook.trace",
|
|
102
|
+
traceId,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const { traceId, spanId } = readTraceIdFields(event, hookCtx);
|
|
107
|
+
if (traceId) {
|
|
108
|
+
return {
|
|
109
|
+
parentCtx: buildRemoteSpanContext(api, traceId, spanId),
|
|
110
|
+
source: "hook.traceId",
|
|
111
|
+
traceId,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
const traceparent = readTraceparent(event, hookCtx);
|
|
115
|
+
if (traceparent) {
|
|
116
|
+
const parentCtx = propagation.extract(ROOT_CONTEXT, { traceparent });
|
|
117
|
+
const extracted = trace.getSpanContext(parentCtx);
|
|
118
|
+
if (extracted && trace.isSpanContextValid(extracted) && isValidTraceId(extracted.traceId)) {
|
|
119
|
+
return { parentCtx, source: "traceparent", traceId: extracted.traceId };
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
const activeCtx = context.active();
|
|
123
|
+
const activeSpanCtx = trace.getSpan(activeCtx)?.spanContext();
|
|
124
|
+
if (activeSpanCtx
|
|
125
|
+
&& trace.isSpanContextValid(activeSpanCtx)
|
|
126
|
+
&& isValidTraceId(activeSpanCtx.traceId)) {
|
|
127
|
+
return {
|
|
128
|
+
parentCtx: activeCtx,
|
|
129
|
+
source: "active-context",
|
|
130
|
+
traceId: activeSpanCtx.traceId,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
return { parentCtx: ROOT_CONTEXT, source: "new-trace" };
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=trace-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-context.js","sourceRoot":"","sources":["../trace-context.ts"],"names":[],"mappings":"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"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "openclaw-apm-tracing",
|
|
3
3
|
"name": "OpenClaw APM Tracing",
|
|
4
4
|
"description": "OpenClaw APM tracing plugin — full-chain distributed tracing with parent-child span tree. Requires diagnostics-otel for OTel SDK export.",
|
|
5
|
-
"version": "0.5.0-beta.
|
|
5
|
+
"version": "0.5.0-beta.6",
|
|
6
6
|
"activation": {
|
|
7
7
|
"onStartup": true
|
|
8
8
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openclaw-apm-tracing",
|
|
3
|
-
"version": "0.5.0-beta.
|
|
3
|
+
"version": "0.5.0-beta.6",
|
|
4
4
|
"description": "OpenClaw APM tracing plugin — full-chain distributed tracing with parent-child span tree. Requires diagnostics-otel for OTel SDK export.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,7 +31,9 @@
|
|
|
31
31
|
"prepublishOnly": "npm run build",
|
|
32
32
|
"publish:beta": "npm publish --tag beta --registry=https://registry.npmjs.org"
|
|
33
33
|
},
|
|
34
|
-
"dependencies": {
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@opentelemetry/api": "1.9.1"
|
|
36
|
+
},
|
|
35
37
|
"peerDependencies": {
|
|
36
38
|
"@opentelemetry/api": "1.9.1",
|
|
37
39
|
"openclaw": ">=2026.6.5"
|