@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.
- package/CHANGELOG.md +79 -0
- package/README.md +18 -28
- package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts +47 -0
- package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts.map +1 -0
- package/dist/InMemoryMetricsStorage-C4drxT7G.mjs +247 -0
- package/dist/InMemoryMetricsStorage-C4drxT7G.mjs.map +1 -0
- package/dist/InMemoryMetricsStorage-D0njWUSi.cjs +252 -0
- package/dist/InMemoryMetricsStorage-D0njWUSi.cjs.map +1 -0
- package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts +47 -0
- package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts.map +1 -0
- package/dist/{MetricsAggregator-BJdIvfEv.d.mts → MetricsAggregator-4SqelGcG.d.cts} +6 -3
- package/dist/MetricsAggregator-4SqelGcG.d.cts.map +1 -0
- package/dist/MetricsAggregator-B7lUICdH.cjs +363 -0
- package/dist/MetricsAggregator-B7lUICdH.cjs.map +1 -0
- package/dist/{MetricsAggregator-CnC3oT5q.d.cts → MetricsAggregator-DZrW8ls6.d.mts} +6 -3
- package/dist/MetricsAggregator-DZrW8ls6.d.mts.map +1 -0
- package/dist/MetricsAggregator-S3DQWNas.mjs +357 -0
- package/dist/MetricsAggregator-S3DQWNas.mjs.map +1 -0
- package/dist/MetricsStorage-B86e4131.d.cts +60 -0
- package/dist/MetricsStorage-B86e4131.d.cts.map +1 -0
- package/dist/MetricsStorage-BWyP2_12.d.mts +60 -0
- package/dist/MetricsStorage-BWyP2_12.d.mts.map +1 -0
- package/dist/MetricsStorage-BypQXWiv.mjs +0 -0
- package/dist/MetricsStorage-Or8pVCe4.cjs +0 -0
- package/dist/Telescope-Cs3fv8jt.cjs +395 -0
- package/dist/Telescope-Cs3fv8jt.cjs.map +1 -0
- package/dist/{Telescope-BVfDvVvY.d.mts → Telescope-D4nmwDRA.d.cts} +7 -4
- package/dist/Telescope-D4nmwDRA.d.cts.map +1 -0
- package/dist/Telescope-Dh5av3FC.mjs +389 -0
- package/dist/Telescope-Dh5av3FC.mjs.map +1 -0
- package/dist/{Telescope-DeqSHfuB.d.cts → Telescope-Dl6VSfxd.d.mts} +7 -4
- package/dist/Telescope-Dl6VSfxd.d.mts.map +1 -0
- package/dist/Telescope.cjs +4 -385
- package/dist/Telescope.d.cts +3 -1
- package/dist/Telescope.d.mts +3 -1
- package/dist/Telescope.mjs +4 -384
- package/dist/adapters/index.d.cts +2 -2
- package/dist/adapters/index.d.mts +2 -2
- package/dist/adapters/index.mjs +0 -1
- package/dist/adapters/lambda.cjs +10 -9
- package/dist/adapters/lambda.cjs.map +1 -1
- package/dist/adapters/lambda.d.cts +13 -9
- package/dist/adapters/lambda.d.cts.map +1 -1
- package/dist/adapters/lambda.d.mts +13 -9
- package/dist/adapters/lambda.d.mts.map +1 -1
- package/dist/adapters/lambda.mjs +4 -3
- package/dist/adapters/lambda.mjs.map +1 -1
- package/dist/adapters/middy.cjs +4 -236
- package/dist/adapters/middy.d.cts +5 -60
- package/dist/adapters/middy.d.mts +5 -60
- package/dist/adapters/middy.mjs +3 -234
- package/dist/adapters/types.d.cts +2 -162
- package/dist/adapters/types.d.mts +2 -162
- package/dist/adapters/types.mjs +0 -1
- package/dist/{rolldown-runtime-VH7oDXx4.cjs → chunk-CUT6urMc.cjs} +10 -8
- package/dist/core--quSp5Qr.d.mts +78 -0
- package/dist/core--quSp5Qr.d.mts.map +1 -0
- package/dist/core-B4Jpia5H.d.cts +78 -0
- package/dist/core-B4Jpia5H.d.cts.map +1 -0
- package/dist/core-CtVHRJGv.cjs +199 -0
- package/dist/core-CtVHRJGv.cjs.map +1 -0
- package/dist/core-D6hJ6exL.mjs +139 -0
- package/dist/core-D6hJ6exL.mjs.map +1 -0
- package/dist/core.cjs +22 -22
- package/dist/core.d.cts +4 -4
- package/dist/core.d.mts +4 -4
- package/dist/core.mjs +4 -3
- package/dist/hono--uKQ7Jgi.d.mts +71 -0
- package/dist/hono--uKQ7Jgi.d.mts.map +1 -0
- package/dist/hono-C4EgpbKQ.cjs +160 -0
- package/dist/hono-C4EgpbKQ.cjs.map +1 -0
- package/dist/hono-CemCKU87.d.cts +71 -0
- package/dist/hono-CemCKU87.d.cts.map +1 -0
- package/dist/hono-DxhvnVbF.mjs +136 -0
- package/dist/hono-DxhvnVbF.mjs.map +1 -0
- package/dist/http-BiNtg85L.d.mts +107 -0
- package/dist/http-BiNtg85L.d.mts.map +1 -0
- package/dist/http-DQzgLczm.mjs +159 -0
- package/dist/http-DQzgLczm.mjs.map +1 -0
- package/dist/http-D_Z8sYXZ.cjs +219 -0
- package/dist/http-D_Z8sYXZ.cjs.map +1 -0
- package/dist/http-Dvca6fC3.d.cts +107 -0
- package/dist/http-Dvca6fC3.d.cts.map +1 -0
- package/dist/index-BL32-cvv.d.cts +1 -0
- package/dist/index-CsuikFeJ.d.mts +1 -0
- package/dist/index.cjs +9 -8
- package/dist/index.d.cts +6 -5
- package/dist/index.d.mts +6 -5
- package/dist/index.mjs +7 -5
- package/dist/instrumentation/core.cjs +11 -147
- package/dist/instrumentation/core.d.cts +3 -74
- package/dist/instrumentation/core.d.mts +3 -74
- package/dist/instrumentation/core.mjs +2 -137
- package/dist/instrumentation/hono.cjs +6 -174
- package/dist/instrumentation/hono.d.cts +2 -86
- package/dist/instrumentation/hono.d.mts +2 -86
- package/dist/instrumentation/hono.mjs +3 -170
- package/dist/instrumentation/http.cjs +11 -189
- package/dist/instrumentation/http.d.cts +2 -119
- package/dist/instrumentation/http.d.mts +2 -119
- package/dist/instrumentation/http.mjs +2 -178
- package/dist/instrumentation/index.cjs +47 -56
- package/dist/instrumentation/index.d.cts +9 -11
- package/dist/instrumentation/index.d.mts +9 -11
- package/dist/instrumentation/index.mjs +9 -10
- package/dist/instrumentation/middleware.cjs +6 -164
- package/dist/instrumentation/middleware.d.cts +2 -83
- package/dist/instrumentation/middleware.d.mts +2 -83
- package/dist/instrumentation/middleware.mjs +3 -160
- package/dist/instrumentation/otel.cjs +3 -137
- package/dist/instrumentation/otel.d.cts +2 -97
- package/dist/instrumentation/otel.d.mts +2 -97
- package/dist/instrumentation/otel.mjs +3 -136
- package/dist/instrumentation/setup.cjs +4 -142
- package/dist/instrumentation/setup.d.cts +3 -139
- package/dist/instrumentation/setup.d.mts +3 -139
- package/dist/instrumentation/setup.mjs +3 -139
- package/dist/instrumentation/tracing.cjs +10 -114
- package/dist/instrumentation/tracing.d.cts +2 -49
- package/dist/instrumentation/tracing.d.mts +2 -49
- package/dist/instrumentation/tracing.mjs +2 -105
- package/dist/logger/console.cjs +12 -18
- package/dist/logger/console.cjs.map +1 -1
- package/dist/logger/console.d.cts +10 -7
- package/dist/logger/console.d.cts.map +1 -1
- package/dist/logger/console.d.mts +10 -7
- package/dist/logger/console.d.mts.map +1 -1
- package/dist/logger/console.mjs +11 -17
- package/dist/logger/console.mjs.map +1 -1
- package/dist/logger/pino.cjs +5 -6
- package/dist/logger/pino.cjs.map +1 -1
- package/dist/logger/pino.d.cts +10 -6
- package/dist/logger/pino.d.cts.map +1 -1
- package/dist/logger/pino.d.mts +10 -6
- package/dist/logger/pino.d.mts.map +1 -1
- package/dist/logger/pino.mjs +3 -2
- package/dist/logger/pino.mjs.map +1 -1
- package/dist/memory--BK4iWiv.d.cts +40 -0
- package/dist/memory--BK4iWiv.d.cts.map +1 -0
- package/dist/memory-6S9H-IF5.mjs +123 -0
- package/dist/memory-6S9H-IF5.mjs.map +1 -0
- package/dist/memory-B0d_n1g5.cjs +129 -0
- package/dist/memory-B0d_n1g5.cjs.map +1 -0
- package/dist/memory-DCirEVFW.d.mts +40 -0
- package/dist/memory-DCirEVFW.d.mts.map +1 -0
- package/dist/metrics/MetricsAggregator.cjs +2 -354
- package/dist/metrics/MetricsAggregator.d.cts +2 -1
- package/dist/metrics/MetricsAggregator.d.mts +2 -1
- package/dist/metrics/MetricsAggregator.mjs +2 -353
- package/dist/metrics/index.cjs +4 -3
- package/dist/metrics/index.d.cts +4 -2
- package/dist/metrics/index.d.mts +4 -2
- package/dist/metrics/index.mjs +4 -2
- package/dist/metrics/storage/InMemoryMetricsStorage.cjs +3 -240
- package/dist/metrics/storage/InMemoryMetricsStorage.d.cts +4 -43
- package/dist/metrics/storage/InMemoryMetricsStorage.d.mts +4 -43
- package/dist/metrics/storage/InMemoryMetricsStorage.mjs +3 -239
- package/dist/metrics/storage/MetricsStorage.cjs +1 -0
- package/dist/metrics/storage/MetricsStorage.d.cts +3 -56
- package/dist/metrics/storage/MetricsStorage.d.mts +3 -56
- package/dist/metrics/storage/MetricsStorage.mjs +1 -1
- package/dist/metrics/storage/index.cjs +6 -6
- package/dist/metrics/storage/index.d.cts +3 -3
- package/dist/metrics/storage/index.d.mts +3 -3
- package/dist/metrics/storage/index.mjs +5 -4
- package/dist/metrics/storage/types.cjs +2 -34
- package/dist/metrics/storage/types.d.cts +2 -207
- package/dist/metrics/storage/types.d.mts +2 -207
- package/dist/metrics/storage/types.mjs +2 -33
- package/dist/metrics-D5YT-Rnq.mjs +0 -0
- package/dist/metrics-fhD3l3C3.cjs +0 -0
- package/dist/middleware-B2jFUukM.cjs +184 -0
- package/dist/middleware-B2jFUukM.cjs.map +1 -0
- package/dist/middleware-BTDncHwm.mjs +160 -0
- package/dist/middleware-BTDncHwm.mjs.map +1 -0
- package/dist/middleware-CA84nsNN.d.cts +74 -0
- package/dist/middleware-CA84nsNN.d.cts.map +1 -0
- package/dist/middleware-DAceVpfw.d.mts +74 -0
- package/dist/middleware-DAceVpfw.d.mts.map +1 -0
- package/dist/middy-B6Btl8XE.d.mts +64 -0
- package/dist/middy-B6Btl8XE.d.mts.map +1 -0
- package/dist/middy-BTR3cyvk.mjs +236 -0
- package/dist/middy-BTR3cyvk.mjs.map +1 -0
- package/dist/middy-Bq0defVg.d.cts +64 -0
- package/dist/middy-Bq0defVg.d.cts.map +1 -0
- package/dist/middy-y5Zp27eG.cjs +247 -0
- package/dist/middy-y5Zp27eG.cjs.map +1 -0
- package/dist/otel-1bJPb2Z7.d.mts +101 -0
- package/dist/otel-1bJPb2Z7.d.mts.map +1 -0
- package/dist/otel-C1HqHA2O.cjs +136 -0
- package/dist/otel-C1HqHA2O.cjs.map +1 -0
- package/dist/otel-SBVoVEHr.d.cts +101 -0
- package/dist/otel-SBVoVEHr.d.cts.map +1 -0
- package/dist/otel-wulj5B-X.mjs +130 -0
- package/dist/otel-wulj5B-X.mjs.map +1 -0
- package/dist/otlp/hono.cjs +15 -9
- package/dist/otlp/hono.cjs.map +1 -1
- package/dist/otlp/hono.d.cts +13 -3
- package/dist/otlp/hono.d.cts.map +1 -1
- package/dist/otlp/hono.d.mts +13 -3
- package/dist/otlp/hono.d.mts.map +1 -1
- package/dist/otlp/hono.mjs +11 -5
- package/dist/otlp/hono.mjs.map +1 -1
- package/dist/otlp/index.cjs +11 -11
- package/dist/otlp/index.d.cts +7 -4
- package/dist/otlp/index.d.mts +7 -4
- package/dist/otlp/index.mjs +5 -4
- package/dist/otlp/receiver.cjs +4 -88
- package/dist/otlp/receiver.d.cts +7 -59
- package/dist/otlp/receiver.d.mts +7 -59
- package/dist/otlp/receiver.mjs +4 -87
- package/dist/otlp/transformer.cjs +5 -214
- package/dist/otlp/transformer.d.cts +3 -1
- package/dist/otlp/transformer.d.mts +3 -1
- package/dist/otlp/transformer.mjs +3 -211
- package/dist/otlp/types.cjs +5 -57
- package/dist/otlp/types.d.cts +1 -1
- package/dist/otlp/types.d.mts +1 -1
- package/dist/otlp/types.mjs +2 -53
- package/dist/receiver-Cj1lbAOO.cjs +94 -0
- package/dist/receiver-Cj1lbAOO.cjs.map +1 -0
- package/dist/receiver-CxVd_9CB.mjs +89 -0
- package/dist/receiver-CxVd_9CB.mjs.map +1 -0
- package/dist/receiver-DLICx5uU.d.cts +63 -0
- package/dist/receiver-DLICx5uU.d.cts.map +1 -0
- package/dist/receiver-UeZT-H8u.d.mts +63 -0
- package/dist/receiver-UeZT-H8u.d.mts.map +1 -0
- package/dist/redact-BzkITCNW.mjs +83 -0
- package/dist/redact-BzkITCNW.mjs.map +1 -0
- package/dist/redact-DVaSSPZT.cjs +95 -0
- package/dist/redact-DVaSSPZT.cjs.map +1 -0
- package/dist/redact.cjs +3 -84
- package/dist/redact.d.cts +8 -4
- package/dist/redact.d.cts.map +1 -1
- package/dist/redact.d.mts +8 -4
- package/dist/redact.d.mts.map +1 -1
- package/dist/redact.mjs +2 -80
- package/dist/server/hono.cjs +54 -33
- package/dist/server/hono.cjs.map +1 -1
- package/dist/server/hono.d.cts +14 -19
- package/dist/server/hono.d.cts.map +1 -1
- package/dist/server/hono.d.mts +14 -19
- package/dist/server/hono.d.mts.map +1 -1
- package/dist/server/hono.mjs +52 -31
- package/dist/server/hono.mjs.map +1 -1
- package/dist/setup-B9jM77Qk.mjs +98 -0
- package/dist/setup-B9jM77Qk.mjs.map +1 -0
- package/dist/setup-Bkxm4g6b.d.mts +87 -0
- package/dist/setup-Bkxm4g6b.d.mts.map +1 -0
- package/dist/setup-CYpff5B9.cjs +110 -0
- package/dist/setup-CYpff5B9.cjs.map +1 -0
- package/dist/setup-D58N1f9O.d.cts +87 -0
- package/dist/setup-D58N1f9O.d.cts.map +1 -0
- package/dist/storage/kysely.cjs +70 -82
- package/dist/storage/kysely.cjs.map +1 -1
- package/dist/storage/kysely.d.cts +20 -36
- package/dist/storage/kysely.d.cts.map +1 -1
- package/dist/storage/kysely.d.mts +20 -36
- package/dist/storage/kysely.d.mts.map +1 -1
- package/dist/storage/kysely.mjs +69 -81
- package/dist/storage/kysely.mjs.map +1 -1
- package/dist/storage/memory.cjs +2 -122
- package/dist/storage/memory.d.cts +3 -36
- package/dist/storage/memory.d.mts +3 -36
- package/dist/storage/memory.mjs +2 -121
- package/dist/tracing-BX8uY2nR.d.cts +53 -0
- package/dist/tracing-BX8uY2nR.d.cts.map +1 -0
- package/dist/tracing-Bt1zWRlb.cjs +167 -0
- package/dist/tracing-Bt1zWRlb.cjs.map +1 -0
- package/dist/tracing-Cijm_5NI.mjs +113 -0
- package/dist/tracing-Cijm_5NI.mjs.map +1 -0
- package/dist/tracing-PnECEbEu.d.mts +53 -0
- package/dist/tracing-PnECEbEu.d.mts.map +1 -0
- package/dist/transformer-BXQPhzql.mjs +215 -0
- package/dist/transformer-BXQPhzql.mjs.map +1 -0
- package/dist/transformer-CLGZ0EQc.cjs +232 -0
- package/dist/transformer-CLGZ0EQc.cjs.map +1 -0
- package/dist/{transformer-BtqjAs0b.d.cts → transformer-CTGsaVfV.d.mts} +8 -4
- package/dist/transformer-CTGsaVfV.d.mts.map +1 -0
- package/dist/{transformer-DI6t8-YA.d.mts → transformer-ICEbxpFf.d.cts} +8 -4
- package/dist/transformer-ICEbxpFf.d.cts.map +1 -0
- package/dist/{types-BVujq4zd.d.mts → types-B1EIa_cQ.d.mts} +4 -3
- package/dist/types-B1EIa_cQ.d.mts.map +1 -0
- package/dist/types-BRzW1NM8.d.cts +166 -0
- package/dist/types-BRzW1NM8.d.cts.map +1 -0
- package/dist/types-BS3Rx8Sk.d.cts +209 -0
- package/dist/types-BS3Rx8Sk.d.cts.map +1 -0
- package/dist/types-Bwm_jNU7.mjs +54 -0
- package/dist/types-Bwm_jNU7.mjs.map +1 -0
- package/dist/types-BzQ78Efw.d.mts +166 -0
- package/dist/types-BzQ78Efw.d.mts.map +1 -0
- package/dist/types-CbNGXnJE.d.mts +209 -0
- package/dist/types-CbNGXnJE.d.mts.map +1 -0
- package/dist/{types-DVETVdpa.d.cts → types-CmOB7CLO.d.cts} +7 -6
- package/dist/types-CmOB7CLO.d.cts.map +1 -0
- package/dist/{types-DVETVdpa.d.mts → types-DBc0q5KD.d.mts} +7 -6
- package/dist/types-DBc0q5KD.d.mts.map +1 -0
- package/dist/types-Dsh-DIO_.cjs +78 -0
- package/dist/types-Dsh-DIO_.cjs.map +1 -0
- package/dist/types-ZW-nfWf6.cjs +40 -0
- package/dist/types-ZW-nfWf6.cjs.map +1 -0
- package/dist/{types-BVujq4zd.d.cts → types-l7Rlb5Mg.d.cts} +4 -3
- package/dist/types-l7Rlb5Mg.d.cts.map +1 -0
- package/dist/types-ojhnLdwz.mjs +34 -0
- package/dist/types-ojhnLdwz.mjs.map +1 -0
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/types.mjs +0 -1
- package/dist/ui-assets-BEXqOQLe.cjs +48 -0
- package/dist/ui-assets-BEXqOQLe.cjs.map +1 -0
- package/dist/ui-assets-BhTDUsrM.mjs +30 -0
- package/dist/ui-assets-BhTDUsrM.mjs.map +1 -0
- package/dist/ui-assets.cjs +5 -0
- package/dist/ui-assets.d.cts +13 -0
- package/dist/ui-assets.d.cts.map +1 -0
- package/dist/ui-assets.d.mts +13 -0
- package/dist/ui-assets.d.mts.map +1 -0
- package/dist/ui-assets.mjs +3 -0
- package/package.json +46 -46
- package/src/Telescope.ts +561 -0
- package/src/__tests__/Telescope.spec.ts +438 -0
- package/src/__tests__/pino-transport.spec.ts +115 -0
- package/src/__tests__/redact.spec.ts +336 -0
- package/src/adapters/__tests__/lambda.spec.ts +318 -0
- package/src/adapters/__tests__/middy.spec.ts +741 -0
- package/src/adapters/index.ts +22 -0
- package/src/adapters/lambda.ts +432 -0
- package/src/adapters/middy.ts +402 -0
- package/src/adapters/types.ts +181 -0
- package/src/core.ts +51 -0
- package/src/index.ts +34 -0
- package/src/instrumentation/__tests__/core.spec.ts +248 -0
- package/src/instrumentation/__tests__/hono.spec.ts +348 -0
- package/src/instrumentation/__tests__/middleware.spec.ts +528 -0
- package/src/instrumentation/__tests__/otel.spec.ts +291 -0
- package/src/instrumentation/__tests__/tracing.spec.ts +208 -0
- package/src/instrumentation/core.ts +228 -0
- package/src/instrumentation/hono.ts +270 -0
- package/src/instrumentation/http.ts +306 -0
- package/src/instrumentation/index.ts +90 -0
- package/src/instrumentation/middleware.ts +297 -0
- package/src/instrumentation/otel.ts +271 -0
- package/src/instrumentation/setup.ts +246 -0
- package/src/instrumentation/tracing.ts +145 -0
- package/src/logger/__tests__/console.spec.ts +366 -0
- package/src/logger/__tests__/pino.spec.ts +217 -0
- package/src/logger/console.ts +230 -0
- package/src/logger/pino.ts +201 -0
- package/src/metrics/MetricsAggregator.ts +555 -0
- package/src/metrics/__tests__/MetricsAggregator.spec.ts +298 -0
- package/src/metrics/index.ts +2 -0
- package/src/metrics/storage/InMemoryMetricsStorage.ts +380 -0
- package/src/metrics/storage/MetricsStorage.ts +74 -0
- package/src/metrics/storage/index.ts +3 -0
- package/src/metrics/storage/types.ts +243 -0
- package/src/otlp/__tests__/receiver.spec.ts +367 -0
- package/src/otlp/__tests__/transformer.spec.ts +455 -0
- package/src/otlp/hono.ts +120 -0
- package/src/otlp/index.ts +22 -0
- package/src/otlp/receiver.ts +162 -0
- package/src/otlp/transformer.ts +367 -0
- package/src/otlp/types.ts +364 -0
- package/src/redact.ts +116 -0
- package/src/server/__tests__/hono.spec.ts +814 -0
- package/src/server/hono.ts +442 -0
- package/src/storage/__tests__/kysely.spec.ts +715 -0
- package/src/storage/__tests__/memory.spec.ts +694 -0
- package/src/storage/kysely.ts +599 -0
- package/src/storage/memory.ts +204 -0
- package/src/types.ts +447 -0
- package/src/ui-assets.ts +40 -0
- package/tsconfig.json +9 -0
- package/ui/CHANGELOG.md +7 -0
- package/ui/index.html +12 -0
- package/ui/node_modules/.bin/tsc +21 -0
- package/ui/node_modules/.bin/tsserver +21 -0
- package/ui/node_modules/.bin/vite +21 -0
- package/ui/package.json +24 -0
- package/ui/src/App.tsx +595 -0
- package/ui/src/api.ts +88 -0
- package/ui/src/components/ExceptionDetail.tsx +100 -0
- package/ui/src/components/FilterBar.tsx +162 -0
- package/ui/src/components/LogDetail.tsx +91 -0
- package/ui/src/components/RequestDetail.tsx +143 -0
- package/ui/src/main.tsx +10 -0
- package/ui/src/styles.css +11 -0
- package/ui/src/types.ts +63 -0
- package/ui/src/vite-env.d.ts +1 -0
- package/ui/src/vite-plugin-gkm-config.ts +54 -0
- package/ui/tsconfig.json +20 -0
- package/ui/tsconfig.tsbuildinfo +1 -0
- package/ui/vite.config.ts +13 -0
- package/dist/MetricsAggregator-BJdIvfEv.d.mts.map +0 -1
- package/dist/MetricsAggregator-CnC3oT5q.d.cts.map +0 -1
- package/dist/Telescope-BVfDvVvY.d.mts.map +0 -1
- package/dist/Telescope-DeqSHfuB.d.cts.map +0 -1
- package/dist/Telescope.cjs.map +0 -1
- package/dist/Telescope.mjs.map +0 -1
- package/dist/adapters/middy.cjs.map +0 -1
- package/dist/adapters/middy.d.cts.map +0 -1
- package/dist/adapters/middy.d.mts.map +0 -1
- package/dist/adapters/middy.mjs.map +0 -1
- package/dist/adapters/types.d.cts.map +0 -1
- package/dist/adapters/types.d.mts.map +0 -1
- package/dist/instrumentation/core.cjs.map +0 -1
- package/dist/instrumentation/core.d.cts.map +0 -1
- package/dist/instrumentation/core.d.mts.map +0 -1
- package/dist/instrumentation/core.mjs.map +0 -1
- package/dist/instrumentation/hono.cjs.map +0 -1
- package/dist/instrumentation/hono.d.cts.map +0 -1
- package/dist/instrumentation/hono.d.mts.map +0 -1
- package/dist/instrumentation/hono.mjs.map +0 -1
- package/dist/instrumentation/http.cjs.map +0 -1
- package/dist/instrumentation/http.d.cts.map +0 -1
- package/dist/instrumentation/http.d.mts.map +0 -1
- package/dist/instrumentation/http.mjs.map +0 -1
- package/dist/instrumentation/middleware.cjs.map +0 -1
- package/dist/instrumentation/middleware.d.cts.map +0 -1
- package/dist/instrumentation/middleware.d.mts.map +0 -1
- package/dist/instrumentation/middleware.mjs.map +0 -1
- package/dist/instrumentation/otel.cjs.map +0 -1
- package/dist/instrumentation/otel.d.cts.map +0 -1
- package/dist/instrumentation/otel.d.mts.map +0 -1
- package/dist/instrumentation/otel.mjs.map +0 -1
- package/dist/instrumentation/sampler.cjs +0 -54
- package/dist/instrumentation/sampler.cjs.map +0 -1
- package/dist/instrumentation/sampler.d.cts +0 -38
- package/dist/instrumentation/sampler.d.cts.map +0 -1
- package/dist/instrumentation/sampler.d.mts +0 -38
- package/dist/instrumentation/sampler.d.mts.map +0 -1
- package/dist/instrumentation/sampler.mjs +0 -52
- package/dist/instrumentation/sampler.mjs.map +0 -1
- package/dist/instrumentation/setup.cjs.map +0 -1
- package/dist/instrumentation/setup.d.cts.map +0 -1
- package/dist/instrumentation/setup.d.mts.map +0 -1
- package/dist/instrumentation/setup.mjs.map +0 -1
- package/dist/instrumentation/tracing.cjs.map +0 -1
- package/dist/instrumentation/tracing.d.cts.map +0 -1
- package/dist/instrumentation/tracing.d.mts.map +0 -1
- package/dist/instrumentation/tracing.mjs.map +0 -1
- package/dist/instrumentation/trust.cjs +0 -107
- package/dist/instrumentation/trust.cjs.map +0 -1
- package/dist/instrumentation/trust.d.cts +0 -57
- package/dist/instrumentation/trust.d.cts.map +0 -1
- package/dist/instrumentation/trust.d.mts +0 -57
- package/dist/instrumentation/trust.d.mts.map +0 -1
- package/dist/instrumentation/trust.mjs +0 -104
- package/dist/instrumentation/trust.mjs.map +0 -1
- package/dist/metrics/MetricsAggregator.cjs.map +0 -1
- package/dist/metrics/MetricsAggregator.mjs.map +0 -1
- package/dist/metrics/storage/InMemoryMetricsStorage.cjs.map +0 -1
- package/dist/metrics/storage/InMemoryMetricsStorage.d.cts.map +0 -1
- package/dist/metrics/storage/InMemoryMetricsStorage.d.mts.map +0 -1
- package/dist/metrics/storage/InMemoryMetricsStorage.mjs.map +0 -1
- package/dist/metrics/storage/MetricsStorage.d.cts.map +0 -1
- package/dist/metrics/storage/MetricsStorage.d.mts.map +0 -1
- package/dist/metrics/storage/types.cjs.map +0 -1
- package/dist/metrics/storage/types.d.cts.map +0 -1
- package/dist/metrics/storage/types.d.mts.map +0 -1
- package/dist/metrics/storage/types.mjs.map +0 -1
- package/dist/otlp/receiver.cjs.map +0 -1
- package/dist/otlp/receiver.d.cts.map +0 -1
- package/dist/otlp/receiver.d.mts.map +0 -1
- package/dist/otlp/receiver.mjs.map +0 -1
- package/dist/otlp/transformer.cjs.map +0 -1
- package/dist/otlp/transformer.mjs.map +0 -1
- package/dist/otlp/types.cjs.map +0 -1
- package/dist/otlp/types.mjs.map +0 -1
- package/dist/redact.cjs.map +0 -1
- package/dist/redact.mjs.map +0 -1
- package/dist/storage/memory.cjs.map +0 -1
- package/dist/storage/memory.d.cts.map +0 -1
- package/dist/storage/memory.d.mts.map +0 -1
- package/dist/storage/memory.mjs.map +0 -1
- package/dist/transformer-BtqjAs0b.d.cts.map +0 -1
- package/dist/transformer-DI6t8-YA.d.mts.map +0 -1
- package/dist/types-BVujq4zd.d.cts.map +0 -1
- package/dist/types-BVujq4zd.d.mts.map +0 -1
- package/dist/types-DVETVdpa.d.cts.map +0 -1
- package/dist/types-DVETVdpa.d.mts.map +0 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { SpanProcessorOptions, SpanProcessorStrategy } from "./types-BRzW1NM8.cjs";
|
|
2
|
+
import { ReadableSpan, Span, SpanExporter, SpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
3
|
+
|
|
4
|
+
//#region src/instrumentation/core.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Create a span processor based on the strategy
|
|
8
|
+
*/
|
|
9
|
+
declare function createSpanProcessor(exporter: SpanExporter, options: SpanProcessorOptions): SpanProcessor;
|
|
10
|
+
/**
|
|
11
|
+
* Get the recommended span processor strategy for an environment
|
|
12
|
+
*/
|
|
13
|
+
declare function getRecommendedStrategy(environment: 'server' | 'lambda' | 'edge' | 'custom'): SpanProcessorStrategy;
|
|
14
|
+
/**
|
|
15
|
+
* Set the global span processor for flush operations
|
|
16
|
+
*/
|
|
17
|
+
declare function setGlobalSpanProcessor(processor: SpanProcessor): void;
|
|
18
|
+
/**
|
|
19
|
+
* Set the global log processor for flush operations
|
|
20
|
+
*/
|
|
21
|
+
declare function setGlobalLogProcessor(processor: unknown): void;
|
|
22
|
+
/**
|
|
23
|
+
* Check if telemetry is initialized
|
|
24
|
+
*/
|
|
25
|
+
declare function isTelemetryInitialized(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Flush all pending telemetry data.
|
|
28
|
+
* This is critical for serverless environments where the process may freeze.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* // In a Lambda handler
|
|
33
|
+
* export const handler = async (event, context) => {
|
|
34
|
+
* try {
|
|
35
|
+
* const result = await processRequest(event);
|
|
36
|
+
* return result;
|
|
37
|
+
* } finally {
|
|
38
|
+
* // Flush before Lambda freezes
|
|
39
|
+
* await flushTelemetry();
|
|
40
|
+
* }
|
|
41
|
+
* };
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
declare function flushTelemetry(timeoutMs?: number): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Shutdown all telemetry processors
|
|
47
|
+
*/
|
|
48
|
+
declare function shutdownTelemetry(): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Enable debug logging for telemetry
|
|
51
|
+
*/
|
|
52
|
+
declare function enableTelemetryDebug(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Wraps a handler function to ensure telemetry is flushed before returning.
|
|
55
|
+
* Useful for Lambda handlers.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* export const handler = withTelemetryFlush(async (event, context) => {
|
|
60
|
+
* // Your Lambda logic here
|
|
61
|
+
* return { statusCode: 200, body: 'OK' };
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
declare function withTelemetryFlush<TEvent, TResult>(handler: (event: TEvent, context: unknown) => Promise<TResult>): (event: TEvent, context: unknown) => Promise<TResult>;
|
|
66
|
+
/**
|
|
67
|
+
* Noop span processor for testing or when telemetry is disabled
|
|
68
|
+
*/
|
|
69
|
+
declare class NoopSpanProcessor implements SpanProcessor {
|
|
70
|
+
forceFlush(): Promise<void>;
|
|
71
|
+
onStart(_span: Span): void;
|
|
72
|
+
onEnd(_span: ReadableSpan): void;
|
|
73
|
+
shutdown(): Promise<void>;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=core.d.ts.map
|
|
76
|
+
//#endregion
|
|
77
|
+
export { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush };
|
|
78
|
+
//# sourceMappingURL=core-B4Jpia5H.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-B4Jpia5H.d.cts","names":[],"sources":["../src/instrumentation/core.ts"],"sourcesContent":[],"mappings":";;;;;;;AAgCA;AAAmC,iBAAnB,mBAAA,CAAmB,QAAA,EACxB,YADwB,EAAA,OAAA,EAEzB,oBAFyB,CAAA,EAGhC,aAHgC;;;;AAGnB,iBAkBA,sBAAA,CAlBA,WAAA,EAAA,QAAA,GAAA,QAAA,GAAA,MAAA,GAAA,QAAA,CAAA,EAoBb,qBApBa;AAkBhB;AAiBA;AAQA;AAOgB,iBAfA,sBAAA,CAesB,SAAA,EAfY,aAeZ,CAAA,EAAA,IAAA;AAsBtC;AA+CA;AA0BA;AAgBgB,iBAtHA,qBAAA,CAsHkB,SAAA,EAAA,OAAA,CAAA,EAAA,IAAA;;;;AACa,iBAhH/B,sBAAA,CAAA,CAgH+B,EAAA,OAAA;;;;AACA;AAa/C;;;;;;;AAAuD;;;;;;;iBAxGjC,cAAA,sBAAmC;;;;iBA+CnC,iBAAA,CAAA,GAAqB;;;;iBA0B3B,oBAAA,CAAA;;;;;;;;;;;;;iBAgBA,qDACE,6BAA6B,QAAQ,mBAC5C,6BAA6B,QAAQ;;;;cAanC,iBAAA,YAA6B;gBAC3B;iBAIC;eAIF;cAID"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
|
+
const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
|
|
3
|
+
const __opentelemetry_sdk_trace_base = require_chunk.__toESM(require("@opentelemetry/sdk-trace-base"));
|
|
4
|
+
|
|
5
|
+
//#region src/instrumentation/core.ts
|
|
6
|
+
const state = {
|
|
7
|
+
spanProcessor: null,
|
|
8
|
+
logProcessor: null,
|
|
9
|
+
initialized: false
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Create a span processor based on the strategy
|
|
13
|
+
*/
|
|
14
|
+
function createSpanProcessor(exporter, options) {
|
|
15
|
+
const { strategy,...config } = options;
|
|
16
|
+
if (strategy === "simple") return new __opentelemetry_sdk_trace_base.SimpleSpanProcessor(exporter);
|
|
17
|
+
return new __opentelemetry_sdk_trace_base.BatchSpanProcessor(exporter, {
|
|
18
|
+
maxQueueSize: config.maxQueueSize ?? 2048,
|
|
19
|
+
scheduledDelayMillis: config.scheduledDelayMillis ?? 5e3,
|
|
20
|
+
exportTimeoutMillis: config.exportTimeoutMillis ?? 3e4,
|
|
21
|
+
maxExportBatchSize: config.maxExportBatchSize ?? 512
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get the recommended span processor strategy for an environment
|
|
26
|
+
*/
|
|
27
|
+
function getRecommendedStrategy(environment) {
|
|
28
|
+
switch (environment) {
|
|
29
|
+
case "lambda":
|
|
30
|
+
case "edge": return "simple";
|
|
31
|
+
default: return "batch";
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Set the global span processor for flush operations
|
|
36
|
+
*/
|
|
37
|
+
function setGlobalSpanProcessor(processor) {
|
|
38
|
+
state.spanProcessor = processor;
|
|
39
|
+
state.initialized = true;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Set the global log processor for flush operations
|
|
43
|
+
*/
|
|
44
|
+
function setGlobalLogProcessor(processor) {
|
|
45
|
+
state.logProcessor = processor;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Check if telemetry is initialized
|
|
49
|
+
*/
|
|
50
|
+
function isTelemetryInitialized() {
|
|
51
|
+
return state.initialized;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Flush all pending telemetry data.
|
|
55
|
+
* This is critical for serverless environments where the process may freeze.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* // In a Lambda handler
|
|
60
|
+
* export const handler = async (event, context) => {
|
|
61
|
+
* try {
|
|
62
|
+
* const result = await processRequest(event);
|
|
63
|
+
* return result;
|
|
64
|
+
* } finally {
|
|
65
|
+
* // Flush before Lambda freezes
|
|
66
|
+
* await flushTelemetry();
|
|
67
|
+
* }
|
|
68
|
+
* };
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
async function flushTelemetry(timeoutMs = 3e4) {
|
|
72
|
+
const promises = [];
|
|
73
|
+
if (state.spanProcessor) promises.push(Promise.race([state.spanProcessor.forceFlush(), new Promise((_, reject) => setTimeout(() => reject(new Error("Span flush timeout")), timeoutMs))]).catch((error) => {
|
|
74
|
+
if (__opentelemetry_api.diag.debug) __opentelemetry_api.diag.debug(`Span flush error: ${error.message}`);
|
|
75
|
+
}));
|
|
76
|
+
if (state.logProcessor && typeof state.logProcessor.forceFlush === "function") promises.push(Promise.race([state.logProcessor.forceFlush(), new Promise((_, reject) => setTimeout(() => reject(new Error("Log flush timeout")), timeoutMs))]).catch((error) => {
|
|
77
|
+
if (__opentelemetry_api.diag.debug) __opentelemetry_api.diag.debug(`Log flush error: ${error.message}`);
|
|
78
|
+
}));
|
|
79
|
+
await Promise.all(promises);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Shutdown all telemetry processors
|
|
83
|
+
*/
|
|
84
|
+
async function shutdownTelemetry() {
|
|
85
|
+
const promises = [];
|
|
86
|
+
if (state.spanProcessor) {
|
|
87
|
+
promises.push(state.spanProcessor.shutdown());
|
|
88
|
+
state.spanProcessor = null;
|
|
89
|
+
}
|
|
90
|
+
if (state.logProcessor && typeof state.logProcessor.shutdown === "function") {
|
|
91
|
+
promises.push(state.logProcessor.shutdown());
|
|
92
|
+
state.logProcessor = null;
|
|
93
|
+
}
|
|
94
|
+
state.initialized = false;
|
|
95
|
+
await Promise.all(promises);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Enable debug logging for telemetry
|
|
99
|
+
*/
|
|
100
|
+
function enableTelemetryDebug() {
|
|
101
|
+
__opentelemetry_api.diag.setLogger(new __opentelemetry_api.DiagConsoleLogger(), __opentelemetry_api.DiagLogLevel.DEBUG);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Wraps a handler function to ensure telemetry is flushed before returning.
|
|
105
|
+
* Useful for Lambda handlers.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* export const handler = withTelemetryFlush(async (event, context) => {
|
|
110
|
+
* // Your Lambda logic here
|
|
111
|
+
* return { statusCode: 200, body: 'OK' };
|
|
112
|
+
* });
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
function withTelemetryFlush(handler) {
|
|
116
|
+
return async (event, context) => {
|
|
117
|
+
try {
|
|
118
|
+
return await handler(event, context);
|
|
119
|
+
} finally {
|
|
120
|
+
await flushTelemetry();
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Noop span processor for testing or when telemetry is disabled
|
|
126
|
+
*/
|
|
127
|
+
var NoopSpanProcessor = class {
|
|
128
|
+
forceFlush() {
|
|
129
|
+
return Promise.resolve();
|
|
130
|
+
}
|
|
131
|
+
onStart(_span) {}
|
|
132
|
+
onEnd(_span) {}
|
|
133
|
+
shutdown() {
|
|
134
|
+
return Promise.resolve();
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
//#endregion
|
|
139
|
+
Object.defineProperty(exports, 'NoopSpanProcessor', {
|
|
140
|
+
enumerable: true,
|
|
141
|
+
get: function () {
|
|
142
|
+
return NoopSpanProcessor;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
Object.defineProperty(exports, 'createSpanProcessor', {
|
|
146
|
+
enumerable: true,
|
|
147
|
+
get: function () {
|
|
148
|
+
return createSpanProcessor;
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
Object.defineProperty(exports, 'enableTelemetryDebug', {
|
|
152
|
+
enumerable: true,
|
|
153
|
+
get: function () {
|
|
154
|
+
return enableTelemetryDebug;
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
Object.defineProperty(exports, 'flushTelemetry', {
|
|
158
|
+
enumerable: true,
|
|
159
|
+
get: function () {
|
|
160
|
+
return flushTelemetry;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
Object.defineProperty(exports, 'getRecommendedStrategy', {
|
|
164
|
+
enumerable: true,
|
|
165
|
+
get: function () {
|
|
166
|
+
return getRecommendedStrategy;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
Object.defineProperty(exports, 'isTelemetryInitialized', {
|
|
170
|
+
enumerable: true,
|
|
171
|
+
get: function () {
|
|
172
|
+
return isTelemetryInitialized;
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
Object.defineProperty(exports, 'setGlobalLogProcessor', {
|
|
176
|
+
enumerable: true,
|
|
177
|
+
get: function () {
|
|
178
|
+
return setGlobalLogProcessor;
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
Object.defineProperty(exports, 'setGlobalSpanProcessor', {
|
|
182
|
+
enumerable: true,
|
|
183
|
+
get: function () {
|
|
184
|
+
return setGlobalSpanProcessor;
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
Object.defineProperty(exports, 'shutdownTelemetry', {
|
|
188
|
+
enumerable: true,
|
|
189
|
+
get: function () {
|
|
190
|
+
return shutdownTelemetry;
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
Object.defineProperty(exports, 'withTelemetryFlush', {
|
|
194
|
+
enumerable: true,
|
|
195
|
+
get: function () {
|
|
196
|
+
return withTelemetryFlush;
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
//# sourceMappingURL=core-CtVHRJGv.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-CtVHRJGv.cjs","names":["state: TelemetryState","exporter: SpanExporter","options: SpanProcessorOptions","SimpleSpanProcessor","BatchSpanProcessor","environment: 'server' | 'lambda' | 'edge' | 'custom'","processor: SpanProcessor","processor: unknown","promises: Promise<void>[]","diag","DiagConsoleLogger","DiagLogLevel","handler: (event: TEvent, context: unknown) => Promise<TResult>","event: TEvent","context: unknown","_span: Span","_span: ReadableSpan"],"sources":["../src/instrumentation/core.ts"],"sourcesContent":["import { DiagConsoleLogger, DiagLogLevel, diag } from '@opentelemetry/api';\nimport {\n\tBatchSpanProcessor,\n\ttype ReadableSpan,\n\tSimpleSpanProcessor,\n\ttype Span,\n\ttype SpanExporter,\n\ttype SpanProcessor,\n} from '@opentelemetry/sdk-trace-base';\nimport type {\n\tSpanProcessorOptions,\n\tSpanProcessorStrategy,\n} from '../adapters/types';\n\n/**\n * Global telemetry state for flush operations\n */\ninterface TelemetryState {\n\tspanProcessor: SpanProcessor | null;\n\tlogProcessor: unknown | null;\n\tinitialized: boolean;\n}\n\nconst state: TelemetryState = {\n\tspanProcessor: null,\n\tlogProcessor: null,\n\tinitialized: false,\n};\n\n/**\n * Create a span processor based on the strategy\n */\nexport function createSpanProcessor(\n\texporter: SpanExporter,\n\toptions: SpanProcessorOptions,\n): SpanProcessor {\n\tconst { strategy, ...config } = options;\n\n\tif (strategy === 'simple') {\n\t\treturn new SimpleSpanProcessor(exporter);\n\t}\n\n\treturn new BatchSpanProcessor(exporter, {\n\t\tmaxQueueSize: config.maxQueueSize ?? 2048,\n\t\tscheduledDelayMillis: config.scheduledDelayMillis ?? 5000,\n\t\texportTimeoutMillis: config.exportTimeoutMillis ?? 30000,\n\t\tmaxExportBatchSize: config.maxExportBatchSize ?? 512,\n\t});\n}\n\n/**\n * Get the recommended span processor strategy for an environment\n */\nexport function getRecommendedStrategy(\n\tenvironment: 'server' | 'lambda' | 'edge' | 'custom',\n): SpanProcessorStrategy {\n\tswitch (environment) {\n\t\tcase 'lambda':\n\t\tcase 'edge':\n\t\t\t// Use simple processor for serverless - immediate export\n\t\t\treturn 'simple';\n\t\tdefault:\n\t\t\t// Use batch processor for long-running servers - efficient batching\n\t\t\treturn 'batch';\n\t}\n}\n\n/**\n * Set the global span processor for flush operations\n */\nexport function setGlobalSpanProcessor(processor: SpanProcessor): void {\n\tstate.spanProcessor = processor;\n\tstate.initialized = true;\n}\n\n/**\n * Set the global log processor for flush operations\n */\nexport function setGlobalLogProcessor(processor: unknown): void {\n\tstate.logProcessor = processor;\n}\n\n/**\n * Check if telemetry is initialized\n */\nexport function isTelemetryInitialized(): boolean {\n\treturn state.initialized;\n}\n\n/**\n * Flush all pending telemetry data.\n * This is critical for serverless environments where the process may freeze.\n *\n * @example\n * ```typescript\n * // In a Lambda handler\n * export const handler = async (event, context) => {\n * try {\n * const result = await processRequest(event);\n * return result;\n * } finally {\n * // Flush before Lambda freezes\n * await flushTelemetry();\n * }\n * };\n * ```\n */\nexport async function flushTelemetry(timeoutMs = 30000): Promise<void> {\n\tconst promises: Promise<void>[] = [];\n\n\t// Flush span processor\n\tif (state.spanProcessor) {\n\t\tpromises.push(\n\t\t\tPromise.race([\n\t\t\t\tstate.spanProcessor.forceFlush(),\n\t\t\t\tnew Promise<void>((_, reject) =>\n\t\t\t\t\tsetTimeout(() => reject(new Error('Span flush timeout')), timeoutMs),\n\t\t\t\t),\n\t\t\t]).catch((error) => {\n\t\t\t\tif (diag.debug) {\n\t\t\t\t\tdiag.debug(`Span flush error: ${error.message}`);\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\t}\n\n\t// Flush log processor if it has forceFlush method\n\tif (\n\t\tstate.logProcessor &&\n\t\ttypeof (state.logProcessor as { forceFlush?: () => Promise<void> })\n\t\t\t.forceFlush === 'function'\n\t) {\n\t\tpromises.push(\n\t\t\tPromise.race([\n\t\t\t\t(\n\t\t\t\t\tstate.logProcessor as { forceFlush: () => Promise<void> }\n\t\t\t\t).forceFlush(),\n\t\t\t\tnew Promise<void>((_, reject) =>\n\t\t\t\t\tsetTimeout(() => reject(new Error('Log flush timeout')), timeoutMs),\n\t\t\t\t),\n\t\t\t]).catch((error) => {\n\t\t\t\tif (diag.debug) {\n\t\t\t\t\tdiag.debug(`Log flush error: ${error.message}`);\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\t}\n\n\tawait Promise.all(promises);\n}\n\n/**\n * Shutdown all telemetry processors\n */\nexport async function shutdownTelemetry(): Promise<void> {\n\tconst promises: Promise<void>[] = [];\n\n\tif (state.spanProcessor) {\n\t\tpromises.push(state.spanProcessor.shutdown());\n\t\tstate.spanProcessor = null;\n\t}\n\n\tif (\n\t\tstate.logProcessor &&\n\t\ttypeof (state.logProcessor as { shutdown?: () => Promise<void> })\n\t\t\t.shutdown === 'function'\n\t) {\n\t\tpromises.push(\n\t\t\t(state.logProcessor as { shutdown: () => Promise<void> }).shutdown(),\n\t\t);\n\t\tstate.logProcessor = null;\n\t}\n\n\tstate.initialized = false;\n\tawait Promise.all(promises);\n}\n\n/**\n * Enable debug logging for telemetry\n */\nexport function enableTelemetryDebug(): void {\n\tdiag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);\n}\n\n/**\n * Wraps a handler function to ensure telemetry is flushed before returning.\n * Useful for Lambda handlers.\n *\n * @example\n * ```typescript\n * export const handler = withTelemetryFlush(async (event, context) => {\n * // Your Lambda logic here\n * return { statusCode: 200, body: 'OK' };\n * });\n * ```\n */\nexport function withTelemetryFlush<TEvent, TResult>(\n\thandler: (event: TEvent, context: unknown) => Promise<TResult>,\n): (event: TEvent, context: unknown) => Promise<TResult> {\n\treturn async (event: TEvent, context: unknown): Promise<TResult> => {\n\t\ttry {\n\t\t\treturn await handler(event, context);\n\t\t} finally {\n\t\t\tawait flushTelemetry();\n\t\t}\n\t};\n}\n\n/**\n * Noop span processor for testing or when telemetry is disabled\n */\nexport class NoopSpanProcessor implements SpanProcessor {\n\tforceFlush(): Promise<void> {\n\t\treturn Promise.resolve();\n\t}\n\n\tonStart(_span: Span): void {\n\t\t// noop\n\t}\n\n\tonEnd(_span: ReadableSpan): void {\n\t\t// noop\n\t}\n\n\tshutdown(): Promise<void> {\n\t\treturn Promise.resolve();\n\t}\n}\n"],"mappings":";;;;;AAuBA,MAAMA,QAAwB;CAC7B,eAAe;CACf,cAAc;CACd,aAAa;AACb;;;;AAKD,SAAgB,oBACfC,UACAC,SACgB;CAChB,MAAM,EAAE,SAAU,GAAG,QAAQ,GAAG;AAEhC,KAAI,aAAa,SAChB,QAAO,IAAIC,mDAAoB;AAGhC,QAAO,IAAIC,kDAAmB,UAAU;EACvC,cAAc,OAAO,gBAAgB;EACrC,sBAAsB,OAAO,wBAAwB;EACrD,qBAAqB,OAAO,uBAAuB;EACnD,oBAAoB,OAAO,sBAAsB;CACjD;AACD;;;;AAKD,SAAgB,uBACfC,aACwB;AACxB,SAAQ,aAAR;EACC,KAAK;EACL,KAAK,OAEJ,QAAO;EACR,QAEC,QAAO;CACR;AACD;;;;AAKD,SAAgB,uBAAuBC,WAAgC;AACtE,OAAM,gBAAgB;AACtB,OAAM,cAAc;AACpB;;;;AAKD,SAAgB,sBAAsBC,WAA0B;AAC/D,OAAM,eAAe;AACrB;;;;AAKD,SAAgB,yBAAkC;AACjD,QAAO,MAAM;AACb;;;;;;;;;;;;;;;;;;;AAoBD,eAAsB,eAAe,YAAY,KAAsB;CACtE,MAAMC,WAA4B,CAAE;AAGpC,KAAI,MAAM,cACT,UAAS,KACR,QAAQ,KAAK,CACZ,MAAM,cAAc,YAAY,EAChC,IAAI,QAAc,CAAC,GAAG,WACrB,WAAW,MAAM,OAAO,IAAI,MAAM,sBAAsB,EAAE,UAAU,CAErE,EAAC,CAAC,MAAM,CAAC,UAAU;AACnB,MAAIC,yBAAK,MACR,0BAAK,OAAO,oBAAoB,MAAM,QAAQ,EAAE;CAEjD,EAAC,CACF;AAIF,KACC,MAAM,uBACE,MAAM,aACZ,eAAe,WAEjB,UAAS,KACR,QAAQ,KAAK,CACZ,AACC,MAAM,aACL,YAAY,EACd,IAAI,QAAc,CAAC,GAAG,WACrB,WAAW,MAAM,OAAO,IAAI,MAAM,qBAAqB,EAAE,UAAU,CAEpE,EAAC,CAAC,MAAM,CAAC,UAAU;AACnB,MAAIA,yBAAK,MACR,0BAAK,OAAO,mBAAmB,MAAM,QAAQ,EAAE;CAEhD,EAAC,CACF;AAGF,OAAM,QAAQ,IAAI,SAAS;AAC3B;;;;AAKD,eAAsB,oBAAmC;CACxD,MAAMD,WAA4B,CAAE;AAEpC,KAAI,MAAM,eAAe;AACxB,WAAS,KAAK,MAAM,cAAc,UAAU,CAAC;AAC7C,QAAM,gBAAgB;CACtB;AAED,KACC,MAAM,uBACE,MAAM,aACZ,aAAa,YACd;AACD,WAAS,KACR,AAAC,MAAM,aAAmD,UAAU,CACpE;AACD,QAAM,eAAe;CACrB;AAED,OAAM,cAAc;AACpB,OAAM,QAAQ,IAAI,SAAS;AAC3B;;;;AAKD,SAAgB,uBAA6B;AAC5C,0BAAK,UAAU,IAAIE,yCAAqBC,iCAAa,MAAM;AAC3D;;;;;;;;;;;;;AAcD,SAAgB,mBACfC,SACwD;AACxD,QAAO,OAAOC,OAAeC,YAAuC;AACnE,MAAI;AACH,UAAO,MAAM,QAAQ,OAAO,QAAQ;EACpC,UAAS;AACT,SAAM,gBAAgB;EACtB;CACD;AACD;;;;AAKD,IAAa,oBAAb,MAAwD;CACvD,aAA4B;AAC3B,SAAO,QAAQ,SAAS;CACxB;CAED,QAAQC,OAAmB,CAE1B;CAED,MAAMC,OAA2B,CAEhC;CAED,WAA0B;AACzB,SAAO,QAAQ,SAAS;CACxB;AACD"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { DiagConsoleLogger, DiagLogLevel, diag } from "@opentelemetry/api";
|
|
2
|
+
import { BatchSpanProcessor, SimpleSpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
3
|
+
|
|
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 SimpleSpanProcessor(exporter);
|
|
16
|
+
return new 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(new Error("Span flush timeout")), timeoutMs))]).catch((error) => {
|
|
73
|
+
if (diag.debug) 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(new Error("Log flush timeout")), timeoutMs))]).catch((error) => {
|
|
76
|
+
if (diag.debug) 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
|
+
diag.setLogger(new DiagConsoleLogger(), 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$1) => {
|
|
116
|
+
try {
|
|
117
|
+
return await handler(event, context$1);
|
|
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
|
+
|
|
137
|
+
//#endregion
|
|
138
|
+
export { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush };
|
|
139
|
+
//# sourceMappingURL=core-D6hJ6exL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-D6hJ6exL.mjs","names":["state: TelemetryState","exporter: SpanExporter","options: SpanProcessorOptions","environment: 'server' | 'lambda' | 'edge' | 'custom'","processor: SpanProcessor","processor: unknown","promises: Promise<void>[]","handler: (event: TEvent, context: unknown) => Promise<TResult>","event: TEvent","context: unknown","context","_span: Span","_span: ReadableSpan"],"sources":["../src/instrumentation/core.ts"],"sourcesContent":["import { DiagConsoleLogger, DiagLogLevel, diag } from '@opentelemetry/api';\nimport {\n\tBatchSpanProcessor,\n\ttype ReadableSpan,\n\tSimpleSpanProcessor,\n\ttype Span,\n\ttype SpanExporter,\n\ttype SpanProcessor,\n} from '@opentelemetry/sdk-trace-base';\nimport type {\n\tSpanProcessorOptions,\n\tSpanProcessorStrategy,\n} from '../adapters/types';\n\n/**\n * Global telemetry state for flush operations\n */\ninterface TelemetryState {\n\tspanProcessor: SpanProcessor | null;\n\tlogProcessor: unknown | null;\n\tinitialized: boolean;\n}\n\nconst state: TelemetryState = {\n\tspanProcessor: null,\n\tlogProcessor: null,\n\tinitialized: false,\n};\n\n/**\n * Create a span processor based on the strategy\n */\nexport function createSpanProcessor(\n\texporter: SpanExporter,\n\toptions: SpanProcessorOptions,\n): SpanProcessor {\n\tconst { strategy, ...config } = options;\n\n\tif (strategy === 'simple') {\n\t\treturn new SimpleSpanProcessor(exporter);\n\t}\n\n\treturn new BatchSpanProcessor(exporter, {\n\t\tmaxQueueSize: config.maxQueueSize ?? 2048,\n\t\tscheduledDelayMillis: config.scheduledDelayMillis ?? 5000,\n\t\texportTimeoutMillis: config.exportTimeoutMillis ?? 30000,\n\t\tmaxExportBatchSize: config.maxExportBatchSize ?? 512,\n\t});\n}\n\n/**\n * Get the recommended span processor strategy for an environment\n */\nexport function getRecommendedStrategy(\n\tenvironment: 'server' | 'lambda' | 'edge' | 'custom',\n): SpanProcessorStrategy {\n\tswitch (environment) {\n\t\tcase 'lambda':\n\t\tcase 'edge':\n\t\t\t// Use simple processor for serverless - immediate export\n\t\t\treturn 'simple';\n\t\tdefault:\n\t\t\t// Use batch processor for long-running servers - efficient batching\n\t\t\treturn 'batch';\n\t}\n}\n\n/**\n * Set the global span processor for flush operations\n */\nexport function setGlobalSpanProcessor(processor: SpanProcessor): void {\n\tstate.spanProcessor = processor;\n\tstate.initialized = true;\n}\n\n/**\n * Set the global log processor for flush operations\n */\nexport function setGlobalLogProcessor(processor: unknown): void {\n\tstate.logProcessor = processor;\n}\n\n/**\n * Check if telemetry is initialized\n */\nexport function isTelemetryInitialized(): boolean {\n\treturn state.initialized;\n}\n\n/**\n * Flush all pending telemetry data.\n * This is critical for serverless environments where the process may freeze.\n *\n * @example\n * ```typescript\n * // In a Lambda handler\n * export const handler = async (event, context) => {\n * try {\n * const result = await processRequest(event);\n * return result;\n * } finally {\n * // Flush before Lambda freezes\n * await flushTelemetry();\n * }\n * };\n * ```\n */\nexport async function flushTelemetry(timeoutMs = 30000): Promise<void> {\n\tconst promises: Promise<void>[] = [];\n\n\t// Flush span processor\n\tif (state.spanProcessor) {\n\t\tpromises.push(\n\t\t\tPromise.race([\n\t\t\t\tstate.spanProcessor.forceFlush(),\n\t\t\t\tnew Promise<void>((_, reject) =>\n\t\t\t\t\tsetTimeout(() => reject(new Error('Span flush timeout')), timeoutMs),\n\t\t\t\t),\n\t\t\t]).catch((error) => {\n\t\t\t\tif (diag.debug) {\n\t\t\t\t\tdiag.debug(`Span flush error: ${error.message}`);\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\t}\n\n\t// Flush log processor if it has forceFlush method\n\tif (\n\t\tstate.logProcessor &&\n\t\ttypeof (state.logProcessor as { forceFlush?: () => Promise<void> })\n\t\t\t.forceFlush === 'function'\n\t) {\n\t\tpromises.push(\n\t\t\tPromise.race([\n\t\t\t\t(\n\t\t\t\t\tstate.logProcessor as { forceFlush: () => Promise<void> }\n\t\t\t\t).forceFlush(),\n\t\t\t\tnew Promise<void>((_, reject) =>\n\t\t\t\t\tsetTimeout(() => reject(new Error('Log flush timeout')), timeoutMs),\n\t\t\t\t),\n\t\t\t]).catch((error) => {\n\t\t\t\tif (diag.debug) {\n\t\t\t\t\tdiag.debug(`Log flush error: ${error.message}`);\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\t}\n\n\tawait Promise.all(promises);\n}\n\n/**\n * Shutdown all telemetry processors\n */\nexport async function shutdownTelemetry(): Promise<void> {\n\tconst promises: Promise<void>[] = [];\n\n\tif (state.spanProcessor) {\n\t\tpromises.push(state.spanProcessor.shutdown());\n\t\tstate.spanProcessor = null;\n\t}\n\n\tif (\n\t\tstate.logProcessor &&\n\t\ttypeof (state.logProcessor as { shutdown?: () => Promise<void> })\n\t\t\t.shutdown === 'function'\n\t) {\n\t\tpromises.push(\n\t\t\t(state.logProcessor as { shutdown: () => Promise<void> }).shutdown(),\n\t\t);\n\t\tstate.logProcessor = null;\n\t}\n\n\tstate.initialized = false;\n\tawait Promise.all(promises);\n}\n\n/**\n * Enable debug logging for telemetry\n */\nexport function enableTelemetryDebug(): void {\n\tdiag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);\n}\n\n/**\n * Wraps a handler function to ensure telemetry is flushed before returning.\n * Useful for Lambda handlers.\n *\n * @example\n * ```typescript\n * export const handler = withTelemetryFlush(async (event, context) => {\n * // Your Lambda logic here\n * return { statusCode: 200, body: 'OK' };\n * });\n * ```\n */\nexport function withTelemetryFlush<TEvent, TResult>(\n\thandler: (event: TEvent, context: unknown) => Promise<TResult>,\n): (event: TEvent, context: unknown) => Promise<TResult> {\n\treturn async (event: TEvent, context: unknown): Promise<TResult> => {\n\t\ttry {\n\t\t\treturn await handler(event, context);\n\t\t} finally {\n\t\t\tawait flushTelemetry();\n\t\t}\n\t};\n}\n\n/**\n * Noop span processor for testing or when telemetry is disabled\n */\nexport class NoopSpanProcessor implements SpanProcessor {\n\tforceFlush(): Promise<void> {\n\t\treturn Promise.resolve();\n\t}\n\n\tonStart(_span: Span): void {\n\t\t// noop\n\t}\n\n\tonEnd(_span: ReadableSpan): void {\n\t\t// noop\n\t}\n\n\tshutdown(): Promise<void> {\n\t\treturn Promise.resolve();\n\t}\n}\n"],"mappings":";;;;AAuBA,MAAMA,QAAwB;CAC7B,eAAe;CACf,cAAc;CACd,aAAa;AACb;;;;AAKD,SAAgB,oBACfC,UACAC,SACgB;CAChB,MAAM,EAAE,SAAU,GAAG,QAAQ,GAAG;AAEhC,KAAI,aAAa,SAChB,QAAO,IAAI,oBAAoB;AAGhC,QAAO,IAAI,mBAAmB,UAAU;EACvC,cAAc,OAAO,gBAAgB;EACrC,sBAAsB,OAAO,wBAAwB;EACrD,qBAAqB,OAAO,uBAAuB;EACnD,oBAAoB,OAAO,sBAAsB;CACjD;AACD;;;;AAKD,SAAgB,uBACfC,aACwB;AACxB,SAAQ,aAAR;EACC,KAAK;EACL,KAAK,OAEJ,QAAO;EACR,QAEC,QAAO;CACR;AACD;;;;AAKD,SAAgB,uBAAuBC,WAAgC;AACtE,OAAM,gBAAgB;AACtB,OAAM,cAAc;AACpB;;;;AAKD,SAAgB,sBAAsBC,WAA0B;AAC/D,OAAM,eAAe;AACrB;;;;AAKD,SAAgB,yBAAkC;AACjD,QAAO,MAAM;AACb;;;;;;;;;;;;;;;;;;;AAoBD,eAAsB,eAAe,YAAY,KAAsB;CACtE,MAAMC,WAA4B,CAAE;AAGpC,KAAI,MAAM,cACT,UAAS,KACR,QAAQ,KAAK,CACZ,MAAM,cAAc,YAAY,EAChC,IAAI,QAAc,CAAC,GAAG,WACrB,WAAW,MAAM,OAAO,IAAI,MAAM,sBAAsB,EAAE,UAAU,CAErE,EAAC,CAAC,MAAM,CAAC,UAAU;AACnB,MAAI,KAAK,MACR,MAAK,OAAO,oBAAoB,MAAM,QAAQ,EAAE;CAEjD,EAAC,CACF;AAIF,KACC,MAAM,uBACE,MAAM,aACZ,eAAe,WAEjB,UAAS,KACR,QAAQ,KAAK,CACZ,AACC,MAAM,aACL,YAAY,EACd,IAAI,QAAc,CAAC,GAAG,WACrB,WAAW,MAAM,OAAO,IAAI,MAAM,qBAAqB,EAAE,UAAU,CAEpE,EAAC,CAAC,MAAM,CAAC,UAAU;AACnB,MAAI,KAAK,MACR,MAAK,OAAO,mBAAmB,MAAM,QAAQ,EAAE;CAEhD,EAAC,CACF;AAGF,OAAM,QAAQ,IAAI,SAAS;AAC3B;;;;AAKD,eAAsB,oBAAmC;CACxD,MAAMA,WAA4B,CAAE;AAEpC,KAAI,MAAM,eAAe;AACxB,WAAS,KAAK,MAAM,cAAc,UAAU,CAAC;AAC7C,QAAM,gBAAgB;CACtB;AAED,KACC,MAAM,uBACE,MAAM,aACZ,aAAa,YACd;AACD,WAAS,KACR,AAAC,MAAM,aAAmD,UAAU,CACpE;AACD,QAAM,eAAe;CACrB;AAED,OAAM,cAAc;AACpB,OAAM,QAAQ,IAAI,SAAS;AAC3B;;;;AAKD,SAAgB,uBAA6B;AAC5C,MAAK,UAAU,IAAI,qBAAqB,aAAa,MAAM;AAC3D;;;;;;;;;;;;;AAcD,SAAgB,mBACfC,SACwD;AACxD,QAAO,OAAOC,OAAeC,cAAuC;AACnE,MAAI;AACH,UAAO,MAAM,QAAQ,OAAOC,UAAQ;EACpC,UAAS;AACT,SAAM,gBAAgB;EACtB;CACD;AACD;;;;AAKD,IAAa,oBAAb,MAAwD;CACvD,aAA4B;AAC3B,SAAO,QAAQ,SAAS;CACxB;CAED,QAAQC,OAAmB,CAE1B;CAED,MAAMC,OAA2B,CAEhC;CAED,WAA0B;AACzB,SAAO,QAAQ,SAAS;CACxB;AACD"}
|
package/dist/core.cjs
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
exports.NoopSpanProcessor =
|
|
5
|
-
exports.addSpanEvent =
|
|
6
|
-
exports.createSpan =
|
|
7
|
-
exports.createSpanProcessor =
|
|
8
|
-
exports.enableTelemetryDebug =
|
|
9
|
-
exports.flushTelemetry =
|
|
10
|
-
exports.getActiveSpan =
|
|
11
|
-
exports.getRecommendedStrategy =
|
|
12
|
-
exports.getSpanId =
|
|
13
|
-
exports.getTraceId =
|
|
14
|
-
exports.isTelemetryInitialized =
|
|
15
|
-
exports.recordException =
|
|
16
|
-
exports.setGlobalLogProcessor =
|
|
17
|
-
exports.setGlobalSpanProcessor =
|
|
18
|
-
exports.setSpanAttributes =
|
|
19
|
-
exports.shutdownTelemetry =
|
|
20
|
-
exports.withSpan =
|
|
21
|
-
exports.withSpanSync =
|
|
22
|
-
exports.withTelemetryFlush =
|
|
1
|
+
const require_core = require('./core-CtVHRJGv.cjs');
|
|
2
|
+
const require_tracing = require('./tracing-Bt1zWRlb.cjs');
|
|
3
|
+
|
|
4
|
+
exports.NoopSpanProcessor = require_core.NoopSpanProcessor;
|
|
5
|
+
exports.addSpanEvent = require_tracing.addSpanEvent;
|
|
6
|
+
exports.createSpan = require_tracing.createSpan;
|
|
7
|
+
exports.createSpanProcessor = require_core.createSpanProcessor;
|
|
8
|
+
exports.enableTelemetryDebug = require_core.enableTelemetryDebug;
|
|
9
|
+
exports.flushTelemetry = require_core.flushTelemetry;
|
|
10
|
+
exports.getActiveSpan = require_tracing.getActiveSpan;
|
|
11
|
+
exports.getRecommendedStrategy = require_core.getRecommendedStrategy;
|
|
12
|
+
exports.getSpanId = require_tracing.getSpanId;
|
|
13
|
+
exports.getTraceId = require_tracing.getTraceId;
|
|
14
|
+
exports.isTelemetryInitialized = require_core.isTelemetryInitialized;
|
|
15
|
+
exports.recordException = require_tracing.recordException;
|
|
16
|
+
exports.setGlobalLogProcessor = require_core.setGlobalLogProcessor;
|
|
17
|
+
exports.setGlobalSpanProcessor = require_core.setGlobalSpanProcessor;
|
|
18
|
+
exports.setSpanAttributes = require_tracing.setSpanAttributes;
|
|
19
|
+
exports.shutdownTelemetry = require_core.shutdownTelemetry;
|
|
20
|
+
exports.withSpan = require_tracing.withSpan;
|
|
21
|
+
exports.withSpanSync = require_tracing.withSpanSync;
|
|
22
|
+
exports.withTelemetryFlush = require_core.withTelemetryFlush;
|
package/dist/core.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AdapterConfig, AdapterErrorContext, AdapterLifecycle, AdapterRequestContext, AdapterResponseContext, HonoAdapterConfig, HonoContextWithTelescope, LambdaAdapterConfig, SpanProcessorOptions, SpanProcessorStrategy, TelescopeAdapter, TelescopeEnvironment, TelescopeHonoContext, TelescopeHonoVariables } from "./
|
|
2
|
-
import { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush } from "./
|
|
3
|
-
import { addSpanEvent, createSpan, getActiveSpan, getSpanId, getTraceId, recordException, setSpanAttributes, withSpan, withSpanSync } from "./
|
|
4
|
-
export {
|
|
1
|
+
import { AdapterConfig, AdapterErrorContext, AdapterLifecycle, AdapterRequestContext, AdapterResponseContext, HonoAdapterConfig, HonoContextWithTelescope, LambdaAdapterConfig, SpanProcessorOptions, SpanProcessorStrategy, TelescopeAdapter, TelescopeEnvironment, TelescopeHonoContext, TelescopeHonoVariables } from "./types-BRzW1NM8.cjs";
|
|
2
|
+
import { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush } from "./core-B4Jpia5H.cjs";
|
|
3
|
+
import { addSpanEvent, createSpan, getActiveSpan, getSpanId, getTraceId, recordException, setSpanAttributes, withSpan, withSpanSync } from "./tracing-BX8uY2nR.cjs";
|
|
4
|
+
export { AdapterConfig, AdapterErrorContext, AdapterLifecycle, AdapterRequestContext, AdapterResponseContext, HonoAdapterConfig, HonoContextWithTelescope, LambdaAdapterConfig, NoopSpanProcessor, SpanProcessorOptions, SpanProcessorStrategy, TelescopeAdapter, TelescopeEnvironment, TelescopeHonoContext, TelescopeHonoVariables, addSpanEvent, createSpan, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getActiveSpan, getRecommendedStrategy, getSpanId, getTraceId, isTelemetryInitialized, recordException, setGlobalLogProcessor, setGlobalSpanProcessor, setSpanAttributes, shutdownTelemetry, withSpan, withSpanSync, withTelemetryFlush };
|
package/dist/core.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AdapterConfig, AdapterErrorContext, AdapterLifecycle, AdapterRequestContext, AdapterResponseContext, HonoAdapterConfig, HonoContextWithTelescope, LambdaAdapterConfig, SpanProcessorOptions, SpanProcessorStrategy, TelescopeAdapter, TelescopeEnvironment, TelescopeHonoContext, TelescopeHonoVariables } from "./
|
|
2
|
-
import { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush } from "./
|
|
3
|
-
import { addSpanEvent, createSpan, getActiveSpan, getSpanId, getTraceId, recordException, setSpanAttributes, withSpan, withSpanSync } from "./
|
|
4
|
-
export {
|
|
1
|
+
import { AdapterConfig, AdapterErrorContext, AdapterLifecycle, AdapterRequestContext, AdapterResponseContext, HonoAdapterConfig, HonoContextWithTelescope, LambdaAdapterConfig, SpanProcessorOptions, SpanProcessorStrategy, TelescopeAdapter, TelescopeEnvironment, TelescopeHonoContext, TelescopeHonoVariables } from "./types-BzQ78Efw.mjs";
|
|
2
|
+
import { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush } from "./core--quSp5Qr.mjs";
|
|
3
|
+
import { addSpanEvent, createSpan, getActiveSpan, getSpanId, getTraceId, recordException, setSpanAttributes, withSpan, withSpanSync } from "./tracing-PnECEbEu.mjs";
|
|
4
|
+
export { AdapterConfig, AdapterErrorContext, AdapterLifecycle, AdapterRequestContext, AdapterResponseContext, HonoAdapterConfig, HonoContextWithTelescope, LambdaAdapterConfig, NoopSpanProcessor, SpanProcessorOptions, SpanProcessorStrategy, TelescopeAdapter, TelescopeEnvironment, TelescopeHonoContext, TelescopeHonoVariables, addSpanEvent, createSpan, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getActiveSpan, getRecommendedStrategy, getSpanId, getTraceId, isTelemetryInitialized, recordException, setGlobalLogProcessor, setGlobalSpanProcessor, setSpanAttributes, shutdownTelemetry, withSpan, withSpanSync, withTelemetryFlush };
|
package/dist/core.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush } from "./
|
|
2
|
-
import { addSpanEvent, createSpan, getActiveSpan, getSpanId, getTraceId, recordException, setSpanAttributes, withSpan, withSpanSync } from "./
|
|
3
|
-
|
|
1
|
+
import { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush } from "./core-D6hJ6exL.mjs";
|
|
2
|
+
import { addSpanEvent, createSpan, getActiveSpan, getSpanId, getTraceId, recordException, setSpanAttributes, withSpan, withSpanSync } from "./tracing-Cijm_5NI.mjs";
|
|
3
|
+
|
|
4
|
+
export { NoopSpanProcessor, addSpanEvent, createSpan, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getActiveSpan, getRecommendedStrategy, getSpanId, getTraceId, isTelemetryInitialized, recordException, setGlobalLogProcessor, setGlobalSpanProcessor, setSpanAttributes, shutdownTelemetry, withSpan, withSpanSync, withTelemetryFlush };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Span } from "@opentelemetry/api";
|
|
2
|
+
import { Context as Context$1, MiddlewareHandler } from "hono";
|
|
3
|
+
|
|
4
|
+
//#region src/instrumentation/hono.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Options for the Hono telemetry middleware
|
|
8
|
+
*/
|
|
9
|
+
interface HonoTelemetryMiddlewareOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Whether to record request body as span attribute
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
recordBody?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Whether to record response body as span attribute
|
|
17
|
+
* @default false
|
|
18
|
+
*/
|
|
19
|
+
recordResponseBody?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Custom function to extract user ID from context
|
|
22
|
+
*/
|
|
23
|
+
getUserId?: (c: Context$1) => string | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Paths to skip tracing (supports wildcards)
|
|
26
|
+
*/
|
|
27
|
+
ignorePaths?: string[];
|
|
28
|
+
/**
|
|
29
|
+
* Whether to skip tracing for this request
|
|
30
|
+
*/
|
|
31
|
+
shouldSkip?: (c: Context$1) => boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get the current span from Hono context
|
|
35
|
+
*/
|
|
36
|
+
declare function getSpanFromContext(c: Context$1): Span | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Get the current trace context from Hono context
|
|
39
|
+
*/
|
|
40
|
+
declare function getTraceContextFromHono(c: Context$1): any;
|
|
41
|
+
/**
|
|
42
|
+
* Create a telemetry middleware for Hono applications
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* import { honoTelemetryMiddleware } from '@geekmidas/telescope/instrumentation';
|
|
47
|
+
*
|
|
48
|
+
* const app = new Hono();
|
|
49
|
+
* app.use('*', honoTelemetryMiddleware());
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
declare function honoTelemetryMiddleware(options?: HonoTelemetryMiddlewareOptions): MiddlewareHandler;
|
|
53
|
+
/**
|
|
54
|
+
* Run a function within the span context from Hono context
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* app.get('/api/users', async (c) => {
|
|
59
|
+
* return withHonoSpanContext(c, async () => {
|
|
60
|
+
* // Any spans created here will be children of the request span
|
|
61
|
+
* const users = await fetchUsers();
|
|
62
|
+
* return c.json(users);
|
|
63
|
+
* });
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
declare function withHonoSpanContext<T>(c: Context$1, fn: () => Promise<T>): Promise<T>;
|
|
68
|
+
//# sourceMappingURL=hono.d.ts.map
|
|
69
|
+
//#endregion
|
|
70
|
+
export { HonoTelemetryMiddlewareOptions, getSpanFromContext, getTraceContextFromHono, honoTelemetryMiddleware, withHonoSpanContext };
|
|
71
|
+
//# sourceMappingURL=hono--uKQ7Jgi.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hono--uKQ7Jgi.d.mts","names":[],"sources":["../src/instrumentation/hono.ts"],"sourcesContent":[],"mappings":";;;;;AAuDA;;;AAAgD,UApC/B,8BAAA,CAoC+B;EAAI;AAOpD;AAeA;;EAAuC,UAC7B,CAAA,EAAA,OAAA;EAAmC;AACzB;AAqLpB;;EAAyC,kBACrC,CAAA,EAAA,OAAA;EAAO;;;EAEC,SAAT,CAAA,EAAA,CAAA,CAAA,EApOc,SAoOd,EAAA,GAAA,MAAA,GAAA,SAAA;EAAO;;;;;;;mBA1NQ;;;;;iBAUF,kBAAA,IAAsB,YAAU;;;;iBAOhC,uBAAA,IAA2B;;;;;;;;;;;;iBAe3B,uBAAA,WACN,iCACP;;;;;;;;;;;;;;;iBAqLmB,0BAClB,qBACO,QAAQ,KAChB,QAAQ"}
|