@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,148 +1,12 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- let _opentelemetry_api = require("@opentelemetry/api");
3
- let _opentelemetry_sdk_trace_base = require("@opentelemetry/sdk-trace-base");
4
- //#region src/instrumentation/core.ts
5
- const state = {
6
- spanProcessor: null,
7
- logProcessor: null,
8
- initialized: false
9
- };
10
- /**
11
- * Create a span processor based on the strategy
12
- */
13
- function createSpanProcessor(exporter, options) {
14
- const { strategy, ...config } = options;
15
- if (strategy === "simple") return new _opentelemetry_sdk_trace_base.SimpleSpanProcessor(exporter);
16
- return new _opentelemetry_sdk_trace_base.BatchSpanProcessor(exporter, {
17
- maxQueueSize: config.maxQueueSize ?? 2048,
18
- scheduledDelayMillis: config.scheduledDelayMillis ?? 5e3,
19
- exportTimeoutMillis: config.exportTimeoutMillis ?? 3e4,
20
- maxExportBatchSize: config.maxExportBatchSize ?? 512
21
- });
22
- }
23
- /**
24
- * Get the recommended span processor strategy for an environment
25
- */
26
- function getRecommendedStrategy(environment) {
27
- switch (environment) {
28
- case "lambda":
29
- case "edge": return "simple";
30
- default: return "batch";
31
- }
32
- }
33
- /**
34
- * Set the global span processor for flush operations
35
- */
36
- function setGlobalSpanProcessor(processor) {
37
- state.spanProcessor = processor;
38
- state.initialized = true;
39
- }
40
- /**
41
- * Set the global log processor for flush operations
42
- */
43
- function setGlobalLogProcessor(processor) {
44
- state.logProcessor = processor;
45
- }
46
- /**
47
- * Check if telemetry is initialized
48
- */
49
- function isTelemetryInitialized() {
50
- return state.initialized;
51
- }
52
- /**
53
- * Flush all pending telemetry data.
54
- * This is critical for serverless environments where the process may freeze.
55
- *
56
- * @example
57
- * ```typescript
58
- * // In a Lambda handler
59
- * export const handler = async (event, context) => {
60
- * try {
61
- * const result = await processRequest(event);
62
- * return result;
63
- * } finally {
64
- * // Flush before Lambda freezes
65
- * await flushTelemetry();
66
- * }
67
- * };
68
- * ```
69
- */
70
- async function flushTelemetry(timeoutMs = 3e4) {
71
- const promises = [];
72
- if (state.spanProcessor) promises.push(Promise.race([state.spanProcessor.forceFlush(), new Promise((_, reject) => setTimeout(() => reject(/* @__PURE__ */ new Error("Span flush timeout")), timeoutMs))]).catch((error) => {
73
- if (_opentelemetry_api.diag.debug) _opentelemetry_api.diag.debug(`Span flush error: ${error.message}`);
74
- }));
75
- if (state.logProcessor && typeof state.logProcessor.forceFlush === "function") promises.push(Promise.race([state.logProcessor.forceFlush(), new Promise((_, reject) => setTimeout(() => reject(/* @__PURE__ */ new Error("Log flush timeout")), timeoutMs))]).catch((error) => {
76
- if (_opentelemetry_api.diag.debug) _opentelemetry_api.diag.debug(`Log flush error: ${error.message}`);
77
- }));
78
- await Promise.all(promises);
79
- }
80
- /**
81
- * Shutdown all telemetry processors
82
- */
83
- async function shutdownTelemetry() {
84
- const promises = [];
85
- if (state.spanProcessor) {
86
- promises.push(state.spanProcessor.shutdown());
87
- state.spanProcessor = null;
88
- }
89
- if (state.logProcessor && typeof state.logProcessor.shutdown === "function") {
90
- promises.push(state.logProcessor.shutdown());
91
- state.logProcessor = null;
92
- }
93
- state.initialized = false;
94
- await Promise.all(promises);
95
- }
96
- /**
97
- * Enable debug logging for telemetry
98
- */
99
- function enableTelemetryDebug() {
100
- _opentelemetry_api.diag.setLogger(new _opentelemetry_api.DiagConsoleLogger(), _opentelemetry_api.DiagLogLevel.DEBUG);
101
- }
102
- /**
103
- * Wraps a handler function to ensure telemetry is flushed before returning.
104
- * Useful for Lambda handlers.
105
- *
106
- * @example
107
- * ```typescript
108
- * export const handler = withTelemetryFlush(async (event, context) => {
109
- * // Your Lambda logic here
110
- * return { statusCode: 200, body: 'OK' };
111
- * });
112
- * ```
113
- */
114
- function withTelemetryFlush(handler) {
115
- return async (event, context) => {
116
- try {
117
- return await handler(event, context);
118
- } finally {
119
- await flushTelemetry();
120
- }
121
- };
122
- }
123
- /**
124
- * Noop span processor for testing or when telemetry is disabled
125
- */
126
- var NoopSpanProcessor = class {
127
- forceFlush() {
128
- return Promise.resolve();
129
- }
130
- onStart(_span) {}
131
- onEnd(_span) {}
132
- shutdown() {
133
- return Promise.resolve();
134
- }
135
- };
136
- //#endregion
137
- exports.NoopSpanProcessor = NoopSpanProcessor;
138
- exports.createSpanProcessor = createSpanProcessor;
139
- exports.enableTelemetryDebug = enableTelemetryDebug;
140
- exports.flushTelemetry = flushTelemetry;
141
- exports.getRecommendedStrategy = getRecommendedStrategy;
142
- exports.isTelemetryInitialized = isTelemetryInitialized;
143
- exports.setGlobalLogProcessor = setGlobalLogProcessor;
144
- exports.setGlobalSpanProcessor = setGlobalSpanProcessor;
145
- exports.shutdownTelemetry = shutdownTelemetry;
146
- exports.withTelemetryFlush = withTelemetryFlush;
1
+ const require_core = require('../core-CtVHRJGv.cjs');
147
2
 
148
- //# sourceMappingURL=core.cjs.map
3
+ exports.NoopSpanProcessor = require_core.NoopSpanProcessor;
4
+ exports.createSpanProcessor = require_core.createSpanProcessor;
5
+ exports.enableTelemetryDebug = require_core.enableTelemetryDebug;
6
+ exports.flushTelemetry = require_core.flushTelemetry;
7
+ exports.getRecommendedStrategy = require_core.getRecommendedStrategy;
8
+ exports.isTelemetryInitialized = require_core.isTelemetryInitialized;
9
+ exports.setGlobalLogProcessor = require_core.setGlobalLogProcessor;
10
+ exports.setGlobalSpanProcessor = require_core.setGlobalSpanProcessor;
11
+ exports.shutdownTelemetry = require_core.shutdownTelemetry;
12
+ exports.withTelemetryFlush = require_core.withTelemetryFlush;
@@ -1,74 +1,3 @@
1
- import { SpanProcessorOptions, SpanProcessorStrategy } from "../adapters/types.cjs";
2
- import { ReadableSpan, Span, SpanExporter, SpanProcessor } from "@opentelemetry/sdk-trace-base";
3
- //#region src/instrumentation/core.d.ts
4
- /**
5
- * Create a span processor based on the strategy
6
- */
7
- export declare function createSpanProcessor(exporter: SpanExporter, options: SpanProcessorOptions): SpanProcessor;
8
- /**
9
- * Get the recommended span processor strategy for an environment
10
- */
11
- export declare function getRecommendedStrategy(environment: 'server' | 'lambda' | 'edge' | 'custom'): SpanProcessorStrategy;
12
- /**
13
- * Set the global span processor for flush operations
14
- */
15
- export declare function setGlobalSpanProcessor(processor: SpanProcessor): void;
16
- /**
17
- * Set the global log processor for flush operations
18
- */
19
- export declare function setGlobalLogProcessor(processor: unknown): void;
20
- /**
21
- * Check if telemetry is initialized
22
- */
23
- export declare function isTelemetryInitialized(): boolean;
24
- /**
25
- * Flush all pending telemetry data.
26
- * This is critical for serverless environments where the process may freeze.
27
- *
28
- * @example
29
- * ```typescript
30
- * // In a Lambda handler
31
- * export const handler = async (event, context) => {
32
- * try {
33
- * const result = await processRequest(event);
34
- * return result;
35
- * } finally {
36
- * // Flush before Lambda freezes
37
- * await flushTelemetry();
38
- * }
39
- * };
40
- * ```
41
- */
42
- export declare function flushTelemetry(timeoutMs?: number): Promise<void>;
43
- /**
44
- * Shutdown all telemetry processors
45
- */
46
- export declare function shutdownTelemetry(): Promise<void>;
47
- /**
48
- * Enable debug logging for telemetry
49
- */
50
- export declare function enableTelemetryDebug(): void;
51
- /**
52
- * Wraps a handler function to ensure telemetry is flushed before returning.
53
- * Useful for Lambda handlers.
54
- *
55
- * @example
56
- * ```typescript
57
- * export const handler = withTelemetryFlush(async (event, context) => {
58
- * // Your Lambda logic here
59
- * return { statusCode: 200, body: 'OK' };
60
- * });
61
- * ```
62
- */
63
- export declare function withTelemetryFlush<TEvent, TResult>(handler: (event: TEvent, context: unknown) => Promise<TResult>): (event: TEvent, context: unknown) => Promise<TResult>;
64
- /**
65
- * Noop span processor for testing or when telemetry is disabled
66
- */
67
- export declare class NoopSpanProcessor implements SpanProcessor {
68
- forceFlush(): Promise<void>;
69
- onStart(_span: Span): void;
70
- onEnd(_span: ReadableSpan): void;
71
- shutdown(): Promise<void>;
72
- }
73
- //#endregion
74
- //# sourceMappingURL=core.d.cts.map
1
+ import "../types-BRzW1NM8.cjs";
2
+ import { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush } from "../core-B4Jpia5H.cjs";
3
+ export { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush };
@@ -1,74 +1,3 @@
1
- import { SpanProcessorOptions, SpanProcessorStrategy } from "../adapters/types.mjs";
2
- import { ReadableSpan, Span, SpanExporter, SpanProcessor } from "@opentelemetry/sdk-trace-base";
3
- //#region src/instrumentation/core.d.ts
4
- /**
5
- * Create a span processor based on the strategy
6
- */
7
- export declare function createSpanProcessor(exporter: SpanExporter, options: SpanProcessorOptions): SpanProcessor;
8
- /**
9
- * Get the recommended span processor strategy for an environment
10
- */
11
- export declare function getRecommendedStrategy(environment: 'server' | 'lambda' | 'edge' | 'custom'): SpanProcessorStrategy;
12
- /**
13
- * Set the global span processor for flush operations
14
- */
15
- export declare function setGlobalSpanProcessor(processor: SpanProcessor): void;
16
- /**
17
- * Set the global log processor for flush operations
18
- */
19
- export declare function setGlobalLogProcessor(processor: unknown): void;
20
- /**
21
- * Check if telemetry is initialized
22
- */
23
- export declare function isTelemetryInitialized(): boolean;
24
- /**
25
- * Flush all pending telemetry data.
26
- * This is critical for serverless environments where the process may freeze.
27
- *
28
- * @example
29
- * ```typescript
30
- * // In a Lambda handler
31
- * export const handler = async (event, context) => {
32
- * try {
33
- * const result = await processRequest(event);
34
- * return result;
35
- * } finally {
36
- * // Flush before Lambda freezes
37
- * await flushTelemetry();
38
- * }
39
- * };
40
- * ```
41
- */
42
- export declare function flushTelemetry(timeoutMs?: number): Promise<void>;
43
- /**
44
- * Shutdown all telemetry processors
45
- */
46
- export declare function shutdownTelemetry(): Promise<void>;
47
- /**
48
- * Enable debug logging for telemetry
49
- */
50
- export declare function enableTelemetryDebug(): void;
51
- /**
52
- * Wraps a handler function to ensure telemetry is flushed before returning.
53
- * Useful for Lambda handlers.
54
- *
55
- * @example
56
- * ```typescript
57
- * export const handler = withTelemetryFlush(async (event, context) => {
58
- * // Your Lambda logic here
59
- * return { statusCode: 200, body: 'OK' };
60
- * });
61
- * ```
62
- */
63
- export declare function withTelemetryFlush<TEvent, TResult>(handler: (event: TEvent, context: unknown) => Promise<TResult>): (event: TEvent, context: unknown) => Promise<TResult>;
64
- /**
65
- * Noop span processor for testing or when telemetry is disabled
66
- */
67
- export declare class NoopSpanProcessor implements SpanProcessor {
68
- forceFlush(): Promise<void>;
69
- onStart(_span: Span): void;
70
- onEnd(_span: ReadableSpan): void;
71
- shutdown(): Promise<void>;
72
- }
73
- //#endregion
74
- //# sourceMappingURL=core.d.mts.map
1
+ import "../types-BzQ78Efw.mjs";
2
+ import { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush } from "../core--quSp5Qr.mjs";
3
+ export { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush };
@@ -1,138 +1,3 @@
1
- import { DiagConsoleLogger, DiagLogLevel, diag } from "@opentelemetry/api";
2
- import { BatchSpanProcessor, SimpleSpanProcessor } from "@opentelemetry/sdk-trace-base";
3
- //#region src/instrumentation/core.ts
4
- const state = {
5
- spanProcessor: null,
6
- logProcessor: null,
7
- initialized: false
8
- };
9
- /**
10
- * Create a span processor based on the strategy
11
- */
12
- function createSpanProcessor(exporter, options) {
13
- const { strategy, ...config } = options;
14
- if (strategy === "simple") return new SimpleSpanProcessor(exporter);
15
- return new BatchSpanProcessor(exporter, {
16
- maxQueueSize: config.maxQueueSize ?? 2048,
17
- scheduledDelayMillis: config.scheduledDelayMillis ?? 5e3,
18
- exportTimeoutMillis: config.exportTimeoutMillis ?? 3e4,
19
- maxExportBatchSize: config.maxExportBatchSize ?? 512
20
- });
21
- }
22
- /**
23
- * Get the recommended span processor strategy for an environment
24
- */
25
- function getRecommendedStrategy(environment) {
26
- switch (environment) {
27
- case "lambda":
28
- case "edge": return "simple";
29
- default: return "batch";
30
- }
31
- }
32
- /**
33
- * Set the global span processor for flush operations
34
- */
35
- function setGlobalSpanProcessor(processor) {
36
- state.spanProcessor = processor;
37
- state.initialized = true;
38
- }
39
- /**
40
- * Set the global log processor for flush operations
41
- */
42
- function setGlobalLogProcessor(processor) {
43
- state.logProcessor = processor;
44
- }
45
- /**
46
- * Check if telemetry is initialized
47
- */
48
- function isTelemetryInitialized() {
49
- return state.initialized;
50
- }
51
- /**
52
- * Flush all pending telemetry data.
53
- * This is critical for serverless environments where the process may freeze.
54
- *
55
- * @example
56
- * ```typescript
57
- * // In a Lambda handler
58
- * export const handler = async (event, context) => {
59
- * try {
60
- * const result = await processRequest(event);
61
- * return result;
62
- * } finally {
63
- * // Flush before Lambda freezes
64
- * await flushTelemetry();
65
- * }
66
- * };
67
- * ```
68
- */
69
- async function flushTelemetry(timeoutMs = 3e4) {
70
- const promises = [];
71
- if (state.spanProcessor) promises.push(Promise.race([state.spanProcessor.forceFlush(), new Promise((_, reject) => setTimeout(() => reject(/* @__PURE__ */ new Error("Span flush timeout")), timeoutMs))]).catch((error) => {
72
- if (diag.debug) diag.debug(`Span flush error: ${error.message}`);
73
- }));
74
- if (state.logProcessor && typeof state.logProcessor.forceFlush === "function") promises.push(Promise.race([state.logProcessor.forceFlush(), new Promise((_, reject) => setTimeout(() => reject(/* @__PURE__ */ new Error("Log flush timeout")), timeoutMs))]).catch((error) => {
75
- if (diag.debug) diag.debug(`Log flush error: ${error.message}`);
76
- }));
77
- await Promise.all(promises);
78
- }
79
- /**
80
- * Shutdown all telemetry processors
81
- */
82
- async function shutdownTelemetry() {
83
- const promises = [];
84
- if (state.spanProcessor) {
85
- promises.push(state.spanProcessor.shutdown());
86
- state.spanProcessor = null;
87
- }
88
- if (state.logProcessor && typeof state.logProcessor.shutdown === "function") {
89
- promises.push(state.logProcessor.shutdown());
90
- state.logProcessor = null;
91
- }
92
- state.initialized = false;
93
- await Promise.all(promises);
94
- }
95
- /**
96
- * Enable debug logging for telemetry
97
- */
98
- function enableTelemetryDebug() {
99
- diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
100
- }
101
- /**
102
- * Wraps a handler function to ensure telemetry is flushed before returning.
103
- * Useful for Lambda handlers.
104
- *
105
- * @example
106
- * ```typescript
107
- * export const handler = withTelemetryFlush(async (event, context) => {
108
- * // Your Lambda logic here
109
- * return { statusCode: 200, body: 'OK' };
110
- * });
111
- * ```
112
- */
113
- function withTelemetryFlush(handler) {
114
- return async (event, context) => {
115
- try {
116
- return await handler(event, context);
117
- } finally {
118
- await flushTelemetry();
119
- }
120
- };
121
- }
122
- /**
123
- * Noop span processor for testing or when telemetry is disabled
124
- */
125
- var NoopSpanProcessor = class {
126
- forceFlush() {
127
- return Promise.resolve();
128
- }
129
- onStart(_span) {}
130
- onEnd(_span) {}
131
- shutdown() {
132
- return Promise.resolve();
133
- }
134
- };
135
- //#endregion
136
- export { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush };
1
+ import { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush } from "../core-D6hJ6exL.mjs";
137
2
 
138
- //# sourceMappingURL=core.mjs.map
3
+ export { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush };
@@ -1,175 +1,7 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_instrumentation_http = require("./http.cjs");
3
- const require_instrumentation_trust = require("./trust.cjs");
4
- let _opentelemetry_api = require("@opentelemetry/api");
5
- let hono_route = require("hono/route");
6
- //#region src/instrumentation/hono.ts
7
- const SPAN_KEY = "telemetry.span";
8
- const CONTEXT_KEY = "telemetry.context";
9
- /**
10
- * Get the current span from Hono context
11
- */
12
- function getSpanFromContext(c) {
13
- return c.get(SPAN_KEY);
14
- }
15
- /**
16
- * Get the current trace context from Hono context
17
- */
18
- function getTraceContextFromHono(c) {
19
- return c.get(CONTEXT_KEY);
20
- }
21
- /**
22
- * Create a telemetry middleware for Hono applications
23
- *
24
- * @example
25
- * ```typescript
26
- * import { honoTelemetryMiddleware } from '@geekmidas/telescope/instrumentation';
27
- *
28
- * const app = new Hono();
29
- * app.use('*', honoTelemetryMiddleware());
30
- * ```
31
- */
32
- function honoTelemetryMiddleware(options = {}) {
33
- return async (c, next) => {
34
- if (options.ignorePaths && shouldIgnorePath(c.req.path, options.ignorePaths)) return next();
35
- if (options.shouldSkip?.(c)) return next();
36
- const headers = {};
37
- c.req.raw.headers.forEach((value, key) => {
38
- headers[key] = value;
39
- });
40
- const { parent: parentContext, links } = require_instrumentation_http.incomingTraceContext(headers, isTrustedCaller(c, options));
41
- const attrs = buildHonoSpanAttributes(c, options);
42
- const span = require_instrumentation_http.createHttpServerSpan(attrs, parentContext, links);
43
- const spanContext = _opentelemetry_api.trace.setSpan(parentContext, span);
44
- c.set(SPAN_KEY, span);
45
- c.set(CONTEXT_KEY, spanContext);
46
- if (options.recordBody) try {
47
- const body = await c.req.text();
48
- if (body) span.setAttribute("http.request.body", body.length > 4096 ? `${body.slice(0, 4096)}...` : body);
49
- } catch {}
50
- try {
51
- await _opentelemetry_api.context.with(spanContext, async () => {
52
- await next();
53
- });
54
- nameAfterRoute(c, span);
55
- const statusCode = c.res.status;
56
- if (options.recordResponseBody) try {
57
- const body = await c.res.clone().text();
58
- if (body) span.setAttribute("http.response.body", body.length > 4096 ? `${body.slice(0, 4096)}...` : body);
59
- } catch {}
60
- require_instrumentation_http.endHttpSpan(span, { statusCode }, c.error);
61
- } catch (error) {
62
- nameAfterRoute(c, span);
63
- require_instrumentation_http.endHttpSpan(span, { statusCode: 500 }, error instanceof Error ? error : new Error(String(error)));
64
- throw error;
65
- }
66
- };
67
- }
68
- /**
69
- * Whether this request's `traceparent` is continued: from one of the API's
70
- * own origins, or from an internal caller.
71
- */
72
- function isTrustedCaller(c, options) {
73
- const origin = c.req.header("origin");
74
- if (origin) {
75
- const trusted = typeof options.trustedOrigins === "function" ? options.trustedOrigins() : options.trustedOrigins;
76
- return require_instrumentation_trust.isTrustedOrigin(origin, trusted);
77
- }
78
- const internal = options.internalCallers ?? true;
79
- if (typeof internal === "function") return internal(c);
80
- if (!internal) return false;
81
- return require_instrumentation_trust.isInternalCaller({
82
- headers: c.req.raw.headers,
83
- remoteAddress: remoteAddressOf(c)
84
- });
85
- }
86
- /** The TCP peer's address under `@hono/node-server`, or undefined. */
87
- function remoteAddressOf(c) {
88
- return c.env?.incoming?.socket?.remoteAddress;
89
- }
90
- /**
91
- * The route the request matched, once the handler has run — `/users/:id`,
92
- * never `/users/42` — or undefined when only middleware ran (a 404).
93
- *
94
- * Read after `next()`: before it, the route is this middleware's own `*`.
95
- */
96
- function matchedRoute(c) {
97
- const path = (0, hono_route.routePath)(c);
98
- return path && !path.includes("*") ? path : void 0;
99
- }
100
- /** `GET /users/:id`, or the bare method when no route matched. */
101
- function nameAfterRoute(c, span) {
102
- const route = matchedRoute(c);
103
- if (route) {
104
- span.setAttribute("http.route", route);
105
- span.updateName(`${c.req.method} ${route}`);
106
- } else span.updateName(c.req.method);
107
- }
108
- /**
109
- * Build span attributes from Hono context
110
- */
111
- function buildHonoSpanAttributes(c, options) {
112
- const req = c.req;
113
- const url = new URL(req.url);
114
- const attrs = {
115
- method: req.method,
116
- path: url.pathname,
117
- host: url.host,
118
- scheme: url.protocol.replace(":", ""),
119
- userAgent: req.header("user-agent"),
120
- clientIp: getClientIp(c),
121
- requestId: req.header("x-request-id") || req.header("x-amzn-requestid")
122
- };
123
- if (options.getUserId) {
124
- const userId = options.getUserId(c);
125
- if (userId) attrs.user = { userId };
126
- }
127
- return attrs;
128
- }
129
- /**
130
- * Extract client IP from Hono context
131
- */
132
- function getClientIp(c) {
133
- const xForwardedFor = c.req.header("x-forwarded-for");
134
- if (xForwardedFor) return xForwardedFor.split(",")[0]?.trim();
135
- const xRealIp = c.req.header("x-real-ip");
136
- if (xRealIp) return xRealIp;
137
- const cfConnectingIp = c.req.header("cf-connecting-ip");
138
- if (cfConnectingIp) return cfConnectingIp;
139
- }
140
- /**
141
- * Check if path should be ignored
142
- */
143
- function shouldIgnorePath(path, ignorePaths) {
144
- for (const pattern of ignorePaths) if (pattern.endsWith("*")) {
145
- const prefix = pattern.slice(0, -1);
146
- if (path.startsWith(prefix)) return true;
147
- } else if (path === pattern) return true;
148
- return false;
149
- }
150
- /**
151
- * Run a function within the span context from Hono context
152
- *
153
- * @example
154
- * ```typescript
155
- * app.get('/api/users', async (c) => {
156
- * return withHonoSpanContext(c, async () => {
157
- * // Any spans created here will be children of the request span
158
- * const users = await fetchUsers();
159
- * return c.json(users);
160
- * });
161
- * });
162
- * ```
163
- */
164
- async function withHonoSpanContext(c, fn) {
165
- const ctx = getTraceContextFromHono(c);
166
- if (!ctx) return fn();
167
- return _opentelemetry_api.context.with(ctx, fn);
168
- }
169
- //#endregion
170
- exports.getSpanFromContext = getSpanFromContext;
171
- exports.getTraceContextFromHono = getTraceContextFromHono;
172
- exports.honoTelemetryMiddleware = honoTelemetryMiddleware;
173
- exports.withHonoSpanContext = withHonoSpanContext;
1
+ require('../http-D_Z8sYXZ.cjs');
2
+ const require_hono = require('../hono-C4EgpbKQ.cjs');
174
3
 
175
- //# sourceMappingURL=hono.cjs.map
4
+ exports.getSpanFromContext = require_hono.getSpanFromContext;
5
+ exports.getTraceContextFromHono = require_hono.getTraceContextFromHono;
6
+ exports.honoTelemetryMiddleware = require_hono.honoTelemetryMiddleware;
7
+ exports.withHonoSpanContext = require_hono.withHonoSpanContext;