@wizeworks/lens-node 0.3.0-alpha.2 → 0.3.0-alpha.4

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.
Files changed (337) hide show
  1. package/dist/adapters/elasticsearch.d.ts +21 -0
  2. package/dist/adapters/elasticsearch.d.ts.map +1 -0
  3. package/dist/adapters/elasticsearch.js +93 -0
  4. package/dist/adapters/elasticsearch.js.map +1 -0
  5. package/dist/adapters/ioredis.d.ts +4 -0
  6. package/dist/adapters/ioredis.d.ts.map +1 -0
  7. package/dist/adapters/ioredis.js +60 -0
  8. package/dist/adapters/ioredis.js.map +1 -0
  9. package/dist/adapters/mongodb-shape.d.ts +16 -0
  10. package/dist/adapters/mongodb-shape.d.ts.map +1 -0
  11. package/dist/adapters/mongodb-shape.js +81 -0
  12. package/dist/adapters/mongodb-shape.js.map +1 -0
  13. package/dist/adapters/mongodb.d.ts +4 -0
  14. package/dist/adapters/mongodb.d.ts.map +1 -0
  15. package/dist/adapters/mongodb.js +95 -0
  16. package/dist/adapters/mongodb.js.map +1 -0
  17. package/dist/adapters/nosql.d.ts +14 -0
  18. package/dist/adapters/nosql.d.ts.map +1 -0
  19. package/dist/adapters/nosql.js +61 -0
  20. package/dist/adapters/nosql.js.map +1 -0
  21. package/dist/adapters/redis-shape.d.ts +31 -0
  22. package/dist/adapters/redis-shape.d.ts.map +1 -0
  23. package/dist/adapters/redis-shape.js +80 -0
  24. package/dist/adapters/redis-shape.js.map +1 -0
  25. package/dist/adapters/redis.d.ts +4 -0
  26. package/dist/adapters/redis.d.ts.map +1 -0
  27. package/dist/adapters/redis.js +93 -0
  28. package/dist/adapters/redis.js.map +1 -0
  29. package/dist/adapters/registry.d.ts +2 -0
  30. package/dist/adapters/registry.d.ts.map +1 -1
  31. package/dist/adapters/registry.js +2 -0
  32. package/dist/adapters/registry.js.map +1 -1
  33. package/dist/api.d.ts +5 -1
  34. package/dist/api.d.ts.map +1 -1
  35. package/dist/api.js +25 -7
  36. package/dist/api.js.map +1 -1
  37. package/dist/auto/config.d.ts +14 -0
  38. package/dist/auto/config.d.ts.map +1 -0
  39. package/dist/auto/config.js +51 -0
  40. package/dist/auto/config.js.map +1 -0
  41. package/dist/auto/esm-loader.d.ts +10 -0
  42. package/dist/auto/esm-loader.d.ts.map +1 -0
  43. package/dist/auto/esm-loader.js +10 -0
  44. package/dist/auto/esm-loader.js.map +1 -0
  45. package/dist/auto/esm-source.d.ts +15 -0
  46. package/dist/auto/esm-source.d.ts.map +1 -0
  47. package/dist/auto/esm-source.js +23 -0
  48. package/dist/auto/esm-source.js.map +1 -0
  49. package/dist/auto/frameworks.d.ts +3 -0
  50. package/dist/auto/frameworks.d.ts.map +1 -0
  51. package/dist/auto/frameworks.js +112 -0
  52. package/dist/auto/frameworks.js.map +1 -0
  53. package/dist/auto/handle.d.ts +7 -0
  54. package/dist/auto/handle.d.ts.map +1 -0
  55. package/dist/auto/handle.js +47 -0
  56. package/dist/auto/handle.js.map +1 -0
  57. package/dist/auto/hono.d.ts +3 -0
  58. package/dist/auto/hono.d.ts.map +1 -0
  59. package/dist/auto/hono.js +43 -0
  60. package/dist/auto/hono.js.map +1 -0
  61. package/dist/auto/http.d.ts +18 -0
  62. package/dist/auto/http.d.ts.map +1 -0
  63. package/dist/auto/http.js +77 -0
  64. package/dist/auto/http.js.map +1 -0
  65. package/dist/auto/install.d.ts +5 -0
  66. package/dist/auto/install.d.ts.map +1 -0
  67. package/dist/auto/install.js +26 -0
  68. package/dist/auto/install.js.map +1 -0
  69. package/dist/auto/libraries.d.ts +3 -0
  70. package/dist/auto/libraries.d.ts.map +1 -0
  71. package/dist/auto/libraries.js +108 -0
  72. package/dist/auto/libraries.js.map +1 -0
  73. package/dist/auto/module-hooks.d.ts +14 -0
  74. package/dist/auto/module-hooks.d.ts.map +1 -0
  75. package/dist/auto/module-hooks.js +90 -0
  76. package/dist/auto/module-hooks.js.map +1 -0
  77. package/dist/auto/nest.d.ts +7 -0
  78. package/dist/auto/nest.d.ts.map +1 -0
  79. package/dist/auto/nest.js +26 -0
  80. package/dist/auto/nest.js.map +1 -0
  81. package/dist/auto/owner.d.ts +19 -0
  82. package/dist/auto/owner.d.ts.map +1 -0
  83. package/dist/auto/owner.js +52 -0
  84. package/dist/auto/owner.js.map +1 -0
  85. package/dist/auto/prisma.d.ts +3 -0
  86. package/dist/auto/prisma.d.ts.map +1 -0
  87. package/dist/auto/prisma.js +55 -0
  88. package/dist/auto/prisma.js.map +1 -0
  89. package/dist/auto/sqlite.d.ts +3 -0
  90. package/dist/auto/sqlite.d.ts.map +1 -0
  91. package/dist/auto/sqlite.js +31 -0
  92. package/dist/auto/sqlite.js.map +1 -0
  93. package/dist/auto/state.d.ts +14 -0
  94. package/dist/auto/state.d.ts.map +1 -0
  95. package/dist/auto/state.js +16 -0
  96. package/dist/auto/state.js.map +1 -0
  97. package/dist/auto.d.ts +2 -0
  98. package/dist/auto.d.ts.map +1 -0
  99. package/dist/auto.js +4 -0
  100. package/dist/auto.js.map +1 -0
  101. package/dist/capture.d.ts +3 -1
  102. package/dist/capture.d.ts.map +1 -1
  103. package/dist/capture.js +4 -4
  104. package/dist/capture.js.map +1 -1
  105. package/dist/client-attributes.d.ts +19 -0
  106. package/dist/client-attributes.d.ts.map +1 -0
  107. package/dist/client-attributes.js +56 -0
  108. package/dist/client-attributes.js.map +1 -0
  109. package/dist/client-spans.d.ts +6 -4
  110. package/dist/client-spans.d.ts.map +1 -1
  111. package/dist/client-spans.js +20 -9
  112. package/dist/client-spans.js.map +1 -1
  113. package/dist/db.js +1 -1
  114. package/dist/db.js.map +1 -1
  115. package/dist/frameworks/fastify.d.ts.map +1 -1
  116. package/dist/frameworks/fastify.js +4 -2
  117. package/dist/frameworks/fastify.js.map +1 -1
  118. package/dist/frameworks/hono.d.ts +16 -0
  119. package/dist/frameworks/hono.d.ts.map +1 -1
  120. package/dist/frameworks/hono.js +4 -4
  121. package/dist/frameworks/hono.js.map +1 -1
  122. package/dist/frameworks/koa.d.ts +2 -0
  123. package/dist/frameworks/koa.d.ts.map +1 -1
  124. package/dist/frameworks/koa.js +4 -4
  125. package/dist/frameworks/koa.js.map +1 -1
  126. package/dist/frameworks/nest-errors.d.ts +10 -0
  127. package/dist/frameworks/nest-errors.d.ts.map +1 -0
  128. package/dist/frameworks/nest-errors.js +75 -0
  129. package/dist/frameworks/nest-errors.js.map +1 -0
  130. package/dist/frameworks/nest-route.d.ts +31 -0
  131. package/dist/frameworks/nest-route.d.ts.map +1 -0
  132. package/dist/frameworks/nest-route.js +58 -0
  133. package/dist/frameworks/nest-route.js.map +1 -0
  134. package/dist/frameworks/nest.d.ts +16 -0
  135. package/dist/frameworks/nest.d.ts.map +1 -0
  136. package/dist/frameworks/nest.js +73 -0
  137. package/dist/frameworks/nest.js.map +1 -0
  138. package/dist/frameworks/node-server.d.ts +3 -0
  139. package/dist/frameworks/node-server.d.ts.map +1 -1
  140. package/dist/frameworks/node-server.js +5 -3
  141. package/dist/frameworks/node-server.js.map +1 -1
  142. package/dist/graphql/document.d.ts +13 -0
  143. package/dist/graphql/document.d.ts.map +1 -0
  144. package/dist/graphql/document.js +62 -0
  145. package/dist/graphql/document.js.map +1 -0
  146. package/dist/graphql/index.d.ts +11 -0
  147. package/dist/graphql/index.d.ts.map +1 -0
  148. package/dist/graphql/index.js +83 -0
  149. package/dist/graphql/index.js.map +1 -0
  150. package/dist/graphql/operation.d.ts +37 -0
  151. package/dist/graphql/operation.d.ts.map +1 -0
  152. package/dist/graphql/operation.js +58 -0
  153. package/dist/graphql/operation.js.map +1 -0
  154. package/dist/graphql/resolvers.d.ts +5 -0
  155. package/dist/graphql/resolvers.d.ts.map +1 -0
  156. package/dist/graphql/resolvers.js +79 -0
  157. package/dist/graphql/resolvers.js.map +1 -0
  158. package/dist/graphql/shared.d.ts +14 -0
  159. package/dist/graphql/shared.d.ts.map +1 -0
  160. package/dist/graphql/shared.js +21 -0
  161. package/dist/graphql/shared.js.map +1 -0
  162. package/dist/http-client.d.ts +8 -0
  163. package/dist/http-client.d.ts.map +1 -0
  164. package/dist/http-client.js +132 -0
  165. package/dist/http-client.js.map +1 -0
  166. package/dist/hub-connect.d.ts +2 -0
  167. package/dist/hub-connect.d.ts.map +1 -1
  168. package/dist/hub-connect.js +3 -1
  169. package/dist/hub-connect.js.map +1 -1
  170. package/dist/index.d.ts +12 -0
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +9 -0
  173. package/dist/index.js.map +1 -1
  174. package/dist/info.d.ts +2 -0
  175. package/dist/info.d.ts.map +1 -1
  176. package/dist/info.js +1 -1
  177. package/dist/info.js.map +1 -1
  178. package/dist/kit.d.ts +3 -1
  179. package/dist/kit.d.ts.map +1 -1
  180. package/dist/kit.js +1 -0
  181. package/dist/kit.js.map +1 -1
  182. package/dist/logger.d.ts +4 -4
  183. package/dist/logger.d.ts.map +1 -1
  184. package/dist/logger.js +11 -7
  185. package/dist/logger.js.map +1 -1
  186. package/dist/logs/bunyan.d.ts +1 -1
  187. package/dist/logs/bunyan.d.ts.map +1 -1
  188. package/dist/logs/bunyan.js +2 -3
  189. package/dist/logs/bunyan.js.map +1 -1
  190. package/dist/logs/consola.d.ts +1 -1
  191. package/dist/logs/consola.d.ts.map +1 -1
  192. package/dist/logs/consola.js +1 -1
  193. package/dist/logs/consola.js.map +1 -1
  194. package/dist/logs/console.d.ts +1 -1
  195. package/dist/logs/console.d.ts.map +1 -1
  196. package/dist/logs/console.js +5 -3
  197. package/dist/logs/console.js.map +1 -1
  198. package/dist/logs/otel.d.ts.map +1 -1
  199. package/dist/logs/otel.js +1 -3
  200. package/dist/logs/otel.js.map +1 -1
  201. package/dist/logs/pino.d.ts +1 -1
  202. package/dist/logs/pino.d.ts.map +1 -1
  203. package/dist/logs/pino.js +2 -3
  204. package/dist/logs/pino.js.map +1 -1
  205. package/dist/logs/winston.d.ts +1 -1
  206. package/dist/logs/winston.d.ts.map +1 -1
  207. package/dist/logs/winston.js +2 -3
  208. package/dist/logs/winston.js.map +1 -1
  209. package/dist/loose-logs.d.ts +13 -0
  210. package/dist/loose-logs.d.ts.map +1 -0
  211. package/dist/loose-logs.js +21 -0
  212. package/dist/loose-logs.js.map +1 -0
  213. package/dist/mcp-find.d.ts +2 -2
  214. package/dist/mcp-find.d.ts.map +1 -1
  215. package/dist/mcp-find.js +68 -26
  216. package/dist/mcp-find.js.map +1 -1
  217. package/dist/mcp-memory.d.ts +7 -0
  218. package/dist/mcp-memory.d.ts.map +1 -0
  219. package/dist/mcp-memory.js +10 -0
  220. package/dist/mcp-memory.js.map +1 -0
  221. package/dist/mcp-metrics.d.ts +2 -2
  222. package/dist/mcp-metrics.d.ts.map +1 -1
  223. package/dist/mcp-metrics.js +11 -9
  224. package/dist/mcp-metrics.js.map +1 -1
  225. package/dist/mcp-overview.d.ts +5 -0
  226. package/dist/mcp-overview.d.ts.map +1 -0
  227. package/dist/mcp-overview.js +71 -0
  228. package/dist/mcp-overview.js.map +1 -0
  229. package/dist/mcp-page.d.ts +28 -0
  230. package/dist/mcp-page.d.ts.map +1 -0
  231. package/dist/mcp-page.js +77 -0
  232. package/dist/mcp-page.js.map +1 -0
  233. package/dist/mcp-problems.d.ts +5 -0
  234. package/dist/mcp-problems.d.ts.map +1 -0
  235. package/dist/mcp-problems.js +56 -0
  236. package/dist/mcp-problems.js.map +1 -0
  237. package/dist/mcp-projects.d.ts +11 -0
  238. package/dist/mcp-projects.d.ts.map +1 -0
  239. package/dist/mcp-projects.js +54 -0
  240. package/dist/mcp-projects.js.map +1 -0
  241. package/dist/mcp-search.d.ts +5 -0
  242. package/dist/mcp-search.d.ts.map +1 -0
  243. package/dist/mcp-search.js +53 -0
  244. package/dist/mcp-search.js.map +1 -0
  245. package/dist/mcp-shared.d.ts +83 -4
  246. package/dist/mcp-shared.d.ts.map +1 -1
  247. package/dist/mcp-shared.js +3 -0
  248. package/dist/mcp-shared.js.map +1 -1
  249. package/dist/mcp-store.d.ts +27 -0
  250. package/dist/mcp-store.d.ts.map +1 -0
  251. package/dist/mcp-store.js +56 -0
  252. package/dist/mcp-store.js.map +1 -0
  253. package/dist/mcp-tags.d.ts +8 -0
  254. package/dist/mcp-tags.d.ts.map +1 -0
  255. package/dist/mcp-tags.js +22 -0
  256. package/dist/mcp-tags.js.map +1 -0
  257. package/dist/mcp-traces.d.ts +2 -2
  258. package/dist/mcp-traces.d.ts.map +1 -1
  259. package/dist/mcp-traces.js +37 -25
  260. package/dist/mcp-traces.js.map +1 -1
  261. package/dist/mcp-traffic.d.ts +5 -0
  262. package/dist/mcp-traffic.d.ts.map +1 -0
  263. package/dist/mcp-traffic.js +87 -0
  264. package/dist/mcp-traffic.js.map +1 -0
  265. package/dist/mcp.d.ts +7 -4
  266. package/dist/mcp.d.ts.map +1 -1
  267. package/dist/mcp.js +27 -8
  268. package/dist/mcp.js.map +1 -1
  269. package/dist/messaging/bullmq.d.ts +4 -0
  270. package/dist/messaging/bullmq.d.ts.map +1 -0
  271. package/dist/messaging/bullmq.js +137 -0
  272. package/dist/messaging/bullmq.js.map +1 -0
  273. package/dist/messaging/shared.d.ts +10 -4
  274. package/dist/messaging/shared.d.ts.map +1 -1
  275. package/dist/messaging/shared.js +13 -4
  276. package/dist/messaging/shared.js.map +1 -1
  277. package/dist/messaging/sqs-message.d.ts +35 -0
  278. package/dist/messaging/sqs-message.d.ts.map +1 -0
  279. package/dist/messaging/sqs-message.js +66 -0
  280. package/dist/messaging/sqs-message.js.map +1 -0
  281. package/dist/messaging/sqs.d.ts +4 -0
  282. package/dist/messaging/sqs.d.ts.map +1 -0
  283. package/dist/messaging/sqs.js +104 -0
  284. package/dist/messaging/sqs.js.map +1 -0
  285. package/dist/processor.d.ts +2 -1
  286. package/dist/processor.d.ts.map +1 -1
  287. package/dist/processor.js +8 -3
  288. package/dist/processor.js.map +1 -1
  289. package/dist/request-capture.d.ts +7 -1
  290. package/dist/request-capture.d.ts.map +1 -1
  291. package/dist/request-capture.js +14 -1
  292. package/dist/request-capture.js.map +1 -1
  293. package/dist/request-naming.d.ts +8 -0
  294. package/dist/request-naming.d.ts.map +1 -0
  295. package/dist/request-naming.js +29 -0
  296. package/dist/request-naming.js.map +1 -0
  297. package/dist/sampling.d.ts.map +1 -1
  298. package/dist/sampling.js +2 -2
  299. package/dist/sampling.js.map +1 -1
  300. package/dist/search-api.d.ts +8 -0
  301. package/dist/search-api.d.ts.map +1 -0
  302. package/dist/search-api.js +21 -0
  303. package/dist/search-api.js.map +1 -0
  304. package/dist/sourcemaps.d.ts +15 -0
  305. package/dist/sourcemaps.d.ts.map +1 -0
  306. package/dist/sourcemaps.js +68 -0
  307. package/dist/sourcemaps.js.map +1 -0
  308. package/dist/spans.d.ts +3 -0
  309. package/dist/spans.d.ts.map +1 -1
  310. package/dist/spans.js +9 -1
  311. package/dist/spans.js.map +1 -1
  312. package/dist/store-entries.d.ts +34 -0
  313. package/dist/store-entries.d.ts.map +1 -0
  314. package/dist/store-entries.js +70 -0
  315. package/dist/store-entries.js.map +1 -0
  316. package/dist/store.d.ts +4 -1
  317. package/dist/store.d.ts.map +1 -1
  318. package/dist/store.js +19 -22
  319. package/dist/store.js.map +1 -1
  320. package/dist/tags-api.d.ts +9 -0
  321. package/dist/tags-api.d.ts.map +1 -0
  322. package/dist/tags-api.js +16 -0
  323. package/dist/tags-api.js.map +1 -0
  324. package/dist/tracing.d.ts +6 -0
  325. package/dist/tracing.d.ts.map +1 -1
  326. package/dist/tracing.js +11 -7
  327. package/dist/tracing.js.map +1 -1
  328. package/dist/types.d.ts +16 -2
  329. package/dist/types.d.ts.map +1 -1
  330. package/dist/ui.d.ts.map +1 -1
  331. package/dist/ui.js +3 -2
  332. package/dist/ui.js.map +1 -1
  333. package/dist/wizelens.d.ts +3 -1
  334. package/dist/wizelens.d.ts.map +1 -1
  335. package/dist/wizelens.js +29 -13
  336. package/dist/wizelens.js.map +1 -1
  337. package/package.json +14 -4
@@ -0,0 +1,68 @@
1
+ import { readFile, stat } from "node:fs/promises";
2
+ import { dirname, resolve, sep } from "node:path";
3
+ import { cachedLoader, chainLoaders, decodeDataUrl, fetchMapLoader, isLoopbackUrl, mapFileCandidates, mapUrlOf, MAX_SOURCEMAP_BYTES, parseSourceMap, } from "@wizeworks/lens-core";
4
+ const inside = (dir, path) => path === dir || path.startsWith(dir + sep);
5
+ async function readSmall(path) {
6
+ try {
7
+ const s = await stat(path);
8
+ return s.isFile() && s.size <= MAX_SOURCEMAP_BYTES ? await readFile(path, "utf8") : null;
9
+ }
10
+ catch {
11
+ return null;
12
+ }
13
+ }
14
+ // One file of a build folder: the map its sourceMappingURL names (Turbopack names maps apart from scripts), else its `.map`.
15
+ async function mapInDir(dir, file) {
16
+ const path = resolve(dir, file);
17
+ if (!inside(dir, path))
18
+ return null;
19
+ const code = await readSmall(path);
20
+ const ref = code ? mapUrlOf(code) : null;
21
+ if (!ref) {
22
+ const next = await readSmall(`${path}.map`);
23
+ return next ? parseSourceMap(next) : null;
24
+ }
25
+ if (ref.startsWith("data:"))
26
+ return parseSourceMap(decodeDataUrl(ref) ?? "");
27
+ const mapPath = resolve(dirname(path), decodeURIComponent(ref.replace(/[?#].*$/, "")));
28
+ const text = inside(dir, mapPath) ? await readSmall(mapPath) : null;
29
+ return text ? parseSourceMap(text) : null;
30
+ }
31
+ /** Read maps from build folders: the script URL's path, or its tail, is looked up below each folder. */
32
+ export function dirMapLoader(dirs) {
33
+ const roots = dirs.map((d) => resolve(d));
34
+ return async (url) => {
35
+ for (const dir of roots) {
36
+ for (const file of mapFileCandidates(url)) {
37
+ const map = await mapInDir(dir, file);
38
+ if (map)
39
+ return map;
40
+ }
41
+ }
42
+ return null;
43
+ };
44
+ }
45
+ const originOf = (url) => {
46
+ try {
47
+ const u = new URL(url);
48
+ return /^https?:$/.test(u.protocol) ? u.origin : null;
49
+ }
50
+ catch {
51
+ return null;
52
+ }
53
+ };
54
+ /** Build folders first, then dev servers on this machine and the origins named. Null when `options` is false. `extra` goes first (uploads). */
55
+ export function localMapLoader(options, extra = []) {
56
+ if (options === false)
57
+ return null;
58
+ const loaders = [...extra];
59
+ if (options?.dirs?.length)
60
+ loaders.push(cachedLoader(dirMapLoader(options.dirs), { hitMs: 10_000, missMs: 10_000 }));
61
+ if (options?.fetch !== false) {
62
+ const origins = new Set((options?.origins ?? []).map(originOf).filter((o) => !!o));
63
+ const allow = (u) => isLoopbackUrl(u) || origins.has(u.origin);
64
+ loaders.push(cachedLoader(fetchMapLoader({ allow }), { hitMs: 10_000, missMs: 10_000 }));
65
+ }
66
+ return chainLoaders(...loaders);
67
+ }
68
+ //# sourceMappingURL=sourcemaps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourcemaps.js","sourceRoot":"","sources":["../src/sourcemaps.ts"],"names":[],"mappings":"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"}
package/dist/spans.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import { type Span as OtelSpan } from "@opentelemetry/api";
2
2
  /** Context key that holds the server span of the current request. */
3
3
  export declare const SERVER_SPAN: symbol;
4
+ /** An HTTP error with a 4xx `statusCode` or `status` (not found, bad request): the caller's, so not a failure. */
5
+ export declare function isClientError(err: unknown): boolean;
6
+ /** Records the exception; the span fails unless the error is a 4xx (OpenTelemetry's rule for server spans). */
4
7
  export declare function recordOn(span: OtelSpan, err: unknown): void;
5
8
  /** The server span of the request that is running now, if any. */
6
9
  export declare function currentServerSpan(): OtelSpan | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"spans.d.ts","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,IAAI,IAAI,QAAQ,EAAyB,MAAM,oBAAoB,CAAC;AAE7G,qEAAqE;AACrE,eAAO,MAAM,WAAW,QAAqD,CAAC;AAE9E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAI3D;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,IAAI,QAAQ,GAAG,SAAS,CAExD;AAED,yCAAyC;AACzC,wBAAgB,UAAU,IAAI,QAAQ,GAAG,SAAS,CAEjD"}
1
+ {"version":3,"file":"spans.d.ts","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,IAAI,IAAI,QAAQ,EAAyB,MAAM,oBAAoB,CAAC;AAE7G,qEAAqE;AACrE,eAAO,MAAM,WAAW,QAAqD,CAAC;AAE9E,kHAAkH;AAClH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAInD;AAED,+GAA+G;AAC/G,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAI3D;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,IAAI,QAAQ,GAAG,SAAS,CAExD;AAED,yCAAyC;AACzC,wBAAgB,UAAU,IAAI,QAAQ,GAAG,SAAS,CAEjD"}
package/dist/spans.js CHANGED
@@ -1,10 +1,18 @@
1
1
  import { context, createContextKey, SpanStatusCode, trace } from "@opentelemetry/api";
2
2
  /** Context key that holds the server span of the current request. */
3
3
  export const SERVER_SPAN = createContextKey("wizeworks.wizelens.server-span");
4
+ /** An HTTP error with a 4xx `statusCode` or `status` (not found, bad request): the caller's, so not a failure. */
5
+ export function isClientError(err) {
6
+ const e = err;
7
+ const code = Number(e?.statusCode ?? e?.status);
8
+ return code >= 400 && code < 500;
9
+ }
10
+ /** Records the exception; the span fails unless the error is a 4xx (OpenTelemetry's rule for server spans). */
4
11
  export function recordOn(span, err) {
5
12
  const error = err instanceof Error ? err : new Error(String(err));
6
13
  span.recordException(error);
7
- span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
14
+ if (!isClientError(err))
15
+ span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
8
16
  }
9
17
  /** The server span of the request that is running now, if any. */
10
18
  export function currentServerSpan() {
package/dist/spans.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"spans.js","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAyB,cAAc,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE7G,qEAAqE;AACrE,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;AAE9E,MAAM,UAAU,QAAQ,CAAC,IAAc,EAAE,GAAY;IACnD,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAyB,CAAC;AACxE,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"spans.js","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAyB,cAAc,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE7G,qEAAqE;AACrE,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC,gCAAgC,CAAC,CAAC;AAE9E,kHAAkH;AAClH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,CAAC,GAAG,GAAwD,CAAC;IACnE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,CAAC;AACnC,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,QAAQ,CAAC,IAAc,EAAE,GAAY;IACnD,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;QAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAClG,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAyB,CAAC;AACxE,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { type LogRecord, type Span } from "@wizeworks/lens-core";
2
+ export interface Entry {
3
+ traceId: string;
4
+ spans: Map<string, Span>;
5
+ logs: LogRecord[];
6
+ remotes: Set<string>;
7
+ sessions: Set<string>;
8
+ /** Earliest span start or log time. Used for age eviction. */
9
+ startMs: number;
10
+ }
11
+ /** Traces and loose batches (lines outside a request), each with its own cap, so neither pushes the other out. Oldest first. */
12
+ export declare class EntryMap {
13
+ #private;
14
+ private readonly maxTraces;
15
+ private readonly maxLoose;
16
+ constructor(maxTraces: number, maxLoose: number);
17
+ /** Request traces only, as the dashboard counts them. */
18
+ get size(): number;
19
+ get(traceId: string): Entry | undefined;
20
+ /** The entry, made when missing; the oldest of its kind goes when its kind is over its cap. */
21
+ touch(traceId: string, startMs: number): Entry;
22
+ delete(traceId: string): void;
23
+ /** Every entry: traces, then loose batches. */
24
+ values(): IterableIterator<Entry>;
25
+ clear(): void;
26
+ }
27
+ /** Picks the loose trace id for the next line outside a request: a new batch per 5-minute window, or when the batch is full. */
28
+ export declare class LooseBatcher {
29
+ #private;
30
+ private readonly maxLines;
31
+ constructor(maxLines: number);
32
+ idFor(timeMs: number): string;
33
+ }
34
+ //# sourceMappingURL=store-entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-entries.d.ts","sourceRoot":"","sources":["../src/store-entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAoC,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEnH,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,gIAAgI;AAChI,qBAAa,QAAQ;;IAKjB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAF3B,YACmB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAC/B;IAEJ,yDAAyD;IACzD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAMD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAEtC;IAED,+FAA+F;IAC/F,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAS7C;IAED,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE5B;IAED,+CAA+C;IAC9C,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAGjC;IAED,KAAK,IAAI,IAAI,CAGZ;CACF;AAED,gIAAgI;AAChI,qBAAa,YAAY;;IAKX,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAArC,YAA6B,QAAQ,EAAE,MAAM,EAAI;IAEjD,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAS5B;CACF"}
@@ -0,0 +1,70 @@
1
+ import { isLooseTraceId, newLooseTraceId, LOOSE_WINDOW_MS } from "@wizeworks/lens-core";
2
+ const newEntry = (traceId, startMs) => ({ traceId, spans: new Map(), logs: [], remotes: new Set(), sessions: new Set(), startMs });
3
+ /** Traces and loose batches (lines outside a request), each with its own cap, so neither pushes the other out. Oldest first. */
4
+ export class EntryMap {
5
+ maxTraces;
6
+ maxLoose;
7
+ #traces = new Map();
8
+ #loose = new Map();
9
+ constructor(maxTraces, maxLoose) {
10
+ this.maxTraces = maxTraces;
11
+ this.maxLoose = maxLoose;
12
+ }
13
+ /** Request traces only, as the dashboard counts them. */
14
+ get size() {
15
+ return this.#traces.size;
16
+ }
17
+ #mapOf(traceId) {
18
+ return isLooseTraceId(traceId) ? this.#loose : this.#traces;
19
+ }
20
+ get(traceId) {
21
+ return this.#mapOf(traceId).get(traceId);
22
+ }
23
+ /** The entry, made when missing; the oldest of its kind goes when its kind is over its cap. */
24
+ touch(traceId, startMs) {
25
+ const map = this.#mapOf(traceId);
26
+ let entry = map.get(traceId);
27
+ if (!entry) {
28
+ map.set(traceId, (entry = newEntry(traceId, startMs)));
29
+ const cap = map === this.#loose ? this.maxLoose : this.maxTraces;
30
+ while (map.size > cap)
31
+ map.delete(map.keys().next().value);
32
+ }
33
+ else if (startMs < entry.startMs)
34
+ entry.startMs = startMs;
35
+ return entry;
36
+ }
37
+ delete(traceId) {
38
+ this.#mapOf(traceId).delete(traceId);
39
+ }
40
+ /** Every entry: traces, then loose batches. */
41
+ *values() {
42
+ yield* this.#traces.values();
43
+ yield* this.#loose.values();
44
+ }
45
+ clear() {
46
+ this.#traces.clear();
47
+ this.#loose.clear();
48
+ }
49
+ }
50
+ /** Picks the loose trace id for the next line outside a request: a new batch per 5-minute window, or when the batch is full. */
51
+ export class LooseBatcher {
52
+ maxLines;
53
+ #id = "";
54
+ #window = -1;
55
+ #count = 0;
56
+ constructor(maxLines) {
57
+ this.maxLines = maxLines;
58
+ }
59
+ idFor(timeMs) {
60
+ const window = Math.floor(timeMs / LOOSE_WINDOW_MS);
61
+ if (!this.#id || window !== this.#window || this.#count >= this.maxLines) {
62
+ this.#id = newLooseTraceId();
63
+ this.#window = window;
64
+ this.#count = 0;
65
+ }
66
+ this.#count++;
67
+ return this.#id;
68
+ }
69
+ }
70
+ //# sourceMappingURL=store-entries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-entries.js","sourceRoot":"","sources":["../src/store-entries.ts"],"names":[],"mappings":"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"}
package/dist/store.d.ts CHANGED
@@ -43,6 +43,8 @@ export declare class TraceStore {
43
43
  /** `root`: the span starts this service's part of the trace. Sampling decides when a root ends. */
44
44
  addSpan(span: Span, root?: boolean): void;
45
45
  addLog(traceId: string, log: LogRecord): void;
46
+ /** A line written outside a request: into the current loose batch, never sampled with traces. Returns its trace id. */
47
+ addLooseLog(log: LogRecord): string;
46
48
  addRemote(traceId: string, endpoint: string): void;
47
49
  /** Load traces from disk, oldest first. Does not mark them dirty. */
48
50
  load(traces: Iterable<StoredTrace>): void;
@@ -51,8 +53,9 @@ export declare class TraceStore {
51
53
  /** Drop traces older than maxAgeMs. Returns how many were dropped. */
52
54
  pruneByAge(): number;
53
55
  get(traceId: string): Trace | undefined;
54
- /** All traces, newest first. With `session`, only traces that have a browser span from that tab. */
56
+ /** All traces and loose batches (lines outside a request), newest first. With `session`, only traces that have a browser span from that tab. */
55
57
  all(session?: string): Trace[];
58
+ /** Trace summaries, newest first; loose batches are not traces, so they are left out. */
56
59
  list(limit?: number, session?: string): TraceSummary[];
57
60
  clear(): void;
58
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAa,MAAM,sBAAsB,CAAC;AAChK,OAAO,KAAK,EAAQ,YAAY,EAAW,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAYlE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,kDAAkD;IAClD,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAQ1D,wFAAwF;AACxF,qBAAa,UAAU;;IAWrB,YAAY,OAAO,GAAE,iBAAsB,EAO1C;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,qCAAqC;IACrC,IAAI,QAAQ,IAAI,YAAY,GAAG,IAAI,CAElC;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAkBD,8EAA8E;IAC9E,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI,CAGvD;IAgBD,mGAAmG;IACnG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,UAA6B,GAAG,IAAI,CAE3D;IAED,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAE5C;IAED,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEjD;IAyCD,qEAAqE;IACrE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAWxC;IAED,4CAA4C;IAC5C,YAAY,IAAI,YAAY,EAAE,CAe7B;IAED,sEAAsE;IACtE,UAAU,IAAI,MAAM,CAWnB;IAED,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAGtC;IAED,oGAAoG;IACpG,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CAS7B;IAED,IAAI,CAAC,KAAK,SAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAEjD;IAED,KAAK,IAAI,IAAI,CAGZ;CACF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAa,MAAM,sBAAsB,CAAC;AAChL,OAAO,KAAK,EAAQ,YAAY,EAAW,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIlE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,kDAAkD;IAClD,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAQ1D,wFAAwF;AACxF,qBAAa,UAAU;;IAYrB,YAAY,OAAO,GAAE,iBAAsB,EAS1C;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,qCAAqC;IACrC,IAAI,QAAQ,IAAI,YAAY,GAAG,IAAI,CAElC;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAMD,8EAA8E;IAC9E,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI,CAGvD;IAgBD,mGAAmG;IACnG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,UAA6B,GAAG,IAAI,CAE3D;IAED,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAE5C;IAED,uHAAuH;IACvH,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAIlC;IAED,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEjD;IAyCD,qEAAqE;IACrE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAWxC;IAED,4CAA4C;IAC5C,YAAY,IAAI,YAAY,EAAE,CAe7B;IAED,sEAAsE;IACtE,UAAU,IAAI,MAAM,CAWnB;IAED,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAGtC;IAED,gJAAgJ;IAChJ,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CAS7B;IAED,yFAAyF;IACzF,IAAI,CAAC,KAAK,SAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAEjD;IAED,KAAK,IAAI,IAAI,CAGZ;CACF"}
package/dist/store.js CHANGED
@@ -1,7 +1,9 @@
1
- import { ATTR_BROWSER_SESSION, buildTrace, toSummary } from "@wizeworks/lens-core";
1
+ import { ATTR_BROWSER_SESSION, buildTrace, isLooseTraceId, toSummary } from "@wizeworks/lens-core";
2
+ import { EntryMap, LooseBatcher } from "./store-entries.js";
2
3
  /** In-memory ring buffer of traces, keyed by trace id. This is always the read path. */
3
4
  export class TraceStore {
4
- #entries = new Map();
5
+ #entries;
6
+ #loose;
5
7
  #dirty = new Map();
6
8
  #maxTraces;
7
9
  #maxAgeMs;
@@ -17,6 +19,8 @@ export class TraceStore {
17
19
  this.#maxLogs = options.maxLogsPerTrace ?? 1000;
18
20
  this.#now = options.now ?? Date.now;
19
21
  this.#sampler = options.sampler;
22
+ this.#entries = new EntryMap(this.#maxTraces, Math.max(10, Math.floor(this.#maxTraces / 4)));
23
+ this.#loose = new LooseBatcher(this.#maxLogs);
20
24
  }
21
25
  get size() {
22
26
  return this.#entries.size;
@@ -32,21 +36,7 @@ export class TraceStore {
32
36
  return this.#maxAgeMs;
33
37
  }
34
38
  #entry(traceId, startMs) {
35
- let entry = this.#entries.get(traceId);
36
- if (!entry) {
37
- entry = { traceId, spans: new Map(), logs: [], remotes: new Set(), sessions: new Set(), startMs };
38
- this.#entries.set(traceId, entry);
39
- while (this.#entries.size > this.#maxTraces) {
40
- const oldest = this.#entries.keys().next().value;
41
- if (oldest === undefined)
42
- break;
43
- this.#entries.delete(oldest);
44
- }
45
- }
46
- else if (startMs < entry.startMs) {
47
- entry.startMs = startMs;
48
- }
49
- return entry;
39
+ return this.#entries.touch(traceId, startMs);
50
40
  }
51
41
  /** Hear every new span, log, and remote. Returns the unsubscribe function. */
52
42
  subscribe(listener) {
@@ -73,6 +63,12 @@ export class TraceStore {
73
63
  addLog(traceId, log) {
74
64
  this.#gate(traceId, this.#sampler?.log(traceId, log), () => this.#putLog(traceId, log));
75
65
  }
66
+ /** A line written outside a request: into the current loose batch, never sampled with traces. Returns its trace id. */
67
+ addLooseLog(log) {
68
+ const traceId = this.#loose.idFor(log.timeMs);
69
+ this.#putLog(traceId, log);
70
+ return traceId;
71
+ }
76
72
  addRemote(traceId, endpoint) {
77
73
  this.#gate(traceId, this.#sampler?.remote(traceId, endpoint), () => this.#putRemote(traceId, endpoint));
78
74
  }
@@ -157,10 +153,10 @@ export class TraceStore {
157
153
  pruneByAge() {
158
154
  const cutoff = this.#now() - this.#maxAgeMs;
159
155
  let dropped = 0;
160
- for (const [id, entry] of this.#entries) {
156
+ for (const entry of [...this.#entries.values()]) {
161
157
  if (entry.startMs < cutoff) {
162
- this.#entries.delete(id);
163
- this.#dirty.delete(id);
158
+ this.#entries.delete(entry.traceId);
159
+ this.#dirty.delete(entry.traceId);
164
160
  dropped++;
165
161
  }
166
162
  }
@@ -170,7 +166,7 @@ export class TraceStore {
170
166
  const entry = this.#entries.get(traceId);
171
167
  return entry ? buildTrace(entry.traceId, [...entry.spans.values()], entry.logs, entry.remotes) : undefined;
172
168
  }
173
- /** All traces, newest first. With `session`, only traces that have a browser span from that tab. */
169
+ /** All traces and loose batches (lines outside a request), newest first. With `session`, only traces that have a browser span from that tab. */
174
170
  all(session) {
175
171
  this.pruneByAge();
176
172
  const traces = [];
@@ -183,8 +179,9 @@ export class TraceStore {
183
179
  }
184
180
  return traces.sort((a, b) => b.startMs - a.startMs);
185
181
  }
182
+ /** Trace summaries, newest first; loose batches are not traces, so they are left out. */
186
183
  list(limit = 50, session) {
187
- return this.all(session).slice(0, Math.max(0, limit)).map(toSummary);
184
+ return this.all(session).filter((t) => !isLooseTraceId(t.traceId)).slice(0, Math.max(0, limit)).map(toSummary);
188
185
  }
189
186
  clear() {
190
187
  this.#entries.clear();
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { ServerResponse } from "node:http";
2
+ import { type TagRule } from "@wizeworks/lens-core";
3
+ import type { TraceStore } from "./store.js";
4
+ import type { Req } from "./types.js";
5
+ /** `GET api/tags`. Rules live in code here, so the dashboard shows them without edit controls. */
6
+ export declare function sendTags(tags: readonly TagRule[], res: ServerResponse): void;
7
+ /** `POST api/tags/match` with `{ kind, items }`: each enabled rule runs as a search over these traces in memory. */
8
+ export declare function sendTagMatch(store: TraceStore, tags: readonly TagRule[], req: Req, res: ServerResponse, env?: string): Promise<void>;
9
+ //# sourceMappingURL=tags-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags-api.d.ts","sourceRoot":"","sources":["../src/tags-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAsE,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAExH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAItC,kGAAkG;AAClG,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAE5E;AAED,oHAAoH;AACpH,wBAAsB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1I"}
@@ -0,0 +1,16 @@
1
+ import { activeTags, matchTags, searchMemory, TAG_LIMITS, tagMatchRequestOf } from "@wizeworks/lens-core";
2
+ import { readJson, sendJson } from "./http-util.js";
3
+ // The in-app tags API (docs/TAGS-PLAN.md): the rules from the `tags` option, read-only, and which of them match a page of rows.
4
+ /** `GET api/tags`. Rules live in code here, so the dashboard shows them without edit controls. */
5
+ export function sendTags(tags, res) {
6
+ sendJson(res, 200, { tags, editable: false, max: TAG_LIMITS.rules });
7
+ }
8
+ /** `POST api/tags/match` with `{ kind, items }`: each enabled rule runs as a search over these traces in memory. */
9
+ export async function sendTagMatch(store, tags, req, res, env) {
10
+ const r = tagMatchRequestOf(await readJson(req).catch(() => null));
11
+ if (!r.ok)
12
+ return sendJson(res, 400, r);
13
+ const traces = store.all();
14
+ sendJson(res, 200, { matches: await matchTags((q) => searchMemory(traces, q), r.kind, r.items, activeTags(tags), env) });
15
+ }
16
+ //# sourceMappingURL=tags-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags-api.js","sourceRoot":"","sources":["../src/tags-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAgB,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAIpD,gIAAgI;AAEhI,kGAAkG;AAClG,MAAM,UAAU,QAAQ,CAAC,IAAwB,EAAE,GAAmB;IACpE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,oHAAoH;AACpH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAiB,EAAE,IAAwB,EAAE,GAAQ,EAAE,GAAmB,EAAE,GAAY;IACzH,MAAM,CAAC,GAAG,iBAAiB,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3H,CAAC"}
package/dist/tracing.d.ts CHANGED
@@ -6,14 +6,20 @@ export interface Tracing {
6
6
  provider: BasicTracerProvider;
7
7
  tracer: Tracer;
8
8
  undici: UndiciInstrumentation | undefined;
9
+ /** Stops the node:http client tracing, when it is on. */
10
+ stopHttp: (() => void) | undefined;
9
11
  }
10
12
  /** Install one ALS context manager and the W3C propagator. Apps that set their own keep them. */
11
13
  export declare function installGlobals(): void;
12
14
  export interface TracingOptions {
13
15
  service: string;
14
16
  version: string;
17
+ /** The app's version (`service.version`). */
18
+ release?: string;
15
19
  redactKeys: readonly string[];
16
20
  fetch: boolean;
21
+ /** Trace node:http and node:https client calls (axios, got, and the rest). */
22
+ http: boolean;
17
23
  }
18
24
  /** One tracer provider per WizeLens instance. Every finished span goes into the store. */
19
25
  export declare function createTracing(store: TraceStore, o: TracingOptions, selfEndpoints: ReadonlySet<string>): Tracing;
@@ -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;AAKrF,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;CAC3C;AAID,iGAAiG;AACjG,wBAAgB,cAAc,IAAI,IAAI,CAKrC;AAgBD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAS/G"}
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"}
package/dist/tracing.js CHANGED
@@ -5,6 +5,8 @@ import { UndiciInstrumentation } from "@opentelemetry/instrumentation-undici";
5
5
  import { resourceFromAttributes } from "@opentelemetry/resources";
6
6
  import { AlwaysOnSampler, BasicTracerProvider } from "@opentelemetry/sdk-trace-base";
7
7
  import { HEADER_ENDPOINT, HEADER_HOP } from "@wizeworks/lens-core";
8
+ import { remoteNoter } from "./client-attributes.js";
9
+ import { instrumentHttp } from "./http-client.js";
8
10
  import { hasRequestHeader, responseHeader } from "./http-util.js";
9
11
  import { preciseProvider, preciseTracer } from "./precise.js";
10
12
  import { StoreSpanProcessor } from "./processor.js";
@@ -17,15 +19,15 @@ export function installGlobals() {
17
19
  context.setGlobalContextManager(new AsyncLocalStorageContextManager().enable());
18
20
  propagation.setGlobalPropagator(new W3CTraceContextPropagator());
19
21
  }
20
- function instrumentFetch(provider, store, selfEndpoints) {
22
+ function instrumentFetch(provider, onRemote) {
21
23
  const undici = new UndiciInstrumentation({
22
24
  requireParentforSpans: true,
23
25
  // Federation calls carry X-WizeLens-Hop. Do not trace WizeLens talking to itself.
24
26
  ignoreRequestHook: (request) => hasRequestHeader(request.headers, HEADER_HOP),
25
27
  responseHook: (span, { response }) => {
26
28
  const endpoint = responseHeader(response.headers, HEADER_ENDPOINT);
27
- if (endpoint && !selfEndpoints.has(endpoint))
28
- store.addRemote(span.spanContext().traceId, endpoint);
29
+ if (endpoint)
30
+ onRemote(span.spanContext().traceId, endpoint);
29
31
  },
30
32
  });
31
33
  undici.setTracerProvider(preciseProvider(provider));
@@ -34,12 +36,14 @@ function instrumentFetch(provider, store, selfEndpoints) {
34
36
  /** One tracer provider per WizeLens instance. Every finished span goes into the store. */
35
37
  export function createTracing(store, o, selfEndpoints) {
36
38
  const provider = new BasicTracerProvider({
37
- resource: resourceFromAttributes({ "service.name": o.service }),
39
+ resource: resourceFromAttributes({ "service.name": o.service, ...(o.release ? { "service.version": o.release } : {}) }),
38
40
  sampler: new AlwaysOnSampler(),
39
- spanProcessors: [new StoreSpanProcessor(store, o.service, o.redactKeys)],
41
+ spanProcessors: [new StoreSpanProcessor(store, o.service, o.redactKeys, o.release)],
40
42
  });
41
43
  const tracer = preciseTracer(provider.getTracer("@wizeworks/lens-node", o.version));
42
- const undici = o.fetch ? instrumentFetch(provider, store, selfEndpoints) : undefined;
43
- return { provider, tracer, undici };
44
+ const onRemote = remoteNoter(store, selfEndpoints);
45
+ const undici = o.fetch ? instrumentFetch(provider, onRemote) : undefined;
46
+ const stopHttp = o.http ? instrumentHttp(tracer, onRemote) : undefined;
47
+ return { provider, tracer, undici, stopHttp };
44
48
  }
45
49
  //# sourceMappingURL=tracing.js.map
@@ -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,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;AASpD,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,KAAiB,EAAE,aAAkC;IAC3G,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,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtG,CAAC;KACF,CAAC,CAAC;IACH,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC;AAChB,CAAC;AASD,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,CAAC;QAC/D,OAAO,EAAE,IAAI,eAAe,EAAE;QAC9B,cAAc,EAAE,CAAC,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;KACzE,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC"}
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"}
package/dist/types.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  import type { IncomingMessage, ServerResponse } from "node:http";
2
2
  import type { Tracer } from "@opentelemetry/api";
3
- import type { Trace } from "@wizeworks/lens-core";
3
+ import type { TagOptions, Trace } from "@wizeworks/lens-core";
4
+ import type { LogOptions } from "./loose-logs.js";
4
5
  import type { SamplingOptions } from "./sampling.js";
6
+ import type { SourceMapOptions } from "./sourcemaps.js";
5
7
  import type { TraceStore } from "./store.js";
6
8
  export interface WizeLensOptions {
7
9
  /** Service name shown in the dashboard, e.g. "orders-api". */
@@ -30,9 +32,11 @@ export interface WizeLensOptions {
30
32
  uiDir?: string;
31
33
  /** Capture outgoing fetch / undici calls. Default true. */
32
34
  instrumentFetch?: boolean;
35
+ /** Capture outgoing `node:http` / `node:https` calls, so axios, got, node-fetch v2, and the AWS SDK are traced too. Default true. */
36
+ instrumentHttp?: boolean;
33
37
  /** Database adapters also trace queries that run outside a request (startup, jobs). Default false. */
34
38
  traceQueriesOutsideRequests?: boolean;
35
- /** Copy `console.log`, `warn`, `error`, `info`, `debug`, and `trace` calls made during a request into its trace. Default true. */
39
+ /** Copy `console.log`, `warn`, `error`, `info`, `debug`, and `trace` calls into WizeLens (into their request trace, or outside one as loose lines). Default true. */
36
40
  captureConsole?: boolean;
37
41
  /** Keep runtime metrics (CPU, memory, heap, event loop, GC) and app metrics from `wizelensMetricExporter`. Default true. */
38
42
  captureMetrics?: boolean;
@@ -52,12 +56,20 @@ export interface WizeLensOptions {
52
56
  nPlusOneThreshold?: number;
53
57
  /** The project this service belongs to, so a shared hub can group it. Default: the WIZELENS_PROJECT variable. */
54
58
  project?: string;
59
+ /** The app's version, kept on every span as `service.version` for release markers, version compares, and Problems. Default: WIZELENS_RELEASE, else OTEL_SERVICE_VERSION, else npm_package_version. */
60
+ release?: string;
55
61
  /** Also send everything to this local hub, for example "http://localhost:5960". Default: the WIZELENS_HUB variable. */
56
62
  hub?: string;
57
63
  /** Access token for the hub. Default: the WIZELENS_HUB_TOKEN variable. */
58
64
  hubToken?: string;
59
65
  /** Keep only part of the traces, for busy services. Default: all, or the WIZELENS_SAMPLE_RATE variable. */
60
66
  sampling?: SamplingOptions;
67
+ /** Where browser stacks find their source maps: build folders and dev servers on this machine (default). False turns it off. */
68
+ sourceMaps?: SourceMapOptions | false;
69
+ /** Lines written outside a request (startup, jobs, timers): on or off, the lowest level, and a sample rate. Default: on, "info" and up, all. */
70
+ logs?: LogOptions;
71
+ /** Tag rules: `{ rules: [{ name: "checkout", query: "route:/checkout*", color: "green" }], disableBuiltIns: ["bot"] }`. A bad rule throws at startup. */
72
+ tags?: TagOptions;
61
73
  }
62
74
  export interface DbCallInfo {
63
75
  /** OTel `db.system.name`, e.g. "sqlite", "postgresql", "mysql". */
@@ -76,6 +88,8 @@ export interface DbCallInfo {
76
88
  outermost?: boolean;
77
89
  /** Skip the span when no request (or other span) is active. Set by the database adapters. */
78
90
  requireParent?: boolean;
91
+ /** More span attributes, for example `server.address`, `db.operation.batch.size`, or `wizelens.db.fingerprint`. */
92
+ attributes?: Record<string, string | number>;
79
93
  }
80
94
  export type LogFn = (message: string, attributes?: Record<string, unknown>) => void;
81
95
  export interface WizeLensLogger {
@@ -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/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAqBhD,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU7D;AAED,6FAA6F;AAC7F,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBvG"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAqBhD,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU7D;AAED,6FAA6F;AAC7F,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBvG"}