@geekmidas/telescope 10.0.0-alpha.99 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/README.md +18 -28
  3. package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts +47 -0
  4. package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts.map +1 -0
  5. package/dist/InMemoryMetricsStorage-C4drxT7G.mjs +247 -0
  6. package/dist/InMemoryMetricsStorage-C4drxT7G.mjs.map +1 -0
  7. package/dist/InMemoryMetricsStorage-D0njWUSi.cjs +252 -0
  8. package/dist/InMemoryMetricsStorage-D0njWUSi.cjs.map +1 -0
  9. package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts +47 -0
  10. package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts.map +1 -0
  11. package/dist/{MetricsAggregator-BJdIvfEv.d.mts → MetricsAggregator-4SqelGcG.d.cts} +6 -3
  12. package/dist/MetricsAggregator-4SqelGcG.d.cts.map +1 -0
  13. package/dist/MetricsAggregator-B7lUICdH.cjs +363 -0
  14. package/dist/MetricsAggregator-B7lUICdH.cjs.map +1 -0
  15. package/dist/{MetricsAggregator-CnC3oT5q.d.cts → MetricsAggregator-DZrW8ls6.d.mts} +6 -3
  16. package/dist/MetricsAggregator-DZrW8ls6.d.mts.map +1 -0
  17. package/dist/MetricsAggregator-S3DQWNas.mjs +357 -0
  18. package/dist/MetricsAggregator-S3DQWNas.mjs.map +1 -0
  19. package/dist/MetricsStorage-B86e4131.d.cts +60 -0
  20. package/dist/MetricsStorage-B86e4131.d.cts.map +1 -0
  21. package/dist/MetricsStorage-BWyP2_12.d.mts +60 -0
  22. package/dist/MetricsStorage-BWyP2_12.d.mts.map +1 -0
  23. package/dist/MetricsStorage-BypQXWiv.mjs +0 -0
  24. package/dist/MetricsStorage-Or8pVCe4.cjs +0 -0
  25. package/dist/Telescope-Cs3fv8jt.cjs +395 -0
  26. package/dist/Telescope-Cs3fv8jt.cjs.map +1 -0
  27. package/dist/{Telescope-BVfDvVvY.d.mts → Telescope-D4nmwDRA.d.cts} +7 -4
  28. package/dist/Telescope-D4nmwDRA.d.cts.map +1 -0
  29. package/dist/Telescope-Dh5av3FC.mjs +389 -0
  30. package/dist/Telescope-Dh5av3FC.mjs.map +1 -0
  31. package/dist/{Telescope-DeqSHfuB.d.cts → Telescope-Dl6VSfxd.d.mts} +7 -4
  32. package/dist/Telescope-Dl6VSfxd.d.mts.map +1 -0
  33. package/dist/Telescope.cjs +4 -385
  34. package/dist/Telescope.d.cts +3 -1
  35. package/dist/Telescope.d.mts +3 -1
  36. package/dist/Telescope.mjs +4 -384
  37. package/dist/adapters/index.d.cts +2 -2
  38. package/dist/adapters/index.d.mts +2 -2
  39. package/dist/adapters/index.mjs +0 -1
  40. package/dist/adapters/lambda.cjs +10 -9
  41. package/dist/adapters/lambda.cjs.map +1 -1
  42. package/dist/adapters/lambda.d.cts +13 -9
  43. package/dist/adapters/lambda.d.cts.map +1 -1
  44. package/dist/adapters/lambda.d.mts +13 -9
  45. package/dist/adapters/lambda.d.mts.map +1 -1
  46. package/dist/adapters/lambda.mjs +4 -3
  47. package/dist/adapters/lambda.mjs.map +1 -1
  48. package/dist/adapters/middy.cjs +4 -236
  49. package/dist/adapters/middy.d.cts +5 -60
  50. package/dist/adapters/middy.d.mts +5 -60
  51. package/dist/adapters/middy.mjs +3 -234
  52. package/dist/adapters/types.d.cts +2 -162
  53. package/dist/adapters/types.d.mts +2 -162
  54. package/dist/adapters/types.mjs +0 -1
  55. package/dist/{rolldown-runtime-VH7oDXx4.cjs → chunk-CUT6urMc.cjs} +10 -8
  56. package/dist/core--quSp5Qr.d.mts +78 -0
  57. package/dist/core--quSp5Qr.d.mts.map +1 -0
  58. package/dist/core-B4Jpia5H.d.cts +78 -0
  59. package/dist/core-B4Jpia5H.d.cts.map +1 -0
  60. package/dist/core-CtVHRJGv.cjs +199 -0
  61. package/dist/core-CtVHRJGv.cjs.map +1 -0
  62. package/dist/core-D6hJ6exL.mjs +139 -0
  63. package/dist/core-D6hJ6exL.mjs.map +1 -0
  64. package/dist/core.cjs +22 -22
  65. package/dist/core.d.cts +4 -4
  66. package/dist/core.d.mts +4 -4
  67. package/dist/core.mjs +4 -3
  68. package/dist/hono--uKQ7Jgi.d.mts +71 -0
  69. package/dist/hono--uKQ7Jgi.d.mts.map +1 -0
  70. package/dist/hono-C4EgpbKQ.cjs +160 -0
  71. package/dist/hono-C4EgpbKQ.cjs.map +1 -0
  72. package/dist/hono-CemCKU87.d.cts +71 -0
  73. package/dist/hono-CemCKU87.d.cts.map +1 -0
  74. package/dist/hono-DxhvnVbF.mjs +136 -0
  75. package/dist/hono-DxhvnVbF.mjs.map +1 -0
  76. package/dist/http-BiNtg85L.d.mts +107 -0
  77. package/dist/http-BiNtg85L.d.mts.map +1 -0
  78. package/dist/http-DQzgLczm.mjs +159 -0
  79. package/dist/http-DQzgLczm.mjs.map +1 -0
  80. package/dist/http-D_Z8sYXZ.cjs +219 -0
  81. package/dist/http-D_Z8sYXZ.cjs.map +1 -0
  82. package/dist/http-Dvca6fC3.d.cts +107 -0
  83. package/dist/http-Dvca6fC3.d.cts.map +1 -0
  84. package/dist/index-BL32-cvv.d.cts +1 -0
  85. package/dist/index-CsuikFeJ.d.mts +1 -0
  86. package/dist/index.cjs +9 -8
  87. package/dist/index.d.cts +6 -5
  88. package/dist/index.d.mts +6 -5
  89. package/dist/index.mjs +7 -5
  90. package/dist/instrumentation/core.cjs +11 -147
  91. package/dist/instrumentation/core.d.cts +3 -74
  92. package/dist/instrumentation/core.d.mts +3 -74
  93. package/dist/instrumentation/core.mjs +2 -137
  94. package/dist/instrumentation/hono.cjs +6 -174
  95. package/dist/instrumentation/hono.d.cts +2 -86
  96. package/dist/instrumentation/hono.d.mts +2 -86
  97. package/dist/instrumentation/hono.mjs +3 -170
  98. package/dist/instrumentation/http.cjs +11 -189
  99. package/dist/instrumentation/http.d.cts +2 -119
  100. package/dist/instrumentation/http.d.mts +2 -119
  101. package/dist/instrumentation/http.mjs +2 -178
  102. package/dist/instrumentation/index.cjs +47 -56
  103. package/dist/instrumentation/index.d.cts +9 -11
  104. package/dist/instrumentation/index.d.mts +9 -11
  105. package/dist/instrumentation/index.mjs +9 -10
  106. package/dist/instrumentation/middleware.cjs +6 -164
  107. package/dist/instrumentation/middleware.d.cts +2 -83
  108. package/dist/instrumentation/middleware.d.mts +2 -83
  109. package/dist/instrumentation/middleware.mjs +3 -160
  110. package/dist/instrumentation/otel.cjs +3 -137
  111. package/dist/instrumentation/otel.d.cts +2 -97
  112. package/dist/instrumentation/otel.d.mts +2 -97
  113. package/dist/instrumentation/otel.mjs +3 -136
  114. package/dist/instrumentation/setup.cjs +4 -142
  115. package/dist/instrumentation/setup.d.cts +3 -139
  116. package/dist/instrumentation/setup.d.mts +3 -139
  117. package/dist/instrumentation/setup.mjs +3 -139
  118. package/dist/instrumentation/tracing.cjs +10 -114
  119. package/dist/instrumentation/tracing.d.cts +2 -49
  120. package/dist/instrumentation/tracing.d.mts +2 -49
  121. package/dist/instrumentation/tracing.mjs +2 -105
  122. package/dist/logger/console.cjs +12 -18
  123. package/dist/logger/console.cjs.map +1 -1
  124. package/dist/logger/console.d.cts +10 -7
  125. package/dist/logger/console.d.cts.map +1 -1
  126. package/dist/logger/console.d.mts +10 -7
  127. package/dist/logger/console.d.mts.map +1 -1
  128. package/dist/logger/console.mjs +11 -17
  129. package/dist/logger/console.mjs.map +1 -1
  130. package/dist/logger/pino.cjs +5 -6
  131. package/dist/logger/pino.cjs.map +1 -1
  132. package/dist/logger/pino.d.cts +10 -6
  133. package/dist/logger/pino.d.cts.map +1 -1
  134. package/dist/logger/pino.d.mts +10 -6
  135. package/dist/logger/pino.d.mts.map +1 -1
  136. package/dist/logger/pino.mjs +3 -2
  137. package/dist/logger/pino.mjs.map +1 -1
  138. package/dist/memory--BK4iWiv.d.cts +40 -0
  139. package/dist/memory--BK4iWiv.d.cts.map +1 -0
  140. package/dist/memory-6S9H-IF5.mjs +123 -0
  141. package/dist/memory-6S9H-IF5.mjs.map +1 -0
  142. package/dist/memory-B0d_n1g5.cjs +129 -0
  143. package/dist/memory-B0d_n1g5.cjs.map +1 -0
  144. package/dist/memory-DCirEVFW.d.mts +40 -0
  145. package/dist/memory-DCirEVFW.d.mts.map +1 -0
  146. package/dist/metrics/MetricsAggregator.cjs +2 -354
  147. package/dist/metrics/MetricsAggregator.d.cts +2 -1
  148. package/dist/metrics/MetricsAggregator.d.mts +2 -1
  149. package/dist/metrics/MetricsAggregator.mjs +2 -353
  150. package/dist/metrics/index.cjs +4 -3
  151. package/dist/metrics/index.d.cts +4 -2
  152. package/dist/metrics/index.d.mts +4 -2
  153. package/dist/metrics/index.mjs +4 -2
  154. package/dist/metrics/storage/InMemoryMetricsStorage.cjs +3 -240
  155. package/dist/metrics/storage/InMemoryMetricsStorage.d.cts +4 -43
  156. package/dist/metrics/storage/InMemoryMetricsStorage.d.mts +4 -43
  157. package/dist/metrics/storage/InMemoryMetricsStorage.mjs +3 -239
  158. package/dist/metrics/storage/MetricsStorage.cjs +1 -0
  159. package/dist/metrics/storage/MetricsStorage.d.cts +3 -56
  160. package/dist/metrics/storage/MetricsStorage.d.mts +3 -56
  161. package/dist/metrics/storage/MetricsStorage.mjs +1 -1
  162. package/dist/metrics/storage/index.cjs +6 -6
  163. package/dist/metrics/storage/index.d.cts +3 -3
  164. package/dist/metrics/storage/index.d.mts +3 -3
  165. package/dist/metrics/storage/index.mjs +5 -4
  166. package/dist/metrics/storage/types.cjs +2 -34
  167. package/dist/metrics/storage/types.d.cts +2 -207
  168. package/dist/metrics/storage/types.d.mts +2 -207
  169. package/dist/metrics/storage/types.mjs +2 -33
  170. package/dist/metrics-D5YT-Rnq.mjs +0 -0
  171. package/dist/metrics-fhD3l3C3.cjs +0 -0
  172. package/dist/middleware-B2jFUukM.cjs +184 -0
  173. package/dist/middleware-B2jFUukM.cjs.map +1 -0
  174. package/dist/middleware-BTDncHwm.mjs +160 -0
  175. package/dist/middleware-BTDncHwm.mjs.map +1 -0
  176. package/dist/middleware-CA84nsNN.d.cts +74 -0
  177. package/dist/middleware-CA84nsNN.d.cts.map +1 -0
  178. package/dist/middleware-DAceVpfw.d.mts +74 -0
  179. package/dist/middleware-DAceVpfw.d.mts.map +1 -0
  180. package/dist/middy-B6Btl8XE.d.mts +64 -0
  181. package/dist/middy-B6Btl8XE.d.mts.map +1 -0
  182. package/dist/middy-BTR3cyvk.mjs +236 -0
  183. package/dist/middy-BTR3cyvk.mjs.map +1 -0
  184. package/dist/middy-Bq0defVg.d.cts +64 -0
  185. package/dist/middy-Bq0defVg.d.cts.map +1 -0
  186. package/dist/middy-y5Zp27eG.cjs +247 -0
  187. package/dist/middy-y5Zp27eG.cjs.map +1 -0
  188. package/dist/otel-1bJPb2Z7.d.mts +101 -0
  189. package/dist/otel-1bJPb2Z7.d.mts.map +1 -0
  190. package/dist/otel-C1HqHA2O.cjs +136 -0
  191. package/dist/otel-C1HqHA2O.cjs.map +1 -0
  192. package/dist/otel-SBVoVEHr.d.cts +101 -0
  193. package/dist/otel-SBVoVEHr.d.cts.map +1 -0
  194. package/dist/otel-wulj5B-X.mjs +130 -0
  195. package/dist/otel-wulj5B-X.mjs.map +1 -0
  196. package/dist/otlp/hono.cjs +15 -9
  197. package/dist/otlp/hono.cjs.map +1 -1
  198. package/dist/otlp/hono.d.cts +13 -3
  199. package/dist/otlp/hono.d.cts.map +1 -1
  200. package/dist/otlp/hono.d.mts +13 -3
  201. package/dist/otlp/hono.d.mts.map +1 -1
  202. package/dist/otlp/hono.mjs +11 -5
  203. package/dist/otlp/hono.mjs.map +1 -1
  204. package/dist/otlp/index.cjs +11 -11
  205. package/dist/otlp/index.d.cts +7 -4
  206. package/dist/otlp/index.d.mts +7 -4
  207. package/dist/otlp/index.mjs +5 -4
  208. package/dist/otlp/receiver.cjs +4 -88
  209. package/dist/otlp/receiver.d.cts +7 -59
  210. package/dist/otlp/receiver.d.mts +7 -59
  211. package/dist/otlp/receiver.mjs +4 -87
  212. package/dist/otlp/transformer.cjs +5 -214
  213. package/dist/otlp/transformer.d.cts +3 -1
  214. package/dist/otlp/transformer.d.mts +3 -1
  215. package/dist/otlp/transformer.mjs +3 -211
  216. package/dist/otlp/types.cjs +5 -57
  217. package/dist/otlp/types.d.cts +1 -1
  218. package/dist/otlp/types.d.mts +1 -1
  219. package/dist/otlp/types.mjs +2 -53
  220. package/dist/receiver-Cj1lbAOO.cjs +94 -0
  221. package/dist/receiver-Cj1lbAOO.cjs.map +1 -0
  222. package/dist/receiver-CxVd_9CB.mjs +89 -0
  223. package/dist/receiver-CxVd_9CB.mjs.map +1 -0
  224. package/dist/receiver-DLICx5uU.d.cts +63 -0
  225. package/dist/receiver-DLICx5uU.d.cts.map +1 -0
  226. package/dist/receiver-UeZT-H8u.d.mts +63 -0
  227. package/dist/receiver-UeZT-H8u.d.mts.map +1 -0
  228. package/dist/redact-BzkITCNW.mjs +83 -0
  229. package/dist/redact-BzkITCNW.mjs.map +1 -0
  230. package/dist/redact-DVaSSPZT.cjs +95 -0
  231. package/dist/redact-DVaSSPZT.cjs.map +1 -0
  232. package/dist/redact.cjs +3 -84
  233. package/dist/redact.d.cts +8 -4
  234. package/dist/redact.d.cts.map +1 -1
  235. package/dist/redact.d.mts +8 -4
  236. package/dist/redact.d.mts.map +1 -1
  237. package/dist/redact.mjs +2 -80
  238. package/dist/server/hono.cjs +54 -33
  239. package/dist/server/hono.cjs.map +1 -1
  240. package/dist/server/hono.d.cts +14 -19
  241. package/dist/server/hono.d.cts.map +1 -1
  242. package/dist/server/hono.d.mts +14 -19
  243. package/dist/server/hono.d.mts.map +1 -1
  244. package/dist/server/hono.mjs +52 -31
  245. package/dist/server/hono.mjs.map +1 -1
  246. package/dist/setup-B9jM77Qk.mjs +98 -0
  247. package/dist/setup-B9jM77Qk.mjs.map +1 -0
  248. package/dist/setup-Bkxm4g6b.d.mts +87 -0
  249. package/dist/setup-Bkxm4g6b.d.mts.map +1 -0
  250. package/dist/setup-CYpff5B9.cjs +110 -0
  251. package/dist/setup-CYpff5B9.cjs.map +1 -0
  252. package/dist/setup-D58N1f9O.d.cts +87 -0
  253. package/dist/setup-D58N1f9O.d.cts.map +1 -0
  254. package/dist/storage/kysely.cjs +70 -82
  255. package/dist/storage/kysely.cjs.map +1 -1
  256. package/dist/storage/kysely.d.cts +20 -36
  257. package/dist/storage/kysely.d.cts.map +1 -1
  258. package/dist/storage/kysely.d.mts +20 -36
  259. package/dist/storage/kysely.d.mts.map +1 -1
  260. package/dist/storage/kysely.mjs +69 -81
  261. package/dist/storage/kysely.mjs.map +1 -1
  262. package/dist/storage/memory.cjs +2 -122
  263. package/dist/storage/memory.d.cts +3 -36
  264. package/dist/storage/memory.d.mts +3 -36
  265. package/dist/storage/memory.mjs +2 -121
  266. package/dist/tracing-BX8uY2nR.d.cts +53 -0
  267. package/dist/tracing-BX8uY2nR.d.cts.map +1 -0
  268. package/dist/tracing-Bt1zWRlb.cjs +167 -0
  269. package/dist/tracing-Bt1zWRlb.cjs.map +1 -0
  270. package/dist/tracing-Cijm_5NI.mjs +113 -0
  271. package/dist/tracing-Cijm_5NI.mjs.map +1 -0
  272. package/dist/tracing-PnECEbEu.d.mts +53 -0
  273. package/dist/tracing-PnECEbEu.d.mts.map +1 -0
  274. package/dist/transformer-BXQPhzql.mjs +215 -0
  275. package/dist/transformer-BXQPhzql.mjs.map +1 -0
  276. package/dist/transformer-CLGZ0EQc.cjs +232 -0
  277. package/dist/transformer-CLGZ0EQc.cjs.map +1 -0
  278. package/dist/{transformer-BtqjAs0b.d.cts → transformer-CTGsaVfV.d.mts} +8 -4
  279. package/dist/transformer-CTGsaVfV.d.mts.map +1 -0
  280. package/dist/{transformer-DI6t8-YA.d.mts → transformer-ICEbxpFf.d.cts} +8 -4
  281. package/dist/transformer-ICEbxpFf.d.cts.map +1 -0
  282. package/dist/{types-BVujq4zd.d.mts → types-B1EIa_cQ.d.mts} +4 -3
  283. package/dist/types-B1EIa_cQ.d.mts.map +1 -0
  284. package/dist/types-BRzW1NM8.d.cts +166 -0
  285. package/dist/types-BRzW1NM8.d.cts.map +1 -0
  286. package/dist/types-BS3Rx8Sk.d.cts +209 -0
  287. package/dist/types-BS3Rx8Sk.d.cts.map +1 -0
  288. package/dist/types-Bwm_jNU7.mjs +54 -0
  289. package/dist/types-Bwm_jNU7.mjs.map +1 -0
  290. package/dist/types-BzQ78Efw.d.mts +166 -0
  291. package/dist/types-BzQ78Efw.d.mts.map +1 -0
  292. package/dist/types-CbNGXnJE.d.mts +209 -0
  293. package/dist/types-CbNGXnJE.d.mts.map +1 -0
  294. package/dist/{types-DVETVdpa.d.cts → types-CmOB7CLO.d.cts} +7 -6
  295. package/dist/types-CmOB7CLO.d.cts.map +1 -0
  296. package/dist/{types-DVETVdpa.d.mts → types-DBc0q5KD.d.mts} +7 -6
  297. package/dist/types-DBc0q5KD.d.mts.map +1 -0
  298. package/dist/types-Dsh-DIO_.cjs +78 -0
  299. package/dist/types-Dsh-DIO_.cjs.map +1 -0
  300. package/dist/types-ZW-nfWf6.cjs +40 -0
  301. package/dist/types-ZW-nfWf6.cjs.map +1 -0
  302. package/dist/{types-BVujq4zd.d.cts → types-l7Rlb5Mg.d.cts} +4 -3
  303. package/dist/types-l7Rlb5Mg.d.cts.map +1 -0
  304. package/dist/types-ojhnLdwz.mjs +34 -0
  305. package/dist/types-ojhnLdwz.mjs.map +1 -0
  306. package/dist/types.d.cts +1 -1
  307. package/dist/types.d.mts +1 -1
  308. package/dist/types.mjs +0 -1
  309. package/dist/ui-assets-BEXqOQLe.cjs +48 -0
  310. package/dist/ui-assets-BEXqOQLe.cjs.map +1 -0
  311. package/dist/ui-assets-BhTDUsrM.mjs +30 -0
  312. package/dist/ui-assets-BhTDUsrM.mjs.map +1 -0
  313. package/dist/ui-assets.cjs +5 -0
  314. package/dist/ui-assets.d.cts +13 -0
  315. package/dist/ui-assets.d.cts.map +1 -0
  316. package/dist/ui-assets.d.mts +13 -0
  317. package/dist/ui-assets.d.mts.map +1 -0
  318. package/dist/ui-assets.mjs +3 -0
  319. package/package.json +46 -46
  320. package/src/Telescope.ts +561 -0
  321. package/src/__tests__/Telescope.spec.ts +438 -0
  322. package/src/__tests__/pino-transport.spec.ts +115 -0
  323. package/src/__tests__/redact.spec.ts +336 -0
  324. package/src/adapters/__tests__/lambda.spec.ts +318 -0
  325. package/src/adapters/__tests__/middy.spec.ts +741 -0
  326. package/src/adapters/index.ts +22 -0
  327. package/src/adapters/lambda.ts +432 -0
  328. package/src/adapters/middy.ts +402 -0
  329. package/src/adapters/types.ts +181 -0
  330. package/src/core.ts +51 -0
  331. package/src/index.ts +34 -0
  332. package/src/instrumentation/__tests__/core.spec.ts +248 -0
  333. package/src/instrumentation/__tests__/hono.spec.ts +348 -0
  334. package/src/instrumentation/__tests__/middleware.spec.ts +528 -0
  335. package/src/instrumentation/__tests__/otel.spec.ts +291 -0
  336. package/src/instrumentation/__tests__/tracing.spec.ts +208 -0
  337. package/src/instrumentation/core.ts +228 -0
  338. package/src/instrumentation/hono.ts +270 -0
  339. package/src/instrumentation/http.ts +306 -0
  340. package/src/instrumentation/index.ts +90 -0
  341. package/src/instrumentation/middleware.ts +297 -0
  342. package/src/instrumentation/otel.ts +271 -0
  343. package/src/instrumentation/setup.ts +246 -0
  344. package/src/instrumentation/tracing.ts +145 -0
  345. package/src/logger/__tests__/console.spec.ts +366 -0
  346. package/src/logger/__tests__/pino.spec.ts +217 -0
  347. package/src/logger/console.ts +230 -0
  348. package/src/logger/pino.ts +201 -0
  349. package/src/metrics/MetricsAggregator.ts +555 -0
  350. package/src/metrics/__tests__/MetricsAggregator.spec.ts +298 -0
  351. package/src/metrics/index.ts +2 -0
  352. package/src/metrics/storage/InMemoryMetricsStorage.ts +380 -0
  353. package/src/metrics/storage/MetricsStorage.ts +74 -0
  354. package/src/metrics/storage/index.ts +3 -0
  355. package/src/metrics/storage/types.ts +243 -0
  356. package/src/otlp/__tests__/receiver.spec.ts +367 -0
  357. package/src/otlp/__tests__/transformer.spec.ts +455 -0
  358. package/src/otlp/hono.ts +120 -0
  359. package/src/otlp/index.ts +22 -0
  360. package/src/otlp/receiver.ts +162 -0
  361. package/src/otlp/transformer.ts +367 -0
  362. package/src/otlp/types.ts +364 -0
  363. package/src/redact.ts +116 -0
  364. package/src/server/__tests__/hono.spec.ts +814 -0
  365. package/src/server/hono.ts +442 -0
  366. package/src/storage/__tests__/kysely.spec.ts +715 -0
  367. package/src/storage/__tests__/memory.spec.ts +694 -0
  368. package/src/storage/kysely.ts +599 -0
  369. package/src/storage/memory.ts +204 -0
  370. package/src/types.ts +447 -0
  371. package/src/ui-assets.ts +40 -0
  372. package/tsconfig.json +9 -0
  373. package/ui/CHANGELOG.md +7 -0
  374. package/ui/index.html +12 -0
  375. package/ui/node_modules/.bin/tsc +21 -0
  376. package/ui/node_modules/.bin/tsserver +21 -0
  377. package/ui/node_modules/.bin/vite +21 -0
  378. package/ui/package.json +24 -0
  379. package/ui/src/App.tsx +595 -0
  380. package/ui/src/api.ts +88 -0
  381. package/ui/src/components/ExceptionDetail.tsx +100 -0
  382. package/ui/src/components/FilterBar.tsx +162 -0
  383. package/ui/src/components/LogDetail.tsx +91 -0
  384. package/ui/src/components/RequestDetail.tsx +143 -0
  385. package/ui/src/main.tsx +10 -0
  386. package/ui/src/styles.css +11 -0
  387. package/ui/src/types.ts +63 -0
  388. package/ui/src/vite-env.d.ts +1 -0
  389. package/ui/src/vite-plugin-gkm-config.ts +54 -0
  390. package/ui/tsconfig.json +20 -0
  391. package/ui/tsconfig.tsbuildinfo +1 -0
  392. package/ui/vite.config.ts +13 -0
  393. package/dist/MetricsAggregator-BJdIvfEv.d.mts.map +0 -1
  394. package/dist/MetricsAggregator-CnC3oT5q.d.cts.map +0 -1
  395. package/dist/Telescope-BVfDvVvY.d.mts.map +0 -1
  396. package/dist/Telescope-DeqSHfuB.d.cts.map +0 -1
  397. package/dist/Telescope.cjs.map +0 -1
  398. package/dist/Telescope.mjs.map +0 -1
  399. package/dist/adapters/middy.cjs.map +0 -1
  400. package/dist/adapters/middy.d.cts.map +0 -1
  401. package/dist/adapters/middy.d.mts.map +0 -1
  402. package/dist/adapters/middy.mjs.map +0 -1
  403. package/dist/adapters/types.d.cts.map +0 -1
  404. package/dist/adapters/types.d.mts.map +0 -1
  405. package/dist/instrumentation/core.cjs.map +0 -1
  406. package/dist/instrumentation/core.d.cts.map +0 -1
  407. package/dist/instrumentation/core.d.mts.map +0 -1
  408. package/dist/instrumentation/core.mjs.map +0 -1
  409. package/dist/instrumentation/hono.cjs.map +0 -1
  410. package/dist/instrumentation/hono.d.cts.map +0 -1
  411. package/dist/instrumentation/hono.d.mts.map +0 -1
  412. package/dist/instrumentation/hono.mjs.map +0 -1
  413. package/dist/instrumentation/http.cjs.map +0 -1
  414. package/dist/instrumentation/http.d.cts.map +0 -1
  415. package/dist/instrumentation/http.d.mts.map +0 -1
  416. package/dist/instrumentation/http.mjs.map +0 -1
  417. package/dist/instrumentation/middleware.cjs.map +0 -1
  418. package/dist/instrumentation/middleware.d.cts.map +0 -1
  419. package/dist/instrumentation/middleware.d.mts.map +0 -1
  420. package/dist/instrumentation/middleware.mjs.map +0 -1
  421. package/dist/instrumentation/otel.cjs.map +0 -1
  422. package/dist/instrumentation/otel.d.cts.map +0 -1
  423. package/dist/instrumentation/otel.d.mts.map +0 -1
  424. package/dist/instrumentation/otel.mjs.map +0 -1
  425. package/dist/instrumentation/sampler.cjs +0 -54
  426. package/dist/instrumentation/sampler.cjs.map +0 -1
  427. package/dist/instrumentation/sampler.d.cts +0 -38
  428. package/dist/instrumentation/sampler.d.cts.map +0 -1
  429. package/dist/instrumentation/sampler.d.mts +0 -38
  430. package/dist/instrumentation/sampler.d.mts.map +0 -1
  431. package/dist/instrumentation/sampler.mjs +0 -52
  432. package/dist/instrumentation/sampler.mjs.map +0 -1
  433. package/dist/instrumentation/setup.cjs.map +0 -1
  434. package/dist/instrumentation/setup.d.cts.map +0 -1
  435. package/dist/instrumentation/setup.d.mts.map +0 -1
  436. package/dist/instrumentation/setup.mjs.map +0 -1
  437. package/dist/instrumentation/tracing.cjs.map +0 -1
  438. package/dist/instrumentation/tracing.d.cts.map +0 -1
  439. package/dist/instrumentation/tracing.d.mts.map +0 -1
  440. package/dist/instrumentation/tracing.mjs.map +0 -1
  441. package/dist/instrumentation/trust.cjs +0 -107
  442. package/dist/instrumentation/trust.cjs.map +0 -1
  443. package/dist/instrumentation/trust.d.cts +0 -57
  444. package/dist/instrumentation/trust.d.cts.map +0 -1
  445. package/dist/instrumentation/trust.d.mts +0 -57
  446. package/dist/instrumentation/trust.d.mts.map +0 -1
  447. package/dist/instrumentation/trust.mjs +0 -104
  448. package/dist/instrumentation/trust.mjs.map +0 -1
  449. package/dist/metrics/MetricsAggregator.cjs.map +0 -1
  450. package/dist/metrics/MetricsAggregator.mjs.map +0 -1
  451. package/dist/metrics/storage/InMemoryMetricsStorage.cjs.map +0 -1
  452. package/dist/metrics/storage/InMemoryMetricsStorage.d.cts.map +0 -1
  453. package/dist/metrics/storage/InMemoryMetricsStorage.d.mts.map +0 -1
  454. package/dist/metrics/storage/InMemoryMetricsStorage.mjs.map +0 -1
  455. package/dist/metrics/storage/MetricsStorage.d.cts.map +0 -1
  456. package/dist/metrics/storage/MetricsStorage.d.mts.map +0 -1
  457. package/dist/metrics/storage/types.cjs.map +0 -1
  458. package/dist/metrics/storage/types.d.cts.map +0 -1
  459. package/dist/metrics/storage/types.d.mts.map +0 -1
  460. package/dist/metrics/storage/types.mjs.map +0 -1
  461. package/dist/otlp/receiver.cjs.map +0 -1
  462. package/dist/otlp/receiver.d.cts.map +0 -1
  463. package/dist/otlp/receiver.d.mts.map +0 -1
  464. package/dist/otlp/receiver.mjs.map +0 -1
  465. package/dist/otlp/transformer.cjs.map +0 -1
  466. package/dist/otlp/transformer.mjs.map +0 -1
  467. package/dist/otlp/types.cjs.map +0 -1
  468. package/dist/otlp/types.mjs.map +0 -1
  469. package/dist/redact.cjs.map +0 -1
  470. package/dist/redact.mjs.map +0 -1
  471. package/dist/storage/memory.cjs.map +0 -1
  472. package/dist/storage/memory.d.cts.map +0 -1
  473. package/dist/storage/memory.d.mts.map +0 -1
  474. package/dist/storage/memory.mjs.map +0 -1
  475. package/dist/transformer-BtqjAs0b.d.cts.map +0 -1
  476. package/dist/transformer-DI6t8-YA.d.mts.map +0 -1
  477. package/dist/types-BVujq4zd.d.cts.map +0 -1
  478. package/dist/types-BVujq4zd.d.mts.map +0 -1
  479. package/dist/types-DVETVdpa.d.cts.map +0 -1
  480. package/dist/types-DVETVdpa.d.mts.map +0 -1
@@ -1,97 +1,2 @@
1
- import { Context } from "aws-lambda";
2
- //#region src/instrumentation/otel.d.ts
3
- /**
4
- * Context object returned by onRequestStart, passed to subsequent hooks.
5
- * This matches the Telemetry interface from @geekmidas/constructs.
6
- */
7
- export interface TelemetryContext {
8
- [key: string]: unknown;
9
- }
10
- /**
11
- * Request information passed to telemetry hooks.
12
- * This matches the Telemetry interface from @geekmidas/constructs.
13
- */
14
- export interface TelemetryRequest {
15
- event: any;
16
- context: Context;
17
- }
18
- /**
19
- * Response information passed to onRequestEnd.
20
- * This matches the Telemetry interface from @geekmidas/constructs.
21
- */
22
- export interface TelemetryResponse {
23
- statusCode: number;
24
- body?: string;
25
- headers?: Record<string, string>;
26
- }
27
- /**
28
- * Telemetry interface for instrumenting endpoint requests.
29
- * This matches the Telemetry interface from @geekmidas/constructs.
30
- */
31
- export interface Telemetry {
32
- onRequestStart(request: TelemetryRequest): TelemetryContext;
33
- onRequestEnd(ctx: TelemetryContext, response: TelemetryResponse): void;
34
- onRequestError(ctx: TelemetryContext, error: Error): void;
35
- }
36
- /**
37
- * Options for OTelTelemetry
38
- */
39
- export interface OTelTelemetryOptions {
40
- /**
41
- * Whether to record request body as span attribute
42
- * @default false
43
- */
44
- recordBody?: boolean;
45
- /**
46
- * Whether to record response body as span attribute
47
- * @default false
48
- */
49
- recordResponseBody?: boolean;
50
- /**
51
- * Custom function to extract user ID from event
52
- */
53
- getUserId?: (event: any) => string | undefined;
54
- /**
55
- * Custom function to extract endpoint name from event
56
- */
57
- getEndpointName?: (event: any) => string | undefined;
58
- /**
59
- * Custom function to extract operation ID from event
60
- */
61
- getOperationId?: (event: any) => string | undefined;
62
- }
63
- /**
64
- * OpenTelemetry implementation of the Telemetry interface
65
- *
66
- * @example
67
- * ```typescript
68
- * import { OTelTelemetry } from '@geekmidas/telescope/instrumentation';
69
- *
70
- * const adaptor = new AmazonApiGatewayV2Endpoint(endpoint, {
71
- * telemetry: new OTelTelemetry(),
72
- * });
73
- * ```
74
- *
75
- * @example With options
76
- * ```typescript
77
- * const adaptor = new AmazonApiGatewayV2Endpoint(endpoint, {
78
- * telemetry: new OTelTelemetry({
79
- * recordBody: true,
80
- * getUserId: (event) => event.requestContext?.authorizer?.userId,
81
- * }),
82
- * });
83
- * ```
84
- */
85
- export declare class OTelTelemetry implements Telemetry {
86
- private options;
87
- constructor(options?: OTelTelemetryOptions);
88
- onRequestStart(request: TelemetryRequest): TelemetryContext;
89
- onRequestEnd(ctx: TelemetryContext, response: TelemetryResponse): void;
90
- onRequestError(ctx: TelemetryContext, error: Error): void;
91
- /**
92
- * Build span attributes from Lambda event
93
- */
94
- private buildSpanAttributes;
95
- }
96
- //#endregion
97
- //# sourceMappingURL=otel.d.cts.map
1
+ import { OTelTelemetry, OTelTelemetryOptions, Telemetry, TelemetryContext, TelemetryRequest, TelemetryResponse } from "../otel-SBVoVEHr.cjs";
2
+ export { OTelTelemetry, OTelTelemetryOptions, Telemetry, TelemetryContext, TelemetryRequest, TelemetryResponse };
@@ -1,97 +1,2 @@
1
- import { Context } from "aws-lambda";
2
- //#region src/instrumentation/otel.d.ts
3
- /**
4
- * Context object returned by onRequestStart, passed to subsequent hooks.
5
- * This matches the Telemetry interface from @geekmidas/constructs.
6
- */
7
- export interface TelemetryContext {
8
- [key: string]: unknown;
9
- }
10
- /**
11
- * Request information passed to telemetry hooks.
12
- * This matches the Telemetry interface from @geekmidas/constructs.
13
- */
14
- export interface TelemetryRequest {
15
- event: any;
16
- context: Context;
17
- }
18
- /**
19
- * Response information passed to onRequestEnd.
20
- * This matches the Telemetry interface from @geekmidas/constructs.
21
- */
22
- export interface TelemetryResponse {
23
- statusCode: number;
24
- body?: string;
25
- headers?: Record<string, string>;
26
- }
27
- /**
28
- * Telemetry interface for instrumenting endpoint requests.
29
- * This matches the Telemetry interface from @geekmidas/constructs.
30
- */
31
- export interface Telemetry {
32
- onRequestStart(request: TelemetryRequest): TelemetryContext;
33
- onRequestEnd(ctx: TelemetryContext, response: TelemetryResponse): void;
34
- onRequestError(ctx: TelemetryContext, error: Error): void;
35
- }
36
- /**
37
- * Options for OTelTelemetry
38
- */
39
- export interface OTelTelemetryOptions {
40
- /**
41
- * Whether to record request body as span attribute
42
- * @default false
43
- */
44
- recordBody?: boolean;
45
- /**
46
- * Whether to record response body as span attribute
47
- * @default false
48
- */
49
- recordResponseBody?: boolean;
50
- /**
51
- * Custom function to extract user ID from event
52
- */
53
- getUserId?: (event: any) => string | undefined;
54
- /**
55
- * Custom function to extract endpoint name from event
56
- */
57
- getEndpointName?: (event: any) => string | undefined;
58
- /**
59
- * Custom function to extract operation ID from event
60
- */
61
- getOperationId?: (event: any) => string | undefined;
62
- }
63
- /**
64
- * OpenTelemetry implementation of the Telemetry interface
65
- *
66
- * @example
67
- * ```typescript
68
- * import { OTelTelemetry } from '@geekmidas/telescope/instrumentation';
69
- *
70
- * const adaptor = new AmazonApiGatewayV2Endpoint(endpoint, {
71
- * telemetry: new OTelTelemetry(),
72
- * });
73
- * ```
74
- *
75
- * @example With options
76
- * ```typescript
77
- * const adaptor = new AmazonApiGatewayV2Endpoint(endpoint, {
78
- * telemetry: new OTelTelemetry({
79
- * recordBody: true,
80
- * getUserId: (event) => event.requestContext?.authorizer?.userId,
81
- * }),
82
- * });
83
- * ```
84
- */
85
- export declare class OTelTelemetry implements Telemetry {
86
- private options;
87
- constructor(options?: OTelTelemetryOptions);
88
- onRequestStart(request: TelemetryRequest): TelemetryContext;
89
- onRequestEnd(ctx: TelemetryContext, response: TelemetryResponse): void;
90
- onRequestError(ctx: TelemetryContext, error: Error): void;
91
- /**
92
- * Build span attributes from Lambda event
93
- */
94
- private buildSpanAttributes;
95
- }
96
- //#endregion
97
- //# sourceMappingURL=otel.d.mts.map
1
+ import { OTelTelemetry, OTelTelemetryOptions, Telemetry, TelemetryContext, TelemetryRequest, TelemetryResponse } from "../otel-1bJPb2Z7.mjs";
2
+ export { OTelTelemetry, OTelTelemetryOptions, Telemetry, TelemetryContext, TelemetryRequest, TelemetryResponse };
@@ -1,137 +1,4 @@
1
- import { createHttpServerSpan, endHttpSpan, extractTraceContext } from "./http.mjs";
2
- import { trace } from "@opentelemetry/api";
3
- //#region src/instrumentation/otel.ts
4
- /**
5
- * OpenTelemetry implementation of the Telemetry interface
6
- *
7
- * This provides automatic span creation for Lambda handlers using
8
- * OpenTelemetry. Works with any OTel-compatible backend (Jaeger, Zipkin,
9
- * Datadog, Honeycomb, etc.)
10
- */
11
- /**
12
- * OpenTelemetry implementation of the Telemetry interface
13
- *
14
- * @example
15
- * ```typescript
16
- * import { OTelTelemetry } from '@geekmidas/telescope/instrumentation';
17
- *
18
- * const adaptor = new AmazonApiGatewayV2Endpoint(endpoint, {
19
- * telemetry: new OTelTelemetry(),
20
- * });
21
- * ```
22
- *
23
- * @example With options
24
- * ```typescript
25
- * const adaptor = new AmazonApiGatewayV2Endpoint(endpoint, {
26
- * telemetry: new OTelTelemetry({
27
- * recordBody: true,
28
- * getUserId: (event) => event.requestContext?.authorizer?.userId,
29
- * }),
30
- * });
31
- * ```
32
- */
33
- var OTelTelemetry = class {
34
- options;
35
- constructor(options = {}) {
36
- this.options = options;
37
- }
38
- onRequestStart(request) {
39
- const { event, context: lambdaContext } = request;
40
- const headers = normalizeHeaders(event.headers || {});
41
- const parentContext = extractTraceContext(headers);
42
- const attrs = this.buildSpanAttributes(event, lambdaContext);
43
- const span = createHttpServerSpan(attrs, parentContext);
44
- const otelContext = trace.setSpan(parentContext, span);
45
- span.setAttribute("faas.invocation_id", lambdaContext.awsRequestId);
46
- span.setAttribute("faas.name", lambdaContext.functionName);
47
- if (this.options.recordBody && event.body) {
48
- const bodyStr = typeof event.body === "string" ? event.body : JSON.stringify(event.body);
49
- span.setAttribute("http.request.body", bodyStr.length > 4096 ? `${bodyStr.slice(0, 4096)}...` : bodyStr);
50
- }
51
- return {
52
- span,
53
- otelContext
54
- };
55
- }
56
- onRequestEnd(ctx, response) {
57
- const { span } = ctx;
58
- if (this.options.recordResponseBody && response.body) span.setAttribute("http.response.body", response.body.length > 4096 ? `${response.body.slice(0, 4096)}...` : response.body);
59
- endHttpSpan(span, { statusCode: response.statusCode });
60
- }
61
- onRequestError(ctx, error) {
62
- const { span } = ctx;
63
- endHttpSpan(span, { statusCode: 500 }, error);
64
- }
65
- /**
66
- * Build span attributes from Lambda event
67
- */
68
- buildSpanAttributes(event, lambdaContext) {
69
- const isV2 = "requestContext" in event && "http" in (event.requestContext || {});
70
- const isV1 = "requestContext" in event && "httpMethod" in event && !("http" in (event.requestContext || {}));
71
- let method = "INVOKE";
72
- let path = "/";
73
- let route;
74
- let host;
75
- let scheme;
76
- let userAgent;
77
- let clientIp;
78
- let requestId;
79
- if (isV2) {
80
- const http = event.requestContext.http;
81
- method = http.method;
82
- path = event.rawPath || http.path;
83
- route = event.routeKey?.replace(/^[A-Z]+\s+/, "");
84
- host = event.headers?.host;
85
- scheme = "https";
86
- userAgent = http.userAgent;
87
- clientIp = http.sourceIp;
88
- requestId = event.requestContext.requestId;
89
- } else if (isV1) {
90
- method = event.httpMethod;
91
- path = event.path;
92
- route = event.resource;
93
- host = event.headers?.Host || event.headers?.host;
94
- scheme = "https";
95
- userAgent = event.headers?.["User-Agent"] || event.headers?.["user-agent"];
96
- clientIp = event.requestContext?.identity?.sourceIp;
97
- requestId = event.requestContext?.requestId;
98
- } else if ("httpMethod" in event) {
99
- method = event.httpMethod;
100
- path = event.path;
101
- host = event.headers?.host;
102
- userAgent = event.headers?.["user-agent"] || event.headers?.["User-Agent"];
103
- clientIp = event.headers?.["x-forwarded-for"]?.split(",")[0]?.trim();
104
- }
105
- const attrs = {
106
- method,
107
- path,
108
- route,
109
- host,
110
- scheme,
111
- userAgent,
112
- clientIp,
113
- requestId: requestId || lambdaContext.awsRequestId
114
- };
115
- if (this.options.getEndpointName || this.options.getOperationId) attrs.endpoint = {
116
- name: this.options.getEndpointName?.(event),
117
- operationId: this.options.getOperationId?.(event)
118
- };
119
- if (this.options.getUserId) {
120
- const userId = this.options.getUserId(event);
121
- if (userId) attrs.user = { userId };
122
- }
123
- return attrs;
124
- }
125
- };
126
- /**
127
- * Normalize headers to lowercase keys
128
- */
129
- function normalizeHeaders(headers) {
130
- const normalized = {};
131
- for (const [key, value] of Object.entries(headers)) normalized[key.toLowerCase()] = value;
132
- return normalized;
133
- }
134
- //#endregion
135
- export { OTelTelemetry };
1
+ import "../http-DQzgLczm.mjs";
2
+ import { OTelTelemetry } from "../otel-wulj5B-X.mjs";
136
3
 
137
- //# sourceMappingURL=otel.mjs.map
4
+ export { OTelTelemetry };
@@ -1,143 +1,5 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_instrumentation_core = require("./core.cjs");
3
- const require_instrumentation_sampler = require("./sampler.cjs");
4
- let _opentelemetry_api = require("@opentelemetry/api");
5
- let _opentelemetry_auto_instrumentations_node = require("@opentelemetry/auto-instrumentations-node");
6
- let _opentelemetry_exporter_logs_otlp_http = require("@opentelemetry/exporter-logs-otlp-http");
7
- let _opentelemetry_exporter_trace_otlp_http = require("@opentelemetry/exporter-trace-otlp-http");
8
- let _opentelemetry_instrumentation_pino = require("@opentelemetry/instrumentation-pino");
9
- let _opentelemetry_resources = require("@opentelemetry/resources");
10
- let _opentelemetry_sdk_logs = require("@opentelemetry/sdk-logs");
11
- let _opentelemetry_sdk_node = require("@opentelemetry/sdk-node");
12
- let _opentelemetry_sdk_trace_node = require("@opentelemetry/sdk-trace-node");
13
- let _opentelemetry_semantic_conventions = require("@opentelemetry/semantic-conventions");
14
- //#region src/instrumentation/setup.ts
15
- let sdk = null;
16
- let onSigterm = null;
17
- /** A `sampleRatio` outside 0–1, which no sampler can honour. */
18
- var InvalidSampleRatio = class extends Error {
19
- sampleRatio;
20
- constructor(sampleRatio) {
21
- super(`sampleRatio must be a number from 0 (no traces) to 1 (every trace), got ${sampleRatio}. Pass a fraction such as 0.1 to keep one trace in ten.`);
22
- this.sampleRatio = sampleRatio;
23
- this.name = "InvalidSampleRatio";
24
- }
25
- };
26
- /** Whether the standard OTLP environment variables name a collector. */
27
- function otlpEndpointFromEnv(signal) {
28
- return Boolean(process.env[`OTEL_EXPORTER_OTLP_${signal}_ENDPOINT`] || process.env.OTEL_EXPORTER_OTLP_ENDPOINT);
29
- }
30
- /**
31
- * The sampler for an explicit ratio, or for the stage's rate in
32
- * `OTEL_TRACES_SAMPLER_ARG` — or undefined to let the SDK read any other
33
- * `OTEL_TRACES_SAMPLER` itself.
34
- */
35
- function samplerFor(sampleRatio) {
36
- if (sampleRatio === void 0) return require_instrumentation_sampler.traceSamplerFromEnv();
37
- if (!Number.isFinite(sampleRatio) || sampleRatio < 0 || sampleRatio > 1) throw new InvalidSampleRatio(sampleRatio);
38
- return require_instrumentation_sampler.traceSampler(sampleRatio);
39
- }
40
- /**
41
- * Set up OpenTelemetry instrumentation.
42
- * Call this BEFORE importing your application code.
43
- *
44
- * @example
45
- * ```typescript
46
- * // instrumentation.ts (create this file)
47
- * import { setupTelemetry } from '@geekmidas/telescope/instrumentation';
48
- *
49
- * setupTelemetry({
50
- * serviceName: 'my-api',
51
- * endpoint: 'http://localhost:3000/__telescope/v1',
52
- * });
53
- *
54
- * // Then in your entry point:
55
- * // import './instrumentation';
56
- * // import { app } from './app';
57
- * ```
58
- */
59
- function setupTelemetry(options) {
60
- if (sdk) return;
61
- const { serviceName, serviceVersion = "1.0.0", serviceNamespace, deploymentEnvironment, endpoint, sampleRatio, handleSignals = true, instrumentPino = true, incomingHttpSpans = true, autoInstrument = true, debug = false, resourceAttributes = {}, headers, spanProcessorStrategy, environment = "server" } = options;
62
- const sampler = samplerFor(sampleRatio);
63
- if (debug) _opentelemetry_api.diag.setLogger(new _opentelemetry_api.DiagConsoleLogger(), _opentelemetry_api.DiagLogLevel.DEBUG);
64
- const resource = (0, _opentelemetry_resources.resourceFromAttributes)({
65
- [_opentelemetry_semantic_conventions.ATTR_SERVICE_NAME]: serviceName,
66
- [_opentelemetry_semantic_conventions.ATTR_SERVICE_VERSION]: serviceVersion,
67
- ...serviceNamespace && { "service.namespace": serviceNamespace },
68
- ...deploymentEnvironment && {
69
- "deployment.environment.name": deploymentEnvironment,
70
- "deployment.environment": deploymentEnvironment
71
- },
72
- ...resourceAttributes
73
- });
74
- const instrumentations = [];
75
- if (instrumentPino) instrumentations.push(new _opentelemetry_instrumentation_pino.PinoInstrumentation({ logHook: (span, record) => {
76
- record.trace_id = span.spanContext().traceId;
77
- record.span_id = span.spanContext().spanId;
78
- record.trace_flags = span.spanContext().traceFlags;
79
- } }));
80
- if (autoInstrument) instrumentations.push((0, _opentelemetry_auto_instrumentations_node.getNodeAutoInstrumentations)({
81
- "@opentelemetry/instrumentation-fs": { enabled: false },
82
- "@opentelemetry/instrumentation-http": {
83
- disableIncomingRequestInstrumentation: !incomingHttpSpans,
84
- ignoreIncomingRequestHook: (request) => {
85
- const path = request.url || "";
86
- return path.includes("/__health") || path.includes("/__telescope") || path.includes("/favicon");
87
- }
88
- }
89
- }));
90
- let traceExporter;
91
- if (endpoint) traceExporter = new _opentelemetry_exporter_trace_otlp_http.OTLPTraceExporter({
92
- url: `${endpoint}/traces`,
93
- headers: headers ?? {}
94
- });
95
- else if (otlpEndpointFromEnv("TRACES")) traceExporter = new _opentelemetry_exporter_trace_otlp_http.OTLPTraceExporter(headers ? { headers } : {});
96
- else traceExporter = new _opentelemetry_sdk_trace_node.ConsoleSpanExporter();
97
- const strategy = spanProcessorStrategy ?? require_instrumentation_core.getRecommendedStrategy(environment);
98
- const spanProcessor = require_instrumentation_core.createSpanProcessor(traceExporter, { strategy });
99
- require_instrumentation_core.setGlobalSpanProcessor(spanProcessor);
100
- let logProcessor;
101
- if (endpoint || otlpEndpointFromEnv("LOGS")) {
102
- const logExporter = endpoint ? new _opentelemetry_exporter_logs_otlp_http.OTLPLogExporter({
103
- url: `${endpoint}/logs`,
104
- headers: headers ?? {}
105
- }) : new _opentelemetry_exporter_logs_otlp_http.OTLPLogExporter(headers ? { headers } : {});
106
- logProcessor = new _opentelemetry_sdk_logs.BatchLogRecordProcessor({ exporter: logExporter });
107
- require_instrumentation_core.setGlobalLogProcessor(logProcessor);
108
- }
109
- sdk = new _opentelemetry_sdk_node.NodeSDK({
110
- resource,
111
- traceExporter,
112
- spanProcessors: [spanProcessor],
113
- ...logProcessor && { logRecordProcessors: [logProcessor] },
114
- ...sampler && { sampler },
115
- instrumentations
116
- });
117
- sdk.start();
118
- if (handleSignals) {
119
- onSigterm = () => {
120
- sdk?.shutdown().then(() => {}).catch((_error) => {}).finally(() => process.exit(0));
121
- };
122
- process.on("SIGTERM", onSigterm);
123
- }
124
- }
125
- /**
126
- * Shut down telemetry (for testing or graceful shutdown)
127
- */
128
- async function shutdownTelemetry() {
129
- if (onSigterm) {
130
- process.off("SIGTERM", onSigterm);
131
- onSigterm = null;
132
- }
133
- if (sdk) {
134
- await sdk.shutdown();
135
- sdk = null;
136
- }
137
- }
138
- //#endregion
139
- exports.InvalidSampleRatio = InvalidSampleRatio;
140
- exports.setupTelemetry = setupTelemetry;
141
- exports.shutdownTelemetry = shutdownTelemetry;
1
+ require('../core-CtVHRJGv.cjs');
2
+ const require_setup = require('../setup-CYpff5B9.cjs');
142
3
 
143
- //# sourceMappingURL=setup.cjs.map
4
+ exports.setupTelemetry = require_setup.setupTelemetry;
5
+ exports.shutdownTelemetry = require_setup.shutdownTelemetry;
@@ -1,139 +1,3 @@
1
- import { SpanProcessorStrategy } from "../adapters/types.cjs";
2
- //#region src/instrumentation/setup.d.ts
3
- /**
4
- * Options for configuring telemetry
5
- */
6
- export interface TelemetryOptions {
7
- /**
8
- * Service name for resource identification
9
- */
10
- serviceName: string;
11
- /**
12
- * Service version
13
- */
14
- serviceVersion?: string;
15
- /**
16
- * The `service.namespace` resource attribute — the product an app is part
17
- * of, so several services from one workspace group together.
18
- */
19
- serviceNamespace?: string;
20
- /**
21
- * The stage this process runs as (`production`, `staging`, …). Sent as
22
- * `deployment.environment.name`, and as the older `deployment.environment`
23
- * many backends still filter on.
24
- */
25
- deploymentEnvironment?: string;
26
- /**
27
- * OTLP endpoint URL (e.g., 'http://localhost:3000/__telescope/v1').
28
- * Traces go to `<endpoint>/traces` and logs to `<endpoint>/logs`.
29
- *
30
- * If not provided, the standard `OTEL_EXPORTER_OTLP_ENDPOINT` (and its
31
- * per-signal `_TRACES_`/`_LOGS_` variants and `OTEL_EXPORTER_OTLP_HEADERS`)
32
- * configure the exporters, with the spec's `/v1/traces` and `/v1/logs`
33
- * paths. With neither, traces are written to the console.
34
- */
35
- endpoint?: string;
36
- /**
37
- * The fraction of new traces to sample, from 0 to 1. A span whose parent
38
- * in this process was sampled (or not) follows its parent, so a trace is
39
- * never cut in half; a caller's sampled flag is capped at this rate, so a
40
- * request cannot force a trace the stage would not keep (`traceSampler`).
41
- *
42
- * When left out, the standard `OTEL_TRACES_SAMPLER` and
43
- * `OTEL_TRACES_SAMPLER_ARG` decide — `parentbased_traceidratio` with `0.1`
44
- * is the same capped sampler at 0.1; with neither, every trace is sampled.
45
- */
46
- sampleRatio?: number;
47
- /**
48
- * Shut the SDK down and exit on `SIGTERM`.
49
- *
50
- * Turn it off when the process has its own graceful shutdown — exiting as
51
- * soon as telemetry is flushed would cut in-flight requests short.
52
- * @default true
53
- */
54
- handleSignals?: boolean;
55
- /**
56
- * Whether to instrument Pino for log correlation.
57
- *
58
- * It hooks module loading, so it sees nothing inside a bundle. A logger
59
- * from `@geekmidas/logger`'s `createLogger` sends its records through the
60
- * logs API itself; turn this off for one, or each record is sent twice
61
- * where pino can be hooked.
62
- * @default true
63
- */
64
- instrumentPino?: boolean;
65
- /**
66
- * Whether the http auto-instrumentation opens a span for each incoming
67
- * request.
68
- *
69
- * Turn it off when the server opens its own — `honoTelemetryMiddleware`,
70
- * as a `gkm build` server does — or each request is traced twice where
71
- * `node:http` can be hooked, and not at all in a bundle, where it cannot.
72
- * Outgoing requests are traced either way.
73
- * @default true
74
- */
75
- incomingHttpSpans?: boolean;
76
- /**
77
- * Whether to enable auto-instrumentation for common libraries
78
- * (http, fetch, express, etc.)
79
- * @default true
80
- */
81
- autoInstrument?: boolean;
82
- /**
83
- * Enable debug logging for OTel SDK
84
- * @default false
85
- */
86
- debug?: boolean;
87
- /**
88
- * Additional resource attributes
89
- */
90
- resourceAttributes?: Record<string, string>;
91
- /**
92
- * Headers to send with OTLP requests
93
- */
94
- headers?: Record<string, string>;
95
- /**
96
- * Span processor strategy.
97
- * - 'batch': Efficient batching for long-running servers (default)
98
- * - 'simple': Immediate export for serverless environments (Lambda, Edge)
99
- *
100
- * If not specified, automatically selected based on environment detection.
101
- */
102
- spanProcessorStrategy?: SpanProcessorStrategy;
103
- /**
104
- * Environment type for automatic configuration
105
- * @default 'server'
106
- */
107
- environment?: 'server' | 'lambda' | 'edge' | 'custom';
108
- }
109
- /** A `sampleRatio` outside 0–1, which no sampler can honour. */
110
- export declare class InvalidSampleRatio extends Error {
111
- readonly sampleRatio: number;
112
- constructor(sampleRatio: number);
113
- }
114
- /**
115
- * Set up OpenTelemetry instrumentation.
116
- * Call this BEFORE importing your application code.
117
- *
118
- * @example
119
- * ```typescript
120
- * // instrumentation.ts (create this file)
121
- * import { setupTelemetry } from '@geekmidas/telescope/instrumentation';
122
- *
123
- * setupTelemetry({
124
- * serviceName: 'my-api',
125
- * endpoint: 'http://localhost:3000/__telescope/v1',
126
- * });
127
- *
128
- * // Then in your entry point:
129
- * // import './instrumentation';
130
- * // import { app } from './app';
131
- * ```
132
- */
133
- export declare function setupTelemetry(options: TelemetryOptions): void;
134
- /**
135
- * Shut down telemetry (for testing or graceful shutdown)
136
- */
137
- export declare function shutdownTelemetry(): Promise<void>;
138
- //#endregion
139
- //# sourceMappingURL=setup.d.cts.map
1
+ import "../types-BRzW1NM8.cjs";
2
+ import { TelemetryOptions, setupTelemetry, shutdownTelemetry } from "../setup-D58N1f9O.cjs";
3
+ export { TelemetryOptions, setupTelemetry, shutdownTelemetry };