@superblocksteam/telemetry 2.0.171 → 2.0.173-next.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/dist/browser/console-logging.js +2 -7
- package/dist/browser/console-logging.js.map +1 -1
- package/dist/browser/early-console-buffer.js +12 -14
- package/dist/browser/early-console-buffer.js.map +1 -1
- package/dist/browser/index.js +12 -41
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/init.d.ts +1 -1
- package/dist/browser/init.d.ts.map +1 -1
- package/dist/browser/init.js +42 -52
- package/dist/browser/init.js.map +1 -1
- package/dist/browser/instrumentations.js +11 -15
- package/dist/browser/instrumentations.js.map +1 -1
- package/dist/browser/logs.d.ts +1 -1
- package/dist/browser/logs.d.ts.map +1 -1
- package/dist/browser/logs.js +11 -18
- package/dist/browser/logs.js.map +1 -1
- package/dist/browser/metrics.js +9 -12
- package/dist/browser/metrics.js.map +1 -1
- package/dist/browser/resilient-exporter.d.ts +1 -1
- package/dist/browser/resilient-exporter.d.ts.map +1 -1
- package/dist/browser/resilient-exporter.js +8 -12
- package/dist/browser/resilient-exporter.js.map +1 -1
- package/dist/browser/sanitizer.js +2 -6
- package/dist/browser/sanitizer.js.map +1 -1
- package/dist/browser/traced-socket.js +14 -18
- package/dist/browser/traced-socket.js.map +1 -1
- package/dist/common/contracts/tier2-traces.js +33 -44
- package/dist/common/contracts/tier2-traces.js.map +1 -1
- package/dist/common/deployment-type.js +5 -8
- package/dist/common/deployment-type.js.map +1 -1
- package/dist/common/guardrails.js +26 -38
- package/dist/common/guardrails.js.map +1 -1
- package/dist/common/index.js +8 -24
- package/dist/common/index.js.map +1 -1
- package/dist/common/log-sanitizer.js +37 -55
- package/dist/common/log-sanitizer.js.map +1 -1
- package/dist/common/policy-evaluator.d.ts +1 -1
- package/dist/common/policy-evaluator.d.ts.map +1 -1
- package/dist/common/policy-evaluator.js +5 -9
- package/dist/common/policy-evaluator.js.map +1 -1
- package/dist/common/resource.js +18 -25
- package/dist/common/resource.js.map +1 -1
- package/dist/common/tier-hints.js +12 -22
- package/dist/common/tier-hints.js.map +1 -1
- package/dist/common/trace-sanitizer.js +6 -10
- package/dist/common/trace-sanitizer.js.map +1 -1
- package/dist/common/traced-socket-types.js +1 -2
- package/dist/common/traced-socket-types.js.map +1 -1
- package/dist/index.js +6 -38
- package/dist/index.js.map +1 -1
- package/dist/lint/forbidden-attributes.js +19 -24
- package/dist/lint/forbidden-attributes.js.map +1 -1
- package/dist/lint/index.js +1 -8
- package/dist/lint/index.js.map +1 -1
- package/dist/llmobs/index.js +2 -9
- package/dist/llmobs/index.js.map +1 -1
- package/dist/llmobs/tier1-exporter.js +6 -12
- package/dist/llmobs/tier1-exporter.js.map +1 -1
- package/dist/llmobs/tier2-summarizer.js +1 -5
- package/dist/llmobs/tier2-summarizer.js.map +1 -1
- package/dist/node/dynamic-attribute-processor.js +2 -7
- package/dist/node/dynamic-attribute-processor.js.map +1 -1
- package/dist/node/exporters/resilient-exporter.d.ts +1 -1
- package/dist/node/exporters/resilient-exporter.d.ts.map +1 -1
- package/dist/node/exporters/resilient-exporter.js +8 -12
- package/dist/node/exporters/resilient-exporter.js.map +1 -1
- package/dist/node/index.js +7 -26
- package/dist/node/index.js.map +1 -1
- package/dist/node/init.d.ts +3 -3
- package/dist/node/init.d.ts.map +1 -1
- package/dist/node/init.js +66 -72
- package/dist/node/init.js.map +1 -1
- package/dist/node/local-obs-mode.js +1 -4
- package/dist/node/local-obs-mode.js.map +1 -1
- package/dist/node/log-processor.d.ts +1 -1
- package/dist/node/log-processor.d.ts.map +1 -1
- package/dist/node/log-processor.js +47 -55
- package/dist/node/log-processor.js.map +1 -1
- package/dist/node/metrics-client.js +1 -5
- package/dist/node/metrics-client.js.map +1 -1
- package/dist/node/safe-logger.js +8 -12
- package/dist/node/safe-logger.js.map +1 -1
- package/dist/node/sanitizing-processor.d.ts +2 -2
- package/dist/node/sanitizing-processor.d.ts.map +1 -1
- package/dist/node/sanitizing-processor.js +6 -10
- package/dist/node/sanitizing-processor.js.map +1 -1
- package/dist/node/service-tracers.js +7 -10
- package/dist/node/service-tracers.js.map +1 -1
- package/dist/node/traced-socket.d.ts +3 -3
- package/dist/node/traced-socket.d.ts.map +1 -1
- package/dist/node/traced-socket.js +48 -52
- package/dist/node/traced-socket.js.map +1 -1
- package/dist/npm-registry/emitter.js +34 -47
- package/dist/npm-registry/emitter.js.map +1 -1
- package/dist/npm-registry/index.js +3 -19
- package/dist/npm-registry/index.js.map +1 -1
- package/dist/npm-registry/sanitize.js +16 -27
- package/dist/npm-registry/sanitize.js.map +1 -1
- package/dist/npm-registry/spans.js +7 -12
- package/dist/npm-registry/spans.js.map +1 -1
- package/dist/testing/in-memory-exporter.d.ts +1 -1
- package/dist/testing/in-memory-exporter.d.ts.map +1 -1
- package/dist/testing/in-memory-exporter.js +6 -12
- package/dist/testing/in-memory-exporter.js.map +1 -1
- package/dist/testing/index.js +3 -15
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/metrics-capture.js +12 -15
- package/dist/testing/metrics-capture.js.map +1 -1
- package/dist/testing/test-init.js +24 -31
- package/dist/testing/test-init.js.map +1 -1
- package/dist/types/index.js +1 -17
- package/dist/types/index.js.map +1 -1
- package/dist/types/policy.js +21 -24
- package/dist/types/policy.js.map +1 -1
- package/package.json +11 -17
- package/dist-esm/browser/console-logging.d.ts +0 -18
- package/dist-esm/browser/console-logging.d.ts.map +0 -1
- package/dist-esm/browser/console-logging.js +0 -27
- package/dist-esm/browser/console-logging.js.map +0 -1
- package/dist-esm/browser/early-console-buffer.d.ts +0 -49
- package/dist-esm/browser/early-console-buffer.d.ts.map +0 -1
- package/dist-esm/browser/early-console-buffer.js +0 -181
- package/dist-esm/browser/early-console-buffer.js.map +0 -1
- package/dist-esm/browser/index.d.ts +0 -18
- package/dist-esm/browser/index.d.ts.map +0 -1
- package/dist-esm/browser/index.js +0 -23
- package/dist-esm/browser/index.js.map +0 -1
- package/dist-esm/browser/init.d.ts +0 -100
- package/dist-esm/browser/init.d.ts.map +0 -1
- package/dist-esm/browser/init.js +0 -317
- package/dist-esm/browser/init.js.map +0 -1
- package/dist-esm/browser/instrumentations.d.ts +0 -67
- package/dist-esm/browser/instrumentations.d.ts.map +0 -1
- package/dist-esm/browser/instrumentations.js +0 -79
- package/dist-esm/browser/instrumentations.js.map +0 -1
- package/dist-esm/browser/logs.d.ts +0 -57
- package/dist-esm/browser/logs.d.ts.map +0 -1
- package/dist-esm/browser/logs.js +0 -80
- package/dist-esm/browser/logs.js.map +0 -1
- package/dist-esm/browser/metrics.d.ts +0 -29
- package/dist-esm/browser/metrics.d.ts.map +0 -1
- package/dist-esm/browser/metrics.js +0 -46
- package/dist-esm/browser/metrics.js.map +0 -1
- package/dist-esm/browser/resilient-exporter.d.ts +0 -43
- package/dist-esm/browser/resilient-exporter.d.ts.map +0 -1
- package/dist-esm/browser/resilient-exporter.js +0 -84
- package/dist-esm/browser/resilient-exporter.js.map +0 -1
- package/dist-esm/browser/sanitizer.d.ts +0 -35
- package/dist-esm/browser/sanitizer.d.ts.map +0 -1
- package/dist-esm/browser/sanitizer.js +0 -207
- package/dist-esm/browser/sanitizer.js.map +0 -1
- package/dist-esm/browser/traced-socket.d.ts +0 -102
- package/dist-esm/browser/traced-socket.d.ts.map +0 -1
- package/dist-esm/browser/traced-socket.js +0 -199
- package/dist-esm/browser/traced-socket.js.map +0 -1
- package/dist-esm/common/contracts/tier2-traces.d.ts +0 -116
- package/dist-esm/common/contracts/tier2-traces.d.ts.map +0 -1
- package/dist-esm/common/contracts/tier2-traces.js +0 -725
- package/dist-esm/common/contracts/tier2-traces.js.map +0 -1
- package/dist-esm/common/deployment-type.d.ts +0 -18
- package/dist-esm/common/deployment-type.d.ts.map +0 -1
- package/dist-esm/common/deployment-type.js +0 -27
- package/dist-esm/common/deployment-type.js.map +0 -1
- package/dist-esm/common/guardrails.d.ts +0 -132
- package/dist-esm/common/guardrails.d.ts.map +0 -1
- package/dist-esm/common/guardrails.js +0 -230
- package/dist-esm/common/guardrails.js.map +0 -1
- package/dist-esm/common/index.d.ts +0 -17
- package/dist-esm/common/index.d.ts.map +0 -1
- package/dist-esm/common/index.js +0 -17
- package/dist-esm/common/index.js.map +0 -1
- package/dist-esm/common/log-sanitizer.d.ts +0 -163
- package/dist-esm/common/log-sanitizer.d.ts.map +0 -1
- package/dist-esm/common/log-sanitizer.js +0 -745
- package/dist-esm/common/log-sanitizer.js.map +0 -1
- package/dist-esm/common/policy-evaluator.d.ts +0 -103
- package/dist-esm/common/policy-evaluator.d.ts.map +0 -1
- package/dist-esm/common/policy-evaluator.js +0 -196
- package/dist-esm/common/policy-evaluator.js.map +0 -1
- package/dist-esm/common/resource.d.ts +0 -79
- package/dist-esm/common/resource.d.ts.map +0 -1
- package/dist-esm/common/resource.js +0 -121
- package/dist-esm/common/resource.js.map +0 -1
- package/dist-esm/common/tier-hints.d.ts +0 -182
- package/dist-esm/common/tier-hints.d.ts.map +0 -1
- package/dist-esm/common/tier-hints.js +0 -199
- package/dist-esm/common/tier-hints.js.map +0 -1
- package/dist-esm/common/trace-sanitizer.d.ts +0 -82
- package/dist-esm/common/trace-sanitizer.d.ts.map +0 -1
- package/dist-esm/common/trace-sanitizer.js +0 -230
- package/dist-esm/common/trace-sanitizer.js.map +0 -1
- package/dist-esm/common/traced-socket-types.d.ts +0 -43
- package/dist-esm/common/traced-socket-types.d.ts.map +0 -1
- package/dist-esm/common/traced-socket-types.js +0 -16
- package/dist-esm/common/traced-socket-types.js.map +0 -1
- package/dist-esm/index.d.ts +0 -45
- package/dist-esm/index.d.ts.map +0 -1
- package/dist-esm/index.js +0 -56
- package/dist-esm/index.js.map +0 -1
- package/dist-esm/lint/forbidden-attributes.d.ts +0 -149
- package/dist-esm/lint/forbidden-attributes.d.ts.map +0 -1
- package/dist-esm/lint/forbidden-attributes.js +0 -210
- package/dist-esm/lint/forbidden-attributes.js.map +0 -1
- package/dist-esm/lint/index.d.ts +0 -9
- package/dist-esm/lint/index.d.ts.map +0 -1
- package/dist-esm/lint/index.js +0 -9
- package/dist-esm/lint/index.js.map +0 -1
- package/dist-esm/llmobs/index.d.ts +0 -22
- package/dist-esm/llmobs/index.d.ts.map +0 -1
- package/dist-esm/llmobs/index.js +0 -22
- package/dist-esm/llmobs/index.js.map +0 -1
- package/dist-esm/llmobs/tier1-exporter.d.ts +0 -146
- package/dist-esm/llmobs/tier1-exporter.d.ts.map +0 -1
- package/dist-esm/llmobs/tier1-exporter.js +0 -193
- package/dist-esm/llmobs/tier1-exporter.js.map +0 -1
- package/dist-esm/llmobs/tier2-summarizer.d.ts +0 -268
- package/dist-esm/llmobs/tier2-summarizer.d.ts.map +0 -1
- package/dist-esm/llmobs/tier2-summarizer.js +0 -652
- package/dist-esm/llmobs/tier2-summarizer.js.map +0 -1
- package/dist-esm/node/dynamic-attribute-processor.d.ts +0 -43
- package/dist-esm/node/dynamic-attribute-processor.d.ts.map +0 -1
- package/dist-esm/node/dynamic-attribute-processor.js +0 -74
- package/dist-esm/node/dynamic-attribute-processor.js.map +0 -1
- package/dist-esm/node/exporters/resilient-exporter.d.ts +0 -91
- package/dist-esm/node/exporters/resilient-exporter.d.ts.map +0 -1
- package/dist-esm/node/exporters/resilient-exporter.js +0 -132
- package/dist-esm/node/exporters/resilient-exporter.js.map +0 -1
- package/dist-esm/node/index.d.ts +0 -13
- package/dist-esm/node/index.d.ts.map +0 -1
- package/dist-esm/node/index.js +0 -13
- package/dist-esm/node/index.js.map +0 -1
- package/dist-esm/node/init.d.ts +0 -97
- package/dist-esm/node/init.d.ts.map +0 -1
- package/dist-esm/node/init.js +0 -359
- package/dist-esm/node/init.js.map +0 -1
- package/dist-esm/node/local-obs-mode.d.ts +0 -17
- package/dist-esm/node/local-obs-mode.d.ts.map +0 -1
- package/dist-esm/node/local-obs-mode.js +0 -19
- package/dist-esm/node/local-obs-mode.js.map +0 -1
- package/dist-esm/node/log-processor.d.ts +0 -132
- package/dist-esm/node/log-processor.d.ts.map +0 -1
- package/dist-esm/node/log-processor.js +0 -389
- package/dist-esm/node/log-processor.js.map +0 -1
- package/dist-esm/node/metrics-client.d.ts +0 -88
- package/dist-esm/node/metrics-client.d.ts.map +0 -1
- package/dist-esm/node/metrics-client.js +0 -205
- package/dist-esm/node/metrics-client.js.map +0 -1
- package/dist-esm/node/safe-logger.d.ts +0 -55
- package/dist-esm/node/safe-logger.d.ts.map +0 -1
- package/dist-esm/node/safe-logger.js +0 -154
- package/dist-esm/node/safe-logger.js.map +0 -1
- package/dist-esm/node/sanitizing-processor.d.ts +0 -67
- package/dist-esm/node/sanitizing-processor.d.ts.map +0 -1
- package/dist-esm/node/sanitizing-processor.js +0 -163
- package/dist-esm/node/sanitizing-processor.js.map +0 -1
- package/dist-esm/node/service-tracers.d.ts +0 -52
- package/dist-esm/node/service-tracers.d.ts.map +0 -1
- package/dist-esm/node/service-tracers.js +0 -78
- package/dist-esm/node/service-tracers.js.map +0 -1
- package/dist-esm/node/traced-socket.d.ts +0 -120
- package/dist-esm/node/traced-socket.d.ts.map +0 -1
- package/dist-esm/node/traced-socket.js +0 -334
- package/dist-esm/node/traced-socket.js.map +0 -1
- package/dist-esm/npm-registry/emitter.d.ts +0 -330
- package/dist-esm/npm-registry/emitter.d.ts.map +0 -1
- package/dist-esm/npm-registry/emitter.js +0 -546
- package/dist-esm/npm-registry/emitter.js.map +0 -1
- package/dist-esm/npm-registry/index.d.ts +0 -12
- package/dist-esm/npm-registry/index.d.ts.map +0 -1
- package/dist-esm/npm-registry/index.js +0 -12
- package/dist-esm/npm-registry/index.js.map +0 -1
- package/dist-esm/npm-registry/sanitize.d.ts +0 -174
- package/dist-esm/npm-registry/sanitize.d.ts.map +0 -1
- package/dist-esm/npm-registry/sanitize.js +0 -331
- package/dist-esm/npm-registry/sanitize.js.map +0 -1
- package/dist-esm/npm-registry/spans.d.ts +0 -61
- package/dist-esm/npm-registry/spans.d.ts.map +0 -1
- package/dist-esm/npm-registry/spans.js +0 -86
- package/dist-esm/npm-registry/spans.js.map +0 -1
- package/dist-esm/package.json +0 -1
- package/dist-esm/testing/in-memory-exporter.d.ts +0 -179
- package/dist-esm/testing/in-memory-exporter.d.ts.map +0 -1
- package/dist-esm/testing/in-memory-exporter.js +0 -250
- package/dist-esm/testing/in-memory-exporter.js.map +0 -1
- package/dist-esm/testing/index.d.ts +0 -9
- package/dist-esm/testing/index.d.ts.map +0 -1
- package/dist-esm/testing/index.js +0 -9
- package/dist-esm/testing/index.js.map +0 -1
- package/dist-esm/testing/metrics-capture.d.ts +0 -29
- package/dist-esm/testing/metrics-capture.d.ts.map +0 -1
- package/dist-esm/testing/metrics-capture.js +0 -71
- package/dist-esm/testing/metrics-capture.js.map +0 -1
- package/dist-esm/testing/test-init.d.ts +0 -80
- package/dist-esm/testing/test-init.d.ts.map +0 -1
- package/dist-esm/testing/test-init.js +0 -137
- package/dist-esm/testing/test-init.js.map +0 -1
- package/dist-esm/types/index.d.ts +0 -84
- package/dist-esm/types/index.d.ts.map +0 -1
- package/dist-esm/types/index.js +0 -7
- package/dist-esm/types/index.js.map +0 -1
- package/dist-esm/types/policy.d.ts +0 -92
- package/dist-esm/types/policy.d.ts.map +0 -1
- package/dist-esm/types/policy.js +0 -122
- package/dist-esm/types/policy.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"log-sanitizer.js","sourceRoot":"","sources":["../../src/common/log-sanitizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Policy Evaluator
|
|
3
|
-
*
|
|
4
|
-
* Evaluates telemetry routing decisions based on policy configuration.
|
|
5
|
-
*/
|
|
6
|
-
import { TelemetryPolicy, TelemetryTier } from "../types/policy.js";
|
|
7
|
-
/**
|
|
8
|
-
* Result of a policy evaluation.
|
|
9
|
-
*/
|
|
10
|
-
export interface PolicyDecision {
|
|
11
|
-
/** Should this data be retained locally? */
|
|
12
|
-
retainLocal: boolean;
|
|
13
|
-
/** Should this data be exported? */
|
|
14
|
-
export: boolean;
|
|
15
|
-
/** Sampling decision */
|
|
16
|
-
sampled: boolean;
|
|
17
|
-
/** If blocked, the reason */
|
|
18
|
-
blockReason?: string;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Evaluator for telemetry policy decisions.
|
|
22
|
-
*
|
|
23
|
-
* IMPORTANT: This evaluator determines ROUTING eligibility, not trace sampling.
|
|
24
|
-
*
|
|
25
|
-
* For TRACES: Sampling must be handled by the OTel SDK Sampler (parent-based,
|
|
26
|
-
* trace-ID ratio) to ensure trace consistency.
|
|
27
|
-
*
|
|
28
|
-
* For METRICS/LOGS: sampleRate applies with deterministic trace-ID-based logic.
|
|
29
|
-
*/
|
|
30
|
-
export declare class TelemetryPolicyEvaluator {
|
|
31
|
-
private readonly policy;
|
|
32
|
-
constructor(policy: TelemetryPolicy);
|
|
33
|
-
/**
|
|
34
|
-
* Get the current policy.
|
|
35
|
-
*/
|
|
36
|
-
getPolicy(): TelemetryPolicy;
|
|
37
|
-
/**
|
|
38
|
-
* Evaluate whether a telemetry signal should be processed/exported.
|
|
39
|
-
*
|
|
40
|
-
* @param tier - The tier this signal belongs to
|
|
41
|
-
* @param orgId - Optional org ID for org-specific overrides
|
|
42
|
-
* @param traceId - Optional trace ID for deterministic sampling
|
|
43
|
-
* @returns PolicyDecision
|
|
44
|
-
*/
|
|
45
|
-
evaluate(tier: TelemetryTier, orgId?: string, traceId?: string): PolicyDecision;
|
|
46
|
-
/**
|
|
47
|
-
* Check if export infrastructure should be created for a tier.
|
|
48
|
-
*
|
|
49
|
-
* This checks ONLY whether export is enabled in policy configuration.
|
|
50
|
-
* It does NOT apply sampling - use this for SDK initialization decisions.
|
|
51
|
-
*
|
|
52
|
-
* @param tier - The tier to check
|
|
53
|
-
* @param orgId - Optional org ID for org-specific overrides
|
|
54
|
-
* @returns true if export infrastructure should be created
|
|
55
|
-
*/
|
|
56
|
-
isExportEnabled(tier: TelemetryTier, orgId?: string): boolean;
|
|
57
|
-
/**
|
|
58
|
-
* Check if an export attempt is allowed (includes sampling).
|
|
59
|
-
*
|
|
60
|
-
* This applies sampling logic and should be used for per-span/per-signal
|
|
61
|
-
* decisions at runtime, NOT for infrastructure initialization.
|
|
62
|
-
*
|
|
63
|
-
* @param tier - The tier to check
|
|
64
|
-
* @param orgId - Optional org ID for org-specific overrides
|
|
65
|
-
* @param traceId - Optional trace ID for deterministic sampling
|
|
66
|
-
* @returns true if export is allowed for this specific signal
|
|
67
|
-
*/
|
|
68
|
-
canExport(tier: TelemetryTier, orgId?: string, traceId?: string): boolean;
|
|
69
|
-
/**
|
|
70
|
-
* Assert export is allowed, throwing or logging based on enforcement mode.
|
|
71
|
-
*
|
|
72
|
-
* @param tier - The tier to check
|
|
73
|
-
* @param orgId - Optional org ID for org-specific overrides
|
|
74
|
-
* @throws Error if in ENFORCE mode and export is blocked
|
|
75
|
-
*/
|
|
76
|
-
assertCanExport(tier: TelemetryTier, orgId?: string): void;
|
|
77
|
-
/**
|
|
78
|
-
* Check if Tier 3 content export is enabled.
|
|
79
|
-
*
|
|
80
|
-
* @returns true if Tier 3 prompts/responses can be exported
|
|
81
|
-
*/
|
|
82
|
-
canExportTier3Content(): boolean;
|
|
83
|
-
/**
|
|
84
|
-
* Get the effective policy for an org (applying overrides if present).
|
|
85
|
-
*
|
|
86
|
-
* Performs deep merge for nested objects (tiers, tier3Content) to ensure
|
|
87
|
-
* partial overrides don't clobber unspecified configurations.
|
|
88
|
-
*
|
|
89
|
-
* @param orgId - Optional org ID
|
|
90
|
-
* @returns Effective policy
|
|
91
|
-
*/
|
|
92
|
-
private getEffectivePolicy;
|
|
93
|
-
/**
|
|
94
|
-
* Deterministic sampling based on trace ID (W3C TraceContext recommendation).
|
|
95
|
-
* Uses last 8 hex chars for uniform distribution in [0, 1).
|
|
96
|
-
*
|
|
97
|
-
* @param traceId - The trace ID (must be at least 8 hex characters)
|
|
98
|
-
* @param sampleRate - Sample rate (0.0 - 1.0)
|
|
99
|
-
* @returns true if sampled
|
|
100
|
-
*/
|
|
101
|
-
private traceIdBasedSample;
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=policy-evaluator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy-evaluator.d.ts","sourceRoot":"","sources":["../../src/common/policy-evaluator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EACf,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,WAAW,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,wBAAwB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,qBAAa,wBAAwB;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAEpD;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;;;;;;OAOG;IACH,QAAQ,CACN,IAAI,EAAE,aAAa,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GACf,cAAc;IAoCjB;;;;;;;;;OASG;IACH,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAM7D;;;;;;;;;;OAUG;IACH,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO;IAKzE;;;;;;OAMG;IACH,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAW1D;;;;OAIG;IACH,qBAAqB,IAAI,OAAO;IAOhC;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IA2C1B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;CAwB3B"}
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Policy Evaluator
|
|
3
|
-
*
|
|
4
|
-
* Evaluates telemetry routing decisions based on policy configuration.
|
|
5
|
-
*/
|
|
6
|
-
import { TelemetryTier, EnforcementMode, } from "../types/policy.js";
|
|
7
|
-
/**
|
|
8
|
-
* Evaluator for telemetry policy decisions.
|
|
9
|
-
*
|
|
10
|
-
* IMPORTANT: This evaluator determines ROUTING eligibility, not trace sampling.
|
|
11
|
-
*
|
|
12
|
-
* For TRACES: Sampling must be handled by the OTel SDK Sampler (parent-based,
|
|
13
|
-
* trace-ID ratio) to ensure trace consistency.
|
|
14
|
-
*
|
|
15
|
-
* For METRICS/LOGS: sampleRate applies with deterministic trace-ID-based logic.
|
|
16
|
-
*/
|
|
17
|
-
export class TelemetryPolicyEvaluator {
|
|
18
|
-
policy;
|
|
19
|
-
constructor(policy) {
|
|
20
|
-
this.policy = policy;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Get the current policy.
|
|
24
|
-
*/
|
|
25
|
-
getPolicy() {
|
|
26
|
-
return this.policy;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Evaluate whether a telemetry signal should be processed/exported.
|
|
30
|
-
*
|
|
31
|
-
* @param tier - The tier this signal belongs to
|
|
32
|
-
* @param orgId - Optional org ID for org-specific overrides
|
|
33
|
-
* @param traceId - Optional trace ID for deterministic sampling
|
|
34
|
-
* @returns PolicyDecision
|
|
35
|
-
*/
|
|
36
|
-
evaluate(tier, orgId, traceId) {
|
|
37
|
-
const effectivePolicy = this.getEffectivePolicy(orgId);
|
|
38
|
-
const tierConfig = effectivePolicy.tiers[tier];
|
|
39
|
-
if (!tierConfig.enabled) {
|
|
40
|
-
return {
|
|
41
|
-
retainLocal: false,
|
|
42
|
-
export: false,
|
|
43
|
-
sampled: false,
|
|
44
|
-
blockReason: `Tier ${tier} is disabled`,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
// Use trace-ID-based deterministic sampling (NOT Math.random)
|
|
48
|
-
// This ensures same trace ID = same decision across all services.
|
|
49
|
-
//
|
|
50
|
-
// SAMPLING FALLBACK BEHAVIOR:
|
|
51
|
-
// When no traceId is provided (e.g., for standalone metrics or logs),
|
|
52
|
-
// we only sample if sampleRate >= 1.0. This is intentionally conservative:
|
|
53
|
-
// - For traces: traceId should always be available from span context
|
|
54
|
-
// - For metrics: typically want 100% capture (sampleRate = 1.0) or explicit control
|
|
55
|
-
// - For logs: same as metrics
|
|
56
|
-
//
|
|
57
|
-
// If probabilistic sampling without traceId is needed, callers should generate
|
|
58
|
-
// a synthetic traceId or use a different sampling mechanism.
|
|
59
|
-
const sampled = traceId
|
|
60
|
-
? this.traceIdBasedSample(traceId, tierConfig.sampleRate)
|
|
61
|
-
: tierConfig.sampleRate >= 1.0;
|
|
62
|
-
return {
|
|
63
|
-
retainLocal: tierConfig.enabled,
|
|
64
|
-
export: tierConfig.exportEnabled && sampled,
|
|
65
|
-
sampled,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Check if export infrastructure should be created for a tier.
|
|
70
|
-
*
|
|
71
|
-
* This checks ONLY whether export is enabled in policy configuration.
|
|
72
|
-
* It does NOT apply sampling - use this for SDK initialization decisions.
|
|
73
|
-
*
|
|
74
|
-
* @param tier - The tier to check
|
|
75
|
-
* @param orgId - Optional org ID for org-specific overrides
|
|
76
|
-
* @returns true if export infrastructure should be created
|
|
77
|
-
*/
|
|
78
|
-
isExportEnabled(tier, orgId) {
|
|
79
|
-
const effectivePolicy = this.getEffectivePolicy(orgId);
|
|
80
|
-
const tierConfig = effectivePolicy.tiers[tier];
|
|
81
|
-
return tierConfig.enabled && tierConfig.exportEnabled;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Check if an export attempt is allowed (includes sampling).
|
|
85
|
-
*
|
|
86
|
-
* This applies sampling logic and should be used for per-span/per-signal
|
|
87
|
-
* decisions at runtime, NOT for infrastructure initialization.
|
|
88
|
-
*
|
|
89
|
-
* @param tier - The tier to check
|
|
90
|
-
* @param orgId - Optional org ID for org-specific overrides
|
|
91
|
-
* @param traceId - Optional trace ID for deterministic sampling
|
|
92
|
-
* @returns true if export is allowed for this specific signal
|
|
93
|
-
*/
|
|
94
|
-
canExport(tier, orgId, traceId) {
|
|
95
|
-
const decision = this.evaluate(tier, orgId, traceId);
|
|
96
|
-
return decision.export;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Assert export is allowed, throwing or logging based on enforcement mode.
|
|
100
|
-
*
|
|
101
|
-
* @param tier - The tier to check
|
|
102
|
-
* @param orgId - Optional org ID for org-specific overrides
|
|
103
|
-
* @throws Error if in ENFORCE mode and export is blocked
|
|
104
|
-
*/
|
|
105
|
-
assertCanExport(tier, orgId) {
|
|
106
|
-
if (!this.canExport(tier, orgId)) {
|
|
107
|
-
const msg = `Export blocked for tier ${tier}`;
|
|
108
|
-
if (this.policy.enforcementMode === EnforcementMode.ENFORCE) {
|
|
109
|
-
throw new Error(msg);
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
console.warn(`[AUDIT] ${msg}`);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Check if Tier 3 content export is enabled.
|
|
118
|
-
*
|
|
119
|
-
* @returns true if Tier 3 prompts/responses can be exported
|
|
120
|
-
*/
|
|
121
|
-
canExportTier3Content() {
|
|
122
|
-
return (this.canExport(TelemetryTier.TIER_3_AI_EXPERIENCE) &&
|
|
123
|
-
this.policy.tier3Content.contentExportEnabled);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Get the effective policy for an org (applying overrides if present).
|
|
127
|
-
*
|
|
128
|
-
* Performs deep merge for nested objects (tiers, tier3Content) to ensure
|
|
129
|
-
* partial overrides don't clobber unspecified configurations.
|
|
130
|
-
*
|
|
131
|
-
* @param orgId - Optional org ID
|
|
132
|
-
* @returns Effective policy
|
|
133
|
-
*/
|
|
134
|
-
getEffectivePolicy(orgId) {
|
|
135
|
-
if (!orgId || !this.policy.orgOverrides?.[orgId]) {
|
|
136
|
-
return this.policy;
|
|
137
|
-
}
|
|
138
|
-
const override = this.policy.orgOverrides[orgId];
|
|
139
|
-
// Valid tier keys for filtering
|
|
140
|
-
const validTiers = new Set(Object.values(TelemetryTier));
|
|
141
|
-
// Deep merge tiers: only override specified tiers, preserve others
|
|
142
|
-
// Filter out invalid tier keys and null/undefined configs
|
|
143
|
-
const mergedTiers = override.tiers
|
|
144
|
-
? {
|
|
145
|
-
...this.policy.tiers,
|
|
146
|
-
...Object.fromEntries(Object.entries(override.tiers)
|
|
147
|
-
.filter(([tier, config]) => validTiers.has(tier) && config != null)
|
|
148
|
-
.map(([tier, config]) => [
|
|
149
|
-
tier,
|
|
150
|
-
{ ...this.policy.tiers[tier], ...config },
|
|
151
|
-
])),
|
|
152
|
-
}
|
|
153
|
-
: this.policy.tiers;
|
|
154
|
-
// Deep merge tier3Content if present and not null
|
|
155
|
-
const mergedTier3Content = override.tier3Content != null
|
|
156
|
-
? { ...this.policy.tier3Content, ...override.tier3Content }
|
|
157
|
-
: this.policy.tier3Content;
|
|
158
|
-
return {
|
|
159
|
-
...this.policy,
|
|
160
|
-
...override,
|
|
161
|
-
tiers: mergedTiers,
|
|
162
|
-
tier3Content: mergedTier3Content,
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Deterministic sampling based on trace ID (W3C TraceContext recommendation).
|
|
167
|
-
* Uses last 8 hex chars for uniform distribution in [0, 1).
|
|
168
|
-
*
|
|
169
|
-
* @param traceId - The trace ID (must be at least 8 hex characters)
|
|
170
|
-
* @param sampleRate - Sample rate (0.0 - 1.0)
|
|
171
|
-
* @returns true if sampled
|
|
172
|
-
*/
|
|
173
|
-
traceIdBasedSample(traceId, sampleRate) {
|
|
174
|
-
if (sampleRate >= 1.0)
|
|
175
|
-
return true;
|
|
176
|
-
if (sampleRate <= 0.0)
|
|
177
|
-
return false;
|
|
178
|
-
// Validate trace ID has sufficient hex characters
|
|
179
|
-
if (!traceId || traceId.length < 8) {
|
|
180
|
-
// Malformed trace ID - fail safe by not sampling
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
|
-
const sampleHex = traceId.slice(-8);
|
|
184
|
-
// Validate hex characters
|
|
185
|
-
if (!/^[0-9a-fA-F]{8}$/.test(sampleHex)) {
|
|
186
|
-
// Non-hex characters in trace ID - fail safe by not sampling
|
|
187
|
-
return false;
|
|
188
|
-
}
|
|
189
|
-
// Parse last 8 hex chars as 32-bit unsigned int (range: 0 to 0xFFFFFFFF)
|
|
190
|
-
// Divide by 2^32 (0x100000000) to get uniform distribution in [0, 1)
|
|
191
|
-
// Using 0xFFFFFFFF would incorrectly produce 1.0 for max trace IDs
|
|
192
|
-
const sampleValue = parseInt(sampleHex, 16) / 0x100000000;
|
|
193
|
-
return sampleValue < sampleRate;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
//# sourceMappingURL=policy-evaluator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy-evaluator.js","sourceRoot":"","sources":["../../src/common/policy-evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resource Builder
|
|
3
|
-
*
|
|
4
|
-
* Standardized resource attributes for all Superblocks services.
|
|
5
|
-
*
|
|
6
|
-
* CRITICAL: Resource Attributes vs Span Attributes
|
|
7
|
-
*
|
|
8
|
-
* `service.name`, `service.version`, and `deployment.environment.name` MUST be set as
|
|
9
|
-
* **resource attributes** (once, at SDK initialization), NOT as span attributes (per-span).
|
|
10
|
-
*
|
|
11
|
-
* - Resource attributes: Set once, inherited by all spans/metrics/logs
|
|
12
|
-
* - Span attributes: Set per-span, for request-specific data
|
|
13
|
-
*/
|
|
14
|
-
import { type Resource } from "@opentelemetry/resources";
|
|
15
|
-
import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from "@opentelemetry/semantic-conventions";
|
|
16
|
-
import type { BaseTelemetryConfig } from "../types/index.js";
|
|
17
|
-
/** Re-export for use in log/trace attribute keys (e.g. server logger base). */
|
|
18
|
-
export { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION };
|
|
19
|
-
/**
|
|
20
|
-
* Required RESOURCE attributes for correlation.
|
|
21
|
-
* These must NOT be added as span attributes (they're inherited from resource).
|
|
22
|
-
*/
|
|
23
|
-
export declare const REQUIRED_RESOURCE_ATTRIBUTES: readonly ["service.name", "service.version", "deployment.environment.name"];
|
|
24
|
-
/**
|
|
25
|
-
* Attributes that should NEVER be set at span level (use resource instead).
|
|
26
|
-
* Used by linting/validation to catch misuse.
|
|
27
|
-
*/
|
|
28
|
-
export declare const RESOURCE_ONLY_ATTRIBUTES: Set<string>;
|
|
29
|
-
/**
|
|
30
|
-
* Superblocks namespace for custom resource attributes.
|
|
31
|
-
*/
|
|
32
|
-
export declare const SUPERBLOCKS_NAMESPACE = "superblocks";
|
|
33
|
-
/**
|
|
34
|
-
* Build standardized resource for a Superblocks service.
|
|
35
|
-
*
|
|
36
|
-
* IMPORTANT: These are RESOURCE attributes (set once at init), not span attributes.
|
|
37
|
-
* They are inherited by ALL telemetry from this SDK instance.
|
|
38
|
-
*
|
|
39
|
-
* Semantic conventions used:
|
|
40
|
-
* - service.name (required)
|
|
41
|
-
* - service.version (required)
|
|
42
|
-
* - deployment.environment.name (required)
|
|
43
|
-
* - superblocks.* (custom namespace)
|
|
44
|
-
*
|
|
45
|
-
* @param config - Service configuration
|
|
46
|
-
* @returns Resource with standardized attributes
|
|
47
|
-
*/
|
|
48
|
-
export declare function buildResource(config: BaseTelemetryConfig): Resource;
|
|
49
|
-
/**
|
|
50
|
-
* Derive a resource identical to `base` but with a different `service.name`.
|
|
51
|
-
*
|
|
52
|
-
* Used to emit a subset of a service's spans under a secondary service identity
|
|
53
|
-
* (e.g. server LLM-Obs spans under `superblocks-ai-code-gen`) while every other
|
|
54
|
-
* resource attribute — version, environment, superblocks.* — is inherited.
|
|
55
|
-
* Datadog maps the OTel resource `service.name` to LLM-Obs `ml_app`, so this is
|
|
56
|
-
* the only sanctioned way to change `ml_app` for those spans. See APPS-5082.
|
|
57
|
-
*
|
|
58
|
-
* @param base - Resource to derive from (not mutated)
|
|
59
|
-
* @param serviceName - Service name to apply
|
|
60
|
-
* @returns A new resource with the overridden service.name
|
|
61
|
-
*/
|
|
62
|
-
export declare function withServiceName(base: Resource, serviceName: string): Resource;
|
|
63
|
-
/**
|
|
64
|
-
* Validate that a resource has all required attributes.
|
|
65
|
-
*
|
|
66
|
-
* @param resource - Resource to validate
|
|
67
|
-
* @throws Error if missing required attributes
|
|
68
|
-
*/
|
|
69
|
-
export declare function validateResource(resource: Resource): void;
|
|
70
|
-
/**
|
|
71
|
-
* Assert that span attributes don't include resource-only attributes.
|
|
72
|
-
* Throws an error if resource-only attributes are present.
|
|
73
|
-
* For use in linting/CI or development mode.
|
|
74
|
-
*
|
|
75
|
-
* @param spanAttrs - Span attributes to validate
|
|
76
|
-
* @throws Error if resource-only attributes are present
|
|
77
|
-
*/
|
|
78
|
-
export declare function assertNoResourceAttributes(spanAttrs: Record<string, unknown>): void;
|
|
79
|
-
//# sourceMappingURL=resource.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/common/resource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAKnD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,6EAI/B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,wBAAwB,aAKnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,QAAQ,CAiBnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAS7E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAOzD;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI,CASN"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resource Builder
|
|
3
|
-
*
|
|
4
|
-
* Standardized resource attributes for all Superblocks services.
|
|
5
|
-
*
|
|
6
|
-
* CRITICAL: Resource Attributes vs Span Attributes
|
|
7
|
-
*
|
|
8
|
-
* `service.name`, `service.version`, and `deployment.environment.name` MUST be set as
|
|
9
|
-
* **resource attributes** (once, at SDK initialization), NOT as span attributes (per-span).
|
|
10
|
-
*
|
|
11
|
-
* - Resource attributes: Set once, inherited by all spans/metrics/logs
|
|
12
|
-
* - Span attributes: Set per-span, for request-specific data
|
|
13
|
-
*/
|
|
14
|
-
import { resourceFromAttributes, defaultResource, } from "@opentelemetry/resources";
|
|
15
|
-
import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, } from "@opentelemetry/semantic-conventions";
|
|
16
|
-
/** Re-export for use in log/trace attribute keys (e.g. server logger base). */
|
|
17
|
-
export { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION };
|
|
18
|
-
/** OTEL semantic convention for deployment environment. */
|
|
19
|
-
const ATTR_DEPLOYMENT_ENVIRONMENT_NAME = "deployment.environment.name";
|
|
20
|
-
/**
|
|
21
|
-
* Required RESOURCE attributes for correlation.
|
|
22
|
-
* These must NOT be added as span attributes (they're inherited from resource).
|
|
23
|
-
*/
|
|
24
|
-
export const REQUIRED_RESOURCE_ATTRIBUTES = [
|
|
25
|
-
"service.name",
|
|
26
|
-
"service.version",
|
|
27
|
-
"deployment.environment.name",
|
|
28
|
-
];
|
|
29
|
-
/**
|
|
30
|
-
* Attributes that should NEVER be set at span level (use resource instead).
|
|
31
|
-
* Used by linting/validation to catch misuse.
|
|
32
|
-
*/
|
|
33
|
-
export const RESOURCE_ONLY_ATTRIBUTES = new Set([
|
|
34
|
-
"service.name",
|
|
35
|
-
"service.version",
|
|
36
|
-
"deployment.environment.name",
|
|
37
|
-
"superblocks.environment",
|
|
38
|
-
]);
|
|
39
|
-
/**
|
|
40
|
-
* Superblocks namespace for custom resource attributes.
|
|
41
|
-
*/
|
|
42
|
-
export const SUPERBLOCKS_NAMESPACE = "superblocks";
|
|
43
|
-
/**
|
|
44
|
-
* Build standardized resource for a Superblocks service.
|
|
45
|
-
*
|
|
46
|
-
* IMPORTANT: These are RESOURCE attributes (set once at init), not span attributes.
|
|
47
|
-
* They are inherited by ALL telemetry from this SDK instance.
|
|
48
|
-
*
|
|
49
|
-
* Semantic conventions used:
|
|
50
|
-
* - service.name (required)
|
|
51
|
-
* - service.version (required)
|
|
52
|
-
* - deployment.environment.name (required)
|
|
53
|
-
* - superblocks.* (custom namespace)
|
|
54
|
-
*
|
|
55
|
-
* @param config - Service configuration
|
|
56
|
-
* @returns Resource with standardized attributes
|
|
57
|
-
*/
|
|
58
|
-
export function buildResource(config) {
|
|
59
|
-
const baseAttributes = {
|
|
60
|
-
// OTEL semantic conventions — RESOURCE level, not span level
|
|
61
|
-
[ATTR_SERVICE_NAME]: config.serviceName,
|
|
62
|
-
[ATTR_SERVICE_VERSION]: config.serviceVersion,
|
|
63
|
-
[ATTR_DEPLOYMENT_ENVIRONMENT_NAME]: config.environment,
|
|
64
|
-
// Superblocks namespace for compatibility
|
|
65
|
-
[`${SUPERBLOCKS_NAMESPACE}.environment`]: config.environment,
|
|
66
|
-
};
|
|
67
|
-
return defaultResource().merge(resourceFromAttributes({
|
|
68
|
-
...baseAttributes,
|
|
69
|
-
...config.resourceAttributes,
|
|
70
|
-
}));
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Derive a resource identical to `base` but with a different `service.name`.
|
|
74
|
-
*
|
|
75
|
-
* Used to emit a subset of a service's spans under a secondary service identity
|
|
76
|
-
* (e.g. server LLM-Obs spans under `superblocks-ai-code-gen`) while every other
|
|
77
|
-
* resource attribute — version, environment, superblocks.* — is inherited.
|
|
78
|
-
* Datadog maps the OTel resource `service.name` to LLM-Obs `ml_app`, so this is
|
|
79
|
-
* the only sanctioned way to change `ml_app` for those spans. See APPS-5082.
|
|
80
|
-
*
|
|
81
|
-
* @param base - Resource to derive from (not mutated)
|
|
82
|
-
* @param serviceName - Service name to apply
|
|
83
|
-
* @returns A new resource with the overridden service.name
|
|
84
|
-
*/
|
|
85
|
-
export function withServiceName(base, serviceName) {
|
|
86
|
-
if (!serviceName?.trim()) {
|
|
87
|
-
throw new Error("[Telemetry] withServiceName: serviceName must be a non-empty string");
|
|
88
|
-
}
|
|
89
|
-
return base.merge(resourceFromAttributes({ [ATTR_SERVICE_NAME]: serviceName }));
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Validate that a resource has all required attributes.
|
|
93
|
-
*
|
|
94
|
-
* @param resource - Resource to validate
|
|
95
|
-
* @throws Error if missing required attributes
|
|
96
|
-
*/
|
|
97
|
-
export function validateResource(resource) {
|
|
98
|
-
const attributes = resource.attributes;
|
|
99
|
-
for (const attr of REQUIRED_RESOURCE_ATTRIBUTES) {
|
|
100
|
-
if (!attributes[attr]) {
|
|
101
|
-
throw new Error(`Missing required resource attribute: ${attr}`);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Assert that span attributes don't include resource-only attributes.
|
|
107
|
-
* Throws an error if resource-only attributes are present.
|
|
108
|
-
* For use in linting/CI or development mode.
|
|
109
|
-
*
|
|
110
|
-
* @param spanAttrs - Span attributes to validate
|
|
111
|
-
* @throws Error if resource-only attributes are present
|
|
112
|
-
*/
|
|
113
|
-
export function assertNoResourceAttributes(spanAttrs) {
|
|
114
|
-
for (const key of Object.keys(spanAttrs)) {
|
|
115
|
-
if (RESOURCE_ONLY_ATTRIBUTES.has(key)) {
|
|
116
|
-
throw new Error(`Attribute '${key}' should be a RESOURCE attribute, not a span attribute. ` +
|
|
117
|
-
`Set it in ResourceConfig at SDK init, not per-span.`);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
//# sourceMappingURL=resource.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/common/resource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,sBAAsB,EACtB,eAAe,GAEhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAI7C,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAEnD,2DAA2D;AAC3D,MAAM,gCAAgC,GAAG,6BAA6B,CAAC;AAEvE;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,cAAc;IACd,iBAAiB;IACjB,6BAA6B;CACrB,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IAC9C,cAAc;IACd,iBAAiB;IACjB,6BAA6B;IAC7B,yBAAyB;CAC1B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,MAA2B;IACvD,MAAM,cAAc,GAAe;QACjC,6DAA6D;QAC7D,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW;QACvC,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,cAAc;QAC7C,CAAC,gCAAgC,CAAC,EAAE,MAAM,CAAC,WAAW;QAEtD,0CAA0C;QAC1C,CAAC,GAAG,qBAAqB,cAAc,CAAC,EAAE,MAAM,CAAC,WAAW;KAC7D,CAAC;IAEF,OAAO,eAAe,EAAE,CAAC,KAAK,CAC5B,sBAAsB,CAAC;QACrB,GAAG,cAAc;QACjB,GAAG,MAAM,CAAC,kBAAkB;KAC7B,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc,EAAE,WAAmB;IACjE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CACf,sBAAsB,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAkB;IACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,4BAA4B,EAAE,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,SAAkC;IAElC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,cAAc,GAAG,0DAA0D;gBACzE,qDAAqD,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|