@haatlabs-core/observability 0.12.0 → 0.12.1

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 CHANGED
@@ -16,6 +16,11 @@ not tracing is on. Metrics stay in each project.
16
16
  The metrics prefix is the project's name in snake case; a prefix with anything but lowercase
17
17
  letters, digits and underscores is refused at start.
18
18
 
19
+ **`@haatlabs-core/observability/context`** (0.12.1): `currentTraceContext` alone, on
20
+ `@opentelemetry/api` with no SDK and nothing of Node, for code a browser may also load
21
+ (`@haatlabs-core/providers/contracts`). Importing the root never throws where
22
+ `node:async_hooks` is absent either: `asService`'s scope is made on first use.
23
+
19
24
  ## Install
20
25
 
21
26
  pnpm add @haatlabs-core/observability
@@ -0,0 +1,4 @@
1
+ /** The W3C header that carries a trace from one process to the next. */
2
+ export declare const TRACEPARENT_HEADER = "traceparent";
3
+ /** The active trace as a W3C `traceparent` string, to hand to another process; null when there is none. */
4
+ export declare function currentTraceContext(): string | null;
@@ -0,0 +1,35 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var context_exports = {};
19
+ __export(context_exports, {
20
+ TRACEPARENT_HEADER: () => TRACEPARENT_HEADER,
21
+ currentTraceContext: () => currentTraceContext
22
+ });
23
+ module.exports = __toCommonJS(context_exports);
24
+ var import_api = require("@opentelemetry/api");
25
+ const TRACEPARENT_HEADER = "traceparent";
26
+ function currentTraceContext() {
27
+ const carrier = {};
28
+ import_api.propagation.inject(import_api.context.active(), carrier);
29
+ return carrier[TRACEPARENT_HEADER] ?? null;
30
+ }
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {
33
+ TRACEPARENT_HEADER,
34
+ currentTraceContext
35
+ });
@@ -1,4 +1,5 @@
1
1
  import type { SpanExporter } from '@opentelemetry/sdk-trace-node';
2
+ export { currentTraceContext } from './context.js';
2
3
  export type SpanAttributes = Record<string, string | number | boolean | null | undefined>;
3
4
  /**
4
5
  * Runs `fn`, and everything it starts (awaits, timers, queue consumers), recording spans
@@ -33,8 +34,6 @@ export declare function withSpan<T>(name: string, attributes: SpanAttributes, fn
33
34
  * is active. For what is known only once the work is done (a model call's tokens).
34
35
  */
35
36
  export declare function addSpanAttributes(attributes: SpanAttributes): void;
36
- /** The active trace as a W3C `traceparent` string, to hand to another process; null when there is none. */
37
- export declare function currentTraceContext(): string | null;
38
37
  /**
39
38
  * Runs `fn` inside a span that continues the trace named by `traceparent`. Anything
40
39
  * that is not a valid traceparent starts a new trace: a message is never refused or
@@ -19,19 +19,19 @@ var tracing_exports = {};
19
19
  __export(tracing_exports, {
20
20
  addSpanAttributes: () => addSpanAttributes,
21
21
  asService: () => asService,
22
- currentTraceContext: () => currentTraceContext,
22
+ currentTraceContext: () => import_context2.currentTraceContext,
23
23
  runWithTraceContext: () => runWithTraceContext,
24
24
  startHttpSpan: () => startHttpSpan,
25
25
  startTracing: () => startTracing,
26
26
  withSpan: () => withSpan
27
27
  });
28
28
  module.exports = __toCommonJS(tracing_exports);
29
- var import_node_async_hooks = require("node:async_hooks");
30
29
  var import_api = require("@opentelemetry/api");
31
30
  var import_exporter_trace_otlp_http = require("@opentelemetry/exporter-trace-otlp-http");
32
31
  var import_resources = require("@opentelemetry/resources");
33
32
  var import_sdk_trace_node = require("@opentelemetry/sdk-trace-node");
34
- const TRACEPARENT_HEADER = "traceparent";
33
+ var import_context = require("./context.js");
34
+ var import_context2 = require("./context.js");
35
35
  const UNMATCHED_ROUTE = "unmatched";
36
36
  const ROUTE_PATTERN = /^\/[A-Za-z0-9_\-/:.*]{0,119}$/;
37
37
  const SHARED_ATTRIBUTES = [
@@ -70,14 +70,22 @@ function allowed(attributes) {
70
70
  return kept;
71
71
  }
72
72
  let otherProviders = /* @__PURE__ */ new Map();
73
- const serviceScope = new import_node_async_hooks.AsyncLocalStorage();
73
+ let serviceScope;
74
+ function scope() {
75
+ if (serviceScope === void 0) {
76
+ const hooks = globalThis.process?.getBuiltinModule?.("node:async_hooks");
77
+ serviceScope = typeof hooks?.AsyncLocalStorage === "function" ? new hooks.AsyncLocalStorage() : null;
78
+ }
79
+ return serviceScope;
80
+ }
74
81
  const tracer = () => {
75
- const name = serviceScope.getStore();
82
+ const name = serviceScope?.getStore();
76
83
  const provider = name === void 0 ? void 0 : otherProviders.get(name);
77
84
  return provider ? provider.getTracer(tracerName) : import_api.trace.getTracer(tracerName);
78
85
  };
79
86
  function asService(serviceName, fn) {
80
- return serviceScope.run(serviceName, fn);
87
+ const store = scope();
88
+ return store ? store.run(serviceName, fn) : fn();
81
89
  }
82
90
  function startTracing(options) {
83
91
  tracerName = options.tracerName ?? options.serviceName;
@@ -126,13 +134,8 @@ function withSpan(name, attributes, fn) {
126
134
  function addSpanAttributes(attributes) {
127
135
  import_api.trace.getActiveSpan()?.setAttributes(allowed(attributes));
128
136
  }
129
- function currentTraceContext() {
130
- const carrier = {};
131
- import_api.propagation.inject(import_api.context.active(), carrier);
132
- return carrier[TRACEPARENT_HEADER] ?? null;
133
- }
134
137
  function runWithTraceContext(traceparent, name, attributes, fn) {
135
- const parent = typeof traceparent === "string" && traceparent !== "" ? import_api.propagation.extract(import_api.context.active(), { [TRACEPARENT_HEADER]: traceparent }) : import_api.context.active();
138
+ const parent = typeof traceparent === "string" && traceparent !== "" ? import_api.propagation.extract(import_api.context.active(), { [import_context.TRACEPARENT_HEADER]: traceparent }) : import_api.context.active();
136
139
  const span = tracer().startSpan(name, { attributes: allowed(attributes), kind: import_api.SpanKind.CONSUMER }, parent);
137
140
  return inSpan(span, parent, fn);
138
141
  }
@@ -0,0 +1,4 @@
1
+ /** The W3C header that carries a trace from one process to the next. */
2
+ export declare const TRACEPARENT_HEADER = "traceparent";
3
+ /** The active trace as a W3C `traceparent` string, to hand to another process; null when there is none. */
4
+ export declare function currentTraceContext(): string | null;
@@ -0,0 +1,13 @@
1
+ // The active trace as a string, and nothing else: @opentelemetry/api alone, no SDK and no
2
+ // Node built-in, so code a browser bundle may load (@haatlabs-core/providers/contracts) can read
3
+ // it. With no tracing registered (a browser) there is no active trace, and it answers null.
4
+ import { context, propagation } from '@opentelemetry/api';
5
+ /** The W3C header that carries a trace from one process to the next. */
6
+ export const TRACEPARENT_HEADER = 'traceparent';
7
+ /** The active trace as a W3C `traceparent` string, to hand to another process; null when there is none. */
8
+ export function currentTraceContext() {
9
+ const carrier = {};
10
+ propagation.inject(context.active(), carrier);
11
+ return carrier[TRACEPARENT_HEADER] ?? null;
12
+ }
13
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,4FAA4F;AAC5F,4FAA4F;AAC5F,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1D,wEAAwE;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD,2GAA2G;AAC3G,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC;AAC7C,CAAC"}
package/dist/tracing.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { SpanExporter } from '@opentelemetry/sdk-trace-node';
2
+ export { currentTraceContext } from './context.js';
2
3
  export type SpanAttributes = Record<string, string | number | boolean | null | undefined>;
3
4
  /**
4
5
  * Runs `fn`, and everything it starts (awaits, timers, queue consumers), recording spans
@@ -33,8 +34,6 @@ export declare function withSpan<T>(name: string, attributes: SpanAttributes, fn
33
34
  * is active. For what is known only once the work is done (a model call's tokens).
34
35
  */
35
36
  export declare function addSpanAttributes(attributes: SpanAttributes): void;
36
- /** The active trace as a W3C `traceparent` string, to hand to another process; null when there is none. */
37
- export declare function currentTraceContext(): string | null;
38
37
  /**
39
38
  * Runs `fn` inside a span that continues the trace named by `traceparent`. Anything
40
39
  * that is not a valid traceparent starts a new trace: a message is never refused or
package/dist/tracing.js CHANGED
@@ -1,9 +1,9 @@
1
- import { AsyncLocalStorage } from 'node:async_hooks';
2
1
  import { SpanKind, SpanStatusCode, context, propagation, trace } from '@opentelemetry/api';
3
2
  import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
4
3
  import { detectResources, envDetector, resourceFromAttributes } from '@opentelemetry/resources';
5
4
  import { BatchSpanProcessor, NodeTracerProvider, SimpleSpanProcessor, } from '@opentelemetry/sdk-trace-node';
6
- const TRACEPARENT_HEADER = 'traceparent';
5
+ import { TRACEPARENT_HEADER } from './context.js';
6
+ export { currentTraceContext } from './context.js';
7
7
  const UNMATCHED_ROUTE = 'unmatched';
8
8
  const ROUTE_PATTERN = /^\/[A-Za-z0-9_\-/:.*]{0,119}$/;
9
9
  /**
@@ -49,9 +49,23 @@ function allowed(attributes) {
49
49
  }
50
50
  /** Other services this process records spans for (a combined api's worker), by name. */
51
51
  let otherProviders = new Map();
52
- const serviceScope = new AsyncLocalStorage();
52
+ /**
53
+ * asService's scope, made on first use and never at import: where node:async_hooks is absent
54
+ * (a browser bundle that reached this module by mistake) importing it must not throw, and
55
+ * asService then just runs its function. Read through process.getBuiltinModule, so a
56
+ * bundler sees no import of a Node built-in to stub.
57
+ */
58
+ let serviceScope;
59
+ function scope() {
60
+ if (serviceScope === undefined) {
61
+ const hooks = globalThis.process?.getBuiltinModule?.('node:async_hooks');
62
+ serviceScope =
63
+ typeof hooks?.AsyncLocalStorage === 'function' ? new hooks.AsyncLocalStorage() : null;
64
+ }
65
+ return serviceScope;
66
+ }
53
67
  const tracer = () => {
54
- const name = serviceScope.getStore();
68
+ const name = serviceScope?.getStore();
55
69
  const provider = name === undefined ? undefined : otherProviders.get(name);
56
70
  return provider ? provider.getTracer(tracerName) : trace.getTracer(tracerName);
57
71
  };
@@ -62,7 +76,8 @@ const tracer = () => {
62
76
  * off, records under the process's own service.
63
77
  */
64
78
  export function asService(serviceName, fn) {
65
- return serviceScope.run(serviceName, fn);
79
+ const store = scope();
80
+ return store ? store.run(serviceName, fn) : fn();
66
81
  }
67
82
  /**
68
83
  * Turns tracing on for this process. With neither an OTLP endpoint nor an exporter it
@@ -128,12 +143,6 @@ export function withSpan(name, attributes, fn) {
128
143
  export function addSpanAttributes(attributes) {
129
144
  trace.getActiveSpan()?.setAttributes(allowed(attributes));
130
145
  }
131
- /** The active trace as a W3C `traceparent` string, to hand to another process; null when there is none. */
132
- export function currentTraceContext() {
133
- const carrier = {};
134
- propagation.inject(context.active(), carrier);
135
- return carrier[TRACEPARENT_HEADER] ?? null;
136
- }
137
146
  /**
138
147
  * Runs `fn` inside a span that continues the trace named by `traceparent`. Anything
139
148
  * that is not a valid traceparent starts a new trace: a message is never refused or
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haatlabs-core/observability",
3
- "version": "0.12.0",
3
+ "version": "0.12.1",
4
4
  "description": "OpenTelemetry tracing with allowed attributes only, and trace context across processes.",
5
5
  "keywords": [
6
6
  "haatlabs"
@@ -34,6 +34,16 @@
34
34
  "default": "./dist/cjs/index.js"
35
35
  }
36
36
  },
37
+ "./context": {
38
+ "import": {
39
+ "types": "./dist/context.d.ts",
40
+ "default": "./dist/context.js"
41
+ },
42
+ "require": {
43
+ "types": "./dist/cjs/context.d.ts",
44
+ "default": "./dist/cjs/context.js"
45
+ }
46
+ },
37
47
  "./metrics": {
38
48
  "import": {
39
49
  "types": "./dist/metrics/index.d.ts",
@@ -45,6 +55,11 @@
45
55
  }
46
56
  }
47
57
  },
58
+ "haatlabs": {
59
+ "browser": [
60
+ "./context"
61
+ ]
62
+ },
48
63
  "dependencies": {
49
64
  "@opentelemetry/api": "^1.9.1",
50
65
  "@opentelemetry/exporter-trace-otlp-http": "^0.222.0",
@@ -53,8 +68,8 @@
53
68
  },
54
69
  "devDependencies": {
55
70
  "prom-client": "^15.1.3",
56
- "@haatlabs-core/tsconfig": "0.12.0",
57
- "@haatlabs-core/vitest-config": "0.12.0"
71
+ "@haatlabs-core/tsconfig": "0.12.1",
72
+ "@haatlabs-core/vitest-config": "0.12.1"
58
73
  },
59
74
  "peerDependencies": {
60
75
  "prom-client": "^15.1.3"