@wizeworks/lens-node 0.3.0-alpha.4 → 0.3.0-alpha.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.
@@ -1 +1 @@
1
- {"version":3,"file":"libraries.d.ts","sourceRoot":"","sources":["../../src/auto/libraries.ts"],"names":[],"mappings":"AAiHA,gIAAgI;AAChI,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
1
+ {"version":3,"file":"libraries.d.ts","sourceRoot":"","sources":["../../src/auto/libraries.ts"],"names":[],"mappings":"AA2HA,gIAAgI;AAChI,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
@@ -5,7 +5,7 @@ import { instrumentMongoDb } from "../adapters/mongodb.js";
5
5
  import { instrumentMysql2 } from "../adapters/mysql2.js";
6
6
  import { instrumentPg } from "../adapters/pg.js";
7
7
  import { instrumentRedis } from "../adapters/redis.js";
8
- import { instrumentGraphql, traceGraphqlFunction } from "../graphql/index.js";
8
+ import { instrumentGraphql, traceGraphqlChannels, traceGraphqlFunction } from "../graphql/index.js";
9
9
  import { instrumentGrpc } from "../grpc/index.js";
10
10
  import { instrumentBunyan } from "../logs/bunyan.js";
11
11
  import { instrumentPino } from "../logs/pino.js";
@@ -52,7 +52,15 @@ const DATABASES = [
52
52
  ["ioredis", () => onLoad(nm("ioredis/built/index.js"), (mod) => void instrumentIoRedis(autoHandle, mod))],
53
53
  ["redis", () => onLoad(nm("@redis/client/dist/lib/client/index.js"), (mod) => void instrumentRedis(autoHandle, mod))],
54
54
  ["mongodb", () => onLoad(nm("mongodb/lib/collection.js"), (mod) => void instrumentMongoDb(autoHandle, mod))],
55
- ["elasticsearch", () => onLoad(nm("@elastic/transport/lib/Transport.js"), (mod) => void instrumentElasticsearch(autoHandle, mod))],
55
+ [
56
+ "elasticsearch",
57
+ () => {
58
+ onLoad(nm("@elastic/transport/lib/Transport.js"), (mod) => void instrumentElasticsearch(autoHandle, mod));
59
+ // The 9.x client imports the transport's ES module build in ES module apps.
60
+ onEsm(esmPatch(nm("@elastic/transport/esm/Transport.js"), "elastic-transport", "Transport"));
61
+ onEsmBinding("elastic-transport", (Transport) => void instrumentElasticsearch(autoHandle, Transport));
62
+ },
63
+ ],
56
64
  ];
57
65
  /** BullMQ's ES build keeps each class in its own file. */
58
66
  const BULLMQ_ESM = [["queue", "Queue"], ["worker", "Worker"], ["flow-producer", "FlowProducer"]];
@@ -84,8 +92,10 @@ const GRAPHQL_FILES = [
84
92
  ["graphql/subscription/subscribe.js", "graphql/subscription/subscribe.mjs", "subscribe"],
85
93
  ["@graphql-tools/executor/cjs/execution/normalizedExecutor.js", "@graphql-tools/executor/esm/execution/normalizedExecutor.js", "normalizedExecutor"],
86
94
  ];
87
- /** GraphQL: CommonJS builds are patched on load; ES module builds hand over the function. */
95
+ /** GraphQL: 17 and later through their tracing channels; older CommonJS builds are patched on load, ES module builds hand over the function. */
88
96
  function hookGraphql() {
97
+ traceGraphqlChannels(autoHandle);
98
+ onLoad(nm("graphql/diagnostics.js"), () => void traceGraphqlChannels(autoHandle));
89
99
  for (const [cjs, esm, binding] of GRAPHQL_FILES) {
90
100
  const id = `graphql-${binding}`;
91
101
  onLoad(nm(cjs), (mod) => void instrumentGraphql(autoHandle, mod));
@@ -1 +1 @@
1
- {"version":3,"file":"libraries.js","sourceRoot":"","sources":["../../src/auto/libraries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libraries.js","sourceRoot":"","sources":["../../src/auto/libraries.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nest.d.ts","sourceRoot":"","sources":["../../src/frameworks/nest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAO,QAAQ,EAAE,MAAM,aAAa,CAAC;AAqBjD,MAAM,WAAW,WAAW;IAC1B,iJAAiJ;IACjJ,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgBD,4KAA4K;AAC5K,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAE9C,YAAY,GAAG,CAAC,EAAE,OAAO,EAExB;IAED,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAQlD;CACF;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CASlD;AASD,8IAA8I;AAC9I,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAMnG"}
1
+ {"version":3,"file":"nest.d.ts","sourceRoot":"","sources":["../../src/frameworks/nest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAO,QAAQ,EAAE,MAAM,aAAa,CAAC;AAqBjD,MAAM,WAAW,WAAW;IAC1B,iJAAiJ;IACjJ,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAiBD,4KAA4K;AAC5K,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAE9C,YAAY,GAAG,CAAC,EAAE,OAAO,EAExB;IAED,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAQlD;CACF;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CASlD;AASD,8IAA8I;AAC9I,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAMnG"}
@@ -4,7 +4,8 @@ import { setFallbackRoute } from "../request-naming.js";
4
4
  import { wizelensFastify } from "./fastify.js";
5
5
  import { hookExceptionFilters, rawRequest, recordNestError, tapErrors } from "./nest-errors.js";
6
6
  import { nestRoute, versionsOf } from "./nest-route.js";
7
- const INSTALLED = Symbol.for("wizeworks.wizelens.nest");
7
+ // Apps already hooked. A set, not a mark on the app: NestFactory returns a Proxy that refuses new properties.
8
+ const installed = new WeakSet();
8
9
  /** Controller, handler, version, and the metadata route of the handler that answers this request. */
9
10
  function describeHandler(span, ctx, app, path) {
10
11
  const controller = ctx.getClass().name;
@@ -42,9 +43,9 @@ export function addNestHooks(app) {
42
43
  const a = app;
43
44
  if (!a || typeof a.useGlobalInterceptors !== "function")
44
45
  return false;
45
- if (a[INSTALLED])
46
+ if (installed.has(a))
46
47
  return true;
47
- a[INSTALLED] = true;
48
+ installed.add(a);
48
49
  a.useGlobalInterceptors(new WizeLensNestInterceptor(a));
49
50
  const filters = a.routesResolver?.routerExceptionsFilter;
50
51
  if (filters)
@@ -64,7 +65,7 @@ export function instrumentNest(wizelens, app, options = {}) {
64
65
  const a = app;
65
66
  if (!captureOf(wizelens) || !a || typeof a.useGlobalInterceptors !== "function")
66
67
  return false;
67
- if (a[INSTALLED])
68
+ if (installed.has(a))
68
69
  return true;
69
70
  if (options.capture !== false)
70
71
  addCapture(wizelens, a);
@@ -1 +1 @@
1
- {"version":3,"file":"nest.js","sourceRoot":"","sources":["../../src/frameworks/nest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAA+C,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAuBrG,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAExD,qGAAqG;AACrG,SAAS,eAAe,CAAC,IAAc,EAAE,GAAyB,EAAE,GAA4B,EAAE,IAAY;IAC5G,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;IACvC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;IACtC,IAAI,UAAU;QAAE,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IACjE,IAAI,OAAO;QAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,IAAI,OAAO;QAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,KAAK;QAAE,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,4KAA4K;AAC5K,MAAM,OAAO,uBAAuB;IACjB,GAAG,CAA0B;IAE9C,YAAY,GAAa;QACvB,IAAI,CAAC,GAAG,GAAG,GAA8B,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,OAAgB,EAAE,IAAa;QACvC,MAAM,GAAG,GAAG,OAA+B,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAuB,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrG,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChD,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3C,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAE,GAAW,CAAC,WAAW,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QACzF,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,oFAAoF;AACpF,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,MAAM,CAAC,GAAG,GAAiE,CAAC;IAC5E,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,qBAAqB,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACtE,IAAI,CAAC,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,qBAAqB,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,CAAC,CAAC,cAAc,EAAE,sBAAsB,CAAC;IACzD,IAAI,OAAO;QAAE,oBAAoB,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAW,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wGAAwG;AACxG,SAAS,UAAU,CAAC,QAAkB,EAAE,GAAgB;IACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;IACrD,IAAI,QAAQ,KAAK,SAAS;QAAE,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SACtD,IAAI,QAAQ,KAAK,SAAS;QAAE,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,8IAA8I;AAC9I,MAAM,UAAU,cAAc,CAAC,QAAkB,EAAE,GAAY,EAAE,OAAO,GAAgB,EAAE;IACxF,MAAM,CAAC,GAAG,GAAqC,CAAC;IAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,qBAAqB,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9F,IAAK,CAA6B,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;QAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"nest.js","sourceRoot":"","sources":["../../src/frameworks/nest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { CaptureDeps } from "../request-capture.js";
2
+ import { type GraphqlOptions } from "./shared.js";
3
+ /** Listen to graphql 17's operation channels, once per instance. False when the context storage is not WizeLens's own. */
4
+ export declare function subscribeGraphqlChannels(d: CaptureDeps, options: GraphqlOptions): boolean;
5
+ //# sourceMappingURL=channels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../src/graphql/channels.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMzD,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,aAAa,CAAC;AAkChE,0HAA0H;AAC1H,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAczF"}
@@ -0,0 +1,56 @@
1
+ // graphql 17 announces each operation on a tracing channel ("graphql:execute"), for CommonJS and ES module apps alike.
2
+ import { tracingChannel } from "node:diagnostics_channel";
3
+ import { ROOT_CONTEXT, SpanKind, trace } from "@opentelemetry/api";
4
+ import { addOperation } from "../request-naming.js";
5
+ import { currentServerSpan, recordOn } from "../spans.js";
6
+ import { contextStorage } from "../tracing.js";
7
+ import { endpointPartOf, operationAttributes, operationOf, recordResultErrors, spanNameOf } from "./operation.js";
8
+ import { hookResolvers } from "./resolvers.js";
9
+ import { IN_OPERATION } from "./shared.js";
10
+ const CHANNELS = ["graphql:execute", "graphql:subscribe"];
11
+ const subscribed = new WeakSet();
12
+ const spans = new WeakMap();
13
+ /** Start the operation span, and return the context its work runs in (so database calls nest under it). */
14
+ function startOperation(d, options, msg) {
15
+ const parent = contextStorage()?.getStore();
16
+ if (!parent || !trace.getSpan(parent) || parent.getValue(IN_OPERATION) || !msg.document)
17
+ return parent;
18
+ const op = operationOf(msg);
19
+ const span = d.tracer.startSpan(spanNameOf(op), { kind: SpanKind.INTERNAL, attributes: operationAttributes(op, msg, options.document !== false) }, parent);
20
+ spans.set(msg, span);
21
+ const server = currentServerSpan();
22
+ if (server)
23
+ addOperation(server, endpointPartOf(op));
24
+ hookResolvers(d.tracer, msg.schema, options);
25
+ return trace.setSpan(parent, span).setValue(IN_OPERATION, true);
26
+ }
27
+ function finish(msg) {
28
+ const span = spans.get(msg);
29
+ if (!span)
30
+ return;
31
+ spans.delete(msg);
32
+ if (msg.error !== undefined)
33
+ recordOn(span, msg.error);
34
+ else
35
+ recordResultErrors(span, msg.result);
36
+ span.end();
37
+ }
38
+ /** Listen to graphql 17's operation channels, once per instance. False when the context storage is not WizeLens's own. */
39
+ export function subscribeGraphqlChannels(d, options) {
40
+ const storage = contextStorage();
41
+ if (!storage)
42
+ return false;
43
+ if (subscribed.has(d))
44
+ return true;
45
+ subscribed.add(d);
46
+ for (const name of CHANNELS) {
47
+ const channel = tracingChannel(name);
48
+ channel.start.bindStore(storage, (msg) => startOperation(d, options, msg) ?? ROOT_CONTEXT);
49
+ const done = (m) => finish(m);
50
+ // A sync result or throw arrives with `end`; a promise's with `asyncEnd`.
51
+ const settled = (m) => "result" in m || "error" in m;
52
+ channel.subscribe({ start: () => undefined, end: (m) => void (settled(m) && done(m)), asyncStart: () => undefined, asyncEnd: done, error: () => undefined });
53
+ }
54
+ return true;
55
+ }
56
+ //# sourceMappingURL=channels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/graphql/channels.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export type { GraphqlOptions } from "./shared.js";
6
6
  export declare function traceOperation(d: CaptureDeps, options: GraphqlOptions, original: Method): Method;
7
7
  /** Trace graphql-js 16+ operations (Apollo, Yoga, Mercurius, Nest): `instrumentGraphql(wizelens, graphql)` before the server is made. False when nothing was patched. */
8
8
  export declare function instrumentGraphql(wizelens: WizeLens, graphql: unknown, options?: GraphqlOptions): boolean;
9
+ /** Trace graphql 17+ through its tracing channels only: for the auto install, before graphql loads. False when tracing is off. */
10
+ export declare function traceGraphqlChannels(wizelens: WizeLens, options?: GraphqlOptions): boolean;
9
11
  /** One graphql-js function, traced. For an ES module build, whose bindings cannot be patched from outside. */
10
12
  export declare function traceGraphqlFunction(wizelens: WizeLens, fn: unknown, options?: GraphqlOptions): Method | undefined;
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graphql/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAa,KAAK,cAAc,EAAgB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAExF,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,4GAA4G;AAC5G,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoBhG;AAuBD,yKAAyK;AACzK,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAW7G;AAED,8GAA8G;AAC9G,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,GAAG,SAAS,CAMtH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graphql/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,OAAO,EAAa,KAAK,cAAc,EAAgB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAExF,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,4GAA4G;AAC5G,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoBhG;AA0BD,yKAAyK;AACzK,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAY7G;AAED,kIAAkI;AAClI,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAG9F;AAED,8GAA8G;AAC9G,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,GAAG,SAAS,CAMtH"}
@@ -4,6 +4,7 @@ import { captureOf, patchMethod } from "../adapters/registry.js";
4
4
  import { addOperation } from "../request-naming.js";
5
5
  import { currentServerSpan, recordOn } from "../spans.js";
6
6
  import { callOf, endpointPartOf, operationAttributes, operationOf, recordResultErrors, spanNameOf } from "./operation.js";
7
+ import { subscribeGraphqlChannels } from "./channels.js";
7
8
  import { hookResolvers } from "./resolvers.js";
8
9
  import { afterCall, IN_OPERATION } from "./shared.js";
9
10
  const require = createRequire(import.meta.url);
@@ -53,13 +54,16 @@ function holderOf(target, name) {
53
54
  }
54
55
  return null;
55
56
  }
57
+ /** graphql 17 and later publish "graphql:execute". */
58
+ const isChannelVersion = (graphql) => Number(String(graphql.version ?? "").split(".")[0]) >= 17;
56
59
  const isWrapped = (fn) => typeof fn === "function" && fn[Symbol.for(`wizeworks.wizelens.${KIND}`)] === true;
57
60
  /** Trace graphql-js 16+ operations (Apollo, Yoga, Mercurius, Nest): `instrumentGraphql(wizelens, graphql)` before the server is made. False when nothing was patched. */
58
61
  export function instrumentGraphql(wizelens, graphql, options = {}) {
59
62
  const d = captureOf(wizelens);
60
63
  if (!d || !graphql || typeof graphql !== "object")
61
64
  return false;
62
- let done = false;
65
+ // graphql 17 and later announce operations on tracing channels; the patch below then finds nothing to do, or is skipped inside.
66
+ let done = isChannelVersion(graphql) && subscribeGraphqlChannels(d, options);
63
67
  for (const name of ENTRY_POINTS) {
64
68
  const holder = holderOf(graphql, name);
65
69
  if (!holder)
@@ -71,6 +75,11 @@ export function instrumentGraphql(wizelens, graphql, options = {}) {
71
75
  }
72
76
  return done;
73
77
  }
78
+ /** Trace graphql 17+ through its tracing channels only: for the auto install, before graphql loads. False when tracing is off. */
79
+ export function traceGraphqlChannels(wizelens, options = {}) {
80
+ const d = captureOf(wizelens);
81
+ return !!d && subscribeGraphqlChannels(d, options);
82
+ }
74
83
  /** One graphql-js function, traced. For an ES module build, whose bindings cannot be patched from outside. */
75
84
  export function traceGraphqlFunction(wizelens, fn, options = {}) {
76
85
  const d = captureOf(wizelens);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graphql/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graphql/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Span, Trace } from "@wizeworks/lens-core";
2
+ import type { WizeLens } from "../types.js";
3
+ export declare const REAL: boolean;
4
+ export declare const REAL_URLS: {
5
+ redis: string;
6
+ mongo: string;
7
+ elastic: string;
8
+ sqs: string;
9
+ };
10
+ /** A fresh in-memory instance for one test file. */
11
+ export declare const realLens: (name: string) => WizeLens;
12
+ /** A name no other run uses, for keys, collections, indexes, and queues. */
13
+ export declare const unique: (prefix: string) => string;
14
+ /** Run `work` inside one real request to an Express app, and return that request's trace once it is stored. */
15
+ export declare function inRequest(wizelens: WizeLens, work: () => Promise<unknown>): Promise<Trace>;
16
+ /** The first stored trace that matches, waiting up to five seconds for late spans. */
17
+ export declare function traceOf(wizelens: WizeLens, match: (t: Trace) => boolean, settleMs?: number): Promise<Trace>;
18
+ /** The trace's spans of one category, oldest first. */
19
+ export declare const spansOf: (t: Trace, category: string) => Span[];
20
+ //# sourceMappingURL=real.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"real.d.ts","sourceRoot":"","sources":["../../src/real/real.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,eAAO,MAAM,IAAI,SAAyC,CAAC;AAE3D,eAAO,MAAM,SAAS;IACpB,KAAK;IACL,KAAK;IACL,OAAO;IACP,GAAG;CACJ,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,QAAmF,CAAC;AAE5H,4EAA4E;AAC5E,eAAO,MAAM,MAAM,WAAY,MAAM,KAAG,MAA8F,CAAC;AAEvI,+GAA+G;AAC/G,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAUhG;AAED,sFAAsF;AACtF,wBAAsB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,EAAE,QAAQ,SAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAU9G;AAED,uDAAuD;AACvD,eAAO,MAAM,OAAO,MAAO,KAAK,YAAY,MAAM,KAAG,IAAI,EAA0F,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { createWizeLens } from "../wizelens.js";
2
+ import { startApp } from "../test/helpers.js";
3
+ export const REAL = process.env.WIZELENS_TEST_REAL === "1";
4
+ export const REAL_URLS = {
5
+ redis: process.env.WIZELENS_TEST_REDIS ?? "redis://127.0.0.1:6379",
6
+ mongo: process.env.WIZELENS_TEST_MONGO ?? "mongodb://127.0.0.1:27017",
7
+ elastic: process.env.WIZELENS_TEST_ELASTIC ?? "http://127.0.0.1:9200",
8
+ sqs: process.env.WIZELENS_TEST_SQS ?? "http://127.0.0.1:9324",
9
+ };
10
+ /** A fresh in-memory instance for one test file. */
11
+ export const realLens = (name) => createWizeLens({ serviceName: name, storage: "memory", enabled: true });
12
+ /** A name no other run uses, for keys, collections, indexes, and queues. */
13
+ export const unique = (prefix) => `${prefix}${Date.now().toString(36)}${Math.floor(Math.random() * 1e6).toString(36)}`;
14
+ /** Run `work` inside one real request to an Express app, and return that request's trace once it is stored. */
15
+ export async function inRequest(wizelens, work) {
16
+ const path = `/${unique("go")}`;
17
+ const app = await startApp(wizelens, (a) => a.get(path, (_req, res, next) => void work().then(() => res.send("ok"), next)));
18
+ try {
19
+ const res = await fetch(`${app.base}${path}`);
20
+ if (!res.ok)
21
+ throw new Error(`the request failed with ${res.status}: ${await res.text()}`);
22
+ return await traceOf(wizelens, (t) => t.spans.some((s) => s.kind === "server" && s.name.endsWith(path)));
23
+ }
24
+ finally {
25
+ await app.close();
26
+ }
27
+ }
28
+ /** The first stored trace that matches, waiting up to five seconds for late spans. */
29
+ export async function traceOf(wizelens, match, settleMs = 150) {
30
+ for (let i = 0; i < 50; i++) {
31
+ const t = wizelens.store.all().find(match);
32
+ if (t) {
33
+ await new Promise((r) => setTimeout(r, settleMs));
34
+ return wizelens.store.all().find(match);
35
+ }
36
+ await new Promise((r) => setTimeout(r, 100));
37
+ }
38
+ throw new Error("no matching trace was stored");
39
+ }
40
+ /** The trace's spans of one category, oldest first. */
41
+ export const spansOf = (t, category) => t.spans.filter((s) => s.category === category).sort((a, b) => a.startMs - b.startMs);
42
+ //# sourceMappingURL=real.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"real.js","sourceRoot":"","sources":["../../src/real/real.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { IncomingMessage, ServerResponse } from "node:http";
2
2
  import type { LogWriter } from "./logger.js";
3
- import type { Next } from "./types.js";
3
+ import type { Next, UserOptions } from "./types.js";
4
4
  /** Tag the running request. A tag without a value is stored as `true`. */
5
5
  export declare function tag(key: string, value?: string): void;
6
- /** Set `enduser.id` on the running request. */
7
- export declare function setUser(id: string): void;
6
+ /** Set `enduser.id`, and `user.full_name` when a name is given, on the running request. */
7
+ export declare function setUser(id: string, options?: UserOptions): void;
8
8
  /** Record an exception on the innermost active span. */
9
9
  export declare function recordException(err: unknown): void;
10
10
  /** Express error middleware: records the error on the request span and as an error log. */
@@ -1 +1 @@
1
- {"version":3,"file":"request-api.d.ts","sourceRoot":"","sources":["../src/request-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,0EAA0E;AAC1E,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAGrD;AAED,+CAA+C;AAC/C,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAExC;AAED,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAGlD;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAChC,OAAO,OAAO,eAAe,QAAQ,cAAc,QAAQ,IAAI,KAAG,IAAI,CAM5G"}
1
+ {"version":3,"file":"request-api.d.ts","sourceRoot":"","sources":["../src/request-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEpD,0EAA0E;AAC1E,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAGrD;AAED,2FAA2F;AAC3F,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAMnE;AAED,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAGlD;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAChC,OAAO,OAAO,eAAe,QAAQ,cAAc,QAAQ,IAAI,KAAG,IAAI,CAM5G"}
@@ -1,4 +1,4 @@
1
- import { TAG_PREFIX } from "@wizeworks/lens-core";
1
+ import { ATTR_ENDUSER, ATTR_USER_NAME, TAG_PREFIX } from "@wizeworks/lens-core";
2
2
  import { requestSpan } from "./capture.js";
3
3
  import { activeSpan, currentServerSpan, recordOn } from "./spans.js";
4
4
  /** Tag the running request. A tag without a value is stored as `true`. */
@@ -7,10 +7,15 @@ export function tag(key, value) {
7
7
  if (k)
8
8
  currentServerSpan()?.setAttribute(`${TAG_PREFIX}${k}`, value ?? true);
9
9
  }
10
- /** Set `enduser.id` on the running request. */
11
- export function setUser(id) {
12
- if (id)
13
- currentServerSpan()?.setAttribute("enduser.id", id);
10
+ /** Set `enduser.id`, and `user.full_name` when a name is given, on the running request. */
11
+ export function setUser(id, options = {}) {
12
+ const span = id ? currentServerSpan() : undefined;
13
+ if (!span)
14
+ return;
15
+ span.setAttribute(ATTR_ENDUSER, id);
16
+ const name = options.name?.trim();
17
+ if (name)
18
+ span.setAttribute(ATTR_USER_NAME, name.slice(0, 200));
14
19
  }
15
20
  /** Record an exception on the innermost active span. */
16
21
  export function recordException(err) {
@@ -1 +1 @@
1
- {"version":3,"file":"request-api.js","sourceRoot":"","sources":["../src/request-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGrE,0EAA0E;AAC1E,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,KAAc;IAC7C,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,CAAC;QAAE,iBAAiB,EAAE,EAAE,YAAY,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,IAAI,EAAE;QAAE,iBAAiB,EAAE,EAAE,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,IAAI,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,qBAAqB,CAAC,KAAgB,EAAE,OAAe;IACrE,OAAO,SAAS,eAAe,CAAC,GAAY,EAAE,GAAoB,EAAE,IAAoB,EAAE,IAAU;QAClG,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;QAC9C,IAAI,IAAI;YAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"request-api.js","sourceRoot":"","sources":["../src/request-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGrE,0EAA0E;AAC1E,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,KAAc;IAC7C,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,CAAC;QAAE,iBAAiB,EAAE,EAAE,YAAY,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,OAAO,CAAC,EAAU,EAAE,OAAO,GAAgB,EAAE;IAC3D,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAClC,IAAI,IAAI;QAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,IAAI,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,qBAAqB,CAAC,KAAgB,EAAE,OAAe;IACrE,OAAO,SAAS,eAAe,CAAC,GAAY,EAAE,GAAoB,EAAE,IAAoB,EAAE,IAAU;QAClG,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;QAC9C,IAAI,IAAI;YAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type Express } from "express";
2
+ import { type Span } from "@wizeworks/lens-core";
3
+ import type { WizeLens } from "../types.js";
4
+ export interface Running {
5
+ base: string;
6
+ close(): Promise<void>;
7
+ }
8
+ export declare function fakeSpan(traceId: string, startMs: number, attributes?: Span["attributes"]): Span;
9
+ /** An Express app with WizeLens mounted first and its error middleware last. */
10
+ export declare function startApp(wizelens: WizeLens, routes: (app: Express) => void): Promise<Running>;
11
+ /** A fake downstream service: says it has WizeLens data and serves one span for any trace. */
12
+ export declare function startRemote(): Promise<Running>;
13
+ export declare function getJson<T>(url: string): Promise<T>;
14
+ export declare const settle: () => Promise<unknown>;
15
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/test/helpers.ts"],"names":[],"mappings":"AAEA,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,IAAI,CAAC,YAAY,CAAM,GAAG,IAAI,CAgBpG;AAQD,gFAAgF;AAChF,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAMnG;AAED,8FAA8F;AAC9F,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAgBpD;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAExD;AAED,eAAO,MAAM,MAAM,wBAA8C,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { createServer } from "node:http";
2
+ import express, {} from "express";
3
+ import { newSpanId } from "@wizeworks/lens-core";
4
+ export function fakeSpan(traceId, startMs, attributes = {}) {
5
+ return {
6
+ traceId,
7
+ spanId: newSpanId(),
8
+ parentSpanId: null,
9
+ name: "x",
10
+ kind: "server",
11
+ category: "http.server",
12
+ service: "s",
13
+ startMs,
14
+ durationMs: 1,
15
+ status: "unset",
16
+ statusMessage: null,
17
+ attributes,
18
+ events: [],
19
+ };
20
+ }
21
+ async function listen(server) {
22
+ await new Promise((r) => server.listen(0, "127.0.0.1", r));
23
+ const base = `http://127.0.0.1:${server.address().port}`;
24
+ return { base, close: () => new Promise((r) => server.close(() => r())) };
25
+ }
26
+ /** An Express app with WizeLens mounted first and its error middleware last. */
27
+ export async function startApp(wizelens, routes) {
28
+ const app = express();
29
+ app.use(wizelens.middleware);
30
+ routes(app);
31
+ app.use(wizelens.errorMiddleware);
32
+ return listen(createServer(app));
33
+ }
34
+ /** A fake downstream service: says it has WizeLens data and serves one span for any trace. */
35
+ export async function startRemote() {
36
+ let base = "";
37
+ const server = createServer((req, res) => {
38
+ const m = /\/_wizelens\/api\/traces\/([0-9a-f]{32})/.exec(req.url ?? "");
39
+ if (m) {
40
+ const span = { ...fakeSpan(m[1], Date.now()), service: "remote-api", name: "GET /remote" };
41
+ res.writeHead(200, { "Content-Type": "application/json" });
42
+ res.end(JSON.stringify({ traceId: m[1], spans: [span], logs: [], remotes: [] }));
43
+ return;
44
+ }
45
+ res.writeHead(200, { "Content-Type": "application/json", "X-WizeLens-Endpoint": `${base}/_wizelens` });
46
+ res.end("{}");
47
+ });
48
+ const running = await listen(server);
49
+ base = running.base;
50
+ return running;
51
+ }
52
+ export async function getJson(url) {
53
+ return (await (await fetch(url)).json());
54
+ }
55
+ export const settle = () => new Promise((r) => setTimeout(r, 20));
56
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/test/helpers.ts"],"names":[],"mappings":"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"}
package/dist/tracing.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { type Tracer } from "@opentelemetry/api";
1
+ import { type Context, type Tracer } from "@opentelemetry/api";
2
+ import type { AsyncLocalStorage } from "node:async_hooks";
2
3
  import { UndiciInstrumentation } from "@opentelemetry/instrumentation-undici";
3
4
  import { BasicTracerProvider } from "@opentelemetry/sdk-trace-base";
4
5
  import type { TraceStore } from "./store.js";
@@ -9,6 +10,8 @@ export interface Tracing {
9
10
  /** Stops the node:http client tracing, when it is on. */
10
11
  stopHttp: (() => void) | undefined;
11
12
  }
13
+ /** The storage under OpenTelemetry's active context, for libraries that announce work on a tracing channel (graphql 17). */
14
+ export declare const contextStorage: () => AsyncLocalStorage<Context> | undefined;
12
15
  /** Install one ALS context manager and the W3C propagator. Apps that set their own keep them. */
13
16
  export declare function installGlobals(): void;
14
17
  export interface TracingOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,OAAO,EAAmB,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAOrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC1C,yDAAyD;IACzD,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACpC;AAID,iGAAiG;AACjG,wBAAgB,cAAc,IAAI,IAAI,CAKrC;AAgBD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,IAAI,EAAE,OAAO,CAAC;CACf;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAW/G"}
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,OAAO,EAAmB,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAOrF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC1C,yDAAyD;IACzD,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACpC;AAKD,4HAA4H;AAC5H,eAAO,MAAM,cAAc,QAAO,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAC8C,CAAC;AAE9G,iGAAiG;AACjG,wBAAgB,cAAc,IAAI,IAAI,CAMrC;AAgBD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,IAAI,EAAE,OAAO,CAAC;CACf;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAW/G"}
package/dist/tracing.js CHANGED
@@ -11,12 +11,17 @@ import { hasRequestHeader, responseHeader } from "./http-util.js";
11
11
  import { preciseProvider, preciseTracer } from "./precise.js";
12
12
  import { StoreSpanProcessor } from "./processor.js";
13
13
  let globalsInstalled = false;
14
+ let manager;
15
+ /** The storage under OpenTelemetry's active context, for libraries that announce work on a tracing channel (graphql 17). */
16
+ export const contextStorage = () => manager?._asyncLocalStorage;
14
17
  /** Install one ALS context manager and the W3C propagator. Apps that set their own keep them. */
15
18
  export function installGlobals() {
16
19
  if (globalsInstalled)
17
20
  return;
18
21
  globalsInstalled = true;
19
- context.setGlobalContextManager(new AsyncLocalStorageContextManager().enable());
22
+ manager = new AsyncLocalStorageContextManager().enable();
23
+ if (!context.setGlobalContextManager(manager))
24
+ manager = undefined;
20
25
  propagation.setGlobalPropagator(new W3CTraceContextPropagator());
21
26
  }
22
27
  function instrumentFetch(provider, onRemote) {
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAe,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAiB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAWpD,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,iGAAiG;AACjG,MAAM,UAAU,cAAc;IAC5B,IAAI,gBAAgB;QAAE,OAAO;IAC7B,gBAAgB,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,uBAAuB,CAAC,IAAI,+BAA+B,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,WAAW,CAAC,mBAAmB,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,eAAe,CAAC,QAA6B,EAAE,QAAkB;IACxE,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC;QACvC,qBAAqB,EAAE,IAAI;QAC3B,kFAAkF;QAClF,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;QAC7E,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACnE,IAAI,QAAQ;gBAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC;KACF,CAAC,CAAC;IACH,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD,0FAA0F;AAC1F,MAAM,UAAU,aAAa,CAAC,KAAiB,EAAE,CAAiB,EAAE,aAAkC;IACpG,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC;QACvC,QAAQ,EAAE,sBAAsB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACvH,OAAO,EAAE,IAAI,eAAe,EAAE;QAC9B,cAAc,EAAE,CAAC,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;KACpF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -103,6 +103,11 @@ export interface WizeLensLogger {
103
103
  child(category: string): WizeLensLogger;
104
104
  }
105
105
  export type Next = (err?: unknown) => void;
106
+ /** More about a user for `setUser`. */
107
+ export interface UserOptions {
108
+ /** A display name for the Users page (`user.full_name`). Leave it out to keep only the id; a project can also redact `user.full_name`. */
109
+ name?: string;
110
+ }
106
111
  export type Req = IncomingMessage & {
107
112
  originalUrl?: string;
108
113
  body?: unknown;
@@ -132,8 +137,8 @@ export interface WizeLens {
132
137
  recordException(err: unknown): void;
133
138
  /** Tag the current request, e.g. tag("cache", "hit") shows as "cache:hit". No-op outside a request. */
134
139
  tag(key: string, value?: string): void;
135
- /** Set the user of the current request (`enduser.id`). No-op outside a request. */
136
- setUser(id: string): void;
140
+ /** Set the user of the current request (`enduser.id`), with a display name for the Users page. No-op outside a request. */
141
+ setUser(id: string, options?: UserOptions): void;
137
142
  /** Get one trace, optionally federated across downstream services. */
138
143
  getTrace(traceId: string, federate?: boolean, hop?: number): Promise<Trace | undefined>;
139
144
  shutdown(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wizeworks/lens-node",
3
- "version": "0.3.0-alpha.4",
3
+ "version": "0.3.0-alpha.6",
4
4
  "description": "WizeLens add-on for Node.js: request timeline, outgoing HTTP, database calls, logs, errors, and an in-app dashboard.",
5
5
  "license": "MIT",
6
6
  "author": "WizeWorks LLC",
@@ -71,15 +71,20 @@
71
71
  "@opentelemetry/resources": "^2.12.0",
72
72
  "@opentelemetry/sdk-trace-base": "^2.12.0",
73
73
  "zod": "^4.6.7",
74
- "@wizeworks/lens-core": "^0.3.0-alpha.4",
75
- "@wizeworks/lens-ui": "^0.3.0-alpha.4"
74
+ "@wizeworks/lens-core": "^0.3.0-alpha.6",
75
+ "@wizeworks/lens-ui": "^0.3.0-alpha.6"
76
76
  },
77
77
  "devDependencies": {
78
+ "@aws-sdk/client-sqs": "^3.1153.0",
78
79
  "@azure/service-bus": "^7.10.0",
80
+ "@elastic/elasticsearch": "^9.5.1",
79
81
  "@grpc/grpc-js": "^1.14.6",
80
82
  "@grpc/proto-loader": "^0.8.1",
81
83
  "@hono/node-server": "^2.1.5",
82
84
  "@koa/router": "^15.7.0",
85
+ "@nestjs/common": "^12.2.0",
86
+ "@nestjs/core": "^12.2.0",
87
+ "@nestjs/platform-express": "^12.2.0",
83
88
  "@opentelemetry/api-logs": "^0.223.0",
84
89
  "@opentelemetry/sdk-logs": "^0.223.0",
85
90
  "@opentelemetry/sdk-metrics": "^2.12.0",
@@ -92,20 +97,27 @@
92
97
  "@types/node": "^24.19.2",
93
98
  "@types/pg": "^8.23.1",
94
99
  "amqplib": "^2.2.0",
100
+ "axios": "^1.20.0",
95
101
  "better-sqlite3": "^13.0.3",
102
+ "bullmq": "^6.3.19",
96
103
  "bunyan": "^1.8.15",
97
104
  "consola": "^3.4.2",
98
105
  "drizzle-orm": "^0.45.4",
99
106
  "express": "^5.3.0",
100
107
  "fastify": "^5.12.7",
108
+ "graphql": "^17.0.2",
101
109
  "hono": "^4.13.13",
110
+ "ioredis": "^6.0.0",
102
111
  "kafkajs": "^2.2.4",
103
112
  "koa": "^3.2.1",
104
113
  "log4js": "^6.9.1",
114
+ "mongodb": "^7.7.0",
105
115
  "mysql2": "^3.24.6",
106
116
  "pg": "^8.23.1",
107
117
  "pino": "^10.4.0",
118
+ "redis": "^6.3.0",
108
119
  "reflect-metadata": "^0.2.2",
120
+ "rxjs": "^7.8.2",
109
121
  "sql.js": "^1.15.0",
110
122
  "typeorm": "^1.1.2",
111
123
  "typescript": "^7.0.2",