@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,101 @@
|
|
|
1
|
+
import { Context } from "aws-lambda";
|
|
2
|
+
|
|
3
|
+
//#region src/instrumentation/otel.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Context object returned by onRequestStart, passed to subsequent hooks.
|
|
7
|
+
* This matches the Telemetry interface from @geekmidas/constructs.
|
|
8
|
+
*/
|
|
9
|
+
interface TelemetryContext {
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Request information passed to telemetry hooks.
|
|
14
|
+
* This matches the Telemetry interface from @geekmidas/constructs.
|
|
15
|
+
*/
|
|
16
|
+
interface TelemetryRequest {
|
|
17
|
+
event: any;
|
|
18
|
+
context: Context;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Response information passed to onRequestEnd.
|
|
22
|
+
* This matches the Telemetry interface from @geekmidas/constructs.
|
|
23
|
+
*/
|
|
24
|
+
interface TelemetryResponse {
|
|
25
|
+
statusCode: number;
|
|
26
|
+
body?: string;
|
|
27
|
+
headers?: Record<string, string>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Telemetry interface for instrumenting endpoint requests.
|
|
31
|
+
* This matches the Telemetry interface from @geekmidas/constructs.
|
|
32
|
+
*/
|
|
33
|
+
interface Telemetry {
|
|
34
|
+
onRequestStart(request: TelemetryRequest): TelemetryContext;
|
|
35
|
+
onRequestEnd(ctx: TelemetryContext, response: TelemetryResponse): void;
|
|
36
|
+
onRequestError(ctx: TelemetryContext, error: Error): void;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Options for OTelTelemetry
|
|
40
|
+
*/
|
|
41
|
+
interface OTelTelemetryOptions {
|
|
42
|
+
/**
|
|
43
|
+
* Whether to record request body as span attribute
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
recordBody?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Whether to record response body as span attribute
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
recordResponseBody?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Custom function to extract user ID from event
|
|
54
|
+
*/
|
|
55
|
+
getUserId?: (event: any) => string | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* Custom function to extract endpoint name from event
|
|
58
|
+
*/
|
|
59
|
+
getEndpointName?: (event: any) => string | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Custom function to extract operation ID from event
|
|
62
|
+
*/
|
|
63
|
+
getOperationId?: (event: any) => string | undefined;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* OpenTelemetry implementation of the Telemetry interface
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* import { OTelTelemetry } from '@geekmidas/telescope/instrumentation';
|
|
71
|
+
*
|
|
72
|
+
* const adaptor = new AmazonApiGatewayV2Endpoint(envParser, endpoint, {
|
|
73
|
+
* telemetry: new OTelTelemetry(),
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
76
|
+
*
|
|
77
|
+
* @example With options
|
|
78
|
+
* ```typescript
|
|
79
|
+
* const adaptor = new AmazonApiGatewayV2Endpoint(envParser, endpoint, {
|
|
80
|
+
* telemetry: new OTelTelemetry({
|
|
81
|
+
* recordBody: true,
|
|
82
|
+
* getUserId: (event) => event.requestContext?.authorizer?.userId,
|
|
83
|
+
* }),
|
|
84
|
+
* });
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
declare class OTelTelemetry implements Telemetry {
|
|
88
|
+
private options;
|
|
89
|
+
constructor(options?: OTelTelemetryOptions);
|
|
90
|
+
onRequestStart(request: TelemetryRequest): TelemetryContext;
|
|
91
|
+
onRequestEnd(ctx: TelemetryContext, response: TelemetryResponse): void;
|
|
92
|
+
onRequestError(ctx: TelemetryContext, error: Error): void;
|
|
93
|
+
/**
|
|
94
|
+
* Build span attributes from Lambda event
|
|
95
|
+
*/
|
|
96
|
+
private buildSpanAttributes;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=otel.d.ts.map
|
|
99
|
+
//#endregion
|
|
100
|
+
export { OTelTelemetry, OTelTelemetryOptions, Telemetry, TelemetryContext, TelemetryRequest, TelemetryResponse };
|
|
101
|
+
//# sourceMappingURL=otel-SBVoVEHr.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel-SBVoVEHr.d.cts","names":[],"sources":["../src/instrumentation/otel.ts"],"sourcesContent":[],"mappings":";;;;;;AAcA;AAQA;AASiB,UAjBA,gBAAA,CAoBN;EAOM,CAAA,GAAA,EAAA,MAAS,CAAA,EAAA,OAAA;;;;;;AAGL,UAtBJ,gBAAA,CAsBI;EAAgB,KAAS,EAAA,GAAA;EAAK,OAAA,EApBzC,OAoByC;AAanD;AA2DA;;;;AAG4C,UAxF3B,iBAAA,CAwF2B;EAAgB,UAiCzC,EAAA,MAAA;EAAgB,IAAY,CAAA,EAAA,MAAA;EAAiB,OAe3C,CAAA,EArIV,MAqIU,CAAA,MAAA,EAAA,MAAA,CAAA;;;AAnD0B;;;UA3E9B,SAAA;0BACQ,mBAAmB;oBACzB,4BAA4B;sBAC1B,yBAAyB;;;;;UAa7B,oBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2DJ,aAAA,YAAyB;;wBACR;0BAEL,mBAAmB;oBAiCzB,4BAA4B;sBAe1B,yBAAyB"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { createHttpServerSpan, endHttpSpan, extractTraceContext } from "./http-DQzgLczm.mjs";
|
|
2
|
+
import { trace } from "@opentelemetry/api";
|
|
3
|
+
|
|
4
|
+
//#region src/instrumentation/otel.ts
|
|
5
|
+
/**
|
|
6
|
+
* OpenTelemetry implementation of the Telemetry interface
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { OTelTelemetry } from '@geekmidas/telescope/instrumentation';
|
|
11
|
+
*
|
|
12
|
+
* const adaptor = new AmazonApiGatewayV2Endpoint(envParser, endpoint, {
|
|
13
|
+
* telemetry: new OTelTelemetry(),
|
|
14
|
+
* });
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @example With options
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const adaptor = new AmazonApiGatewayV2Endpoint(envParser, endpoint, {
|
|
20
|
+
* telemetry: new OTelTelemetry({
|
|
21
|
+
* recordBody: true,
|
|
22
|
+
* getUserId: (event) => event.requestContext?.authorizer?.userId,
|
|
23
|
+
* }),
|
|
24
|
+
* });
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
var OTelTelemetry = class {
|
|
28
|
+
constructor(options = {}) {
|
|
29
|
+
this.options = options;
|
|
30
|
+
}
|
|
31
|
+
onRequestStart(request) {
|
|
32
|
+
const { event, context: lambdaContext } = request;
|
|
33
|
+
const headers = normalizeHeaders(event.headers || {});
|
|
34
|
+
const parentContext = extractTraceContext(headers);
|
|
35
|
+
const attrs = this.buildSpanAttributes(event, lambdaContext);
|
|
36
|
+
const span = createHttpServerSpan(attrs, parentContext);
|
|
37
|
+
const otelContext = trace.setSpan(parentContext, span);
|
|
38
|
+
span.setAttribute("faas.invocation_id", lambdaContext.awsRequestId);
|
|
39
|
+
span.setAttribute("faas.name", lambdaContext.functionName);
|
|
40
|
+
if (this.options.recordBody && event.body) {
|
|
41
|
+
const bodyStr = typeof event.body === "string" ? event.body : JSON.stringify(event.body);
|
|
42
|
+
span.setAttribute("http.request.body", bodyStr.length > 4096 ? `${bodyStr.slice(0, 4096)}...` : bodyStr);
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
span,
|
|
46
|
+
otelContext
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
onRequestEnd(ctx, response) {
|
|
50
|
+
const { span } = ctx;
|
|
51
|
+
if (this.options.recordResponseBody && response.body) span.setAttribute("http.response.body", response.body.length > 4096 ? `${response.body.slice(0, 4096)}...` : response.body);
|
|
52
|
+
endHttpSpan(span, { statusCode: response.statusCode });
|
|
53
|
+
}
|
|
54
|
+
onRequestError(ctx, error) {
|
|
55
|
+
const { span } = ctx;
|
|
56
|
+
endHttpSpan(span, { statusCode: 500 }, error);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Build span attributes from Lambda event
|
|
60
|
+
*/
|
|
61
|
+
buildSpanAttributes(event, lambdaContext) {
|
|
62
|
+
const isV2 = "requestContext" in event && "http" in (event.requestContext || {});
|
|
63
|
+
const isV1 = "requestContext" in event && "httpMethod" in event && !("http" in (event.requestContext || {}));
|
|
64
|
+
let method = "INVOKE";
|
|
65
|
+
let path = "/";
|
|
66
|
+
let route;
|
|
67
|
+
let host;
|
|
68
|
+
let scheme;
|
|
69
|
+
let userAgent;
|
|
70
|
+
let clientIp;
|
|
71
|
+
let requestId;
|
|
72
|
+
if (isV2) {
|
|
73
|
+
const http = event.requestContext.http;
|
|
74
|
+
method = http.method;
|
|
75
|
+
path = event.rawPath || http.path;
|
|
76
|
+
route = event.routeKey?.replace(/^[A-Z]+\s+/, "");
|
|
77
|
+
host = event.headers?.host;
|
|
78
|
+
scheme = "https";
|
|
79
|
+
userAgent = http.userAgent;
|
|
80
|
+
clientIp = http.sourceIp;
|
|
81
|
+
requestId = event.requestContext.requestId;
|
|
82
|
+
} else if (isV1) {
|
|
83
|
+
method = event.httpMethod;
|
|
84
|
+
path = event.path;
|
|
85
|
+
route = event.resource;
|
|
86
|
+
host = event.headers?.Host || event.headers?.host;
|
|
87
|
+
scheme = "https";
|
|
88
|
+
userAgent = event.headers?.["User-Agent"] || event.headers?.["user-agent"];
|
|
89
|
+
clientIp = event.requestContext?.identity?.sourceIp;
|
|
90
|
+
requestId = event.requestContext?.requestId;
|
|
91
|
+
} else if ("httpMethod" in event) {
|
|
92
|
+
method = event.httpMethod;
|
|
93
|
+
path = event.path;
|
|
94
|
+
host = event.headers?.host;
|
|
95
|
+
userAgent = event.headers?.["user-agent"] || event.headers?.["User-Agent"];
|
|
96
|
+
clientIp = event.headers?.["x-forwarded-for"]?.split(",")[0]?.trim();
|
|
97
|
+
}
|
|
98
|
+
const attrs = {
|
|
99
|
+
method,
|
|
100
|
+
path,
|
|
101
|
+
route,
|
|
102
|
+
host,
|
|
103
|
+
scheme,
|
|
104
|
+
userAgent,
|
|
105
|
+
clientIp,
|
|
106
|
+
requestId: requestId || lambdaContext.awsRequestId
|
|
107
|
+
};
|
|
108
|
+
if (this.options.getEndpointName || this.options.getOperationId) attrs.endpoint = {
|
|
109
|
+
name: this.options.getEndpointName?.(event),
|
|
110
|
+
operationId: this.options.getOperationId?.(event)
|
|
111
|
+
};
|
|
112
|
+
if (this.options.getUserId) {
|
|
113
|
+
const userId = this.options.getUserId(event);
|
|
114
|
+
if (userId) attrs.user = { userId };
|
|
115
|
+
}
|
|
116
|
+
return attrs;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Normalize headers to lowercase keys
|
|
121
|
+
*/
|
|
122
|
+
function normalizeHeaders(headers) {
|
|
123
|
+
const normalized = {};
|
|
124
|
+
for (const [key, value] of Object.entries(headers)) normalized[key.toLowerCase()] = value;
|
|
125
|
+
return normalized;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
//#endregion
|
|
129
|
+
export { OTelTelemetry };
|
|
130
|
+
//# sourceMappingURL=otel-wulj5B-X.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otel-wulj5B-X.mjs","names":["options: OTelTelemetryOptions","request: TelemetryRequest","ctx: TelemetryContext","response: TelemetryResponse","error: Error","event: any","lambdaContext: any","route: string | undefined","host: string | undefined","scheme: 'http' | 'https' | undefined","userAgent: string | undefined","clientIp: string | undefined","requestId: string | undefined","attrs: HttpSpanAttributes","headers: Record<string, string | string[] | undefined>","normalized: Record<string, string | string[] | undefined>"],"sources":["../src/instrumentation/otel.ts"],"sourcesContent":["/**\n * OpenTelemetry implementation of the Telemetry interface\n *\n * This provides automatic span creation for Lambda handlers using\n * OpenTelemetry. Works with any OTel-compatible backend (Jaeger, Zipkin,\n * Datadog, Honeycomb, etc.)\n */\nimport { type Span, trace } from '@opentelemetry/api';\nimport type { Context as LambdaContext } from 'aws-lambda';\n\n/**\n * Context object returned by onRequestStart, passed to subsequent hooks.\n * This matches the Telemetry interface from @geekmidas/constructs.\n */\nexport interface TelemetryContext {\n\t[key: string]: unknown;\n}\n\n/**\n * Request information passed to telemetry hooks.\n * This matches the Telemetry interface from @geekmidas/constructs.\n */\nexport interface TelemetryRequest {\n\tevent: any;\n\tcontext: LambdaContext;\n}\n\n/**\n * Response information passed to onRequestEnd.\n * This matches the Telemetry interface from @geekmidas/constructs.\n */\nexport interface TelemetryResponse {\n\tstatusCode: number;\n\tbody?: string;\n\theaders?: Record<string, string>;\n}\n\n/**\n * Telemetry interface for instrumenting endpoint requests.\n * This matches the Telemetry interface from @geekmidas/constructs.\n */\nexport interface Telemetry {\n\tonRequestStart(request: TelemetryRequest): TelemetryContext;\n\tonRequestEnd(ctx: TelemetryContext, response: TelemetryResponse): void;\n\tonRequestError(ctx: TelemetryContext, error: Error): void;\n}\n\nimport {\n\tcreateHttpServerSpan,\n\tendHttpSpan,\n\textractTraceContext,\n\ttype HttpSpanAttributes,\n} from './http';\n\n/**\n * Options for OTelTelemetry\n */\nexport interface OTelTelemetryOptions {\n\t/**\n\t * Whether to record request body as span attribute\n\t * @default false\n\t */\n\trecordBody?: boolean;\n\n\t/**\n\t * Whether to record response body as span attribute\n\t * @default false\n\t */\n\trecordResponseBody?: boolean;\n\n\t/**\n\t * Custom function to extract user ID from event\n\t */\n\tgetUserId?: (event: any) => string | undefined;\n\n\t/**\n\t * Custom function to extract endpoint name from event\n\t */\n\tgetEndpointName?: (event: any) => string | undefined;\n\n\t/**\n\t * Custom function to extract operation ID from event\n\t */\n\tgetOperationId?: (event: any) => string | undefined;\n}\n\n/**\n * Telemetry context with span reference\n */\ninterface OTelContext extends TelemetryContext {\n\tspan: Span;\n\totelContext: any;\n}\n\n/**\n * OpenTelemetry implementation of the Telemetry interface\n *\n * @example\n * ```typescript\n * import { OTelTelemetry } from '@geekmidas/telescope/instrumentation';\n *\n * const adaptor = new AmazonApiGatewayV2Endpoint(envParser, endpoint, {\n * telemetry: new OTelTelemetry(),\n * });\n * ```\n *\n * @example With options\n * ```typescript\n * const adaptor = new AmazonApiGatewayV2Endpoint(envParser, endpoint, {\n * telemetry: new OTelTelemetry({\n * recordBody: true,\n * getUserId: (event) => event.requestContext?.authorizer?.userId,\n * }),\n * });\n * ```\n */\nexport class OTelTelemetry implements Telemetry {\n\tconstructor(private options: OTelTelemetryOptions = {}) {}\n\n\tonRequestStart(request: TelemetryRequest): TelemetryContext {\n\t\tconst { event, context: lambdaContext } = request;\n\n\t\t// Extract trace context from headers\n\t\tconst headers = normalizeHeaders(event.headers || {});\n\t\tconst parentContext = extractTraceContext(headers);\n\n\t\t// Build span attributes from event\n\t\tconst attrs = this.buildSpanAttributes(event, lambdaContext);\n\n\t\t// Create the span\n\t\tconst span = createHttpServerSpan(attrs, parentContext);\n\t\tconst otelContext = trace.setSpan(parentContext, span);\n\n\t\t// Add Lambda-specific attributes\n\t\tspan.setAttribute('faas.invocation_id', lambdaContext.awsRequestId);\n\t\tspan.setAttribute('faas.name', lambdaContext.functionName);\n\n\t\t// Record body if requested\n\t\tif (this.options.recordBody && event.body) {\n\t\t\tconst bodyStr =\n\t\t\t\ttypeof event.body === 'string'\n\t\t\t\t\t? event.body\n\t\t\t\t\t: JSON.stringify(event.body);\n\t\t\tspan.setAttribute(\n\t\t\t\t'http.request.body',\n\t\t\t\tbodyStr.length > 4096 ? `${bodyStr.slice(0, 4096)}...` : bodyStr,\n\t\t\t);\n\t\t}\n\n\t\treturn { span, otelContext } as OTelContext;\n\t}\n\n\tonRequestEnd(ctx: TelemetryContext, response: TelemetryResponse): void {\n\t\tconst { span } = ctx as OTelContext;\n\n\t\tif (this.options.recordResponseBody && response.body) {\n\t\t\tspan.setAttribute(\n\t\t\t\t'http.response.body',\n\t\t\t\tresponse.body.length > 4096\n\t\t\t\t\t? `${response.body.slice(0, 4096)}...`\n\t\t\t\t\t: response.body,\n\t\t\t);\n\t\t}\n\n\t\tendHttpSpan(span, { statusCode: response.statusCode });\n\t}\n\n\tonRequestError(ctx: TelemetryContext, error: Error): void {\n\t\tconst { span } = ctx as OTelContext;\n\t\tendHttpSpan(span, { statusCode: 500 }, error);\n\t}\n\n\t/**\n\t * Build span attributes from Lambda event\n\t */\n\tprivate buildSpanAttributes(\n\t\tevent: any,\n\t\tlambdaContext: any,\n\t): HttpSpanAttributes {\n\t\t// Detect event type (API Gateway v1, v2, ALB, or direct invoke)\n\t\tconst isV2 =\n\t\t\t'requestContext' in event && 'http' in (event.requestContext || {});\n\t\tconst isV1 =\n\t\t\t'requestContext' in event &&\n\t\t\t'httpMethod' in event &&\n\t\t\t!('http' in (event.requestContext || {}));\n\n\t\tlet method = 'INVOKE';\n\t\tlet path = '/';\n\t\tlet route: string | undefined;\n\t\tlet host: string | undefined;\n\t\tlet scheme: 'http' | 'https' | undefined;\n\t\tlet userAgent: string | undefined;\n\t\tlet clientIp: string | undefined;\n\t\tlet requestId: string | undefined;\n\n\t\tif (isV2) {\n\t\t\t// API Gateway v2 (HTTP API)\n\t\t\tconst http = event.requestContext.http;\n\t\t\tmethod = http.method;\n\t\t\tpath = event.rawPath || http.path;\n\t\t\troute = event.routeKey?.replace(/^[A-Z]+\\s+/, ''); // Remove HTTP method prefix\n\t\t\thost = event.headers?.host;\n\t\t\tscheme = 'https';\n\t\t\tuserAgent = http.userAgent;\n\t\t\tclientIp = http.sourceIp;\n\t\t\trequestId = event.requestContext.requestId;\n\t\t} else if (isV1) {\n\t\t\t// API Gateway v1 (REST API)\n\t\t\tmethod = event.httpMethod;\n\t\t\tpath = event.path;\n\t\t\troute = event.resource;\n\t\t\thost = event.headers?.Host || event.headers?.host;\n\t\t\tscheme = 'https';\n\t\t\tuserAgent =\n\t\t\t\tevent.headers?.['User-Agent'] || event.headers?.['user-agent'];\n\t\t\tclientIp = event.requestContext?.identity?.sourceIp;\n\t\t\trequestId = event.requestContext?.requestId;\n\t\t} else if ('httpMethod' in event) {\n\t\t\t// ALB event\n\t\t\tmethod = event.httpMethod;\n\t\t\tpath = event.path;\n\t\t\thost = event.headers?.host;\n\t\t\tuserAgent =\n\t\t\t\tevent.headers?.['user-agent'] || event.headers?.['User-Agent'];\n\t\t\tclientIp = event.headers?.['x-forwarded-for']?.split(',')[0]?.trim();\n\t\t}\n\n\t\tconst attrs: HttpSpanAttributes = {\n\t\t\tmethod,\n\t\t\tpath,\n\t\t\troute,\n\t\t\thost,\n\t\t\tscheme,\n\t\t\tuserAgent,\n\t\t\tclientIp,\n\t\t\trequestId: requestId || lambdaContext.awsRequestId,\n\t\t};\n\n\t\t// Add endpoint metadata if extractors provided\n\t\tif (this.options.getEndpointName || this.options.getOperationId) {\n\t\t\tattrs.endpoint = {\n\t\t\t\tname: this.options.getEndpointName?.(event),\n\t\t\t\toperationId: this.options.getOperationId?.(event),\n\t\t\t};\n\t\t}\n\n\t\t// Add user metadata if extractor provided\n\t\tif (this.options.getUserId) {\n\t\t\tconst userId = this.options.getUserId(event);\n\t\t\tif (userId) {\n\t\t\t\tattrs.user = { userId };\n\t\t\t}\n\t\t}\n\n\t\treturn attrs;\n\t}\n}\n\n/**\n * Normalize headers to lowercase keys\n */\nfunction normalizeHeaders(\n\theaders: Record<string, string | string[] | undefined>,\n): Record<string, string | string[] | undefined> {\n\tconst normalized: Record<string, string | string[] | undefined> = {};\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tnormalized[key.toLowerCase()] = value;\n\t}\n\treturn normalized;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAoHA,IAAa,gBAAb,MAAgD;CAC/C,YAAoBA,UAAgC,CAAE,GAAE;EAApC;CAAsC;CAE1D,eAAeC,SAA6C;EAC3D,MAAM,EAAE,OAAO,SAAS,eAAe,GAAG;EAG1C,MAAM,UAAU,iBAAiB,MAAM,WAAW,CAAE,EAAC;EACrD,MAAM,gBAAgB,oBAAoB,QAAQ;EAGlD,MAAM,QAAQ,KAAK,oBAAoB,OAAO,cAAc;EAG5D,MAAM,OAAO,qBAAqB,OAAO,cAAc;EACvD,MAAM,cAAc,MAAM,QAAQ,eAAe,KAAK;AAGtD,OAAK,aAAa,sBAAsB,cAAc,aAAa;AACnE,OAAK,aAAa,aAAa,cAAc,aAAa;AAG1D,MAAI,KAAK,QAAQ,cAAc,MAAM,MAAM;GAC1C,MAAM,iBACE,MAAM,SAAS,WACnB,MAAM,OACN,KAAK,UAAU,MAAM,KAAK;AAC9B,QAAK,aACJ,qBACA,QAAQ,SAAS,QAAQ,EAAE,QAAQ,MAAM,GAAG,KAAK,CAAC,OAAO,QACzD;EACD;AAED,SAAO;GAAE;GAAM;EAAa;CAC5B;CAED,aAAaC,KAAuBC,UAAmC;EACtE,MAAM,EAAE,MAAM,GAAG;AAEjB,MAAI,KAAK,QAAQ,sBAAsB,SAAS,KAC/C,MAAK,aACJ,sBACA,SAAS,KAAK,SAAS,QACnB,EAAE,SAAS,KAAK,MAAM,GAAG,KAAK,CAAC,OAChC,SAAS,KACZ;AAGF,cAAY,MAAM,EAAE,YAAY,SAAS,WAAY,EAAC;CACtD;CAED,eAAeD,KAAuBE,OAAoB;EACzD,MAAM,EAAE,MAAM,GAAG;AACjB,cAAY,MAAM,EAAE,YAAY,IAAK,GAAE,MAAM;CAC7C;;;;CAKD,AAAQ,oBACPC,OACAC,eACqB;EAErB,MAAM,OACL,oBAAoB,SAAS,WAAW,MAAM,kBAAkB,CAAE;EACnE,MAAM,OACL,oBAAoB,SACpB,gBAAgB,WACd,WAAW,MAAM,kBAAkB,CAAE;EAExC,IAAI,SAAS;EACb,IAAI,OAAO;EACX,IAAIC;EACJ,IAAIC;EACJ,IAAIC;EACJ,IAAIC;EACJ,IAAIC;EACJ,IAAIC;AAEJ,MAAI,MAAM;GAET,MAAM,OAAO,MAAM,eAAe;AAClC,YAAS,KAAK;AACd,UAAO,MAAM,WAAW,KAAK;AAC7B,WAAQ,MAAM,UAAU,QAAQ,cAAc,GAAG;AACjD,UAAO,MAAM,SAAS;AACtB,YAAS;AACT,eAAY,KAAK;AACjB,cAAW,KAAK;AAChB,eAAY,MAAM,eAAe;EACjC,WAAU,MAAM;AAEhB,YAAS,MAAM;AACf,UAAO,MAAM;AACb,WAAQ,MAAM;AACd,UAAO,MAAM,SAAS,QAAQ,MAAM,SAAS;AAC7C,YAAS;AACT,eACC,MAAM,UAAU,iBAAiB,MAAM,UAAU;AAClD,cAAW,MAAM,gBAAgB,UAAU;AAC3C,eAAY,MAAM,gBAAgB;EAClC,WAAU,gBAAgB,OAAO;AAEjC,YAAS,MAAM;AACf,UAAO,MAAM;AACb,UAAO,MAAM,SAAS;AACtB,eACC,MAAM,UAAU,iBAAiB,MAAM,UAAU;AAClD,cAAW,MAAM,UAAU,oBAAoB,MAAM,IAAI,CAAC,IAAI,MAAM;EACpE;EAED,MAAMC,QAA4B;GACjC;GACA;GACA;GACA;GACA;GACA;GACA;GACA,WAAW,aAAa,cAAc;EACtC;AAGD,MAAI,KAAK,QAAQ,mBAAmB,KAAK,QAAQ,eAChD,OAAM,WAAW;GAChB,MAAM,KAAK,QAAQ,kBAAkB,MAAM;GAC3C,aAAa,KAAK,QAAQ,iBAAiB,MAAM;EACjD;AAIF,MAAI,KAAK,QAAQ,WAAW;GAC3B,MAAM,SAAS,KAAK,QAAQ,UAAU,MAAM;AAC5C,OAAI,OACH,OAAM,OAAO,EAAE,OAAQ;EAExB;AAED,SAAO;CACP;AACD;;;;AAKD,SAAS,iBACRC,SACgD;CAChD,MAAMC,aAA4D,CAAE;AACpE,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,QAAQ,CACjD,YAAW,IAAI,aAAa,IAAI;AAEjC,QAAO;AACP"}
|
package/dist/otlp/hono.cjs
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
const require_chunk = require('../chunk-CUT6urMc.cjs');
|
|
2
|
+
require('../types-Dsh-DIO_.cjs');
|
|
3
|
+
require('../transformer-CLGZ0EQc.cjs');
|
|
4
|
+
const require_receiver = require('../receiver-Cj1lbAOO.cjs');
|
|
5
|
+
const hono = require_chunk.__toESM(require("hono"));
|
|
6
|
+
|
|
4
7
|
//#region src/otlp/hono.ts
|
|
5
8
|
/**
|
|
6
9
|
* Create Hono routes for OTLP endpoints.
|
|
@@ -27,11 +30,12 @@ let hono = require("hono");
|
|
|
27
30
|
* ```
|
|
28
31
|
*/
|
|
29
32
|
function createOTLPRoutes(options) {
|
|
30
|
-
const receiver = new
|
|
33
|
+
const receiver = new require_receiver.OTLPReceiver(options);
|
|
31
34
|
const app = new hono.Hono();
|
|
32
35
|
app.post("/traces", async (c) => {
|
|
33
36
|
try {
|
|
34
|
-
|
|
37
|
+
const contentType = c.req.header("content-type") || "";
|
|
38
|
+
if (!contentType.includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
35
39
|
const request = await c.req.json();
|
|
36
40
|
const response = await receiver.receiveTraces(request);
|
|
37
41
|
return c.json(response, response.partialSuccess ? 206 : 200);
|
|
@@ -41,7 +45,8 @@ function createOTLPRoutes(options) {
|
|
|
41
45
|
});
|
|
42
46
|
app.post("/logs", async (c) => {
|
|
43
47
|
try {
|
|
44
|
-
|
|
48
|
+
const contentType = c.req.header("content-type") || "";
|
|
49
|
+
if (!contentType.includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
45
50
|
const request = await c.req.json();
|
|
46
51
|
const response = await receiver.receiveLogs(request);
|
|
47
52
|
return c.json(response, response.partialSuccess ? 206 : 200);
|
|
@@ -51,7 +56,8 @@ function createOTLPRoutes(options) {
|
|
|
51
56
|
});
|
|
52
57
|
app.post("/metrics", async (c) => {
|
|
53
58
|
try {
|
|
54
|
-
|
|
59
|
+
const contentType = c.req.header("content-type") || "";
|
|
60
|
+
if (!contentType.includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
55
61
|
const request = await c.req.json();
|
|
56
62
|
const response = await receiver.receiveMetrics(request);
|
|
57
63
|
return c.json(response, response.partialSuccess ? 206 : 200);
|
|
@@ -61,8 +67,8 @@ function createOTLPRoutes(options) {
|
|
|
61
67
|
});
|
|
62
68
|
return app;
|
|
63
69
|
}
|
|
70
|
+
|
|
64
71
|
//#endregion
|
|
65
|
-
exports.OTLPReceiver =
|
|
72
|
+
exports.OTLPReceiver = require_receiver.OTLPReceiver;
|
|
66
73
|
exports.createOTLPRoutes = createOTLPRoutes;
|
|
67
|
-
|
|
68
74
|
//# sourceMappingURL=hono.cjs.map
|
package/dist/otlp/hono.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hono.cjs","names":["OTLPReceiver","Hono"],"sources":["../../src/otlp/hono.ts"],"sourcesContent":["import { Hono } from 'hono';\nimport type { MetricsHandler, OTLPReceiverOptions } from './receiver';\nimport { OTLPReceiver } from './receiver';\nimport type {\n\tExportLogsServiceRequest,\n\tExportMetricsServiceRequest,\n\tExportTraceServiceRequest,\n} from './types';\n\n/**\n * Create Hono routes for OTLP endpoints.\n *\n * Mount this at /v1 to get the standard OTLP paths:\n * - POST /v1/traces\n * - POST /v1/logs\n * - POST /v1/metrics\n *\n * @example\n * ```typescript\n * import { createOTLPRoutes } from '@geekmidas/telescope/otlp/hono';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n * const app = new Hono();\n *\n * // Mount OTLP endpoints at /v1\n * app.route('/v1', createOTLPRoutes({ telescope }));\n *\n * // Now accepts:\n * // POST /v1/traces\n * // POST /v1/logs\n * // POST /v1/metrics\n * ```\n */\nexport function createOTLPRoutes(options: OTLPReceiverOptions): Hono {\n\tconst receiver = new OTLPReceiver(options);\n\tconst app = new Hono();\n\n\t// POST /traces - Receive trace data\n\tapp.post('/traces', async (c) => {\n\t\ttry {\n\t\t\tconst contentType = c.req.header('content-type') || '';\n\n\t\t\t// Only support JSON for now\n\t\t\tif (!contentType.includes('application/json')) {\n\t\t\t\treturn c.json({ error: 'Only application/json is supported' }, 415);\n\t\t\t}\n\n\t\t\tconst request = await c.req.json<ExportTraceServiceRequest>();\n\t\t\tconst response = await receiver.receiveTraces(request);\n\n\t\t\treturn c.json(response, response.partialSuccess ? 206 : 200);\n\t\t} catch (error) {\n\t\t\treturn c.json(\n\t\t\t\t{\n\t\t\t\t\terror:\n\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to process traces',\n\t\t\t\t},\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t});\n\n\t// POST /logs - Receive log data\n\tapp.post('/logs', async (c) => {\n\t\ttry {\n\t\t\tconst contentType = c.req.header('content-type') || '';\n\n\t\t\tif (!contentType.includes('application/json')) {\n\t\t\t\treturn c.json({ error: 'Only application/json is supported' }, 415);\n\t\t\t}\n\n\t\t\tconst request = await c.req.json<ExportLogsServiceRequest>();\n\t\t\tconst response = await receiver.receiveLogs(request);\n\n\t\t\treturn c.json(response, response.partialSuccess ? 206 : 200);\n\t\t} catch (error) {\n\t\t\treturn c.json(\n\t\t\t\t{\n\t\t\t\t\terror:\n\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to process logs',\n\t\t\t\t},\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t});\n\n\t// POST /metrics - Receive metrics data\n\tapp.post('/metrics', async (c) => {\n\t\ttry {\n\t\t\tconst contentType = c.req.header('content-type') || '';\n\n\t\t\tif (!contentType.includes('application/json')) {\n\t\t\t\treturn c.json({ error: 'Only application/json is supported' }, 415);\n\t\t\t}\n\n\t\t\tconst request = await c.req.json<ExportMetricsServiceRequest>();\n\t\t\tconst response = await receiver.receiveMetrics(request);\n\n\t\t\treturn c.json(response, response.partialSuccess ? 206 : 200);\n\t\t} catch (error) {\n\t\t\treturn c.json(\n\t\t\t\t{\n\t\t\t\t\terror:\n\t\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: 'Failed to process metrics',\n\t\t\t\t},\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t});\n\n\treturn app;\n}\n\n/**\n * Re-export the receiver for custom usage\n */\nexport { OTLPReceiver };\nexport type { MetricsHandler, OTLPReceiverOptions };\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"hono.cjs","names":["options: OTLPReceiverOptions","OTLPReceiver","Hono"],"sources":["../../src/otlp/hono.ts"],"sourcesContent":["import { Hono } from 'hono';\nimport type { MetricsHandler, OTLPReceiverOptions } from './receiver';\nimport { OTLPReceiver } from './receiver';\nimport type {\n\tExportLogsServiceRequest,\n\tExportMetricsServiceRequest,\n\tExportTraceServiceRequest,\n} from './types';\n\n/**\n * Create Hono routes for OTLP endpoints.\n *\n * Mount this at /v1 to get the standard OTLP paths:\n * - POST /v1/traces\n * - POST /v1/logs\n * - POST /v1/metrics\n *\n * @example\n * ```typescript\n * import { createOTLPRoutes } from '@geekmidas/telescope/otlp/hono';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n * const app = new Hono();\n *\n * // Mount OTLP endpoints at /v1\n * app.route('/v1', createOTLPRoutes({ telescope }));\n *\n * // Now accepts:\n * // POST /v1/traces\n * // POST /v1/logs\n * // POST /v1/metrics\n * ```\n */\nexport function createOTLPRoutes(options: OTLPReceiverOptions): Hono {\n\tconst receiver = new OTLPReceiver(options);\n\tconst app = new Hono();\n\n\t// POST /traces - Receive trace data\n\tapp.post('/traces', async (c) => {\n\t\ttry {\n\t\t\tconst contentType = c.req.header('content-type') || '';\n\n\t\t\t// Only support JSON for now\n\t\t\tif (!contentType.includes('application/json')) {\n\t\t\t\treturn c.json({ error: 'Only application/json is supported' }, 415);\n\t\t\t}\n\n\t\t\tconst request = await c.req.json<ExportTraceServiceRequest>();\n\t\t\tconst response = await receiver.receiveTraces(request);\n\n\t\t\treturn c.json(response, response.partialSuccess ? 206 : 200);\n\t\t} catch (error) {\n\t\t\treturn c.json(\n\t\t\t\t{\n\t\t\t\t\terror:\n\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to process traces',\n\t\t\t\t},\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t});\n\n\t// POST /logs - Receive log data\n\tapp.post('/logs', async (c) => {\n\t\ttry {\n\t\t\tconst contentType = c.req.header('content-type') || '';\n\n\t\t\tif (!contentType.includes('application/json')) {\n\t\t\t\treturn c.json({ error: 'Only application/json is supported' }, 415);\n\t\t\t}\n\n\t\t\tconst request = await c.req.json<ExportLogsServiceRequest>();\n\t\t\tconst response = await receiver.receiveLogs(request);\n\n\t\t\treturn c.json(response, response.partialSuccess ? 206 : 200);\n\t\t} catch (error) {\n\t\t\treturn c.json(\n\t\t\t\t{\n\t\t\t\t\terror:\n\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to process logs',\n\t\t\t\t},\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t});\n\n\t// POST /metrics - Receive metrics data\n\tapp.post('/metrics', async (c) => {\n\t\ttry {\n\t\t\tconst contentType = c.req.header('content-type') || '';\n\n\t\t\tif (!contentType.includes('application/json')) {\n\t\t\t\treturn c.json({ error: 'Only application/json is supported' }, 415);\n\t\t\t}\n\n\t\t\tconst request = await c.req.json<ExportMetricsServiceRequest>();\n\t\t\tconst response = await receiver.receiveMetrics(request);\n\n\t\t\treturn c.json(response, response.partialSuccess ? 206 : 200);\n\t\t} catch (error) {\n\t\t\treturn c.json(\n\t\t\t\t{\n\t\t\t\t\terror:\n\t\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: 'Failed to process metrics',\n\t\t\t\t},\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t});\n\n\treturn app;\n}\n\n/**\n * Re-export the receiver for custom usage\n */\nexport { OTLPReceiver };\nexport type { MetricsHandler, OTLPReceiverOptions };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,SAAgB,iBAAiBA,SAAoC;CACpE,MAAM,WAAW,IAAIC,8BAAa;CAClC,MAAM,MAAM,IAAIC;AAGhB,KAAI,KAAK,WAAW,OAAO,MAAM;AAChC,MAAI;GACH,MAAM,cAAc,EAAE,IAAI,OAAO,eAAe,IAAI;AAGpD,QAAK,YAAY,SAAS,mBAAmB,CAC5C,QAAO,EAAE,KAAK,EAAE,OAAO,qCAAsC,GAAE,IAAI;GAGpE,MAAM,UAAU,MAAM,EAAE,IAAI,MAAiC;GAC7D,MAAM,WAAW,MAAM,SAAS,cAAc,QAAQ;AAEtD,UAAO,EAAE,KAAK,UAAU,SAAS,iBAAiB,MAAM,IAAI;EAC5D,SAAQ,OAAO;AACf,UAAO,EAAE,KACR,EACC,OACC,iBAAiB,QAAQ,MAAM,UAAU,2BAC1C,GACD,IACA;EACD;CACD,EAAC;AAGF,KAAI,KAAK,SAAS,OAAO,MAAM;AAC9B,MAAI;GACH,MAAM,cAAc,EAAE,IAAI,OAAO,eAAe,IAAI;AAEpD,QAAK,YAAY,SAAS,mBAAmB,CAC5C,QAAO,EAAE,KAAK,EAAE,OAAO,qCAAsC,GAAE,IAAI;GAGpE,MAAM,UAAU,MAAM,EAAE,IAAI,MAAgC;GAC5D,MAAM,WAAW,MAAM,SAAS,YAAY,QAAQ;AAEpD,UAAO,EAAE,KAAK,UAAU,SAAS,iBAAiB,MAAM,IAAI;EAC5D,SAAQ,OAAO;AACf,UAAO,EAAE,KACR,EACC,OACC,iBAAiB,QAAQ,MAAM,UAAU,yBAC1C,GACD,IACA;EACD;CACD,EAAC;AAGF,KAAI,KAAK,YAAY,OAAO,MAAM;AACjC,MAAI;GACH,MAAM,cAAc,EAAE,IAAI,OAAO,eAAe,IAAI;AAEpD,QAAK,YAAY,SAAS,mBAAmB,CAC5C,QAAO,EAAE,KAAK,EAAE,OAAO,qCAAsC,GAAE,IAAI;GAGpE,MAAM,UAAU,MAAM,EAAE,IAAI,MAAmC;GAC/D,MAAM,WAAW,MAAM,SAAS,eAAe,QAAQ;AAEvD,UAAO,EAAE,KAAK,UAAU,SAAS,iBAAiB,MAAM,IAAI;EAC5D,SAAQ,OAAO;AACf,UAAO,EAAE,KACR,EACC,OACC,iBAAiB,QACd,MAAM,UACN,4BACJ,GACD,IACA;EACD;CACD,EAAC;AAEF,QAAO;AACP"}
|
package/dist/otlp/hono.d.cts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "../types-l7Rlb5Mg.cjs";
|
|
2
|
+
import "../MetricsAggregator-4SqelGcG.cjs";
|
|
3
|
+
import "../Telescope-D4nmwDRA.cjs";
|
|
4
|
+
import "../types-CmOB7CLO.cjs";
|
|
5
|
+
import "../transformer-ICEbxpFf.cjs";
|
|
6
|
+
import { MetricsHandler, OTLPReceiver, OTLPReceiverOptions } from "../receiver-DLICx5uU.cjs";
|
|
2
7
|
import { Hono } from "hono";
|
|
8
|
+
|
|
3
9
|
//#region src/otlp/hono.d.ts
|
|
10
|
+
|
|
4
11
|
/**
|
|
5
12
|
* Create Hono routes for OTLP endpoints.
|
|
6
13
|
*
|
|
@@ -25,7 +32,10 @@ import { Hono } from "hono";
|
|
|
25
32
|
* // POST /v1/metrics
|
|
26
33
|
* ```
|
|
27
34
|
*/
|
|
28
|
-
|
|
35
|
+
declare function createOTLPRoutes(options: OTLPReceiverOptions): Hono;
|
|
36
|
+
/**
|
|
37
|
+
* Re-export the receiver for custom usage
|
|
38
|
+
*/
|
|
29
39
|
//#endregion
|
|
30
|
-
export {
|
|
40
|
+
export { MetricsHandler, OTLPReceiver, OTLPReceiverOptions, createOTLPRoutes };
|
|
31
41
|
//# sourceMappingURL=hono.d.cts.map
|
package/dist/otlp/hono.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hono.d.cts","names":[],"sources":["../../src/otlp/hono.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"hono.d.cts","names":[],"sources":["../../src/otlp/hono.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;AAiCA;;;;AAAoE;;;;;;;;;;;;;;iBAApD,gBAAA,UAA0B,sBAAsB"}
|
package/dist/otlp/hono.d.mts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "../types-B1EIa_cQ.mjs";
|
|
2
|
+
import "../MetricsAggregator-DZrW8ls6.mjs";
|
|
3
|
+
import "../Telescope-Dl6VSfxd.mjs";
|
|
4
|
+
import "../types-DBc0q5KD.mjs";
|
|
5
|
+
import "../transformer-CTGsaVfV.mjs";
|
|
6
|
+
import { MetricsHandler, OTLPReceiver, OTLPReceiverOptions } from "../receiver-UeZT-H8u.mjs";
|
|
2
7
|
import { Hono } from "hono";
|
|
8
|
+
|
|
3
9
|
//#region src/otlp/hono.d.ts
|
|
10
|
+
|
|
4
11
|
/**
|
|
5
12
|
* Create Hono routes for OTLP endpoints.
|
|
6
13
|
*
|
|
@@ -25,7 +32,10 @@ import { Hono } from "hono";
|
|
|
25
32
|
* // POST /v1/metrics
|
|
26
33
|
* ```
|
|
27
34
|
*/
|
|
28
|
-
|
|
35
|
+
declare function createOTLPRoutes(options: OTLPReceiverOptions): Hono;
|
|
36
|
+
/**
|
|
37
|
+
* Re-export the receiver for custom usage
|
|
38
|
+
*/
|
|
29
39
|
//#endregion
|
|
30
|
-
export {
|
|
40
|
+
export { MetricsHandler, OTLPReceiver, OTLPReceiverOptions, createOTLPRoutes };
|
|
31
41
|
//# sourceMappingURL=hono.d.mts.map
|
package/dist/otlp/hono.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hono.d.mts","names":[],"sources":["../../src/otlp/hono.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"hono.d.mts","names":[],"sources":["../../src/otlp/hono.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;AAiCA;;;;AAAoE;;;;;;;;;;;;;;iBAApD,gBAAA,UAA0B,sBAAsB"}
|
package/dist/otlp/hono.mjs
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "../types-Bwm_jNU7.mjs";
|
|
2
|
+
import "../transformer-BXQPhzql.mjs";
|
|
3
|
+
import { OTLPReceiver } from "../receiver-CxVd_9CB.mjs";
|
|
2
4
|
import { Hono } from "hono";
|
|
5
|
+
|
|
3
6
|
//#region src/otlp/hono.ts
|
|
4
7
|
/**
|
|
5
8
|
* Create Hono routes for OTLP endpoints.
|
|
@@ -30,7 +33,8 @@ function createOTLPRoutes(options) {
|
|
|
30
33
|
const app = new Hono();
|
|
31
34
|
app.post("/traces", async (c) => {
|
|
32
35
|
try {
|
|
33
|
-
|
|
36
|
+
const contentType = c.req.header("content-type") || "";
|
|
37
|
+
if (!contentType.includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
34
38
|
const request = await c.req.json();
|
|
35
39
|
const response = await receiver.receiveTraces(request);
|
|
36
40
|
return c.json(response, response.partialSuccess ? 206 : 200);
|
|
@@ -40,7 +44,8 @@ function createOTLPRoutes(options) {
|
|
|
40
44
|
});
|
|
41
45
|
app.post("/logs", async (c) => {
|
|
42
46
|
try {
|
|
43
|
-
|
|
47
|
+
const contentType = c.req.header("content-type") || "";
|
|
48
|
+
if (!contentType.includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
44
49
|
const request = await c.req.json();
|
|
45
50
|
const response = await receiver.receiveLogs(request);
|
|
46
51
|
return c.json(response, response.partialSuccess ? 206 : 200);
|
|
@@ -50,7 +55,8 @@ function createOTLPRoutes(options) {
|
|
|
50
55
|
});
|
|
51
56
|
app.post("/metrics", async (c) => {
|
|
52
57
|
try {
|
|
53
|
-
|
|
58
|
+
const contentType = c.req.header("content-type") || "";
|
|
59
|
+
if (!contentType.includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
54
60
|
const request = await c.req.json();
|
|
55
61
|
const response = await receiver.receiveMetrics(request);
|
|
56
62
|
return c.json(response, response.partialSuccess ? 206 : 200);
|
|
@@ -60,7 +66,7 @@ function createOTLPRoutes(options) {
|
|
|
60
66
|
});
|
|
61
67
|
return app;
|
|
62
68
|
}
|
|
69
|
+
|
|
63
70
|
//#endregion
|
|
64
71
|
export { OTLPReceiver, createOTLPRoutes };
|
|
65
|
-
|
|
66
72
|
//# sourceMappingURL=hono.mjs.map
|
package/dist/otlp/hono.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hono.mjs","names":[],"sources":["../../src/otlp/hono.ts"],"sourcesContent":["import { Hono } from 'hono';\nimport type { MetricsHandler, OTLPReceiverOptions } from './receiver';\nimport { OTLPReceiver } from './receiver';\nimport type {\n\tExportLogsServiceRequest,\n\tExportMetricsServiceRequest,\n\tExportTraceServiceRequest,\n} from './types';\n\n/**\n * Create Hono routes for OTLP endpoints.\n *\n * Mount this at /v1 to get the standard OTLP paths:\n * - POST /v1/traces\n * - POST /v1/logs\n * - POST /v1/metrics\n *\n * @example\n * ```typescript\n * import { createOTLPRoutes } from '@geekmidas/telescope/otlp/hono';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n * const app = new Hono();\n *\n * // Mount OTLP endpoints at /v1\n * app.route('/v1', createOTLPRoutes({ telescope }));\n *\n * // Now accepts:\n * // POST /v1/traces\n * // POST /v1/logs\n * // POST /v1/metrics\n * ```\n */\nexport function createOTLPRoutes(options: OTLPReceiverOptions): Hono {\n\tconst receiver = new OTLPReceiver(options);\n\tconst app = new Hono();\n\n\t// POST /traces - Receive trace data\n\tapp.post('/traces', async (c) => {\n\t\ttry {\n\t\t\tconst contentType = c.req.header('content-type') || '';\n\n\t\t\t// Only support JSON for now\n\t\t\tif (!contentType.includes('application/json')) {\n\t\t\t\treturn c.json({ error: 'Only application/json is supported' }, 415);\n\t\t\t}\n\n\t\t\tconst request = await c.req.json<ExportTraceServiceRequest>();\n\t\t\tconst response = await receiver.receiveTraces(request);\n\n\t\t\treturn c.json(response, response.partialSuccess ? 206 : 200);\n\t\t} catch (error) {\n\t\t\treturn c.json(\n\t\t\t\t{\n\t\t\t\t\terror:\n\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to process traces',\n\t\t\t\t},\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t});\n\n\t// POST /logs - Receive log data\n\tapp.post('/logs', async (c) => {\n\t\ttry {\n\t\t\tconst contentType = c.req.header('content-type') || '';\n\n\t\t\tif (!contentType.includes('application/json')) {\n\t\t\t\treturn c.json({ error: 'Only application/json is supported' }, 415);\n\t\t\t}\n\n\t\t\tconst request = await c.req.json<ExportLogsServiceRequest>();\n\t\t\tconst response = await receiver.receiveLogs(request);\n\n\t\t\treturn c.json(response, response.partialSuccess ? 206 : 200);\n\t\t} catch (error) {\n\t\t\treturn c.json(\n\t\t\t\t{\n\t\t\t\t\terror:\n\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to process logs',\n\t\t\t\t},\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t});\n\n\t// POST /metrics - Receive metrics data\n\tapp.post('/metrics', async (c) => {\n\t\ttry {\n\t\t\tconst contentType = c.req.header('content-type') || '';\n\n\t\t\tif (!contentType.includes('application/json')) {\n\t\t\t\treturn c.json({ error: 'Only application/json is supported' }, 415);\n\t\t\t}\n\n\t\t\tconst request = await c.req.json<ExportMetricsServiceRequest>();\n\t\t\tconst response = await receiver.receiveMetrics(request);\n\n\t\t\treturn c.json(response, response.partialSuccess ? 206 : 200);\n\t\t} catch (error) {\n\t\t\treturn c.json(\n\t\t\t\t{\n\t\t\t\t\terror:\n\t\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: 'Failed to process metrics',\n\t\t\t\t},\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t});\n\n\treturn app;\n}\n\n/**\n * Re-export the receiver for custom usage\n */\nexport { OTLPReceiver };\nexport type { MetricsHandler, OTLPReceiverOptions };\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"hono.mjs","names":["options: OTLPReceiverOptions"],"sources":["../../src/otlp/hono.ts"],"sourcesContent":["import { Hono } from 'hono';\nimport type { MetricsHandler, OTLPReceiverOptions } from './receiver';\nimport { OTLPReceiver } from './receiver';\nimport type {\n\tExportLogsServiceRequest,\n\tExportMetricsServiceRequest,\n\tExportTraceServiceRequest,\n} from './types';\n\n/**\n * Create Hono routes for OTLP endpoints.\n *\n * Mount this at /v1 to get the standard OTLP paths:\n * - POST /v1/traces\n * - POST /v1/logs\n * - POST /v1/metrics\n *\n * @example\n * ```typescript\n * import { createOTLPRoutes } from '@geekmidas/telescope/otlp/hono';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n * const app = new Hono();\n *\n * // Mount OTLP endpoints at /v1\n * app.route('/v1', createOTLPRoutes({ telescope }));\n *\n * // Now accepts:\n * // POST /v1/traces\n * // POST /v1/logs\n * // POST /v1/metrics\n * ```\n */\nexport function createOTLPRoutes(options: OTLPReceiverOptions): Hono {\n\tconst receiver = new OTLPReceiver(options);\n\tconst app = new Hono();\n\n\t// POST /traces - Receive trace data\n\tapp.post('/traces', async (c) => {\n\t\ttry {\n\t\t\tconst contentType = c.req.header('content-type') || '';\n\n\t\t\t// Only support JSON for now\n\t\t\tif (!contentType.includes('application/json')) {\n\t\t\t\treturn c.json({ error: 'Only application/json is supported' }, 415);\n\t\t\t}\n\n\t\t\tconst request = await c.req.json<ExportTraceServiceRequest>();\n\t\t\tconst response = await receiver.receiveTraces(request);\n\n\t\t\treturn c.json(response, response.partialSuccess ? 206 : 200);\n\t\t} catch (error) {\n\t\t\treturn c.json(\n\t\t\t\t{\n\t\t\t\t\terror:\n\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to process traces',\n\t\t\t\t},\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t});\n\n\t// POST /logs - Receive log data\n\tapp.post('/logs', async (c) => {\n\t\ttry {\n\t\t\tconst contentType = c.req.header('content-type') || '';\n\n\t\t\tif (!contentType.includes('application/json')) {\n\t\t\t\treturn c.json({ error: 'Only application/json is supported' }, 415);\n\t\t\t}\n\n\t\t\tconst request = await c.req.json<ExportLogsServiceRequest>();\n\t\t\tconst response = await receiver.receiveLogs(request);\n\n\t\t\treturn c.json(response, response.partialSuccess ? 206 : 200);\n\t\t} catch (error) {\n\t\t\treturn c.json(\n\t\t\t\t{\n\t\t\t\t\terror:\n\t\t\t\t\t\terror instanceof Error ? error.message : 'Failed to process logs',\n\t\t\t\t},\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t});\n\n\t// POST /metrics - Receive metrics data\n\tapp.post('/metrics', async (c) => {\n\t\ttry {\n\t\t\tconst contentType = c.req.header('content-type') || '';\n\n\t\t\tif (!contentType.includes('application/json')) {\n\t\t\t\treturn c.json({ error: 'Only application/json is supported' }, 415);\n\t\t\t}\n\n\t\t\tconst request = await c.req.json<ExportMetricsServiceRequest>();\n\t\t\tconst response = await receiver.receiveMetrics(request);\n\n\t\t\treturn c.json(response, response.partialSuccess ? 206 : 200);\n\t\t} catch (error) {\n\t\t\treturn c.json(\n\t\t\t\t{\n\t\t\t\t\terror:\n\t\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: 'Failed to process metrics',\n\t\t\t\t},\n\t\t\t\t400,\n\t\t\t);\n\t\t}\n\t});\n\n\treturn app;\n}\n\n/**\n * Re-export the receiver for custom usage\n */\nexport { OTLPReceiver };\nexport type { MetricsHandler, OTLPReceiverOptions };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,SAAgB,iBAAiBA,SAAoC;CACpE,MAAM,WAAW,IAAI,aAAa;CAClC,MAAM,MAAM,IAAI;AAGhB,KAAI,KAAK,WAAW,OAAO,MAAM;AAChC,MAAI;GACH,MAAM,cAAc,EAAE,IAAI,OAAO,eAAe,IAAI;AAGpD,QAAK,YAAY,SAAS,mBAAmB,CAC5C,QAAO,EAAE,KAAK,EAAE,OAAO,qCAAsC,GAAE,IAAI;GAGpE,MAAM,UAAU,MAAM,EAAE,IAAI,MAAiC;GAC7D,MAAM,WAAW,MAAM,SAAS,cAAc,QAAQ;AAEtD,UAAO,EAAE,KAAK,UAAU,SAAS,iBAAiB,MAAM,IAAI;EAC5D,SAAQ,OAAO;AACf,UAAO,EAAE,KACR,EACC,OACC,iBAAiB,QAAQ,MAAM,UAAU,2BAC1C,GACD,IACA;EACD;CACD,EAAC;AAGF,KAAI,KAAK,SAAS,OAAO,MAAM;AAC9B,MAAI;GACH,MAAM,cAAc,EAAE,IAAI,OAAO,eAAe,IAAI;AAEpD,QAAK,YAAY,SAAS,mBAAmB,CAC5C,QAAO,EAAE,KAAK,EAAE,OAAO,qCAAsC,GAAE,IAAI;GAGpE,MAAM,UAAU,MAAM,EAAE,IAAI,MAAgC;GAC5D,MAAM,WAAW,MAAM,SAAS,YAAY,QAAQ;AAEpD,UAAO,EAAE,KAAK,UAAU,SAAS,iBAAiB,MAAM,IAAI;EAC5D,SAAQ,OAAO;AACf,UAAO,EAAE,KACR,EACC,OACC,iBAAiB,QAAQ,MAAM,UAAU,yBAC1C,GACD,IACA;EACD;CACD,EAAC;AAGF,KAAI,KAAK,YAAY,OAAO,MAAM;AACjC,MAAI;GACH,MAAM,cAAc,EAAE,IAAI,OAAO,eAAe,IAAI;AAEpD,QAAK,YAAY,SAAS,mBAAmB,CAC5C,QAAO,EAAE,KAAK,EAAE,OAAO,qCAAsC,GAAE,IAAI;GAGpE,MAAM,UAAU,MAAM,EAAE,IAAI,MAAmC;GAC/D,MAAM,WAAW,MAAM,SAAS,eAAe,QAAQ;AAEvD,UAAO,EAAE,KAAK,UAAU,SAAS,iBAAiB,MAAM,IAAI;EAC5D,SAAQ,OAAO;AACf,UAAO,EAAE,KACR,EACC,OACC,iBAAiB,QACd,MAAM,UACN,4BACJ,GACD,IACA;EACD;CACD,EAAC;AAEF,QAAO;AACP"}
|
package/dist/otlp/index.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
exports.OTLPReceiver =
|
|
6
|
-
exports.SeverityNumber =
|
|
7
|
-
exports.SpanKind =
|
|
8
|
-
exports.SpanStatusCode =
|
|
9
|
-
exports.transformLogs =
|
|
10
|
-
exports.transformMetrics =
|
|
11
|
-
exports.transformTraces =
|
|
1
|
+
const require_types = require('../types-Dsh-DIO_.cjs');
|
|
2
|
+
const require_transformer = require('../transformer-CLGZ0EQc.cjs');
|
|
3
|
+
const require_receiver = require('../receiver-Cj1lbAOO.cjs');
|
|
4
|
+
|
|
5
|
+
exports.OTLPReceiver = require_receiver.OTLPReceiver;
|
|
6
|
+
exports.SeverityNumber = require_types.SeverityNumber;
|
|
7
|
+
exports.SpanKind = require_types.SpanKind;
|
|
8
|
+
exports.SpanStatusCode = require_types.SpanStatusCode;
|
|
9
|
+
exports.transformLogs = require_transformer.transformLogs;
|
|
10
|
+
exports.transformMetrics = require_transformer.transformMetrics;
|
|
11
|
+
exports.transformTraces = require_transformer.transformTraces;
|
package/dist/otlp/index.d.cts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
1
|
+
import "../types-l7Rlb5Mg.cjs";
|
|
2
|
+
import "../MetricsAggregator-4SqelGcG.cjs";
|
|
3
|
+
import "../Telescope-D4nmwDRA.cjs";
|
|
4
|
+
import { ExportLogsServiceRequest, ExportLogsServiceResponse, ExportMetricsServiceRequest, ExportMetricsServiceResponse, ExportTraceServiceRequest, ExportTraceServiceResponse, KeyValue, LogRecord, Metric, Resource, SeverityNumber, Span, SpanKind, SpanStatusCode } from "../types-CmOB7CLO.cjs";
|
|
5
|
+
import { MetricDataPoint, transformLogs, transformMetrics, transformTraces } from "../transformer-ICEbxpFf.cjs";
|
|
6
|
+
import { MetricsHandler, OTLPReceiver, OTLPReceiverOptions } from "../receiver-DLICx5uU.cjs";
|
|
7
|
+
export { ExportLogsServiceRequest, ExportLogsServiceResponse, ExportMetricsServiceRequest, ExportMetricsServiceResponse, ExportTraceServiceRequest, ExportTraceServiceResponse, KeyValue, LogRecord, Metric, MetricDataPoint, MetricsHandler, OTLPReceiver, OTLPReceiverOptions, Resource, SeverityNumber, Span, SpanKind, SpanStatusCode, transformLogs, transformMetrics, transformTraces };
|
package/dist/otlp/index.d.mts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
1
|
+
import "../types-B1EIa_cQ.mjs";
|
|
2
|
+
import "../MetricsAggregator-DZrW8ls6.mjs";
|
|
3
|
+
import "../Telescope-Dl6VSfxd.mjs";
|
|
4
|
+
import { ExportLogsServiceRequest, ExportLogsServiceResponse, ExportMetricsServiceRequest, ExportMetricsServiceResponse, ExportTraceServiceRequest, ExportTraceServiceResponse, KeyValue, LogRecord, Metric, Resource, SeverityNumber, Span, SpanKind, SpanStatusCode } from "../types-DBc0q5KD.mjs";
|
|
5
|
+
import { MetricDataPoint, transformLogs, transformMetrics, transformTraces } from "../transformer-CTGsaVfV.mjs";
|
|
6
|
+
import { MetricsHandler, OTLPReceiver, OTLPReceiverOptions } from "../receiver-UeZT-H8u.mjs";
|
|
7
|
+
export { ExportLogsServiceRequest, ExportLogsServiceResponse, ExportMetricsServiceRequest, ExportMetricsServiceResponse, ExportTraceServiceRequest, ExportTraceServiceResponse, KeyValue, LogRecord, Metric, MetricDataPoint, MetricsHandler, OTLPReceiver, OTLPReceiverOptions, Resource, SeverityNumber, Span, SpanKind, SpanStatusCode, transformLogs, transformMetrics, transformTraces };
|
package/dist/otlp/index.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { SeverityNumber, SpanKind, SpanStatusCode } from "
|
|
2
|
-
import { transformLogs, transformMetrics, transformTraces } from "
|
|
3
|
-
import { OTLPReceiver } from "
|
|
4
|
-
|
|
1
|
+
import { SeverityNumber, SpanKind, SpanStatusCode } from "../types-Bwm_jNU7.mjs";
|
|
2
|
+
import { transformLogs, transformMetrics, transformTraces } from "../transformer-BXQPhzql.mjs";
|
|
3
|
+
import { OTLPReceiver } from "../receiver-CxVd_9CB.mjs";
|
|
4
|
+
|
|
5
|
+
export { OTLPReceiver, SeverityNumber, SpanKind, SpanStatusCode, transformLogs, transformMetrics, transformTraces };
|