@geekmidas/telescope 10.0.0-alpha.2 → 10.0.0-alpha.21
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/dist/{MetricsAggregator-4SqelGcG.d.cts → MetricsAggregator-BxBLQUPj.d.cts} +3 -6
- package/dist/MetricsAggregator-BxBLQUPj.d.cts.map +1 -0
- package/dist/{MetricsAggregator-DZrW8ls6.d.mts → MetricsAggregator-j9wmZ0K_.d.mts} +3 -6
- package/dist/MetricsAggregator-j9wmZ0K_.d.mts.map +1 -0
- package/dist/{Telescope-D4nmwDRA.d.cts → Telescope-BcrWTaar.d.mts} +4 -7
- package/dist/Telescope-BcrWTaar.d.mts.map +1 -0
- package/dist/{Telescope-Dl6VSfxd.d.mts → Telescope-DnCMZT7V.d.cts} +4 -7
- package/dist/Telescope-DnCMZT7V.d.cts.map +1 -0
- package/dist/Telescope.cjs +385 -4
- package/dist/Telescope.cjs.map +1 -0
- package/dist/Telescope.d.cts +1 -3
- package/dist/Telescope.d.mts +1 -3
- package/dist/Telescope.mjs +384 -4
- package/dist/Telescope.mjs.map +1 -0
- package/dist/adapters/index.d.cts +2 -2
- package/dist/adapters/index.d.mts +2 -2
- package/dist/adapters/index.mjs +1 -0
- package/dist/adapters/lambda.cjs +9 -10
- package/dist/adapters/lambda.cjs.map +1 -1
- package/dist/adapters/lambda.d.cts +9 -13
- package/dist/adapters/lambda.d.cts.map +1 -1
- package/dist/adapters/lambda.d.mts +9 -13
- package/dist/adapters/lambda.d.mts.map +1 -1
- package/dist/adapters/lambda.mjs +3 -4
- package/dist/adapters/lambda.mjs.map +1 -1
- package/dist/adapters/middy.cjs +236 -4
- package/dist/adapters/middy.cjs.map +1 -0
- package/dist/adapters/middy.d.cts +60 -5
- package/dist/adapters/middy.d.cts.map +1 -0
- package/dist/adapters/middy.d.mts +60 -5
- package/dist/adapters/middy.d.mts.map +1 -0
- package/dist/adapters/middy.mjs +234 -3
- package/dist/adapters/middy.mjs.map +1 -0
- package/dist/adapters/types.d.cts +162 -2
- package/dist/adapters/types.d.cts.map +1 -0
- package/dist/adapters/types.d.mts +162 -2
- package/dist/adapters/types.d.mts.map +1 -0
- package/dist/adapters/types.mjs +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 +3 -4
- package/dist/index.cjs +8 -9
- package/dist/index.d.cts +5 -6
- package/dist/index.d.mts +5 -6
- package/dist/index.mjs +5 -7
- package/dist/instrumentation/core.cjs +147 -11
- package/dist/instrumentation/core.cjs.map +1 -0
- package/dist/instrumentation/core.d.cts +74 -3
- package/dist/instrumentation/core.d.cts.map +1 -0
- package/dist/instrumentation/core.d.mts +74 -3
- package/dist/instrumentation/core.d.mts.map +1 -0
- package/dist/instrumentation/core.mjs +137 -2
- package/dist/instrumentation/core.mjs.map +1 -0
- package/dist/instrumentation/hono.cjs +134 -6
- package/dist/instrumentation/hono.cjs.map +1 -0
- package/dist/instrumentation/hono.d.cts +67 -2
- package/dist/instrumentation/hono.d.cts.map +1 -0
- package/dist/instrumentation/hono.d.mts +67 -2
- package/dist/instrumentation/hono.d.mts.map +1 -0
- package/dist/instrumentation/hono.mjs +130 -3
- package/dist/instrumentation/hono.mjs.map +1 -0
- package/dist/instrumentation/http.cjs +164 -11
- package/dist/instrumentation/http.cjs.map +1 -0
- package/dist/instrumentation/http.d.cts +103 -2
- package/dist/instrumentation/http.d.cts.map +1 -0
- package/dist/instrumentation/http.d.mts +103 -2
- package/dist/instrumentation/http.d.mts.map +1 -0
- package/dist/instrumentation/http.mjs +154 -2
- package/dist/instrumentation/http.mjs.map +1 -0
- package/dist/instrumentation/index.cjs +47 -47
- package/dist/instrumentation/index.d.cts +9 -9
- package/dist/instrumentation/index.d.mts +9 -9
- package/dist/instrumentation/index.mjs +8 -9
- package/dist/instrumentation/middleware.cjs +162 -6
- package/dist/instrumentation/middleware.cjs.map +1 -0
- package/dist/instrumentation/middleware.d.cts +70 -2
- package/dist/instrumentation/middleware.d.cts.map +1 -0
- package/dist/instrumentation/middleware.d.mts +70 -2
- package/dist/instrumentation/middleware.d.mts.map +1 -0
- package/dist/instrumentation/middleware.mjs +158 -3
- package/dist/instrumentation/middleware.mjs.map +1 -0
- package/dist/instrumentation/otel.cjs +137 -3
- package/dist/instrumentation/otel.cjs.map +1 -0
- package/dist/instrumentation/otel.d.cts +97 -2
- package/dist/instrumentation/otel.d.cts.map +1 -0
- package/dist/instrumentation/otel.d.mts +97 -2
- package/dist/instrumentation/otel.d.mts.map +1 -0
- package/dist/instrumentation/otel.mjs +136 -3
- package/dist/instrumentation/otel.mjs.map +1 -0
- package/dist/instrumentation/setup.cjs +100 -4
- package/dist/instrumentation/setup.cjs.map +1 -0
- package/dist/instrumentation/setup.d.cts +83 -3
- package/dist/instrumentation/setup.d.cts.map +1 -0
- package/dist/instrumentation/setup.d.mts +83 -3
- package/dist/instrumentation/setup.d.mts.map +1 -0
- package/dist/instrumentation/setup.mjs +98 -3
- package/dist/instrumentation/setup.mjs.map +1 -0
- package/dist/instrumentation/tracing.cjs +114 -10
- package/dist/instrumentation/tracing.cjs.map +1 -0
- package/dist/instrumentation/tracing.d.cts +49 -2
- package/dist/instrumentation/tracing.d.cts.map +1 -0
- package/dist/instrumentation/tracing.d.mts +49 -2
- package/dist/instrumentation/tracing.d.mts.map +1 -0
- package/dist/instrumentation/tracing.mjs +105 -2
- package/dist/instrumentation/tracing.mjs.map +1 -0
- package/dist/logger/console.cjs +18 -12
- package/dist/logger/console.cjs.map +1 -1
- package/dist/logger/console.d.cts +7 -10
- package/dist/logger/console.d.cts.map +1 -1
- package/dist/logger/console.d.mts +7 -10
- package/dist/logger/console.d.mts.map +1 -1
- package/dist/logger/console.mjs +17 -11
- package/dist/logger/console.mjs.map +1 -1
- package/dist/logger/pino.cjs +6 -5
- package/dist/logger/pino.cjs.map +1 -1
- package/dist/logger/pino.d.cts +6 -10
- package/dist/logger/pino.d.cts.map +1 -1
- package/dist/logger/pino.d.mts +6 -10
- package/dist/logger/pino.d.mts.map +1 -1
- package/dist/logger/pino.mjs +2 -3
- package/dist/logger/pino.mjs.map +1 -1
- package/dist/metrics/MetricsAggregator.cjs +354 -2
- package/dist/metrics/MetricsAggregator.cjs.map +1 -0
- package/dist/metrics/MetricsAggregator.d.cts +1 -2
- package/dist/metrics/MetricsAggregator.d.mts +1 -2
- package/dist/metrics/MetricsAggregator.mjs +353 -2
- package/dist/metrics/MetricsAggregator.mjs.map +1 -0
- package/dist/metrics/index.cjs +3 -4
- package/dist/metrics/index.d.cts +2 -4
- package/dist/metrics/index.d.mts +2 -4
- package/dist/metrics/index.mjs +2 -4
- package/dist/metrics/storage/InMemoryMetricsStorage.cjs +240 -3
- package/dist/metrics/storage/InMemoryMetricsStorage.cjs.map +1 -0
- package/dist/metrics/storage/InMemoryMetricsStorage.d.cts +43 -4
- package/dist/metrics/storage/InMemoryMetricsStorage.d.cts.map +1 -0
- package/dist/metrics/storage/InMemoryMetricsStorage.d.mts +43 -4
- package/dist/metrics/storage/InMemoryMetricsStorage.d.mts.map +1 -0
- package/dist/metrics/storage/InMemoryMetricsStorage.mjs +239 -3
- package/dist/metrics/storage/InMemoryMetricsStorage.mjs.map +1 -0
- package/dist/metrics/storage/MetricsStorage.cjs +0 -1
- package/dist/metrics/storage/MetricsStorage.d.cts +56 -3
- package/dist/metrics/storage/MetricsStorage.d.cts.map +1 -0
- package/dist/metrics/storage/MetricsStorage.d.mts +56 -3
- package/dist/metrics/storage/MetricsStorage.d.mts.map +1 -0
- 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 +4 -5
- package/dist/metrics/storage/types.cjs +34 -2
- package/dist/metrics/storage/types.cjs.map +1 -0
- package/dist/metrics/storage/types.d.cts +207 -2
- package/dist/metrics/storage/types.d.cts.map +1 -0
- package/dist/metrics/storage/types.d.mts +207 -2
- package/dist/metrics/storage/types.d.mts.map +1 -0
- package/dist/metrics/storage/types.mjs +33 -2
- package/dist/metrics/storage/types.mjs.map +1 -0
- package/dist/otlp/hono.cjs +9 -15
- package/dist/otlp/hono.cjs.map +1 -1
- package/dist/otlp/hono.d.cts +3 -13
- package/dist/otlp/hono.d.cts.map +1 -1
- package/dist/otlp/hono.d.mts +3 -13
- package/dist/otlp/hono.d.mts.map +1 -1
- package/dist/otlp/hono.mjs +5 -11
- package/dist/otlp/hono.mjs.map +1 -1
- package/dist/otlp/index.cjs +11 -11
- package/dist/otlp/index.d.cts +4 -7
- package/dist/otlp/index.d.mts +4 -7
- package/dist/otlp/index.mjs +4 -5
- package/dist/otlp/receiver.cjs +88 -4
- package/dist/otlp/receiver.cjs.map +1 -0
- package/dist/otlp/receiver.d.cts +59 -7
- package/dist/otlp/receiver.d.cts.map +1 -0
- package/dist/otlp/receiver.d.mts +59 -7
- package/dist/otlp/receiver.d.mts.map +1 -0
- package/dist/otlp/receiver.mjs +87 -4
- package/dist/otlp/receiver.mjs.map +1 -0
- package/dist/otlp/transformer.cjs +214 -5
- package/dist/otlp/transformer.cjs.map +1 -0
- package/dist/otlp/transformer.d.cts +1 -3
- package/dist/otlp/transformer.d.mts +1 -3
- package/dist/otlp/transformer.mjs +211 -3
- package/dist/otlp/transformer.mjs.map +1 -0
- package/dist/otlp/types.cjs +57 -5
- package/dist/otlp/types.cjs.map +1 -0
- package/dist/otlp/types.d.cts +1 -1
- package/dist/otlp/types.d.mts +1 -1
- package/dist/otlp/types.mjs +53 -2
- package/dist/otlp/types.mjs.map +1 -0
- package/dist/redact.cjs +84 -3
- package/dist/redact.cjs.map +1 -0
- package/dist/redact.d.cts +4 -8
- package/dist/redact.d.cts.map +1 -1
- package/dist/redact.d.mts +4 -8
- package/dist/redact.d.mts.map +1 -1
- package/dist/redact.mjs +80 -2
- package/dist/redact.mjs.map +1 -0
- package/dist/{chunk-CUT6urMc.cjs → rolldown-runtime-VH7oDXx4.cjs} +8 -10
- package/dist/server/hono.cjs +24 -33
- package/dist/server/hono.cjs.map +1 -1
- package/dist/server/hono.d.cts +10 -13
- package/dist/server/hono.d.cts.map +1 -1
- package/dist/server/hono.d.mts +10 -13
- package/dist/server/hono.d.mts.map +1 -1
- package/dist/server/hono.mjs +22 -31
- package/dist/server/hono.mjs.map +1 -1
- package/dist/storage/kysely.cjs +34 -32
- package/dist/storage/kysely.cjs.map +1 -1
- package/dist/storage/kysely.d.cts +8 -12
- package/dist/storage/kysely.d.cts.map +1 -1
- package/dist/storage/kysely.d.mts +8 -12
- package/dist/storage/kysely.d.mts.map +1 -1
- package/dist/storage/kysely.mjs +33 -31
- package/dist/storage/kysely.mjs.map +1 -1
- package/dist/storage/memory.cjs +122 -2
- package/dist/storage/memory.cjs.map +1 -0
- package/dist/storage/memory.d.cts +36 -3
- package/dist/storage/memory.d.cts.map +1 -0
- package/dist/storage/memory.d.mts +36 -3
- package/dist/storage/memory.d.mts.map +1 -0
- package/dist/storage/memory.mjs +121 -2
- package/dist/storage/memory.mjs.map +1 -0
- package/dist/{transformer-CTGsaVfV.d.mts → transformer-BBBXCjHP.d.mts} +4 -8
- package/dist/transformer-BBBXCjHP.d.mts.map +1 -0
- package/dist/{transformer-ICEbxpFf.d.cts → transformer-DlESim6Q.d.cts} +4 -8
- package/dist/transformer-DlESim6Q.d.cts.map +1 -0
- package/dist/{types-CmOB7CLO.d.cts → types-DVETVdpa.d.cts} +6 -7
- package/dist/types-DVETVdpa.d.cts.map +1 -0
- package/dist/{types-DBc0q5KD.d.mts → types-DVETVdpa.d.mts} +6 -7
- package/dist/types-DVETVdpa.d.mts.map +1 -0
- package/dist/{types-B1EIa_cQ.d.mts → types-a9Vistj1.d.cts} +2 -3
- package/dist/types-a9Vistj1.d.cts.map +1 -0
- package/dist/{types-l7Rlb5Mg.d.cts → types-a9Vistj1.d.mts} +2 -3
- package/dist/types-a9Vistj1.d.mts.map +1 -0
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/types.mjs +1 -0
- package/dist/ui-assets.cjs +31 -4
- package/dist/ui-assets.cjs.map +1 -0
- package/dist/ui-assets.d.cts +4 -6
- package/dist/ui-assets.d.cts.map +1 -1
- package/dist/ui-assets.d.mts +4 -6
- package/dist/ui-assets.d.mts.map +1 -1
- package/dist/ui-assets.mjs +28 -2
- package/dist/ui-assets.mjs.map +1 -0
- package/package.json +39 -37
- package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts +0 -47
- package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts.map +0 -1
- package/dist/InMemoryMetricsStorage-C4drxT7G.mjs +0 -247
- package/dist/InMemoryMetricsStorage-C4drxT7G.mjs.map +0 -1
- package/dist/InMemoryMetricsStorage-D0njWUSi.cjs +0 -252
- package/dist/InMemoryMetricsStorage-D0njWUSi.cjs.map +0 -1
- package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts +0 -47
- package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts.map +0 -1
- package/dist/MetricsAggregator-4SqelGcG.d.cts.map +0 -1
- package/dist/MetricsAggregator-B7lUICdH.cjs +0 -363
- package/dist/MetricsAggregator-B7lUICdH.cjs.map +0 -1
- package/dist/MetricsAggregator-DZrW8ls6.d.mts.map +0 -1
- package/dist/MetricsAggregator-S3DQWNas.mjs +0 -357
- package/dist/MetricsAggregator-S3DQWNas.mjs.map +0 -1
- package/dist/MetricsStorage-B86e4131.d.cts +0 -60
- package/dist/MetricsStorage-B86e4131.d.cts.map +0 -1
- package/dist/MetricsStorage-BWyP2_12.d.mts +0 -60
- package/dist/MetricsStorage-BWyP2_12.d.mts.map +0 -1
- package/dist/MetricsStorage-BypQXWiv.mjs +0 -0
- package/dist/MetricsStorage-Or8pVCe4.cjs +0 -0
- package/dist/Telescope-Cs3fv8jt.cjs +0 -395
- package/dist/Telescope-Cs3fv8jt.cjs.map +0 -1
- package/dist/Telescope-D4nmwDRA.d.cts.map +0 -1
- package/dist/Telescope-Dh5av3FC.mjs +0 -389
- package/dist/Telescope-Dh5av3FC.mjs.map +0 -1
- package/dist/Telescope-Dl6VSfxd.d.mts.map +0 -1
- package/dist/core--quSp5Qr.d.mts +0 -78
- package/dist/core--quSp5Qr.d.mts.map +0 -1
- package/dist/core-B4Jpia5H.d.cts +0 -78
- package/dist/core-B4Jpia5H.d.cts.map +0 -1
- package/dist/core-CtVHRJGv.cjs +0 -199
- package/dist/core-CtVHRJGv.cjs.map +0 -1
- package/dist/core-D6hJ6exL.mjs +0 -139
- package/dist/core-D6hJ6exL.mjs.map +0 -1
- package/dist/hono--uKQ7Jgi.d.mts +0 -71
- package/dist/hono--uKQ7Jgi.d.mts.map +0 -1
- package/dist/hono-Bw-ey6CT.mjs +0 -136
- package/dist/hono-Bw-ey6CT.mjs.map +0 -1
- package/dist/hono-CPHX7FAm.cjs +0 -160
- package/dist/hono-CPHX7FAm.cjs.map +0 -1
- package/dist/hono-CemCKU87.d.cts +0 -71
- package/dist/hono-CemCKU87.d.cts.map +0 -1
- package/dist/http-BIvr0YdI.mjs +0 -159
- package/dist/http-BIvr0YdI.mjs.map +0 -1
- package/dist/http-BiNtg85L.d.mts +0 -107
- package/dist/http-BiNtg85L.d.mts.map +0 -1
- package/dist/http-BsqmhurZ.cjs +0 -219
- package/dist/http-BsqmhurZ.cjs.map +0 -1
- package/dist/http-D1oTbfap.d.cts +0 -107
- package/dist/http-D1oTbfap.d.cts.map +0 -1
- package/dist/index-BL32-cvv.d.cts +0 -1
- package/dist/index-CsuikFeJ.d.mts +0 -1
- package/dist/memory--BK4iWiv.d.cts +0 -40
- package/dist/memory--BK4iWiv.d.cts.map +0 -1
- package/dist/memory-6S9H-IF5.mjs +0 -123
- package/dist/memory-6S9H-IF5.mjs.map +0 -1
- package/dist/memory-B0d_n1g5.cjs +0 -129
- package/dist/memory-B0d_n1g5.cjs.map +0 -1
- package/dist/memory-DCirEVFW.d.mts +0 -40
- package/dist/memory-DCirEVFW.d.mts.map +0 -1
- package/dist/metrics-D5YT-Rnq.mjs +0 -0
- package/dist/metrics-fhD3l3C3.cjs +0 -0
- package/dist/middleware-Bcq6XXGG.cjs +0 -184
- package/dist/middleware-Bcq6XXGG.cjs.map +0 -1
- package/dist/middleware-D1XEHvyy.mjs +0 -160
- package/dist/middleware-D1XEHvyy.mjs.map +0 -1
- package/dist/middleware-PeyS-9Ny.d.cts +0 -74
- package/dist/middleware-PeyS-9Ny.d.cts.map +0 -1
- package/dist/middleware-oHvo_ZgU.d.mts +0 -74
- package/dist/middleware-oHvo_ZgU.d.mts.map +0 -1
- package/dist/middy-B6Btl8XE.d.mts +0 -64
- package/dist/middy-B6Btl8XE.d.mts.map +0 -1
- package/dist/middy-Bq0defVg.d.cts +0 -64
- package/dist/middy-Bq0defVg.d.cts.map +0 -1
- package/dist/middy-DHWLmUAD.mjs +0 -236
- package/dist/middy-DHWLmUAD.mjs.map +0 -1
- package/dist/middy-DlWnZilH.cjs +0 -247
- package/dist/middy-DlWnZilH.cjs.map +0 -1
- package/dist/otel-B9bNoeZ2.mjs +0 -130
- package/dist/otel-B9bNoeZ2.mjs.map +0 -1
- package/dist/otel-Bk89b1lX.d.cts +0 -101
- package/dist/otel-Bk89b1lX.d.cts.map +0 -1
- package/dist/otel-BzjOtVxZ.cjs +0 -136
- package/dist/otel-BzjOtVxZ.cjs.map +0 -1
- package/dist/otel-lPMsM26e.d.mts +0 -101
- package/dist/otel-lPMsM26e.d.mts.map +0 -1
- package/dist/receiver-D46dfkYI.mjs +0 -89
- package/dist/receiver-D46dfkYI.mjs.map +0 -1
- package/dist/receiver-DLICx5uU.d.cts +0 -63
- package/dist/receiver-DLICx5uU.d.cts.map +0 -1
- package/dist/receiver-UeZT-H8u.d.mts +0 -63
- package/dist/receiver-UeZT-H8u.d.mts.map +0 -1
- package/dist/receiver-slCoAFat.cjs +0 -94
- package/dist/receiver-slCoAFat.cjs.map +0 -1
- package/dist/redact-BzkITCNW.mjs +0 -83
- package/dist/redact-BzkITCNW.mjs.map +0 -1
- package/dist/redact-DVaSSPZT.cjs +0 -95
- package/dist/redact-DVaSSPZT.cjs.map +0 -1
- package/dist/setup-Bkxm4g6b.d.mts +0 -87
- package/dist/setup-Bkxm4g6b.d.mts.map +0 -1
- package/dist/setup-D58N1f9O.d.cts +0 -87
- package/dist/setup-D58N1f9O.d.cts.map +0 -1
- package/dist/setup-DC9JMEYZ.mjs +0 -98
- package/dist/setup-DC9JMEYZ.mjs.map +0 -1
- package/dist/setup-DufxQpi9.cjs +0 -110
- package/dist/setup-DufxQpi9.cjs.map +0 -1
- package/dist/tracing-BX8uY2nR.d.cts +0 -53
- package/dist/tracing-BX8uY2nR.d.cts.map +0 -1
- package/dist/tracing-Bt1zWRlb.cjs +0 -167
- package/dist/tracing-Bt1zWRlb.cjs.map +0 -1
- package/dist/tracing-Cijm_5NI.mjs +0 -113
- package/dist/tracing-Cijm_5NI.mjs.map +0 -1
- package/dist/tracing-PnECEbEu.d.mts +0 -53
- package/dist/tracing-PnECEbEu.d.mts.map +0 -1
- package/dist/transformer-CFQ4WFk6.mjs +0 -215
- package/dist/transformer-CFQ4WFk6.mjs.map +0 -1
- package/dist/transformer-CTGsaVfV.d.mts.map +0 -1
- package/dist/transformer-Csl6fbgv.cjs +0 -232
- package/dist/transformer-Csl6fbgv.cjs.map +0 -1
- package/dist/transformer-ICEbxpFf.d.cts.map +0 -1
- package/dist/types-B1EIa_cQ.d.mts.map +0 -1
- package/dist/types-BMiHgsi4.cjs +0 -78
- package/dist/types-BMiHgsi4.cjs.map +0 -1
- package/dist/types-BRzW1NM8.d.cts +0 -166
- package/dist/types-BRzW1NM8.d.cts.map +0 -1
- package/dist/types-BS3Rx8Sk.d.cts +0 -209
- package/dist/types-BS3Rx8Sk.d.cts.map +0 -1
- package/dist/types-BzQ78Efw.d.mts +0 -166
- package/dist/types-BzQ78Efw.d.mts.map +0 -1
- package/dist/types-CbNGXnJE.d.mts +0 -209
- package/dist/types-CbNGXnJE.d.mts.map +0 -1
- package/dist/types-Cj59nqy7.mjs +0 -54
- package/dist/types-Cj59nqy7.mjs.map +0 -1
- package/dist/types-CmOB7CLO.d.cts.map +0 -1
- package/dist/types-DBc0q5KD.d.mts.map +0 -1
- package/dist/types-ZW-nfWf6.cjs +0 -40
- package/dist/types-ZW-nfWf6.cjs.map +0 -1
- package/dist/types-l7Rlb5Mg.d.cts.map +0 -1
- package/dist/types-ojhnLdwz.mjs +0 -34
- package/dist/types-ojhnLdwz.mjs.map +0 -1
- package/dist/ui-assets-BEXqOQLe.cjs +0 -48
- package/dist/ui-assets-BEXqOQLe.cjs.map +0 -1
- package/dist/ui-assets-BhTDUsrM.mjs +0 -30
- package/dist/ui-assets-BhTDUsrM.mjs.map +0 -1
|
@@ -1,3 +1,34 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/metrics/storage/types.ts
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration with hybrid storage strategy
|
|
4
|
+
*/
|
|
5
|
+
const DEFAULT_METRICS_CONFIG = {
|
|
6
|
+
tiers: [
|
|
7
|
+
{
|
|
8
|
+
name: "raw",
|
|
9
|
+
interval: "1m",
|
|
10
|
+
retention: 36e5,
|
|
11
|
+
partitionInterval: "hourly"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: "1m",
|
|
15
|
+
interval: "1m",
|
|
16
|
+
retention: 6048e5,
|
|
17
|
+
partitionInterval: "daily"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: "1h",
|
|
21
|
+
interval: "1h",
|
|
22
|
+
retention: 0,
|
|
23
|
+
partitionInterval: "monthly"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
flushInterval: 1e4,
|
|
27
|
+
maxBatchSize: 1e3,
|
|
28
|
+
autoRollup: true,
|
|
29
|
+
tdigestCompression: 100
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
export { DEFAULT_METRICS_CONFIG };
|
|
2
33
|
|
|
3
|
-
|
|
34
|
+
//# sourceMappingURL=types.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","names":[],"sources":["../../../src/metrics/storage/types.ts"],"sourcesContent":["/**\n * Metric types supported by the storage system\n */\nexport type MetricType = 'counter' | 'gauge' | 'histogram';\n\n/**\n * Labels/dimensions for metric filtering and grouping\n */\nexport type MetricLabels = Record<string, string>;\n\n/**\n * A single metric data point\n */\nexport interface MetricPoint {\n\t/** Timestamp of the metric */\n\ttimestamp: Date;\n\t/** Project/app identifier for multi-tenant isolation */\n\tprojectId: string;\n\t/** Service name (e.g., 'api', 'worker', 'cron') */\n\tservice: string;\n\t/** Environment (e.g., 'development', 'staging', 'production') */\n\tenvironment: string;\n\t/** Metric name (e.g., 'http.request.duration', 'orders.created') */\n\tname: string;\n\t/** Metric type */\n\ttype: MetricType;\n\t/** Numeric value */\n\tvalue: number;\n\t/** Dimensions for filtering/grouping */\n\tlabels: MetricLabels;\n}\n\n/**\n * Aggregated metric bucket (pre-computed for efficient queries)\n */\nexport interface MetricBucket {\n\t/** Bucket start timestamp */\n\tbucket: Date;\n\t/** Project identifier */\n\tprojectId: string;\n\t/** Service name */\n\tservice: string;\n\t/** Environment */\n\tenvironment: string;\n\t/** Metric name */\n\tname: string;\n\t/** Hash of labels for grouping */\n\tlabelsHash: string;\n\t/** Original labels */\n\tlabels: MetricLabels;\n\t/** Number of data points in bucket */\n\tcount: number;\n\t/** Sum of values */\n\tsum: number;\n\t/** Minimum value */\n\tmin: number;\n\t/** Maximum value */\n\tmax: number;\n\t/** T-Digest sketch for percentile calculations (serialized) */\n\tsketch?: TDigestData;\n}\n\n/**\n * Serialized T-Digest data structure for percentile calculations\n * Stores centroids (mean, weight) that can be merged across buckets\n */\nexport interface TDigestData {\n\t/** Centroids: [mean, weight][] */\n\tcentroids: [number, number][];\n\t/** Compression factor (higher = more accuracy, more memory) */\n\tcompression: number;\n\t/** Total count of values */\n\tcount: number;\n\t/** Minimum value seen */\n\tmin: number;\n\t/** Maximum value seen */\n\tmax: number;\n}\n\n/**\n * Time range for queries\n */\nexport interface TimeRange {\n\tstart: Date;\n\tend: Date;\n}\n\n/**\n * Aggregation granularity\n */\nexport type AggregationInterval = '1m' | '5m' | '15m' | '1h' | '6h' | '1d';\n\n/**\n * Query parameters for retrieving metrics\n */\nexport interface MetricQuery {\n\t/** Project filter (required for multi-tenant) */\n\tprojectId: string;\n\t/** Optional service filter */\n\tservice?: string;\n\t/** Optional environment filter */\n\tenvironment?: string;\n\t/** Metric name pattern (supports wildcards like 'http.*') */\n\tname?: string;\n\t/** Label filters */\n\tlabels?: MetricLabels;\n\t/** Time range */\n\trange: TimeRange;\n\t/** Aggregation interval */\n\tinterval?: AggregationInterval;\n\t/** Group by these label keys */\n\tgroupBy?: string[];\n\t/** Maximum number of results */\n\tlimit?: number;\n}\n\n/**\n * Query result with aggregated values\n */\nexport interface MetricResult {\n\t/** Metric name */\n\tname: string;\n\t/** Labels (grouped by keys if specified) */\n\tlabels: MetricLabels;\n\t/** Time series data points */\n\ttimeSeries: MetricTimeSeriesPoint[];\n\t/** Overall statistics for the query range */\n\tstats: {\n\t\tcount: number;\n\t\tsum: number;\n\t\tavg: number;\n\t\tmin: number;\n\t\tmax: number;\n\t\tp50: number;\n\t\tp95: number;\n\t\tp99: number;\n\t};\n}\n\n/**\n * Single point in a time series result\n */\nexport interface MetricTimeSeriesPoint {\n\ttimestamp: Date;\n\tcount: number;\n\tsum: number;\n\tavg: number;\n\tmin: number;\n\tmax: number;\n\tp50?: number;\n\tp95?: number;\n\tp99?: number;\n}\n\n/**\n * Storage tier configuration\n */\nexport interface StorageTier {\n\t/** Table/collection name for this tier */\n\tname: string;\n\t/** Bucket interval for aggregation */\n\tinterval: AggregationInterval;\n\t/** Retention duration in milliseconds (0 = forever) */\n\tretention: number;\n\t/** Partition interval for efficient pruning */\n\tpartitionInterval: 'hourly' | 'daily' | 'weekly' | 'monthly';\n}\n\n/**\n * Metrics storage configuration\n */\nexport interface MetricsStorageConfig {\n\t/** Storage tiers (raw, minute, hourly, etc.) */\n\ttiers: StorageTier[];\n\t/** Flush interval in milliseconds */\n\tflushInterval: number;\n\t/** Maximum batch size for writes */\n\tmaxBatchSize: number;\n\t/** Enable automatic rollup between tiers */\n\tautoRollup: boolean;\n\t/** T-Digest compression factor (default: 100) */\n\ttdigestCompression: number;\n}\n\n/**\n * Default configuration with hybrid storage strategy\n */\nexport const DEFAULT_METRICS_CONFIG: MetricsStorageConfig = {\n\ttiers: [\n\t\t{\n\t\t\tname: 'raw',\n\t\t\tinterval: '1m',\n\t\t\tretention: 60 * 60 * 1000, // 1 hour\n\t\t\tpartitionInterval: 'hourly',\n\t\t},\n\t\t{\n\t\t\tname: '1m',\n\t\t\tinterval: '1m',\n\t\t\tretention: 7 * 24 * 60 * 60 * 1000, // 7 days\n\t\t\tpartitionInterval: 'daily',\n\t\t},\n\t\t{\n\t\t\tname: '1h',\n\t\t\tinterval: '1h',\n\t\t\tretention: 0, // Forever\n\t\t\tpartitionInterval: 'monthly',\n\t\t},\n\t],\n\tflushInterval: 10_000, // 10 seconds\n\tmaxBatchSize: 1000,\n\tautoRollup: true,\n\ttdigestCompression: 100,\n};\n\n/**\n * Rollup options for aggregating data between tiers\n */\nexport interface RollupOptions {\n\t/** Source tier */\n\tfrom: string;\n\t/** Target tier */\n\tto: string;\n\t/** Only rollup data older than this */\n\tolderThan: Date;\n}\n\n/**\n * Partition info for management\n */\nexport interface PartitionInfo {\n\t/** Partition name */\n\tname: string;\n\t/** Tier this partition belongs to */\n\ttier: string;\n\t/** Partition start time */\n\tstart: Date;\n\t/** Partition end time */\n\tend: Date;\n\t/** Approximate row count */\n\trowCount?: number;\n\t/** Size in bytes */\n\tsizeBytes?: number;\n}\n"],"mappings":";;;;AA2LA,MAAa,yBAA+C;CAC3D,OAAO;EACN;GACC,MAAM;GACN,UAAU;GACV,WAAW;GACX,mBAAmB;EACpB;EACA;GACC,MAAM;GACN,UAAU;GACV,WAAW;GACX,mBAAmB;EACpB;EACA;GACC,MAAM;GACN,UAAU;GACV,WAAW;GACX,mBAAmB;EACpB;CACD;CACA,eAAe;CACf,cAAc;CACd,YAAY;CACZ,oBAAoB;AACrB"}
|
package/dist/otlp/hono.cjs
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
require(
|
|
3
|
-
require(
|
|
4
|
-
const require_receiver = require('../receiver-slCoAFat.cjs');
|
|
5
|
-
const hono = require_chunk.__toESM(require("hono"));
|
|
6
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_otlp_receiver = require("./receiver.cjs");
|
|
3
|
+
let hono = require("hono");
|
|
7
4
|
//#region src/otlp/hono.ts
|
|
8
5
|
/**
|
|
9
6
|
* Create Hono routes for OTLP endpoints.
|
|
@@ -30,12 +27,11 @@ const hono = require_chunk.__toESM(require("hono"));
|
|
|
30
27
|
* ```
|
|
31
28
|
*/
|
|
32
29
|
function createOTLPRoutes(options) {
|
|
33
|
-
const receiver = new
|
|
30
|
+
const receiver = new require_otlp_receiver.OTLPReceiver(options);
|
|
34
31
|
const app = new hono.Hono();
|
|
35
32
|
app.post("/traces", async (c) => {
|
|
36
33
|
try {
|
|
37
|
-
|
|
38
|
-
if (!contentType.includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
34
|
+
if (!(c.req.header("content-type") || "").includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
39
35
|
const request = await c.req.json();
|
|
40
36
|
const response = await receiver.receiveTraces(request);
|
|
41
37
|
return c.json(response, response.partialSuccess ? 206 : 200);
|
|
@@ -45,8 +41,7 @@ function createOTLPRoutes(options) {
|
|
|
45
41
|
});
|
|
46
42
|
app.post("/logs", async (c) => {
|
|
47
43
|
try {
|
|
48
|
-
|
|
49
|
-
if (!contentType.includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
44
|
+
if (!(c.req.header("content-type") || "").includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
50
45
|
const request = await c.req.json();
|
|
51
46
|
const response = await receiver.receiveLogs(request);
|
|
52
47
|
return c.json(response, response.partialSuccess ? 206 : 200);
|
|
@@ -56,8 +51,7 @@ function createOTLPRoutes(options) {
|
|
|
56
51
|
});
|
|
57
52
|
app.post("/metrics", async (c) => {
|
|
58
53
|
try {
|
|
59
|
-
|
|
60
|
-
if (!contentType.includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
54
|
+
if (!(c.req.header("content-type") || "").includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
61
55
|
const request = await c.req.json();
|
|
62
56
|
const response = await receiver.receiveMetrics(request);
|
|
63
57
|
return c.json(response, response.partialSuccess ? 206 : 200);
|
|
@@ -67,8 +61,8 @@ function createOTLPRoutes(options) {
|
|
|
67
61
|
});
|
|
68
62
|
return app;
|
|
69
63
|
}
|
|
70
|
-
|
|
71
64
|
//#endregion
|
|
72
|
-
exports.OTLPReceiver =
|
|
65
|
+
exports.OTLPReceiver = require_otlp_receiver.OTLPReceiver;
|
|
73
66
|
exports.createOTLPRoutes = createOTLPRoutes;
|
|
67
|
+
|
|
74
68
|
//# sourceMappingURL=hono.cjs.map
|
package/dist/otlp/hono.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hono.cjs","names":["
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,SAAgB,iBAAiB,SAAoC;CACpE,MAAM,WAAW,IAAIA,sBAAAA,aAAa,OAAO;CACzC,MAAM,MAAM,IAAIC,KAAAA,KAAK;CAGrB,IAAI,KAAK,WAAW,OAAO,MAAM;EAChC,IAAI;GAIH,IAAI,EAHgB,EAAE,IAAI,OAAO,cAAc,KAAK,GAAA,CAGnC,SAAS,kBAAkB,GAC3C,OAAO,EAAE,KAAK,EAAE,OAAO,qCAAqC,GAAG,GAAG;GAGnE,MAAM,UAAU,MAAM,EAAE,IAAI,KAAgC;GAC5D,MAAM,WAAW,MAAM,SAAS,cAAc,OAAO;GAErD,OAAO,EAAE,KAAK,UAAU,SAAS,iBAAiB,MAAM,GAAG;EAC5D,SAAS,OAAO;GACf,OAAO,EAAE,KACR,EACC,OACC,iBAAiB,QAAQ,MAAM,UAAU,2BAC3C,GACA,GACD;EACD;CACD,CAAC;CAGD,IAAI,KAAK,SAAS,OAAO,MAAM;EAC9B,IAAI;GAGH,IAAI,EAFgB,EAAE,IAAI,OAAO,cAAc,KAAK,GAAA,CAEnC,SAAS,kBAAkB,GAC3C,OAAO,EAAE,KAAK,EAAE,OAAO,qCAAqC,GAAG,GAAG;GAGnE,MAAM,UAAU,MAAM,EAAE,IAAI,KAA+B;GAC3D,MAAM,WAAW,MAAM,SAAS,YAAY,OAAO;GAEnD,OAAO,EAAE,KAAK,UAAU,SAAS,iBAAiB,MAAM,GAAG;EAC5D,SAAS,OAAO;GACf,OAAO,EAAE,KACR,EACC,OACC,iBAAiB,QAAQ,MAAM,UAAU,yBAC3C,GACA,GACD;EACD;CACD,CAAC;CAGD,IAAI,KAAK,YAAY,OAAO,MAAM;EACjC,IAAI;GAGH,IAAI,EAFgB,EAAE,IAAI,OAAO,cAAc,KAAK,GAAA,CAEnC,SAAS,kBAAkB,GAC3C,OAAO,EAAE,KAAK,EAAE,OAAO,qCAAqC,GAAG,GAAG;GAGnE,MAAM,UAAU,MAAM,EAAE,IAAI,KAAkC;GAC9D,MAAM,WAAW,MAAM,SAAS,eAAe,OAAO;GAEtD,OAAO,EAAE,KAAK,UAAU,SAAS,iBAAiB,MAAM,GAAG;EAC5D,SAAS,OAAO;GACf,OAAO,EAAE,KACR,EACC,OACC,iBAAiB,QACd,MAAM,UACN,4BACL,GACA,GACD;EACD;CACD,CAAC;CAED,OAAO;AACR"}
|
package/dist/otlp/hono.d.cts
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
import "
|
|
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";
|
|
1
|
+
import { MetricsHandler, OTLPReceiver, OTLPReceiverOptions } from "./receiver.cjs";
|
|
7
2
|
import { Hono } from "hono";
|
|
8
|
-
|
|
9
3
|
//#region src/otlp/hono.d.ts
|
|
10
|
-
|
|
11
4
|
/**
|
|
12
5
|
* Create Hono routes for OTLP endpoints.
|
|
13
6
|
*
|
|
@@ -32,10 +25,7 @@ import { Hono } from "hono";
|
|
|
32
25
|
* // POST /v1/metrics
|
|
33
26
|
* ```
|
|
34
27
|
*/
|
|
35
|
-
declare function createOTLPRoutes(options: OTLPReceiverOptions): Hono;
|
|
36
|
-
/**
|
|
37
|
-
* Re-export the receiver for custom usage
|
|
38
|
-
*/
|
|
28
|
+
export declare function createOTLPRoutes(options: OTLPReceiverOptions): Hono;
|
|
39
29
|
//#endregion
|
|
40
|
-
export { MetricsHandler, OTLPReceiver, OTLPReceiverOptions
|
|
30
|
+
export { type MetricsHandler, OTLPReceiver, type OTLPReceiverOptions };
|
|
41
31
|
//# 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"],"
|
|
1
|
+
{"version":3,"file":"hono.d.cts","names":[],"sources":["../../src/otlp/hono.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;wBAiCgB,iBAAiB,SAAS,sBAAsB"}
|
package/dist/otlp/hono.d.mts
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
import "
|
|
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";
|
|
1
|
+
import { MetricsHandler, OTLPReceiver, OTLPReceiverOptions } from "./receiver.mjs";
|
|
7
2
|
import { Hono } from "hono";
|
|
8
|
-
|
|
9
3
|
//#region src/otlp/hono.d.ts
|
|
10
|
-
|
|
11
4
|
/**
|
|
12
5
|
* Create Hono routes for OTLP endpoints.
|
|
13
6
|
*
|
|
@@ -32,10 +25,7 @@ import { Hono } from "hono";
|
|
|
32
25
|
* // POST /v1/metrics
|
|
33
26
|
* ```
|
|
34
27
|
*/
|
|
35
|
-
declare function createOTLPRoutes(options: OTLPReceiverOptions): Hono;
|
|
36
|
-
/**
|
|
37
|
-
* Re-export the receiver for custom usage
|
|
38
|
-
*/
|
|
28
|
+
export declare function createOTLPRoutes(options: OTLPReceiverOptions): Hono;
|
|
39
29
|
//#endregion
|
|
40
|
-
export { MetricsHandler, OTLPReceiver, OTLPReceiverOptions
|
|
30
|
+
export { type MetricsHandler, OTLPReceiver, type OTLPReceiverOptions };
|
|
41
31
|
//# 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"],"
|
|
1
|
+
{"version":3,"file":"hono.d.mts","names":[],"sources":["../../src/otlp/hono.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;wBAiCgB,iBAAiB,SAAS,sBAAsB"}
|
package/dist/otlp/hono.mjs
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import "../transformer-CFQ4WFk6.mjs";
|
|
3
|
-
import { OTLPReceiver } from "../receiver-D46dfkYI.mjs";
|
|
1
|
+
import { OTLPReceiver } from "./receiver.mjs";
|
|
4
2
|
import { Hono } from "hono";
|
|
5
|
-
|
|
6
3
|
//#region src/otlp/hono.ts
|
|
7
4
|
/**
|
|
8
5
|
* Create Hono routes for OTLP endpoints.
|
|
@@ -33,8 +30,7 @@ function createOTLPRoutes(options) {
|
|
|
33
30
|
const app = new Hono();
|
|
34
31
|
app.post("/traces", async (c) => {
|
|
35
32
|
try {
|
|
36
|
-
|
|
37
|
-
if (!contentType.includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
33
|
+
if (!(c.req.header("content-type") || "").includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
38
34
|
const request = await c.req.json();
|
|
39
35
|
const response = await receiver.receiveTraces(request);
|
|
40
36
|
return c.json(response, response.partialSuccess ? 206 : 200);
|
|
@@ -44,8 +40,7 @@ function createOTLPRoutes(options) {
|
|
|
44
40
|
});
|
|
45
41
|
app.post("/logs", async (c) => {
|
|
46
42
|
try {
|
|
47
|
-
|
|
48
|
-
if (!contentType.includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
43
|
+
if (!(c.req.header("content-type") || "").includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
49
44
|
const request = await c.req.json();
|
|
50
45
|
const response = await receiver.receiveLogs(request);
|
|
51
46
|
return c.json(response, response.partialSuccess ? 206 : 200);
|
|
@@ -55,8 +50,7 @@ function createOTLPRoutes(options) {
|
|
|
55
50
|
});
|
|
56
51
|
app.post("/metrics", async (c) => {
|
|
57
52
|
try {
|
|
58
|
-
|
|
59
|
-
if (!contentType.includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
53
|
+
if (!(c.req.header("content-type") || "").includes("application/json")) return c.json({ error: "Only application/json is supported" }, 415);
|
|
60
54
|
const request = await c.req.json();
|
|
61
55
|
const response = await receiver.receiveMetrics(request);
|
|
62
56
|
return c.json(response, response.partialSuccess ? 206 : 200);
|
|
@@ -66,7 +60,7 @@ function createOTLPRoutes(options) {
|
|
|
66
60
|
});
|
|
67
61
|
return app;
|
|
68
62
|
}
|
|
69
|
-
|
|
70
63
|
//#endregion
|
|
71
64
|
export { OTLPReceiver, createOTLPRoutes };
|
|
65
|
+
|
|
72
66
|
//# sourceMappingURL=hono.mjs.map
|
package/dist/otlp/hono.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hono.mjs","names":[
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,SAAgB,iBAAiB,SAAoC;CACpE,MAAM,WAAW,IAAI,aAAa,OAAO;CACzC,MAAM,MAAM,IAAI,KAAK;CAGrB,IAAI,KAAK,WAAW,OAAO,MAAM;EAChC,IAAI;GAIH,IAAI,EAHgB,EAAE,IAAI,OAAO,cAAc,KAAK,GAAA,CAGnC,SAAS,kBAAkB,GAC3C,OAAO,EAAE,KAAK,EAAE,OAAO,qCAAqC,GAAG,GAAG;GAGnE,MAAM,UAAU,MAAM,EAAE,IAAI,KAAgC;GAC5D,MAAM,WAAW,MAAM,SAAS,cAAc,OAAO;GAErD,OAAO,EAAE,KAAK,UAAU,SAAS,iBAAiB,MAAM,GAAG;EAC5D,SAAS,OAAO;GACf,OAAO,EAAE,KACR,EACC,OACC,iBAAiB,QAAQ,MAAM,UAAU,2BAC3C,GACA,GACD;EACD;CACD,CAAC;CAGD,IAAI,KAAK,SAAS,OAAO,MAAM;EAC9B,IAAI;GAGH,IAAI,EAFgB,EAAE,IAAI,OAAO,cAAc,KAAK,GAAA,CAEnC,SAAS,kBAAkB,GAC3C,OAAO,EAAE,KAAK,EAAE,OAAO,qCAAqC,GAAG,GAAG;GAGnE,MAAM,UAAU,MAAM,EAAE,IAAI,KAA+B;GAC3D,MAAM,WAAW,MAAM,SAAS,YAAY,OAAO;GAEnD,OAAO,EAAE,KAAK,UAAU,SAAS,iBAAiB,MAAM,GAAG;EAC5D,SAAS,OAAO;GACf,OAAO,EAAE,KACR,EACC,OACC,iBAAiB,QAAQ,MAAM,UAAU,yBAC3C,GACA,GACD;EACD;CACD,CAAC;CAGD,IAAI,KAAK,YAAY,OAAO,MAAM;EACjC,IAAI;GAGH,IAAI,EAFgB,EAAE,IAAI,OAAO,cAAc,KAAK,GAAA,CAEnC,SAAS,kBAAkB,GAC3C,OAAO,EAAE,KAAK,EAAE,OAAO,qCAAqC,GAAG,GAAG;GAGnE,MAAM,UAAU,MAAM,EAAE,IAAI,KAAkC;GAC9D,MAAM,WAAW,MAAM,SAAS,eAAe,OAAO;GAEtD,OAAO,EAAE,KAAK,UAAU,SAAS,iBAAiB,MAAM,GAAG;EAC5D,SAAS,OAAO;GACf,OAAO,EAAE,KACR,EACC,OACC,iBAAiB,QACd,MAAM,UACN,4BACL,GACA,GACD;EACD;CACD,CAAC;CAED,OAAO;AACR"}
|
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
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_otlp_types = require("./types.cjs");
|
|
3
|
+
const require_otlp_transformer = require("./transformer.cjs");
|
|
4
|
+
const require_otlp_receiver = require("./receiver.cjs");
|
|
5
|
+
exports.OTLPReceiver = require_otlp_receiver.OTLPReceiver;
|
|
6
|
+
exports.SeverityNumber = require_otlp_types.SeverityNumber;
|
|
7
|
+
exports.SpanKind = require_otlp_types.SpanKind;
|
|
8
|
+
exports.SpanStatusCode = require_otlp_types.SpanStatusCode;
|
|
9
|
+
exports.transformLogs = require_otlp_transformer.transformLogs;
|
|
10
|
+
exports.transformMetrics = require_otlp_transformer.transformMetrics;
|
|
11
|
+
exports.transformTraces = require_otlp_transformer.transformTraces;
|
package/dist/otlp/index.d.cts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import "../types-
|
|
2
|
-
import "../
|
|
3
|
-
import "
|
|
4
|
-
|
|
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 };
|
|
1
|
+
import { C as LogRecord, E as Resource, I as SpanKind, N as SeverityNumber, P as Span, f as ExportMetricsServiceRequest, g as ExportTraceServiceResponse, h as ExportTraceServiceRequest, l as ExportLogsServiceRequest, p as ExportMetricsServiceResponse, u as ExportLogsServiceResponse, w as Metric, x as KeyValue, z as SpanStatusCode } from "../types-DVETVdpa.cjs";
|
|
2
|
+
import { i as transformTraces, n as transformLogs, r as transformMetrics, t as MetricDataPoint } from "../transformer-DlESim6Q.cjs";
|
|
3
|
+
import { MetricsHandler, OTLPReceiver, OTLPReceiverOptions } from "./receiver.cjs";
|
|
4
|
+
export { type ExportLogsServiceRequest, type ExportLogsServiceResponse, type ExportMetricsServiceRequest, type ExportMetricsServiceResponse, type ExportTraceServiceRequest, type ExportTraceServiceResponse, type KeyValue, type LogRecord, type Metric, type MetricDataPoint, type MetricsHandler, OTLPReceiver, type OTLPReceiverOptions, type Resource, SeverityNumber, type Span, SpanKind, SpanStatusCode, transformLogs, transformMetrics, transformTraces };
|
package/dist/otlp/index.d.mts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import "../types-
|
|
2
|
-
import "../
|
|
3
|
-
import "
|
|
4
|
-
|
|
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 };
|
|
1
|
+
import { C as LogRecord, E as Resource, I as SpanKind, N as SeverityNumber, P as Span, f as ExportMetricsServiceRequest, g as ExportTraceServiceResponse, h as ExportTraceServiceRequest, l as ExportLogsServiceRequest, p as ExportMetricsServiceResponse, u as ExportLogsServiceResponse, w as Metric, x as KeyValue, z as SpanStatusCode } from "../types-DVETVdpa.mjs";
|
|
2
|
+
import { i as transformTraces, n as transformLogs, r as transformMetrics, t as MetricDataPoint } from "../transformer-BBBXCjHP.mjs";
|
|
3
|
+
import { MetricsHandler, OTLPReceiver, OTLPReceiverOptions } from "./receiver.mjs";
|
|
4
|
+
export { type ExportLogsServiceRequest, type ExportLogsServiceResponse, type ExportMetricsServiceRequest, type ExportMetricsServiceResponse, type ExportTraceServiceRequest, type ExportTraceServiceResponse, type KeyValue, type LogRecord, type Metric, type MetricDataPoint, type MetricsHandler, OTLPReceiver, type OTLPReceiverOptions, type Resource, SeverityNumber, type Span, SpanKind, SpanStatusCode, transformLogs, transformMetrics, transformTraces };
|
package/dist/otlp/index.mjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { SeverityNumber, SpanKind, SpanStatusCode } from "
|
|
2
|
-
import { transformLogs, transformMetrics, transformTraces } from "
|
|
3
|
-
import { OTLPReceiver } from "
|
|
4
|
-
|
|
5
|
-
export { OTLPReceiver, SeverityNumber, SpanKind, SpanStatusCode, transformLogs, transformMetrics, transformTraces };
|
|
1
|
+
import { SeverityNumber, SpanKind, SpanStatusCode } from "./types.mjs";
|
|
2
|
+
import { transformLogs, transformMetrics, transformTraces } from "./transformer.mjs";
|
|
3
|
+
import { OTLPReceiver } from "./receiver.mjs";
|
|
4
|
+
export { OTLPReceiver, SeverityNumber, SpanKind, SpanStatusCode, transformLogs, transformMetrics, transformTraces };
|
package/dist/otlp/receiver.cjs
CHANGED
|
@@ -1,5 +1,89 @@
|
|
|
1
|
-
|
|
2
|
-
require(
|
|
3
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_otlp_transformer = require("./transformer.cjs");
|
|
3
|
+
//#region src/otlp/receiver.ts
|
|
4
|
+
/**
|
|
5
|
+
* OTLP Receiver for ingesting OpenTelemetry data into Telescope.
|
|
6
|
+
*
|
|
7
|
+
* Supports the OTLP/JSON protocol for:
|
|
8
|
+
* - Traces (POST /v1/traces) - HTTP server spans become RequestEntries
|
|
9
|
+
* - Logs (POST /v1/logs) - Log records become LogEntries
|
|
10
|
+
* - Metrics (POST /v1/metrics) - Metrics can be forwarded to custom handlers
|
|
11
|
+
*/
|
|
12
|
+
var OTLPReceiver = class {
|
|
13
|
+
telescope;
|
|
14
|
+
onMetrics;
|
|
15
|
+
logMetrics;
|
|
16
|
+
constructor(options) {
|
|
17
|
+
this.telescope = options.telescope;
|
|
18
|
+
this.onMetrics = options.onMetrics;
|
|
19
|
+
this.logMetrics = options.logMetrics ?? false;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Handle incoming trace data
|
|
23
|
+
* Transforms HTTP server spans to Telescope request entries
|
|
24
|
+
*/
|
|
25
|
+
async receiveTraces(request) {
|
|
26
|
+
const entries = require_otlp_transformer.transformTraces(request);
|
|
27
|
+
let rejected = 0;
|
|
28
|
+
for (const entry of entries) try {
|
|
29
|
+
await this.telescope.recordRequest(entry);
|
|
30
|
+
} catch {
|
|
31
|
+
rejected++;
|
|
32
|
+
}
|
|
33
|
+
return rejected > 0 ? { partialSuccess: { rejectedSpans: String(rejected) } } : {};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Handle incoming log data
|
|
37
|
+
* Transforms OTLP log records to Telescope log entries
|
|
38
|
+
*/
|
|
39
|
+
async receiveLogs(request) {
|
|
40
|
+
const entries = require_otlp_transformer.transformLogs(request);
|
|
41
|
+
let rejected = 0;
|
|
42
|
+
const batchEntries = entries.map((entry) => ({
|
|
43
|
+
level: entry.level,
|
|
44
|
+
message: entry.message,
|
|
45
|
+
context: entry.context,
|
|
46
|
+
requestId: entry.requestId
|
|
47
|
+
}));
|
|
48
|
+
try {
|
|
49
|
+
await this.telescope.log(batchEntries);
|
|
50
|
+
} catch {
|
|
51
|
+
rejected = entries.length;
|
|
52
|
+
}
|
|
53
|
+
return rejected > 0 ? { partialSuccess: { rejectedLogRecords: String(rejected) } } : {};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Handle incoming metrics data
|
|
57
|
+
* Forwards to custom handler and optionally logs to Telescope
|
|
58
|
+
*/
|
|
59
|
+
async receiveMetrics(request) {
|
|
60
|
+
const points = require_otlp_transformer.transformMetrics(request);
|
|
61
|
+
let rejected = 0;
|
|
62
|
+
if (this.onMetrics) try {
|
|
63
|
+
await this.onMetrics(points);
|
|
64
|
+
} catch {
|
|
65
|
+
rejected = points.length;
|
|
66
|
+
}
|
|
67
|
+
if (this.logMetrics && points.length > 0) {
|
|
68
|
+
const logEntries = points.map((point) => ({
|
|
69
|
+
level: "debug",
|
|
70
|
+
message: `OTLP Metric: ${point.name}`,
|
|
71
|
+
context: {
|
|
72
|
+
name: point.name,
|
|
73
|
+
value: point.value,
|
|
74
|
+
type: point.type,
|
|
75
|
+
unit: point.unit,
|
|
76
|
+
attributes: point.attributes
|
|
77
|
+
}
|
|
78
|
+
}));
|
|
79
|
+
try {
|
|
80
|
+
await this.telescope.log(logEntries);
|
|
81
|
+
} catch {}
|
|
82
|
+
}
|
|
83
|
+
return rejected > 0 ? { partialSuccess: { rejectedDataPoints: String(rejected) } } : {};
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
//#endregion
|
|
87
|
+
exports.OTLPReceiver = OTLPReceiver;
|
|
4
88
|
|
|
5
|
-
|
|
89
|
+
//# sourceMappingURL=receiver.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receiver.cjs","names":["transformTraces","transformLogs","transformMetrics"],"sources":["../../src/otlp/receiver.ts"],"sourcesContent":["import type { Telescope } from '../Telescope';\nimport {\n\ttype MetricDataPoint,\n\ttransformLogs,\n\ttransformMetrics,\n\ttransformTraces,\n} from './transformer';\nimport type {\n\tExportLogsServiceRequest,\n\tExportLogsServiceResponse,\n\tExportMetricsServiceRequest,\n\tExportMetricsServiceResponse,\n\tExportTraceServiceRequest,\n\tExportTraceServiceResponse,\n} from './types';\n\n/**\n * Callback for handling OTLP metrics\n */\nexport type MetricsHandler = (\n\tpoints: MetricDataPoint[],\n) => void | Promise<void>;\n\n/**\n * Options for OTLPReceiver\n */\nexport interface OTLPReceiverOptions {\n\t/**\n\t * The Telescope instance to record data to\n\t */\n\ttelescope: Telescope;\n\n\t/**\n\t * Optional callback for handling OTLP metrics.\n\t * OTLP metrics are more granular than Telescope's request metrics,\n\t * so a custom handler allows integration with metrics systems like Prometheus.\n\t */\n\tonMetrics?: MetricsHandler;\n\n\t/**\n\t * Whether to also log OTLP metrics to Telescope as log entries.\n\t * Useful for debugging OTLP integration. Default: false\n\t */\n\tlogMetrics?: boolean;\n}\n\n/**\n * OTLP Receiver for ingesting OpenTelemetry data into Telescope.\n *\n * Supports the OTLP/JSON protocol for:\n * - Traces (POST /v1/traces) - HTTP server spans become RequestEntries\n * - Logs (POST /v1/logs) - Log records become LogEntries\n * - Metrics (POST /v1/metrics) - Metrics can be forwarded to custom handlers\n */\nexport class OTLPReceiver {\n\tprivate telescope: Telescope;\n\tprivate onMetrics?: MetricsHandler;\n\tprivate logMetrics: boolean;\n\n\tconstructor(options: OTLPReceiverOptions) {\n\t\tthis.telescope = options.telescope;\n\t\tthis.onMetrics = options.onMetrics;\n\t\tthis.logMetrics = options.logMetrics ?? false;\n\t}\n\n\t/**\n\t * Handle incoming trace data\n\t * Transforms HTTP server spans to Telescope request entries\n\t */\n\tasync receiveTraces(\n\t\trequest: ExportTraceServiceRequest,\n\t): Promise<ExportTraceServiceResponse> {\n\t\tconst entries = transformTraces(request);\n\t\tlet rejected = 0;\n\n\t\tfor (const entry of entries) {\n\t\t\ttry {\n\t\t\t\tawait this.telescope.recordRequest(entry);\n\t\t\t} catch {\n\t\t\t\trejected++;\n\t\t\t}\n\t\t}\n\n\t\treturn rejected > 0\n\t\t\t? { partialSuccess: { rejectedSpans: String(rejected) } }\n\t\t\t: {};\n\t}\n\n\t/**\n\t * Handle incoming log data\n\t * Transforms OTLP log records to Telescope log entries\n\t */\n\tasync receiveLogs(\n\t\trequest: ExportLogsServiceRequest,\n\t): Promise<ExportLogsServiceResponse> {\n\t\tconst entries = transformLogs(request);\n\t\tlet rejected = 0;\n\n\t\t// Batch log entries for efficiency\n\t\tconst batchEntries = entries.map((entry) => ({\n\t\t\tlevel: entry.level,\n\t\t\tmessage: entry.message,\n\t\t\tcontext: entry.context,\n\t\t\trequestId: entry.requestId,\n\t\t}));\n\n\t\ttry {\n\t\t\tawait this.telescope.log(batchEntries);\n\t\t} catch {\n\t\t\trejected = entries.length;\n\t\t}\n\n\t\treturn rejected > 0\n\t\t\t? { partialSuccess: { rejectedLogRecords: String(rejected) } }\n\t\t\t: {};\n\t}\n\n\t/**\n\t * Handle incoming metrics data\n\t * Forwards to custom handler and optionally logs to Telescope\n\t */\n\tasync receiveMetrics(\n\t\trequest: ExportMetricsServiceRequest,\n\t): Promise<ExportMetricsServiceResponse> {\n\t\tconst points = transformMetrics(request);\n\t\tlet rejected = 0;\n\n\t\t// Forward to custom metrics handler\n\t\tif (this.onMetrics) {\n\t\t\ttry {\n\t\t\t\tawait this.onMetrics(points);\n\t\t\t} catch {\n\t\t\t\trejected = points.length;\n\t\t\t}\n\t\t}\n\n\t\t// Optionally log metrics to Telescope for debugging\n\t\tif (this.logMetrics && points.length > 0) {\n\t\t\tconst logEntries = points.map((point) => ({\n\t\t\t\tlevel: 'debug' as const,\n\t\t\t\tmessage: `OTLP Metric: ${point.name}`,\n\t\t\t\tcontext: {\n\t\t\t\t\tname: point.name,\n\t\t\t\t\tvalue: point.value,\n\t\t\t\t\ttype: point.type,\n\t\t\t\t\tunit: point.unit,\n\t\t\t\t\tattributes: point.attributes,\n\t\t\t\t},\n\t\t\t}));\n\n\t\t\ttry {\n\t\t\t\tawait this.telescope.log(logEntries);\n\t\t\t} catch {\n\t\t\t\t// Ignore logging errors\n\t\t\t}\n\t\t}\n\n\t\treturn rejected > 0\n\t\t\t? { partialSuccess: { rejectedDataPoints: String(rejected) } }\n\t\t\t: {};\n\t}\n}\n"],"mappings":";;;;;;;;;;;AAsDA,IAAa,eAAb,MAA0B;CACzB;CACA;CACA;CAEA,YAAY,SAA8B;EACzC,KAAK,YAAY,QAAQ;EACzB,KAAK,YAAY,QAAQ;EACzB,KAAK,aAAa,QAAQ,cAAc;CACzC;;;;;CAMA,MAAM,cACL,SACsC;EACtC,MAAM,UAAUA,yBAAAA,gBAAgB,OAAO;EACvC,IAAI,WAAW;EAEf,KAAK,MAAM,SAAS,SACnB,IAAI;GACH,MAAM,KAAK,UAAU,cAAc,KAAK;EACzC,QAAQ;GACP;EACD;EAGD,OAAO,WAAW,IACf,EAAE,gBAAgB,EAAE,eAAe,OAAO,QAAQ,EAAE,EAAE,IACtD,CAAC;CACL;;;;;CAMA,MAAM,YACL,SACqC;EACrC,MAAM,UAAUC,yBAAAA,cAAc,OAAO;EACrC,IAAI,WAAW;EAGf,MAAM,eAAe,QAAQ,KAAK,WAAW;GAC5C,OAAO,MAAM;GACb,SAAS,MAAM;GACf,SAAS,MAAM;GACf,WAAW,MAAM;EAClB,EAAE;EAEF,IAAI;GACH,MAAM,KAAK,UAAU,IAAI,YAAY;EACtC,QAAQ;GACP,WAAW,QAAQ;EACpB;EAEA,OAAO,WAAW,IACf,EAAE,gBAAgB,EAAE,oBAAoB,OAAO,QAAQ,EAAE,EAAE,IAC3D,CAAC;CACL;;;;;CAMA,MAAM,eACL,SACwC;EACxC,MAAM,SAASC,yBAAAA,iBAAiB,OAAO;EACvC,IAAI,WAAW;EAGf,IAAI,KAAK,WACR,IAAI;GACH,MAAM,KAAK,UAAU,MAAM;EAC5B,QAAQ;GACP,WAAW,OAAO;EACnB;EAID,IAAI,KAAK,cAAc,OAAO,SAAS,GAAG;GACzC,MAAM,aAAa,OAAO,KAAK,WAAW;IACzC,OAAO;IACP,SAAS,gBAAgB,MAAM;IAC/B,SAAS;KACR,MAAM,MAAM;KACZ,OAAO,MAAM;KACb,MAAM,MAAM;KACZ,MAAM,MAAM;KACZ,YAAY,MAAM;IACnB;GACD,EAAE;GAEF,IAAI;IACH,MAAM,KAAK,UAAU,IAAI,UAAU;GACpC,QAAQ,CAER;EACD;EAEA,OAAO,WAAW,IACf,EAAE,gBAAgB,EAAE,oBAAoB,OAAO,QAAQ,EAAE,EAAE,IAC3D,CAAC;CACL;AACD"}
|
package/dist/otlp/receiver.d.cts
CHANGED
|
@@ -1,7 +1,59 @@
|
|
|
1
|
-
import "../
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { t as Telescope } from "../Telescope-DnCMZT7V.cjs";
|
|
2
|
+
import { f as ExportMetricsServiceRequest, g as ExportTraceServiceResponse, h as ExportTraceServiceRequest, l as ExportLogsServiceRequest, p as ExportMetricsServiceResponse, u as ExportLogsServiceResponse } from "../types-DVETVdpa.cjs";
|
|
3
|
+
import { t as MetricDataPoint } from "../transformer-DlESim6Q.cjs";
|
|
4
|
+
//#region src/otlp/receiver.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Callback for handling OTLP metrics
|
|
7
|
+
*/
|
|
8
|
+
export type MetricsHandler = (points: MetricDataPoint[]) => void | Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* Options for OTLPReceiver
|
|
11
|
+
*/
|
|
12
|
+
export interface OTLPReceiverOptions {
|
|
13
|
+
/**
|
|
14
|
+
* The Telescope instance to record data to
|
|
15
|
+
*/
|
|
16
|
+
telescope: Telescope;
|
|
17
|
+
/**
|
|
18
|
+
* Optional callback for handling OTLP metrics.
|
|
19
|
+
* OTLP metrics are more granular than Telescope's request metrics,
|
|
20
|
+
* so a custom handler allows integration with metrics systems like Prometheus.
|
|
21
|
+
*/
|
|
22
|
+
onMetrics?: MetricsHandler;
|
|
23
|
+
/**
|
|
24
|
+
* Whether to also log OTLP metrics to Telescope as log entries.
|
|
25
|
+
* Useful for debugging OTLP integration. Default: false
|
|
26
|
+
*/
|
|
27
|
+
logMetrics?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* OTLP Receiver for ingesting OpenTelemetry data into Telescope.
|
|
31
|
+
*
|
|
32
|
+
* Supports the OTLP/JSON protocol for:
|
|
33
|
+
* - Traces (POST /v1/traces) - HTTP server spans become RequestEntries
|
|
34
|
+
* - Logs (POST /v1/logs) - Log records become LogEntries
|
|
35
|
+
* - Metrics (POST /v1/metrics) - Metrics can be forwarded to custom handlers
|
|
36
|
+
*/
|
|
37
|
+
export declare class OTLPReceiver {
|
|
38
|
+
private telescope;
|
|
39
|
+
private onMetrics?;
|
|
40
|
+
private logMetrics;
|
|
41
|
+
constructor(options: OTLPReceiverOptions);
|
|
42
|
+
/**
|
|
43
|
+
* Handle incoming trace data
|
|
44
|
+
* Transforms HTTP server spans to Telescope request entries
|
|
45
|
+
*/
|
|
46
|
+
receiveTraces(request: ExportTraceServiceRequest): Promise<ExportTraceServiceResponse>;
|
|
47
|
+
/**
|
|
48
|
+
* Handle incoming log data
|
|
49
|
+
* Transforms OTLP log records to Telescope log entries
|
|
50
|
+
*/
|
|
51
|
+
receiveLogs(request: ExportLogsServiceRequest): Promise<ExportLogsServiceResponse>;
|
|
52
|
+
/**
|
|
53
|
+
* Handle incoming metrics data
|
|
54
|
+
* Forwards to custom handler and optionally logs to Telescope
|
|
55
|
+
*/
|
|
56
|
+
receiveMetrics(request: ExportMetricsServiceRequest): Promise<ExportMetricsServiceResponse>;
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
//# sourceMappingURL=receiver.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receiver.d.cts","names":[],"sources":["../../src/otlp/receiver.ts"],"mappings":";;;;;;;YAmBY,kBACX,QAAQ,6BACG;;;;iBAKK;;;;EAIhB,WAAW;;;;;;EAOX,YAAY;;;;;EAMZ;;;;;;;;;;qBAWY;UACJ;UACA;UACA;EAER,YAAY,SAAS;;;;;EAUf,cACL,SAAS,4BACP,QAAQ;;;;;EAqBL,YACL,SAAS,2BACP,QAAQ;;;;;EA2BL,eACL,SAAS,8BACP,QAAQ"}
|
package/dist/otlp/receiver.d.mts
CHANGED
|
@@ -1,7 +1,59 @@
|
|
|
1
|
-
import "../
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { t as Telescope } from "../Telescope-BcrWTaar.mjs";
|
|
2
|
+
import { f as ExportMetricsServiceRequest, g as ExportTraceServiceResponse, h as ExportTraceServiceRequest, l as ExportLogsServiceRequest, p as ExportMetricsServiceResponse, u as ExportLogsServiceResponse } from "../types-DVETVdpa.mjs";
|
|
3
|
+
import { t as MetricDataPoint } from "../transformer-BBBXCjHP.mjs";
|
|
4
|
+
//#region src/otlp/receiver.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Callback for handling OTLP metrics
|
|
7
|
+
*/
|
|
8
|
+
export type MetricsHandler = (points: MetricDataPoint[]) => void | Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* Options for OTLPReceiver
|
|
11
|
+
*/
|
|
12
|
+
export interface OTLPReceiverOptions {
|
|
13
|
+
/**
|
|
14
|
+
* The Telescope instance to record data to
|
|
15
|
+
*/
|
|
16
|
+
telescope: Telescope;
|
|
17
|
+
/**
|
|
18
|
+
* Optional callback for handling OTLP metrics.
|
|
19
|
+
* OTLP metrics are more granular than Telescope's request metrics,
|
|
20
|
+
* so a custom handler allows integration with metrics systems like Prometheus.
|
|
21
|
+
*/
|
|
22
|
+
onMetrics?: MetricsHandler;
|
|
23
|
+
/**
|
|
24
|
+
* Whether to also log OTLP metrics to Telescope as log entries.
|
|
25
|
+
* Useful for debugging OTLP integration. Default: false
|
|
26
|
+
*/
|
|
27
|
+
logMetrics?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* OTLP Receiver for ingesting OpenTelemetry data into Telescope.
|
|
31
|
+
*
|
|
32
|
+
* Supports the OTLP/JSON protocol for:
|
|
33
|
+
* - Traces (POST /v1/traces) - HTTP server spans become RequestEntries
|
|
34
|
+
* - Logs (POST /v1/logs) - Log records become LogEntries
|
|
35
|
+
* - Metrics (POST /v1/metrics) - Metrics can be forwarded to custom handlers
|
|
36
|
+
*/
|
|
37
|
+
export declare class OTLPReceiver {
|
|
38
|
+
private telescope;
|
|
39
|
+
private onMetrics?;
|
|
40
|
+
private logMetrics;
|
|
41
|
+
constructor(options: OTLPReceiverOptions);
|
|
42
|
+
/**
|
|
43
|
+
* Handle incoming trace data
|
|
44
|
+
* Transforms HTTP server spans to Telescope request entries
|
|
45
|
+
*/
|
|
46
|
+
receiveTraces(request: ExportTraceServiceRequest): Promise<ExportTraceServiceResponse>;
|
|
47
|
+
/**
|
|
48
|
+
* Handle incoming log data
|
|
49
|
+
* Transforms OTLP log records to Telescope log entries
|
|
50
|
+
*/
|
|
51
|
+
receiveLogs(request: ExportLogsServiceRequest): Promise<ExportLogsServiceResponse>;
|
|
52
|
+
/**
|
|
53
|
+
* Handle incoming metrics data
|
|
54
|
+
* Forwards to custom handler and optionally logs to Telescope
|
|
55
|
+
*/
|
|
56
|
+
receiveMetrics(request: ExportMetricsServiceRequest): Promise<ExportMetricsServiceResponse>;
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
//# sourceMappingURL=receiver.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receiver.d.mts","names":[],"sources":["../../src/otlp/receiver.ts"],"mappings":";;;;;;;YAmBY,kBACX,QAAQ,6BACG;;;;iBAKK;;;;EAIhB,WAAW;;;;;;EAOX,YAAY;;;;;EAMZ;;;;;;;;;;qBAWY;UACJ;UACA;UACA;EAER,YAAY,SAAS;;;;;EAUf,cACL,SAAS,4BACP,QAAQ;;;;;EAqBL,YACL,SAAS,2BACP,QAAQ;;;;;EA2BL,eACL,SAAS,8BACP,QAAQ"}
|