@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
|
@@ -1,148 +1,12 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
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
|
|
2
|
-
import {
|
|
3
|
-
|
|
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
|
|
2
|
-
import {
|
|
3
|
-
|
|
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 {
|
|
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
|
-
|
|
3
|
+
export { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush };
|
|
@@ -1,175 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
const
|
|
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
|
-
|
|
4
|
+
exports.getSpanFromContext = require_hono.getSpanFromContext;
|
|
5
|
+
exports.getTraceContextFromHono = require_hono.getTraceContextFromHono;
|
|
6
|
+
exports.honoTelemetryMiddleware = require_hono.honoTelemetryMiddleware;
|
|
7
|
+
exports.withHonoSpanContext = require_hono.withHonoSpanContext;
|