apitally 0.25.7 → 1.0.0-alpha.1
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/README.md +191 -184
- package/dist/activation.cjs +371 -0
- package/dist/activation.cjs.map +1 -0
- package/dist/activation.d.cts +41 -0
- package/dist/activation.d.ts +41 -0
- package/dist/activation.js +357 -0
- package/dist/activation.js.map +1 -0
- package/dist/adonisjs/configure.cjs +88 -31
- package/dist/adonisjs/configure.cjs.map +1 -1
- package/dist/adonisjs/configure.d.cts +0 -4
- package/dist/adonisjs/configure.d.ts +0 -4
- package/dist/adonisjs/configure.js +85 -30
- package/dist/adonisjs/configure.js.map +1 -1
- package/dist/adonisjs/index.cjs +4 -23
- package/dist/adonisjs/index.cjs.map +1 -1
- package/dist/adonisjs/index.d.cts +3 -15
- package/dist/adonisjs/index.d.ts +3 -15
- package/dist/adonisjs/index.js +3 -20
- package/dist/adonisjs/index.js.map +1 -1
- package/dist/adonisjs/middleware.cjs +43 -109
- package/dist/adonisjs/middleware.cjs.map +1 -1
- package/dist/adonisjs/middleware.d.cts +1 -16
- package/dist/adonisjs/middleware.d.ts +1 -16
- package/dist/adonisjs/middleware.js +43 -110
- package/dist/adonisjs/middleware.js.map +1 -1
- package/dist/adonisjs/provider.cjs +19 -87
- package/dist/adonisjs/provider.cjs.map +1 -1
- package/dist/adonisjs/provider.d.cts +0 -22
- package/dist/adonisjs/provider.d.ts +0 -22
- package/dist/adonisjs/provider.js +19 -88
- package/dist/adonisjs/provider.js.map +1 -1
- package/dist/adonisjs/stubs/config/apitally.stub +11 -15
- package/dist/bodyCapture.cjs +128 -0
- package/dist/bodyCapture.cjs.map +1 -0
- package/dist/bodyCapture.d.cts +31 -0
- package/dist/bodyCapture.d.ts +31 -0
- package/dist/bodyCapture.js +101 -0
- package/dist/bodyCapture.js.map +1 -0
- package/dist/config.cjs +209 -0
- package/dist/config.cjs.map +1 -0
- package/dist/config.d.cts +42 -0
- package/dist/config.d.ts +42 -0
- package/dist/config.js +174 -0
- package/dist/config.js.map +1 -0
- package/dist/consumer.cjs +98 -0
- package/dist/consumer.cjs.map +1 -0
- package/dist/consumer.d.cts +13 -0
- package/dist/consumer.d.ts +13 -0
- package/dist/consumer.js +78 -0
- package/dist/consumer.js.map +1 -0
- package/dist/context.cjs +68 -0
- package/dist/context.cjs.map +1 -0
- package/dist/context.d.cts +29 -0
- package/dist/context.d.ts +29 -0
- package/dist/context.js +40 -0
- package/dist/context.js.map +1 -0
- package/dist/elysia/index.cjs +12 -13
- package/dist/elysia/index.cjs.map +1 -1
- package/dist/elysia/index.d.cts +7 -16
- package/dist/elysia/index.d.ts +7 -16
- package/dist/elysia/index.js +10 -2
- package/dist/elysia/index.js.map +1 -1
- package/dist/elysia/middleware.cjs +248 -0
- package/dist/elysia/middleware.cjs.map +1 -0
- package/dist/elysia/middleware.d.cts +13 -0
- package/dist/elysia/middleware.d.ts +13 -0
- package/dist/elysia/middleware.js +237 -0
- package/dist/elysia/middleware.js.map +1 -0
- package/dist/{loggers/index.cjs → elysia/routes.cjs} +16 -19
- package/dist/elysia/routes.cjs.map +1 -0
- package/dist/elysia/routes.d.cts +7 -0
- package/dist/elysia/routes.d.ts +7 -0
- package/dist/elysia/routes.js +14 -0
- package/dist/elysia/routes.js.map +1 -0
- package/dist/exceptions.cjs +75 -0
- package/dist/exceptions.cjs.map +1 -0
- package/dist/exceptions.d.cts +7 -0
- package/dist/exceptions.d.ts +7 -0
- package/dist/exceptions.js +49 -0
- package/dist/exceptions.js.map +1 -0
- package/dist/exportSerialization.cjs +56 -0
- package/dist/exportSerialization.cjs.map +1 -0
- package/dist/exportSerialization.d.cts +7 -0
- package/dist/exportSerialization.d.ts +7 -0
- package/dist/exportSerialization.js +32 -0
- package/dist/exportSerialization.js.map +1 -0
- package/dist/exportWorker.cjs +305 -0
- package/dist/exportWorker.cjs.map +1 -0
- package/dist/exportWorker.d.cts +46 -0
- package/dist/exportWorker.d.ts +46 -0
- package/dist/exportWorker.js +279 -0
- package/dist/exportWorker.js.map +1 -0
- package/dist/express/index.cjs +9 -4
- package/dist/express/index.cjs.map +1 -1
- package/dist/express/index.d.cts +6 -10
- package/dist/express/index.d.ts +6 -10
- package/dist/express/index.js +8 -2
- package/dist/express/index.js.map +1 -1
- package/dist/express/install.cjs +45 -0
- package/dist/express/install.cjs.map +1 -0
- package/dist/express/install.d.cts +9 -0
- package/dist/express/install.d.ts +9 -0
- package/dist/express/install.js +21 -0
- package/dist/express/install.js.map +1 -0
- package/dist/express/middleware.cjs +80 -331
- package/dist/express/middleware.cjs.map +1 -1
- package/dist/express/middleware.d.cts +3 -21
- package/dist/express/middleware.d.ts +3 -21
- package/dist/express/middleware.js +81 -328
- package/dist/express/middleware.js.map +1 -1
- package/dist/express/register.cjs +20 -0
- package/dist/express/register.cjs.map +1 -0
- package/dist/express/register.d.cts +2 -0
- package/dist/express/register.d.ts +2 -0
- package/dist/express/register.js +19 -0
- package/dist/express/register.js.map +1 -0
- package/dist/express/routes.cjs +419 -0
- package/dist/express/routes.cjs.map +1 -0
- package/dist/express/routes.d.cts +14 -0
- package/dist/express/routes.d.ts +14 -0
- package/dist/express/routes.js +391 -0
- package/dist/express/routes.js.map +1 -0
- package/dist/fastify/index.cjs +10 -15
- package/dist/fastify/index.cjs.map +1 -1
- package/dist/fastify/index.d.cts +6 -11
- package/dist/fastify/index.d.ts +6 -11
- package/dist/fastify/index.js +9 -3
- package/dist/fastify/index.js.map +1 -1
- package/dist/{common/logging.cjs → fastify/install.cjs} +15 -16
- package/dist/fastify/install.cjs.map +1 -0
- package/dist/fastify/install.d.cts +9 -0
- package/dist/fastify/install.d.ts +9 -0
- package/dist/fastify/install.js +15 -0
- package/dist/fastify/install.js.map +1 -0
- package/dist/fastify/middleware.cjs +118 -0
- package/dist/fastify/middleware.cjs.map +1 -0
- package/dist/fastify/middleware.d.cts +7 -0
- package/dist/fastify/middleware.d.ts +7 -0
- package/dist/fastify/middleware.js +97 -0
- package/dist/fastify/middleware.js.map +1 -0
- package/dist/{common/paramValidation.cjs → fastify/routes.cjs} +15 -17
- package/dist/fastify/routes.cjs.map +1 -0
- package/dist/fastify/routes.d.cts +8 -0
- package/dist/fastify/routes.d.ts +8 -0
- package/dist/fastify/routes.js +14 -0
- package/dist/fastify/routes.js.map +1 -0
- package/dist/h3/index.cjs +28 -4
- package/dist/h3/index.cjs.map +1 -1
- package/dist/h3/index.d.cts +7 -10
- package/dist/h3/index.d.ts +7 -10
- package/dist/h3/index.js +26 -2
- package/dist/h3/index.js.map +1 -1
- package/dist/h3/middleware.cjs +204 -0
- package/dist/h3/middleware.cjs.map +1 -0
- package/dist/h3/middleware.d.cts +5 -0
- package/dist/h3/middleware.d.ts +5 -0
- package/dist/h3/middleware.js +188 -0
- package/dist/h3/middleware.js.map +1 -0
- package/dist/h3/routes.cjs +66 -0
- package/dist/h3/routes.cjs.map +1 -0
- package/dist/h3/routes.d.cts +8 -0
- package/dist/h3/routes.d.ts +8 -0
- package/dist/h3/routes.js +41 -0
- package/dist/h3/routes.js.map +1 -0
- package/dist/hapi/index.cjs +15 -14
- package/dist/hapi/index.cjs.map +1 -1
- package/dist/hapi/index.d.cts +7 -10
- package/dist/hapi/index.d.ts +7 -10
- package/dist/hapi/index.js +14 -3
- package/dist/hapi/index.js.map +1 -1
- package/dist/{loggers/hapi.cjs → hapi/install.cjs} +20 -26
- package/dist/hapi/install.cjs.map +1 -0
- package/dist/hapi/install.d.cts +7 -0
- package/dist/hapi/install.d.ts +7 -0
- package/dist/hapi/install.js +22 -0
- package/dist/hapi/install.js.map +1 -0
- package/dist/hapi/middleware.cjs +158 -0
- package/dist/hapi/middleware.cjs.map +1 -0
- package/dist/hapi/middleware.d.cts +5 -0
- package/dist/hapi/middleware.d.ts +5 -0
- package/dist/hapi/middleware.js +137 -0
- package/dist/hapi/middleware.js.map +1 -0
- package/dist/hapi/routes.cjs +37 -0
- package/dist/hapi/routes.cjs.map +1 -0
- package/dist/hapi/routes.d.cts +8 -0
- package/dist/hapi/routes.d.ts +8 -0
- package/dist/hapi/routes.js +12 -0
- package/dist/hapi/routes.js.map +1 -0
- package/dist/hono/index.cjs +13 -3
- package/dist/hono/index.cjs.map +1 -1
- package/dist/hono/index.d.cts +6 -10
- package/dist/hono/index.d.ts +6 -10
- package/dist/hono/index.js +13 -2
- package/dist/hono/index.js.map +1 -1
- package/dist/hono/middleware.cjs +211 -127
- package/dist/hono/middleware.cjs.map +1 -1
- package/dist/hono/middleware.d.cts +3 -18
- package/dist/hono/middleware.d.ts +3 -18
- package/dist/hono/middleware.js +216 -125
- package/dist/hono/middleware.js.map +1 -1
- package/dist/hono/routes.cjs +74 -0
- package/dist/hono/routes.cjs.map +1 -0
- package/dist/hono/routes.d.cts +8 -0
- package/dist/hono/routes.d.ts +8 -0
- package/dist/hono/routes.js +49 -0
- package/dist/hono/routes.js.map +1 -0
- package/dist/index.cjs +108 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +28 -1
- package/dist/index.d.ts +28 -1
- package/dist/index.js +77 -0
- package/dist/index.js.map +1 -1
- package/dist/koa/index.cjs +13 -3
- package/dist/koa/index.cjs.map +1 -1
- package/dist/koa/index.d.cts +6 -10
- package/dist/koa/index.d.ts +6 -10
- package/dist/koa/index.js +13 -2
- package/dist/koa/index.js.map +1 -1
- package/dist/koa/middleware.cjs +75 -184
- package/dist/koa/middleware.cjs.map +1 -1
- package/dist/koa/middleware.d.cts +3 -13
- package/dist/koa/middleware.d.ts +3 -13
- package/dist/koa/middleware.js +78 -183
- package/dist/koa/middleware.js.map +1 -1
- package/dist/koa/routes.cjs +71 -0
- package/dist/koa/routes.cjs.map +1 -0
- package/dist/koa/routes.d.cts +8 -0
- package/dist/koa/routes.d.ts +8 -0
- package/dist/koa/routes.js +46 -0
- package/dist/koa/routes.js.map +1 -0
- package/dist/logCapture.cjs +410 -0
- package/dist/logCapture.cjs.map +1 -0
- package/dist/logCapture.d.cts +16 -0
- package/dist/logCapture.d.ts +16 -0
- package/dist/logCapture.js +383 -0
- package/dist/logCapture.js.map +1 -0
- package/dist/logRecordExporter.cjs +83 -0
- package/dist/logRecordExporter.cjs.map +1 -0
- package/dist/logRecordExporter.d.cts +14 -0
- package/dist/logRecordExporter.d.ts +14 -0
- package/dist/logRecordExporter.js +59 -0
- package/dist/logRecordExporter.js.map +1 -0
- package/dist/logRecordProcessor.cjs +120 -0
- package/dist/logRecordProcessor.cjs.map +1 -0
- package/dist/logRecordProcessor.d.cts +23 -0
- package/dist/logRecordProcessor.d.ts +23 -0
- package/dist/logRecordProcessor.js +96 -0
- package/dist/logRecordProcessor.js.map +1 -0
- package/dist/{otel/index.cjs → logRecordTruncation.cjs} +10 -7
- package/dist/logRecordTruncation.cjs.map +1 -0
- package/dist/logRecordTruncation.d.cts +6 -0
- package/dist/logRecordTruncation.d.ts +6 -0
- package/dist/logRecordTruncation.js +8 -0
- package/dist/logRecordTruncation.js.map +1 -0
- package/dist/logger.cjs +62 -0
- package/dist/logger.cjs.map +1 -0
- package/dist/logger.d.cts +7 -0
- package/dist/logger.d.ts +7 -0
- package/dist/logger.js +34 -0
- package/dist/logger.js.map +1 -0
- package/dist/metrics.cjs +171 -0
- package/dist/metrics.cjs.map +1 -0
- package/dist/metrics.d.cts +24 -0
- package/dist/metrics.d.ts +24 -0
- package/dist/metrics.js +153 -0
- package/dist/metrics.js.map +1 -0
- package/dist/nestjs/index.cjs +61 -71
- package/dist/nestjs/index.cjs.map +1 -1
- package/dist/nestjs/index.d.cts +3 -11
- package/dist/nestjs/index.d.ts +3 -11
- package/dist/nestjs/index.js +61 -61
- package/dist/nestjs/index.js.map +1 -1
- package/dist/packageVersion.cjs +67 -0
- package/dist/packageVersion.cjs.map +1 -0
- package/dist/packageVersion.d.cts +5 -0
- package/dist/packageVersion.d.ts +5 -0
- package/dist/packageVersion.js +39 -0
- package/dist/packageVersion.js.map +1 -0
- package/dist/providers.cjs +149 -0
- package/dist/providers.cjs.map +1 -0
- package/dist/providers.d.cts +15 -0
- package/dist/providers.d.ts +15 -0
- package/dist/providers.js +136 -0
- package/dist/providers.js.map +1 -0
- package/dist/redaction.cjs +116 -0
- package/dist/redaction.cjs.map +1 -0
- package/dist/redaction.d.cts +17 -0
- package/dist/redaction.d.ts +17 -0
- package/dist/redaction.js +98 -0
- package/dist/redaction.js.map +1 -0
- package/dist/{common/packageVersions.cjs → requestAttributes.cjs} +21 -19
- package/dist/requestAttributes.cjs.map +1 -0
- package/dist/requestAttributes.d.cts +8 -0
- package/dist/requestAttributes.d.ts +8 -0
- package/dist/requestAttributes.js +22 -0
- package/dist/requestAttributes.js.map +1 -0
- package/dist/requestObservation.cjs +228 -0
- package/dist/requestObservation.cjs.map +1 -0
- package/dist/requestObservation.d.cts +60 -0
- package/dist/requestObservation.d.ts +60 -0
- package/dist/requestObservation.js +208 -0
- package/dist/requestObservation.js.map +1 -0
- package/dist/requestObservationNode.cjs +193 -0
- package/dist/requestObservationNode.cjs.map +1 -0
- package/dist/requestObservationNode.d.cts +29 -0
- package/dist/requestObservationNode.d.ts +29 -0
- package/dist/requestObservationNode.js +170 -0
- package/dist/requestObservationNode.js.map +1 -0
- package/dist/requestObservationWeb.cjs +202 -0
- package/dist/requestObservationWeb.cjs.map +1 -0
- package/dist/requestObservationWeb.d.cts +32 -0
- package/dist/requestObservationWeb.d.ts +32 -0
- package/dist/requestObservationWeb.js +182 -0
- package/dist/requestObservationWeb.js.map +1 -0
- package/dist/sentry.cjs +103 -0
- package/dist/sentry.cjs.map +1 -0
- package/dist/sentry.d.cts +3 -0
- package/dist/sentry.d.ts +3 -0
- package/dist/sentry.js +79 -0
- package/dist/sentry.js.map +1 -0
- package/dist/spanExporter.cjs +218 -0
- package/dist/spanExporter.cjs.map +1 -0
- package/dist/spanExporter.d.cts +33 -0
- package/dist/spanExporter.d.ts +33 -0
- package/dist/spanExporter.js +194 -0
- package/dist/spanExporter.js.map +1 -0
- package/dist/spanProcessor.cjs +523 -0
- package/dist/spanProcessor.cjs.map +1 -0
- package/dist/spanProcessor.d.cts +67 -0
- package/dist/spanProcessor.d.ts +67 -0
- package/dist/spanProcessor.js +501 -0
- package/dist/spanProcessor.js.map +1 -0
- package/dist/spool.cjs +314 -0
- package/dist/spool.cjs.map +1 -0
- package/dist/spool.d.cts +49 -0
- package/dist/spool.d.ts +49 -0
- package/dist/spool.js +297 -0
- package/dist/spool.js.map +1 -0
- package/dist/startup.cjs +93 -0
- package/dist/startup.cjs.map +1 -0
- package/dist/startup.d.cts +15 -0
- package/dist/startup.d.ts +15 -0
- package/dist/startup.js +68 -0
- package/dist/startup.js.map +1 -0
- package/dist/tracing.cjs +116 -0
- package/dist/tracing.cjs.map +1 -0
- package/dist/tracing.d.cts +5 -0
- package/dist/tracing.d.ts +5 -0
- package/dist/tracing.js +96 -0
- package/dist/tracing.js.map +1 -0
- package/package.json +113 -155
- package/dist/common/client.cjs +0 -335
- package/dist/common/client.cjs.map +0 -1
- package/dist/common/client.d.cts +0 -50
- package/dist/common/client.d.ts +0 -50
- package/dist/common/client.js +0 -302
- package/dist/common/client.js.map +0 -1
- package/dist/common/consumerRegistry.cjs +0 -84
- package/dist/common/consumerRegistry.cjs.map +0 -1
- package/dist/common/consumerRegistry.d.cts +0 -20
- package/dist/common/consumerRegistry.d.ts +0 -20
- package/dist/common/consumerRegistry.js +0 -61
- package/dist/common/consumerRegistry.js.map +0 -1
- package/dist/common/headers.cjs +0 -55
- package/dist/common/headers.cjs.map +0 -1
- package/dist/common/headers.d.cts +0 -6
- package/dist/common/headers.d.ts +0 -6
- package/dist/common/headers.js +0 -31
- package/dist/common/headers.js.map +0 -1
- package/dist/common/instance.cjs +0 -158
- package/dist/common/instance.cjs.map +0 -1
- package/dist/common/instance.d.cts +0 -4
- package/dist/common/instance.d.ts +0 -4
- package/dist/common/instance.js +0 -134
- package/dist/common/instance.js.map +0 -1
- package/dist/common/logging.cjs.map +0 -1
- package/dist/common/logging.d.cts +0 -11
- package/dist/common/logging.d.ts +0 -11
- package/dist/common/logging.js +0 -17
- package/dist/common/logging.js.map +0 -1
- package/dist/common/packageVersions.cjs.map +0 -1
- package/dist/common/packageVersions.d.cts +0 -3
- package/dist/common/packageVersions.d.ts +0 -3
- package/dist/common/packageVersions.js +0 -21
- package/dist/common/packageVersions.js.map +0 -1
- package/dist/common/paramValidation.cjs.map +0 -1
- package/dist/common/paramValidation.d.cts +0 -4
- package/dist/common/paramValidation.d.ts +0 -4
- package/dist/common/paramValidation.js +0 -17
- package/dist/common/paramValidation.js.map +0 -1
- package/dist/common/requestCounter.cjs +0 -109
- package/dist/common/requestCounter.cjs.map +0 -1
- package/dist/common/requestCounter.d.cts +0 -24
- package/dist/common/requestCounter.d.ts +0 -24
- package/dist/common/requestCounter.js +0 -90
- package/dist/common/requestCounter.js.map +0 -1
- package/dist/common/requestLogger.cjs +0 -541
- package/dist/common/requestLogger.cjs.map +0 -1
- package/dist/common/requestLogger.d.cts +0 -85
- package/dist/common/requestLogger.d.ts +0 -85
- package/dist/common/requestLogger.js +0 -507
- package/dist/common/requestLogger.js.map +0 -1
- package/dist/common/resources.cjs +0 -49
- package/dist/common/resources.cjs.map +0 -1
- package/dist/common/resources.d.cts +0 -6
- package/dist/common/resources.d.ts +0 -6
- package/dist/common/resources.js +0 -26
- package/dist/common/resources.js.map +0 -1
- package/dist/common/response.cjs +0 -104
- package/dist/common/response.cjs.map +0 -1
- package/dist/common/response.d.cts +0 -15
- package/dist/common/response.d.ts +0 -15
- package/dist/common/response.js +0 -80
- package/dist/common/response.js.map +0 -1
- package/dist/common/sentry.cjs +0 -56
- package/dist/common/sentry.cjs.map +0 -1
- package/dist/common/sentry.d.cts +0 -6
- package/dist/common/sentry.d.ts +0 -6
- package/dist/common/sentry.js +0 -23
- package/dist/common/sentry.js.map +0 -1
- package/dist/common/serverErrorCounter.cjs +0 -121
- package/dist/common/serverErrorCounter.cjs.map +0 -1
- package/dist/common/serverErrorCounter.d.cts +0 -23
- package/dist/common/serverErrorCounter.d.ts +0 -23
- package/dist/common/serverErrorCounter.js +0 -97
- package/dist/common/serverErrorCounter.js.map +0 -1
- package/dist/common/spanCollector.cjs +0 -199
- package/dist/common/spanCollector.cjs.map +0 -1
- package/dist/common/spanCollector.d.cts +0 -45
- package/dist/common/spanCollector.d.ts +0 -45
- package/dist/common/spanCollector.js +0 -176
- package/dist/common/spanCollector.js.map +0 -1
- package/dist/common/tempGzipFile.cjs +0 -125
- package/dist/common/tempGzipFile.cjs.map +0 -1
- package/dist/common/tempGzipFile.d.cts +0 -19
- package/dist/common/tempGzipFile.d.ts +0 -19
- package/dist/common/tempGzipFile.js +0 -102
- package/dist/common/tempGzipFile.js.map +0 -1
- package/dist/common/types.cjs +0 -17
- package/dist/common/types.cjs.map +0 -1
- package/dist/common/types.d.cts +0 -95
- package/dist/common/types.d.ts +0 -95
- package/dist/common/types.js +0 -1
- package/dist/common/types.js.map +0 -1
- package/dist/common/validationErrorCounter.cjs +0 -74
- package/dist/common/validationErrorCounter.cjs.map +0 -1
- package/dist/common/validationErrorCounter.d.cts +0 -20
- package/dist/common/validationErrorCounter.d.ts +0 -20
- package/dist/common/validationErrorCounter.js +0 -55
- package/dist/common/validationErrorCounter.js.map +0 -1
- package/dist/elysia/plugin.cjs +0 -237
- package/dist/elysia/plugin.cjs.map +0 -1
- package/dist/elysia/plugin.d.cts +0 -70
- package/dist/elysia/plugin.d.ts +0 -70
- package/dist/elysia/plugin.js +0 -218
- package/dist/elysia/plugin.js.map +0 -1
- package/dist/elysia/utils.cjs +0 -77
- package/dist/elysia/utils.cjs.map +0 -1
- package/dist/elysia/utils.d.cts +0 -14
- package/dist/elysia/utils.d.ts +0 -14
- package/dist/elysia/utils.js +0 -54
- package/dist/elysia/utils.js.map +0 -1
- package/dist/express/utils.cjs +0 -217
- package/dist/express/utils.cjs.map +0 -1
- package/dist/express/utils.d.cts +0 -37
- package/dist/express/utils.d.ts +0 -37
- package/dist/express/utils.js +0 -189
- package/dist/express/utils.js.map +0 -1
- package/dist/fastify/plugin.cjs +0 -316
- package/dist/fastify/plugin.cjs.map +0 -1
- package/dist/fastify/plugin.d.cts +0 -34
- package/dist/fastify/plugin.d.ts +0 -34
- package/dist/fastify/plugin.js +0 -282
- package/dist/fastify/plugin.js.map +0 -1
- package/dist/h3/plugin.cjs +0 -183
- package/dist/h3/plugin.cjs.map +0 -1
- package/dist/h3/plugin.d.cts +0 -27
- package/dist/h3/plugin.d.ts +0 -27
- package/dist/h3/plugin.js +0 -159
- package/dist/h3/plugin.js.map +0 -1
- package/dist/h3/utils.cjs +0 -77
- package/dist/h3/utils.cjs.map +0 -1
- package/dist/h3/utils.d.cts +0 -14
- package/dist/h3/utils.d.ts +0 -14
- package/dist/h3/utils.js +0 -54
- package/dist/h3/utils.js.map +0 -1
- package/dist/hapi/plugin.cjs +0 -210
- package/dist/hapi/plugin.cjs.map +0 -1
- package/dist/hapi/plugin.d.cts +0 -40
- package/dist/hapi/plugin.d.ts +0 -40
- package/dist/hapi/plugin.js +0 -187
- package/dist/hapi/plugin.js.map +0 -1
- package/dist/hapi/utils.cjs +0 -77
- package/dist/hapi/utils.cjs.map +0 -1
- package/dist/hapi/utils.d.cts +0 -16
- package/dist/hapi/utils.d.ts +0 -16
- package/dist/hapi/utils.js +0 -53
- package/dist/hapi/utils.js.map +0 -1
- package/dist/hono/utils.cjs +0 -113
- package/dist/hono/utils.cjs.map +0 -1
- package/dist/hono/utils.d.cts +0 -16
- package/dist/hono/utils.d.ts +0 -16
- package/dist/hono/utils.js +0 -88
- package/dist/hono/utils.js.map +0 -1
- package/dist/loggers/console.cjs +0 -67
- package/dist/loggers/console.cjs.map +0 -1
- package/dist/loggers/console.d.cts +0 -11
- package/dist/loggers/console.d.ts +0 -11
- package/dist/loggers/console.js +0 -44
- package/dist/loggers/console.js.map +0 -1
- package/dist/loggers/hapi.cjs.map +0 -1
- package/dist/loggers/hapi.d.cts +0 -12
- package/dist/loggers/hapi.d.ts +0 -12
- package/dist/loggers/hapi.js +0 -29
- package/dist/loggers/hapi.js.map +0 -1
- package/dist/loggers/index.cjs.map +0 -1
- package/dist/loggers/index.d.cts +0 -13
- package/dist/loggers/index.d.ts +0 -13
- package/dist/loggers/index.js +0 -13
- package/dist/loggers/index.js.map +0 -1
- package/dist/loggers/nestjs.cjs +0 -104
- package/dist/loggers/nestjs.cjs.map +0 -1
- package/dist/loggers/nestjs.d.cts +0 -11
- package/dist/loggers/nestjs.d.ts +0 -11
- package/dist/loggers/nestjs.js +0 -71
- package/dist/loggers/nestjs.js.map +0 -1
- package/dist/loggers/pino.cjs +0 -152
- package/dist/loggers/pino.cjs.map +0 -1
- package/dist/loggers/pino.d.cts +0 -11
- package/dist/loggers/pino.d.ts +0 -11
- package/dist/loggers/pino.js +0 -119
- package/dist/loggers/pino.js.map +0 -1
- package/dist/loggers/utils.cjs +0 -64
- package/dist/loggers/utils.cjs.map +0 -1
- package/dist/loggers/utils.d.cts +0 -6
- package/dist/loggers/utils.d.ts +0 -6
- package/dist/loggers/utils.js +0 -40
- package/dist/loggers/utils.js.map +0 -1
- package/dist/loggers/winston.cjs +0 -101
- package/dist/loggers/winston.cjs.map +0 -1
- package/dist/loggers/winston.d.cts +0 -11
- package/dist/loggers/winston.d.ts +0 -11
- package/dist/loggers/winston.js +0 -68
- package/dist/loggers/winston.js.map +0 -1
- package/dist/otel/index.cjs.map +0 -1
- package/dist/otel/index.d.cts +0 -2
- package/dist/otel/index.d.ts +0 -2
- package/dist/otel/index.js +0 -5
- package/dist/otel/index.js.map +0 -1
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
var spanCollector_exports = {};
|
|
21
|
-
__export(spanCollector_exports, {
|
|
22
|
-
ApitallySpanProcessor: () => ApitallySpanProcessor,
|
|
23
|
-
default: () => SpanCollector
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(spanCollector_exports);
|
|
26
|
-
var import_api = require("@opentelemetry/api");
|
|
27
|
-
var import_client = require('./client.cjs');
|
|
28
|
-
const TRACE_MAX_AGE = 5 * 60 * 1e3;
|
|
29
|
-
const _SpanCollector = class _SpanCollector {
|
|
30
|
-
enabled;
|
|
31
|
-
includedSpanIds = /* @__PURE__ */ new Map();
|
|
32
|
-
collectedSpans = /* @__PURE__ */ new Map();
|
|
33
|
-
traceStartTimes = /* @__PURE__ */ new Map();
|
|
34
|
-
maintainIntervalId;
|
|
35
|
-
tracer;
|
|
36
|
-
constructor(enabled) {
|
|
37
|
-
this.enabled = enabled;
|
|
38
|
-
if (enabled) {
|
|
39
|
-
this.tracer = import_api.trace.getTracer("apitally");
|
|
40
|
-
this.maintainIntervalId = setInterval(() => {
|
|
41
|
-
this.maintain();
|
|
42
|
-
}, 6e4);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
startSpan() {
|
|
46
|
-
if (!this.enabled || !this.tracer) {
|
|
47
|
-
return {
|
|
48
|
-
setName: /* @__PURE__ */ __name(() => void 0, "setName"),
|
|
49
|
-
runInContext: /* @__PURE__ */ __name((fn) => {
|
|
50
|
-
return fn();
|
|
51
|
-
}, "runInContext"),
|
|
52
|
-
enterContext: /* @__PURE__ */ __name(() => void 0, "enterContext"),
|
|
53
|
-
end: /* @__PURE__ */ __name(() => void 0, "end")
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
const span = this.tracer.startSpan("root");
|
|
57
|
-
const spanCtx = span.spanContext();
|
|
58
|
-
const traceId = spanCtx.traceId;
|
|
59
|
-
const ctx = import_api.trace.setSpan(import_api.context.active(), span);
|
|
60
|
-
let ended = false;
|
|
61
|
-
this.includedSpanIds.set(traceId, /* @__PURE__ */ new Set([
|
|
62
|
-
spanCtx.spanId
|
|
63
|
-
]));
|
|
64
|
-
this.collectedSpans.set(traceId, []);
|
|
65
|
-
this.traceStartTimes.set(traceId, Date.now());
|
|
66
|
-
return {
|
|
67
|
-
traceId,
|
|
68
|
-
setName: /* @__PURE__ */ __name((name) => {
|
|
69
|
-
span.updateName(name);
|
|
70
|
-
}, "setName"),
|
|
71
|
-
runInContext: /* @__PURE__ */ __name((fn) => {
|
|
72
|
-
return import_api.context.with(ctx, fn);
|
|
73
|
-
}, "runInContext"),
|
|
74
|
-
enterContext: /* @__PURE__ */ __name(() => {
|
|
75
|
-
var _a, _b, _c;
|
|
76
|
-
try {
|
|
77
|
-
const contextManager = (_b = (_a = import_api.context)._getContextManager) == null ? void 0 : _b.call(_a);
|
|
78
|
-
(_c = contextManager == null ? void 0 : contextManager._asyncLocalStorage) == null ? void 0 : _c.enterWith(ctx);
|
|
79
|
-
} catch {
|
|
80
|
-
}
|
|
81
|
-
}, "enterContext"),
|
|
82
|
-
end: /* @__PURE__ */ __name(() => {
|
|
83
|
-
if (ended) return;
|
|
84
|
-
span.end();
|
|
85
|
-
ended = true;
|
|
86
|
-
return this.getAndClearSpans(traceId);
|
|
87
|
-
}, "end")
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
getAndClearSpans(traceId) {
|
|
91
|
-
const spans = this.collectedSpans.get(traceId) ?? [];
|
|
92
|
-
this.collectedSpans.delete(traceId);
|
|
93
|
-
this.includedSpanIds.delete(traceId);
|
|
94
|
-
this.traceStartTimes.delete(traceId);
|
|
95
|
-
return spans;
|
|
96
|
-
}
|
|
97
|
-
onStart(span) {
|
|
98
|
-
var _a;
|
|
99
|
-
if (!this.enabled) return;
|
|
100
|
-
const ctx = span.spanContext();
|
|
101
|
-
const traceId = ctx.traceId;
|
|
102
|
-
const spanId = ctx.spanId;
|
|
103
|
-
const includedSpans = this.includedSpanIds.get(traceId);
|
|
104
|
-
if (!includedSpans) return;
|
|
105
|
-
const parentSpanId = (_a = span.parentSpanContext) == null ? void 0 : _a.spanId;
|
|
106
|
-
if (parentSpanId && includedSpans.has(parentSpanId)) {
|
|
107
|
-
includedSpans.add(spanId);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
onEnd(span) {
|
|
111
|
-
if (!this.enabled) return;
|
|
112
|
-
const ctx = span.spanContext();
|
|
113
|
-
const traceId = ctx.traceId;
|
|
114
|
-
const spanId = ctx.spanId;
|
|
115
|
-
const includedSpans = this.includedSpanIds.get(traceId);
|
|
116
|
-
if (!includedSpans || !includedSpans.has(spanId)) return;
|
|
117
|
-
const spans = this.collectedSpans.get(traceId);
|
|
118
|
-
if (spans) {
|
|
119
|
-
spans.push(this.serializeSpan(span));
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
serializeSpan(span) {
|
|
123
|
-
var _a;
|
|
124
|
-
const ctx = span.spanContext();
|
|
125
|
-
const data = {
|
|
126
|
-
spanId: ctx.spanId,
|
|
127
|
-
parentSpanId: ((_a = span.parentSpanContext) == null ? void 0 : _a.spanId) || null,
|
|
128
|
-
name: span.name,
|
|
129
|
-
kind: import_api.SpanKind[span.kind] ?? "INTERNAL",
|
|
130
|
-
// HrTime is [seconds, nanoseconds], convert to nanoseconds as string to avoid precision loss
|
|
131
|
-
startTime: (BigInt(span.startTime[0]) * 1000000000n + BigInt(span.startTime[1])).toString(),
|
|
132
|
-
endTime: (BigInt(span.endTime[0]) * 1000000000n + BigInt(span.endTime[1])).toString()
|
|
133
|
-
};
|
|
134
|
-
if (span.status.code !== import_api.SpanStatusCode.UNSET) {
|
|
135
|
-
data.status = import_api.SpanStatusCode[span.status.code];
|
|
136
|
-
}
|
|
137
|
-
if (span.attributes && Object.keys(span.attributes).length > 0) {
|
|
138
|
-
data.attributes = {
|
|
139
|
-
...span.attributes
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
return data;
|
|
143
|
-
}
|
|
144
|
-
maintain() {
|
|
145
|
-
const now = Date.now();
|
|
146
|
-
for (const [traceId, startTime] of this.traceStartTimes) {
|
|
147
|
-
if (now - startTime > TRACE_MAX_AGE) {
|
|
148
|
-
this.collectedSpans.delete(traceId);
|
|
149
|
-
this.includedSpanIds.delete(traceId);
|
|
150
|
-
this.traceStartTimes.delete(traceId);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
async shutdown() {
|
|
155
|
-
this.enabled = false;
|
|
156
|
-
this.includedSpanIds.clear();
|
|
157
|
-
this.collectedSpans.clear();
|
|
158
|
-
this.traceStartTimes.clear();
|
|
159
|
-
if (this.maintainIntervalId) {
|
|
160
|
-
clearInterval(this.maintainIntervalId);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
async forceFlush() {
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
__name(_SpanCollector, "SpanCollector");
|
|
167
|
-
let SpanCollector = _SpanCollector;
|
|
168
|
-
const _ApitallySpanProcessor = class _ApitallySpanProcessor {
|
|
169
|
-
getCollector() {
|
|
170
|
-
try {
|
|
171
|
-
return import_client.ApitallyClient.getInstance().spanCollector;
|
|
172
|
-
} catch {
|
|
173
|
-
return void 0;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
onStart(span) {
|
|
177
|
-
var _a;
|
|
178
|
-
(_a = this.getCollector()) == null ? void 0 : _a.onStart(span);
|
|
179
|
-
}
|
|
180
|
-
onEnd(span) {
|
|
181
|
-
var _a;
|
|
182
|
-
(_a = this.getCollector()) == null ? void 0 : _a.onEnd(span);
|
|
183
|
-
}
|
|
184
|
-
async shutdown() {
|
|
185
|
-
var _a;
|
|
186
|
-
(_a = this.getCollector()) == null ? void 0 : _a.shutdown();
|
|
187
|
-
}
|
|
188
|
-
async forceFlush() {
|
|
189
|
-
var _a;
|
|
190
|
-
(_a = this.getCollector()) == null ? void 0 : _a.forceFlush();
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
|
-
__name(_ApitallySpanProcessor, "ApitallySpanProcessor");
|
|
194
|
-
let ApitallySpanProcessor = _ApitallySpanProcessor;
|
|
195
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
196
|
-
0 && (module.exports = {
|
|
197
|
-
ApitallySpanProcessor
|
|
198
|
-
});
|
|
199
|
-
//# sourceMappingURL=spanCollector.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/common/spanCollector.ts"],"sourcesContent":["import {\n context,\n SpanKind,\n SpanStatusCode,\n trace,\n type Tracer,\n} from \"@opentelemetry/api\";\nimport {\n type ReadableSpan,\n type Span,\n SpanProcessor,\n} from \"@opentelemetry/sdk-trace-base\";\n\nimport { ApitallyClient } from \"./client.js\";\n\nexport type SpanData = {\n spanId: string;\n parentSpanId: string | null;\n name: string;\n kind: string;\n startTime: string; // bigint as string\n endTime: string; // bigint as string\n status?: string;\n attributes?: Record<string, unknown>;\n};\n\nexport type SpanHandle = {\n traceId?: string;\n setName: (name: string) => void;\n runInContext: <T>(fn: () => T) => T;\n enterContext: () => void;\n end: () => SpanData[] | undefined;\n};\n\nconst TRACE_MAX_AGE = 5 * 60 * 1000; // 5 minutes\n\nexport default class SpanCollector implements SpanProcessor {\n public enabled: boolean;\n private includedSpanIds: Map<string, Set<string>> = new Map();\n private collectedSpans: Map<string, SpanData[]> = new Map();\n private traceStartTimes: Map<string, number> = new Map();\n private maintainIntervalId?: NodeJS.Timeout;\n private tracer?: Tracer;\n\n constructor(enabled: boolean) {\n this.enabled = enabled;\n\n if (enabled) {\n this.tracer = trace.getTracer(\"apitally\");\n this.maintainIntervalId = setInterval(() => {\n this.maintain();\n }, 60_000);\n }\n }\n\n startSpan(): SpanHandle {\n if (!this.enabled || !this.tracer) {\n return {\n setName: () => void 0,\n runInContext: <T>(fn: () => T): T => {\n return fn();\n },\n enterContext: () => void 0,\n end: () => undefined,\n };\n }\n\n const span = this.tracer.startSpan(\"root\");\n const spanCtx = span.spanContext();\n const traceId = spanCtx.traceId;\n const ctx = trace.setSpan(context.active(), span);\n let ended = false;\n\n this.includedSpanIds.set(traceId, new Set([spanCtx.spanId]));\n this.collectedSpans.set(traceId, []);\n this.traceStartTimes.set(traceId, Date.now());\n\n return {\n traceId,\n setName: (name: string) => {\n span.updateName(name);\n },\n runInContext: <T>(fn: () => T): T => {\n return context.with(ctx, fn);\n },\n enterContext: () => {\n try {\n // Access the global context manager's internal AsyncLocalStorage\n const contextManager = (context as any)._getContextManager?.();\n contextManager?._asyncLocalStorage?.enterWith(ctx);\n } catch {\n // Ignore errors accessing internals\n }\n },\n end: () => {\n if (ended) return;\n span.end();\n ended = true;\n return this.getAndClearSpans(traceId);\n },\n };\n }\n\n private getAndClearSpans(traceId: string): SpanData[] {\n const spans = this.collectedSpans.get(traceId) ?? [];\n this.collectedSpans.delete(traceId);\n this.includedSpanIds.delete(traceId);\n this.traceStartTimes.delete(traceId);\n return spans;\n }\n\n onStart(span: Span): void {\n if (!this.enabled) return;\n\n const ctx = span.spanContext();\n const traceId = ctx.traceId;\n const spanId = ctx.spanId;\n\n const includedSpans = this.includedSpanIds.get(traceId);\n if (!includedSpans) return;\n\n const parentSpanId = span.parentSpanContext?.spanId;\n if (parentSpanId && includedSpans.has(parentSpanId)) {\n includedSpans.add(spanId);\n }\n }\n\n onEnd(span: ReadableSpan): void {\n if (!this.enabled) return;\n\n const ctx = span.spanContext();\n const traceId = ctx.traceId;\n const spanId = ctx.spanId;\n\n const includedSpans = this.includedSpanIds.get(traceId);\n if (!includedSpans || !includedSpans.has(spanId)) return;\n\n const spans = this.collectedSpans.get(traceId);\n if (spans) {\n spans.push(this.serializeSpan(span));\n }\n }\n\n private serializeSpan(span: ReadableSpan): SpanData {\n const ctx = span.spanContext();\n\n const data: SpanData = {\n spanId: ctx.spanId,\n parentSpanId: span.parentSpanContext?.spanId || null,\n name: span.name,\n kind: SpanKind[span.kind] ?? \"INTERNAL\",\n // HrTime is [seconds, nanoseconds], convert to nanoseconds as string to avoid precision loss\n startTime: (\n BigInt(span.startTime[0]) * 1_000_000_000n +\n BigInt(span.startTime[1])\n ).toString(),\n endTime: (\n BigInt(span.endTime[0]) * 1_000_000_000n +\n BigInt(span.endTime[1])\n ).toString(),\n };\n\n if (span.status.code !== SpanStatusCode.UNSET) {\n data.status = SpanStatusCode[span.status.code];\n }\n\n if (span.attributes && Object.keys(span.attributes).length > 0) {\n data.attributes = { ...span.attributes };\n }\n\n return data;\n }\n\n private maintain() {\n const now = Date.now();\n for (const [traceId, startTime] of this.traceStartTimes) {\n if (now - startTime > TRACE_MAX_AGE) {\n this.collectedSpans.delete(traceId);\n this.includedSpanIds.delete(traceId);\n this.traceStartTimes.delete(traceId);\n }\n }\n }\n\n async shutdown(): Promise<void> {\n this.enabled = false;\n this.includedSpanIds.clear();\n this.collectedSpans.clear();\n this.traceStartTimes.clear();\n if (this.maintainIntervalId) {\n clearInterval(this.maintainIntervalId);\n }\n }\n\n async forceFlush(): Promise<void> {\n // Nothing to flush since we collect spans synchronously\n }\n}\n\nexport class ApitallySpanProcessor implements SpanProcessor {\n private getCollector(): SpanCollector | undefined {\n try {\n return ApitallyClient.getInstance().spanCollector;\n } catch {\n return undefined;\n }\n }\n\n onStart(span: Span) {\n this.getCollector()?.onStart(span);\n }\n\n onEnd(span: ReadableSpan) {\n this.getCollector()?.onEnd(span);\n }\n\n async shutdown() {\n this.getCollector()?.shutdown();\n }\n\n async forceFlush() {\n this.getCollector()?.forceFlush();\n }\n}\n"],"mappings":"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","names":["TRACE_MAX_AGE","SpanCollector","enabled","includedSpanIds","Map","collectedSpans","traceStartTimes","maintainIntervalId","tracer","trace","getTracer","setInterval","maintain","startSpan","setName","runInContext","fn","enterContext","end","undefined","span","spanCtx","spanContext","traceId","ctx","setSpan","context","active","ended","set","Set","spanId","Date","now","name","updateName","with","contextManager","_getContextManager","_asyncLocalStorage","enterWith","getAndClearSpans","spans","get","delete","onStart","includedSpans","parentSpanId","parentSpanContext","has","add","onEnd","push","serializeSpan","data","kind","SpanKind","startTime","BigInt","toString","endTime","status","code","SpanStatusCode","UNSET","attributes","Object","keys","length","shutdown","clear","clearInterval","forceFlush","ApitallySpanProcessor","getCollector","ApitallyClient","getInstance","spanCollector"]}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { SpanProcessor, Span, ReadableSpan } from '@opentelemetry/sdk-trace-base';
|
|
2
|
-
|
|
3
|
-
type SpanData = {
|
|
4
|
-
spanId: string;
|
|
5
|
-
parentSpanId: string | null;
|
|
6
|
-
name: string;
|
|
7
|
-
kind: string;
|
|
8
|
-
startTime: string;
|
|
9
|
-
endTime: string;
|
|
10
|
-
status?: string;
|
|
11
|
-
attributes?: Record<string, unknown>;
|
|
12
|
-
};
|
|
13
|
-
type SpanHandle = {
|
|
14
|
-
traceId?: string;
|
|
15
|
-
setName: (name: string) => void;
|
|
16
|
-
runInContext: <T>(fn: () => T) => T;
|
|
17
|
-
enterContext: () => void;
|
|
18
|
-
end: () => SpanData[] | undefined;
|
|
19
|
-
};
|
|
20
|
-
declare class SpanCollector implements SpanProcessor {
|
|
21
|
-
enabled: boolean;
|
|
22
|
-
private includedSpanIds;
|
|
23
|
-
private collectedSpans;
|
|
24
|
-
private traceStartTimes;
|
|
25
|
-
private maintainIntervalId?;
|
|
26
|
-
private tracer?;
|
|
27
|
-
constructor(enabled: boolean);
|
|
28
|
-
startSpan(): SpanHandle;
|
|
29
|
-
private getAndClearSpans;
|
|
30
|
-
onStart(span: Span): void;
|
|
31
|
-
onEnd(span: ReadableSpan): void;
|
|
32
|
-
private serializeSpan;
|
|
33
|
-
private maintain;
|
|
34
|
-
shutdown(): Promise<void>;
|
|
35
|
-
forceFlush(): Promise<void>;
|
|
36
|
-
}
|
|
37
|
-
declare class ApitallySpanProcessor implements SpanProcessor {
|
|
38
|
-
private getCollector;
|
|
39
|
-
onStart(span: Span): void;
|
|
40
|
-
onEnd(span: ReadableSpan): void;
|
|
41
|
-
shutdown(): Promise<void>;
|
|
42
|
-
forceFlush(): Promise<void>;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export { ApitallySpanProcessor, type SpanData, type SpanHandle, SpanCollector as default };
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { SpanProcessor, Span, ReadableSpan } from '@opentelemetry/sdk-trace-base';
|
|
2
|
-
|
|
3
|
-
type SpanData = {
|
|
4
|
-
spanId: string;
|
|
5
|
-
parentSpanId: string | null;
|
|
6
|
-
name: string;
|
|
7
|
-
kind: string;
|
|
8
|
-
startTime: string;
|
|
9
|
-
endTime: string;
|
|
10
|
-
status?: string;
|
|
11
|
-
attributes?: Record<string, unknown>;
|
|
12
|
-
};
|
|
13
|
-
type SpanHandle = {
|
|
14
|
-
traceId?: string;
|
|
15
|
-
setName: (name: string) => void;
|
|
16
|
-
runInContext: <T>(fn: () => T) => T;
|
|
17
|
-
enterContext: () => void;
|
|
18
|
-
end: () => SpanData[] | undefined;
|
|
19
|
-
};
|
|
20
|
-
declare class SpanCollector implements SpanProcessor {
|
|
21
|
-
enabled: boolean;
|
|
22
|
-
private includedSpanIds;
|
|
23
|
-
private collectedSpans;
|
|
24
|
-
private traceStartTimes;
|
|
25
|
-
private maintainIntervalId?;
|
|
26
|
-
private tracer?;
|
|
27
|
-
constructor(enabled: boolean);
|
|
28
|
-
startSpan(): SpanHandle;
|
|
29
|
-
private getAndClearSpans;
|
|
30
|
-
onStart(span: Span): void;
|
|
31
|
-
onEnd(span: ReadableSpan): void;
|
|
32
|
-
private serializeSpan;
|
|
33
|
-
private maintain;
|
|
34
|
-
shutdown(): Promise<void>;
|
|
35
|
-
forceFlush(): Promise<void>;
|
|
36
|
-
}
|
|
37
|
-
declare class ApitallySpanProcessor implements SpanProcessor {
|
|
38
|
-
private getCollector;
|
|
39
|
-
onStart(span: Span): void;
|
|
40
|
-
onEnd(span: ReadableSpan): void;
|
|
41
|
-
shutdown(): Promise<void>;
|
|
42
|
-
forceFlush(): Promise<void>;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export { ApitallySpanProcessor, type SpanData, type SpanHandle, SpanCollector as default };
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import { context, SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
|
4
|
-
import { ApitallyClient } from "./client.js";
|
|
5
|
-
const TRACE_MAX_AGE = 5 * 60 * 1e3;
|
|
6
|
-
const _SpanCollector = class _SpanCollector {
|
|
7
|
-
enabled;
|
|
8
|
-
includedSpanIds = /* @__PURE__ */ new Map();
|
|
9
|
-
collectedSpans = /* @__PURE__ */ new Map();
|
|
10
|
-
traceStartTimes = /* @__PURE__ */ new Map();
|
|
11
|
-
maintainIntervalId;
|
|
12
|
-
tracer;
|
|
13
|
-
constructor(enabled) {
|
|
14
|
-
this.enabled = enabled;
|
|
15
|
-
if (enabled) {
|
|
16
|
-
this.tracer = trace.getTracer("apitally");
|
|
17
|
-
this.maintainIntervalId = setInterval(() => {
|
|
18
|
-
this.maintain();
|
|
19
|
-
}, 6e4);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
startSpan() {
|
|
23
|
-
if (!this.enabled || !this.tracer) {
|
|
24
|
-
return {
|
|
25
|
-
setName: /* @__PURE__ */ __name(() => void 0, "setName"),
|
|
26
|
-
runInContext: /* @__PURE__ */ __name((fn) => {
|
|
27
|
-
return fn();
|
|
28
|
-
}, "runInContext"),
|
|
29
|
-
enterContext: /* @__PURE__ */ __name(() => void 0, "enterContext"),
|
|
30
|
-
end: /* @__PURE__ */ __name(() => void 0, "end")
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
const span = this.tracer.startSpan("root");
|
|
34
|
-
const spanCtx = span.spanContext();
|
|
35
|
-
const traceId = spanCtx.traceId;
|
|
36
|
-
const ctx = trace.setSpan(context.active(), span);
|
|
37
|
-
let ended = false;
|
|
38
|
-
this.includedSpanIds.set(traceId, /* @__PURE__ */ new Set([
|
|
39
|
-
spanCtx.spanId
|
|
40
|
-
]));
|
|
41
|
-
this.collectedSpans.set(traceId, []);
|
|
42
|
-
this.traceStartTimes.set(traceId, Date.now());
|
|
43
|
-
return {
|
|
44
|
-
traceId,
|
|
45
|
-
setName: /* @__PURE__ */ __name((name) => {
|
|
46
|
-
span.updateName(name);
|
|
47
|
-
}, "setName"),
|
|
48
|
-
runInContext: /* @__PURE__ */ __name((fn) => {
|
|
49
|
-
return context.with(ctx, fn);
|
|
50
|
-
}, "runInContext"),
|
|
51
|
-
enterContext: /* @__PURE__ */ __name(() => {
|
|
52
|
-
var _a, _b, _c;
|
|
53
|
-
try {
|
|
54
|
-
const contextManager = (_b = (_a = context)._getContextManager) == null ? void 0 : _b.call(_a);
|
|
55
|
-
(_c = contextManager == null ? void 0 : contextManager._asyncLocalStorage) == null ? void 0 : _c.enterWith(ctx);
|
|
56
|
-
} catch {
|
|
57
|
-
}
|
|
58
|
-
}, "enterContext"),
|
|
59
|
-
end: /* @__PURE__ */ __name(() => {
|
|
60
|
-
if (ended) return;
|
|
61
|
-
span.end();
|
|
62
|
-
ended = true;
|
|
63
|
-
return this.getAndClearSpans(traceId);
|
|
64
|
-
}, "end")
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
getAndClearSpans(traceId) {
|
|
68
|
-
const spans = this.collectedSpans.get(traceId) ?? [];
|
|
69
|
-
this.collectedSpans.delete(traceId);
|
|
70
|
-
this.includedSpanIds.delete(traceId);
|
|
71
|
-
this.traceStartTimes.delete(traceId);
|
|
72
|
-
return spans;
|
|
73
|
-
}
|
|
74
|
-
onStart(span) {
|
|
75
|
-
var _a;
|
|
76
|
-
if (!this.enabled) return;
|
|
77
|
-
const ctx = span.spanContext();
|
|
78
|
-
const traceId = ctx.traceId;
|
|
79
|
-
const spanId = ctx.spanId;
|
|
80
|
-
const includedSpans = this.includedSpanIds.get(traceId);
|
|
81
|
-
if (!includedSpans) return;
|
|
82
|
-
const parentSpanId = (_a = span.parentSpanContext) == null ? void 0 : _a.spanId;
|
|
83
|
-
if (parentSpanId && includedSpans.has(parentSpanId)) {
|
|
84
|
-
includedSpans.add(spanId);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
onEnd(span) {
|
|
88
|
-
if (!this.enabled) return;
|
|
89
|
-
const ctx = span.spanContext();
|
|
90
|
-
const traceId = ctx.traceId;
|
|
91
|
-
const spanId = ctx.spanId;
|
|
92
|
-
const includedSpans = this.includedSpanIds.get(traceId);
|
|
93
|
-
if (!includedSpans || !includedSpans.has(spanId)) return;
|
|
94
|
-
const spans = this.collectedSpans.get(traceId);
|
|
95
|
-
if (spans) {
|
|
96
|
-
spans.push(this.serializeSpan(span));
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
serializeSpan(span) {
|
|
100
|
-
var _a;
|
|
101
|
-
const ctx = span.spanContext();
|
|
102
|
-
const data = {
|
|
103
|
-
spanId: ctx.spanId,
|
|
104
|
-
parentSpanId: ((_a = span.parentSpanContext) == null ? void 0 : _a.spanId) || null,
|
|
105
|
-
name: span.name,
|
|
106
|
-
kind: SpanKind[span.kind] ?? "INTERNAL",
|
|
107
|
-
// HrTime is [seconds, nanoseconds], convert to nanoseconds as string to avoid precision loss
|
|
108
|
-
startTime: (BigInt(span.startTime[0]) * 1000000000n + BigInt(span.startTime[1])).toString(),
|
|
109
|
-
endTime: (BigInt(span.endTime[0]) * 1000000000n + BigInt(span.endTime[1])).toString()
|
|
110
|
-
};
|
|
111
|
-
if (span.status.code !== SpanStatusCode.UNSET) {
|
|
112
|
-
data.status = SpanStatusCode[span.status.code];
|
|
113
|
-
}
|
|
114
|
-
if (span.attributes && Object.keys(span.attributes).length > 0) {
|
|
115
|
-
data.attributes = {
|
|
116
|
-
...span.attributes
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
return data;
|
|
120
|
-
}
|
|
121
|
-
maintain() {
|
|
122
|
-
const now = Date.now();
|
|
123
|
-
for (const [traceId, startTime] of this.traceStartTimes) {
|
|
124
|
-
if (now - startTime > TRACE_MAX_AGE) {
|
|
125
|
-
this.collectedSpans.delete(traceId);
|
|
126
|
-
this.includedSpanIds.delete(traceId);
|
|
127
|
-
this.traceStartTimes.delete(traceId);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
async shutdown() {
|
|
132
|
-
this.enabled = false;
|
|
133
|
-
this.includedSpanIds.clear();
|
|
134
|
-
this.collectedSpans.clear();
|
|
135
|
-
this.traceStartTimes.clear();
|
|
136
|
-
if (this.maintainIntervalId) {
|
|
137
|
-
clearInterval(this.maintainIntervalId);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
async forceFlush() {
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
__name(_SpanCollector, "SpanCollector");
|
|
144
|
-
let SpanCollector = _SpanCollector;
|
|
145
|
-
const _ApitallySpanProcessor = class _ApitallySpanProcessor {
|
|
146
|
-
getCollector() {
|
|
147
|
-
try {
|
|
148
|
-
return ApitallyClient.getInstance().spanCollector;
|
|
149
|
-
} catch {
|
|
150
|
-
return void 0;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
onStart(span) {
|
|
154
|
-
var _a;
|
|
155
|
-
(_a = this.getCollector()) == null ? void 0 : _a.onStart(span);
|
|
156
|
-
}
|
|
157
|
-
onEnd(span) {
|
|
158
|
-
var _a;
|
|
159
|
-
(_a = this.getCollector()) == null ? void 0 : _a.onEnd(span);
|
|
160
|
-
}
|
|
161
|
-
async shutdown() {
|
|
162
|
-
var _a;
|
|
163
|
-
(_a = this.getCollector()) == null ? void 0 : _a.shutdown();
|
|
164
|
-
}
|
|
165
|
-
async forceFlush() {
|
|
166
|
-
var _a;
|
|
167
|
-
(_a = this.getCollector()) == null ? void 0 : _a.forceFlush();
|
|
168
|
-
}
|
|
169
|
-
};
|
|
170
|
-
__name(_ApitallySpanProcessor, "ApitallySpanProcessor");
|
|
171
|
-
let ApitallySpanProcessor = _ApitallySpanProcessor;
|
|
172
|
-
export {
|
|
173
|
-
ApitallySpanProcessor,
|
|
174
|
-
SpanCollector as default
|
|
175
|
-
};
|
|
176
|
-
//# sourceMappingURL=spanCollector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/common/spanCollector.ts"],"sourcesContent":["import {\n context,\n SpanKind,\n SpanStatusCode,\n trace,\n type Tracer,\n} from \"@opentelemetry/api\";\nimport {\n type ReadableSpan,\n type Span,\n SpanProcessor,\n} from \"@opentelemetry/sdk-trace-base\";\n\nimport { ApitallyClient } from \"./client.js\";\n\nexport type SpanData = {\n spanId: string;\n parentSpanId: string | null;\n name: string;\n kind: string;\n startTime: string; // bigint as string\n endTime: string; // bigint as string\n status?: string;\n attributes?: Record<string, unknown>;\n};\n\nexport type SpanHandle = {\n traceId?: string;\n setName: (name: string) => void;\n runInContext: <T>(fn: () => T) => T;\n enterContext: () => void;\n end: () => SpanData[] | undefined;\n};\n\nconst TRACE_MAX_AGE = 5 * 60 * 1000; // 5 minutes\n\nexport default class SpanCollector implements SpanProcessor {\n public enabled: boolean;\n private includedSpanIds: Map<string, Set<string>> = new Map();\n private collectedSpans: Map<string, SpanData[]> = new Map();\n private traceStartTimes: Map<string, number> = new Map();\n private maintainIntervalId?: NodeJS.Timeout;\n private tracer?: Tracer;\n\n constructor(enabled: boolean) {\n this.enabled = enabled;\n\n if (enabled) {\n this.tracer = trace.getTracer(\"apitally\");\n this.maintainIntervalId = setInterval(() => {\n this.maintain();\n }, 60_000);\n }\n }\n\n startSpan(): SpanHandle {\n if (!this.enabled || !this.tracer) {\n return {\n setName: () => void 0,\n runInContext: <T>(fn: () => T): T => {\n return fn();\n },\n enterContext: () => void 0,\n end: () => undefined,\n };\n }\n\n const span = this.tracer.startSpan(\"root\");\n const spanCtx = span.spanContext();\n const traceId = spanCtx.traceId;\n const ctx = trace.setSpan(context.active(), span);\n let ended = false;\n\n this.includedSpanIds.set(traceId, new Set([spanCtx.spanId]));\n this.collectedSpans.set(traceId, []);\n this.traceStartTimes.set(traceId, Date.now());\n\n return {\n traceId,\n setName: (name: string) => {\n span.updateName(name);\n },\n runInContext: <T>(fn: () => T): T => {\n return context.with(ctx, fn);\n },\n enterContext: () => {\n try {\n // Access the global context manager's internal AsyncLocalStorage\n const contextManager = (context as any)._getContextManager?.();\n contextManager?._asyncLocalStorage?.enterWith(ctx);\n } catch {\n // Ignore errors accessing internals\n }\n },\n end: () => {\n if (ended) return;\n span.end();\n ended = true;\n return this.getAndClearSpans(traceId);\n },\n };\n }\n\n private getAndClearSpans(traceId: string): SpanData[] {\n const spans = this.collectedSpans.get(traceId) ?? [];\n this.collectedSpans.delete(traceId);\n this.includedSpanIds.delete(traceId);\n this.traceStartTimes.delete(traceId);\n return spans;\n }\n\n onStart(span: Span): void {\n if (!this.enabled) return;\n\n const ctx = span.spanContext();\n const traceId = ctx.traceId;\n const spanId = ctx.spanId;\n\n const includedSpans = this.includedSpanIds.get(traceId);\n if (!includedSpans) return;\n\n const parentSpanId = span.parentSpanContext?.spanId;\n if (parentSpanId && includedSpans.has(parentSpanId)) {\n includedSpans.add(spanId);\n }\n }\n\n onEnd(span: ReadableSpan): void {\n if (!this.enabled) return;\n\n const ctx = span.spanContext();\n const traceId = ctx.traceId;\n const spanId = ctx.spanId;\n\n const includedSpans = this.includedSpanIds.get(traceId);\n if (!includedSpans || !includedSpans.has(spanId)) return;\n\n const spans = this.collectedSpans.get(traceId);\n if (spans) {\n spans.push(this.serializeSpan(span));\n }\n }\n\n private serializeSpan(span: ReadableSpan): SpanData {\n const ctx = span.spanContext();\n\n const data: SpanData = {\n spanId: ctx.spanId,\n parentSpanId: span.parentSpanContext?.spanId || null,\n name: span.name,\n kind: SpanKind[span.kind] ?? \"INTERNAL\",\n // HrTime is [seconds, nanoseconds], convert to nanoseconds as string to avoid precision loss\n startTime: (\n BigInt(span.startTime[0]) * 1_000_000_000n +\n BigInt(span.startTime[1])\n ).toString(),\n endTime: (\n BigInt(span.endTime[0]) * 1_000_000_000n +\n BigInt(span.endTime[1])\n ).toString(),\n };\n\n if (span.status.code !== SpanStatusCode.UNSET) {\n data.status = SpanStatusCode[span.status.code];\n }\n\n if (span.attributes && Object.keys(span.attributes).length > 0) {\n data.attributes = { ...span.attributes };\n }\n\n return data;\n }\n\n private maintain() {\n const now = Date.now();\n for (const [traceId, startTime] of this.traceStartTimes) {\n if (now - startTime > TRACE_MAX_AGE) {\n this.collectedSpans.delete(traceId);\n this.includedSpanIds.delete(traceId);\n this.traceStartTimes.delete(traceId);\n }\n }\n }\n\n async shutdown(): Promise<void> {\n this.enabled = false;\n this.includedSpanIds.clear();\n this.collectedSpans.clear();\n this.traceStartTimes.clear();\n if (this.maintainIntervalId) {\n clearInterval(this.maintainIntervalId);\n }\n }\n\n async forceFlush(): Promise<void> {\n // Nothing to flush since we collect spans synchronously\n }\n}\n\nexport class ApitallySpanProcessor implements SpanProcessor {\n private getCollector(): SpanCollector | undefined {\n try {\n return ApitallyClient.getInstance().spanCollector;\n } catch {\n return undefined;\n }\n }\n\n onStart(span: Span) {\n this.getCollector()?.onStart(span);\n }\n\n onEnd(span: ReadableSpan) {\n this.getCollector()?.onEnd(span);\n }\n\n async shutdown() {\n this.getCollector()?.shutdown();\n }\n\n async forceFlush() {\n this.getCollector()?.forceFlush();\n }\n}\n"],"mappings":"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","names":["context","SpanKind","SpanStatusCode","trace","ApitallyClient","TRACE_MAX_AGE","SpanCollector","enabled","includedSpanIds","Map","collectedSpans","traceStartTimes","maintainIntervalId","tracer","getTracer","setInterval","maintain","startSpan","setName","runInContext","fn","enterContext","end","undefined","span","spanCtx","spanContext","traceId","ctx","setSpan","active","ended","set","Set","spanId","Date","now","name","updateName","with","contextManager","_getContextManager","_asyncLocalStorage","enterWith","getAndClearSpans","spans","get","delete","onStart","includedSpans","parentSpanId","parentSpanContext","has","add","onEnd","push","serializeSpan","data","kind","startTime","BigInt","toString","endTime","status","code","UNSET","attributes","Object","keys","length","shutdown","clear","clearInterval","forceFlush","ApitallySpanProcessor","getCollector","getInstance","spanCollector"]}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
var tempGzipFile_exports = {};
|
|
21
|
-
__export(tempGzipFile_exports, {
|
|
22
|
-
checkWritableFs: () => checkWritableFs,
|
|
23
|
-
default: () => TempGzipFile
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(tempGzipFile_exports);
|
|
26
|
-
var import_node_buffer = require("node:buffer");
|
|
27
|
-
var import_node_crypto = require("node:crypto");
|
|
28
|
-
var import_node_fs = require("node:fs");
|
|
29
|
-
var import_promises = require("node:fs/promises");
|
|
30
|
-
var import_node_os = require("node:os");
|
|
31
|
-
var import_node_path = require("node:path");
|
|
32
|
-
var import_node_zlib = require("node:zlib");
|
|
33
|
-
const TEMP_DIR = (0, import_node_path.join)((0, import_node_os.tmpdir)(), "apitally");
|
|
34
|
-
function checkWritableFs() {
|
|
35
|
-
try {
|
|
36
|
-
(0, import_node_fs.mkdirSync)(TEMP_DIR, {
|
|
37
|
-
recursive: true
|
|
38
|
-
});
|
|
39
|
-
const testPath = (0, import_node_path.join)(TEMP_DIR, `test_${(0, import_node_crypto.randomUUID)()}`);
|
|
40
|
-
(0, import_node_fs.writeFileSync)(testPath, "test");
|
|
41
|
-
(0, import_node_fs.unlinkSync)(testPath);
|
|
42
|
-
return true;
|
|
43
|
-
} catch (error) {
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
__name(checkWritableFs, "checkWritableFs");
|
|
48
|
-
const _TempGzipFile = class _TempGzipFile {
|
|
49
|
-
uuid;
|
|
50
|
-
filePath;
|
|
51
|
-
gzip;
|
|
52
|
-
writeStream;
|
|
53
|
-
readyPromise;
|
|
54
|
-
closedPromise;
|
|
55
|
-
constructor(name) {
|
|
56
|
-
(0, import_node_fs.mkdirSync)(TEMP_DIR, {
|
|
57
|
-
recursive: true
|
|
58
|
-
});
|
|
59
|
-
this.uuid = (0, import_node_crypto.randomUUID)();
|
|
60
|
-
this.filePath = (0, import_node_path.join)(TEMP_DIR, `${name}_${this.uuid}.gz`);
|
|
61
|
-
this.writeStream = (0, import_node_fs.createWriteStream)(this.filePath);
|
|
62
|
-
this.readyPromise = new Promise((resolve, reject) => {
|
|
63
|
-
this.writeStream.once("ready", resolve);
|
|
64
|
-
this.writeStream.once("error", reject);
|
|
65
|
-
});
|
|
66
|
-
this.closedPromise = new Promise((resolve, reject) => {
|
|
67
|
-
this.writeStream.once("close", resolve);
|
|
68
|
-
this.writeStream.once("error", reject);
|
|
69
|
-
});
|
|
70
|
-
this.gzip = (0, import_node_zlib.createGzip)();
|
|
71
|
-
this.gzip.pipe(this.writeStream);
|
|
72
|
-
}
|
|
73
|
-
get size() {
|
|
74
|
-
return this.writeStream.bytesWritten;
|
|
75
|
-
}
|
|
76
|
-
async writeLines(lines) {
|
|
77
|
-
if (lines.length === 0) return;
|
|
78
|
-
await this.readyPromise;
|
|
79
|
-
const parts = [];
|
|
80
|
-
const newline = import_node_buffer.Buffer.from("\n");
|
|
81
|
-
for (const line of lines) {
|
|
82
|
-
parts.push(line, newline);
|
|
83
|
-
}
|
|
84
|
-
const combined = import_node_buffer.Buffer.concat(parts);
|
|
85
|
-
return new Promise((resolve, reject) => {
|
|
86
|
-
this.gzip.write(combined, (error) => {
|
|
87
|
-
if (error) {
|
|
88
|
-
reject(error);
|
|
89
|
-
} else {
|
|
90
|
-
resolve();
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
async getContent() {
|
|
96
|
-
return new Promise((resolve, reject) => {
|
|
97
|
-
(0, import_node_fs.readFile)(this.filePath, (error, data) => {
|
|
98
|
-
if (error) {
|
|
99
|
-
reject(error);
|
|
100
|
-
} else {
|
|
101
|
-
resolve(data);
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
async close() {
|
|
107
|
-
await new Promise((resolve) => {
|
|
108
|
-
this.gzip.end(() => {
|
|
109
|
-
resolve();
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
await this.closedPromise;
|
|
113
|
-
}
|
|
114
|
-
async delete() {
|
|
115
|
-
await this.close();
|
|
116
|
-
await (0, import_promises.unlink)(this.filePath);
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
__name(_TempGzipFile, "TempGzipFile");
|
|
120
|
-
let TempGzipFile = _TempGzipFile;
|
|
121
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
122
|
-
0 && (module.exports = {
|
|
123
|
-
checkWritableFs
|
|
124
|
-
});
|
|
125
|
-
//# sourceMappingURL=tempGzipFile.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/common/tempGzipFile.ts"],"sourcesContent":["import { Buffer } from \"node:buffer\";\nimport { randomUUID } from \"node:crypto\";\nimport {\n createWriteStream,\n mkdirSync,\n readFile,\n unlinkSync,\n writeFileSync,\n WriteStream,\n} from \"node:fs\";\nimport { unlink } from \"node:fs/promises\";\nimport { tmpdir } from \"node:os\";\nimport { join } from \"node:path\";\nimport { createGzip, Gzip } from \"node:zlib\";\n\nconst TEMP_DIR = join(tmpdir(), \"apitally\");\n\nexport function checkWritableFs() {\n try {\n mkdirSync(TEMP_DIR, { recursive: true });\n const testPath = join(TEMP_DIR, `test_${randomUUID()}`);\n writeFileSync(testPath, \"test\");\n unlinkSync(testPath);\n return true;\n } catch (error) {\n return false;\n }\n}\n\nexport default class TempGzipFile {\n public uuid: string;\n private filePath: string;\n private gzip: Gzip;\n private writeStream: WriteStream;\n private readyPromise: Promise<void>;\n private closedPromise: Promise<void>;\n\n constructor(name: string) {\n mkdirSync(TEMP_DIR, { recursive: true });\n this.uuid = randomUUID();\n this.filePath = join(TEMP_DIR, `${name}_${this.uuid}.gz`);\n this.writeStream = createWriteStream(this.filePath);\n this.readyPromise = new Promise<void>((resolve, reject) => {\n this.writeStream.once(\"ready\", resolve);\n this.writeStream.once(\"error\", reject);\n });\n this.closedPromise = new Promise<void>((resolve, reject) => {\n this.writeStream.once(\"close\", resolve);\n this.writeStream.once(\"error\", reject);\n });\n this.gzip = createGzip();\n this.gzip.pipe(this.writeStream);\n }\n\n get size() {\n return this.writeStream.bytesWritten;\n }\n\n async writeLines(lines: Buffer[]) {\n if (lines.length === 0) return;\n await this.readyPromise;\n const parts: Buffer[] = [];\n const newline = Buffer.from(\"\\n\");\n for (const line of lines) {\n parts.push(line, newline);\n }\n const combined = Buffer.concat(parts);\n return new Promise<void>((resolve, reject) => {\n this.gzip.write(combined, (error) => {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n }\n\n async getContent() {\n return new Promise<Buffer>((resolve, reject) => {\n readFile(this.filePath, (error, data) => {\n if (error) {\n reject(error);\n } else {\n resolve(data);\n }\n });\n });\n }\n\n async close() {\n await new Promise<void>((resolve) => {\n this.gzip.end(() => {\n resolve();\n });\n });\n await this.closedPromise;\n }\n\n async delete() {\n await this.close();\n await unlink(this.filePath);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAAA,yBAAuB;AACvB,yBAA2B;AAC3B,qBAOO;AACP,sBAAuB;AACvB,qBAAuB;AACvB,uBAAqB;AACrB,uBAAiC;AAEjC,MAAMA,eAAWC,2BAAKC,uBAAAA,GAAU,UAAA;AAEzB,SAASC,kBAAAA;AACd,MAAI;AACFC,kCAAUJ,UAAU;MAAEK,WAAW;IAAK,CAAA;AACtC,UAAMC,eAAWL,uBAAKD,UAAU,YAAQO,+BAAAA,CAAAA,EAAc;AACtDC,sCAAcF,UAAU,MAAA;AACxBG,mCAAWH,QAAAA;AACX,WAAO;EACT,SAASI,OAAO;AACd,WAAO;EACT;AACF;AAVgBP;AAYhB,MAAqBQ,gBAArB,MAAqBA,cAAAA;EACZC;EACCC;EACAC;EACAC;EACAC;EACAC;EAER,YAAYC,MAAc;AACxBd,kCAAUJ,UAAU;MAAEK,WAAW;IAAK,CAAA;AACtC,SAAKO,WAAOL,+BAAAA;AACZ,SAAKM,eAAWZ,uBAAKD,UAAU,GAAGkB,IAAAA,IAAQ,KAAKN,IAAI,KAAK;AACxD,SAAKG,kBAAcI,kCAAkB,KAAKN,QAAQ;AAClD,SAAKG,eAAe,IAAII,QAAc,CAACC,SAASC,WAAAA;AAC9C,WAAKP,YAAYQ,KAAK,SAASF,OAAAA;AAC/B,WAAKN,YAAYQ,KAAK,SAASD,MAAAA;IACjC,CAAA;AACA,SAAKL,gBAAgB,IAAIG,QAAc,CAACC,SAASC,WAAAA;AAC/C,WAAKP,YAAYQ,KAAK,SAASF,OAAAA;AAC/B,WAAKN,YAAYQ,KAAK,SAASD,MAAAA;IACjC,CAAA;AACA,SAAKR,WAAOU,6BAAAA;AACZ,SAAKV,KAAKW,KAAK,KAAKV,WAAW;EACjC;EAEA,IAAIW,OAAO;AACT,WAAO,KAAKX,YAAYY;EAC1B;EAEA,MAAMC,WAAWC,OAAiB;AAChC,QAAIA,MAAMC,WAAW,EAAG;AACxB,UAAM,KAAKd;AACX,UAAMe,QAAkB,CAAA;AACxB,UAAMC,UAAUC,0BAAOC,KAAK,IAAA;AAC5B,eAAWC,QAAQN,OAAO;AACxBE,YAAMK,KAAKD,MAAMH,OAAAA;IACnB;AACA,UAAMK,WAAWJ,0BAAOK,OAAOP,KAAAA;AAC/B,WAAO,IAAIX,QAAc,CAACC,SAASC,WAAAA;AACjC,WAAKR,KAAKyB,MAAMF,UAAU,CAAC3B,UAAAA;AACzB,YAAIA,OAAO;AACTY,iBAAOZ,KAAAA;QACT,OAAO;AACLW,kBAAAA;QACF;MACF,CAAA;IACF,CAAA;EACF;EAEA,MAAMmB,aAAa;AACjB,WAAO,IAAIpB,QAAgB,CAACC,SAASC,WAAAA;AACnCmB,mCAAS,KAAK5B,UAAU,CAACH,OAAOgC,SAAAA;AAC9B,YAAIhC,OAAO;AACTY,iBAAOZ,KAAAA;QACT,OAAO;AACLW,kBAAQqB,IAAAA;QACV;MACF,CAAA;IACF,CAAA;EACF;EAEA,MAAMC,QAAQ;AACZ,UAAM,IAAIvB,QAAc,CAACC,YAAAA;AACvB,WAAKP,KAAK8B,IAAI,MAAA;AACZvB,gBAAAA;MACF,CAAA;IACF,CAAA;AACA,UAAM,KAAKJ;EACb;EAEA,MAAM4B,SAAS;AACb,UAAM,KAAKF,MAAK;AAChB,cAAMG,wBAAO,KAAKjC,QAAQ;EAC5B;AACF;AA1EqBF;AAArB,IAAqBA,eAArB;","names":["TEMP_DIR","join","tmpdir","checkWritableFs","mkdirSync","recursive","testPath","randomUUID","writeFileSync","unlinkSync","error","TempGzipFile","uuid","filePath","gzip","writeStream","readyPromise","closedPromise","name","createWriteStream","Promise","resolve","reject","once","createGzip","pipe","size","bytesWritten","writeLines","lines","length","parts","newline","Buffer","from","line","push","combined","concat","write","getContent","readFile","data","close","end","delete","unlink"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Buffer } from 'node:buffer';
|
|
2
|
-
|
|
3
|
-
declare function checkWritableFs(): boolean;
|
|
4
|
-
declare class TempGzipFile {
|
|
5
|
-
uuid: string;
|
|
6
|
-
private filePath;
|
|
7
|
-
private gzip;
|
|
8
|
-
private writeStream;
|
|
9
|
-
private readyPromise;
|
|
10
|
-
private closedPromise;
|
|
11
|
-
constructor(name: string);
|
|
12
|
-
get size(): number;
|
|
13
|
-
writeLines(lines: Buffer[]): Promise<void>;
|
|
14
|
-
getContent(): Promise<Buffer<ArrayBufferLike>>;
|
|
15
|
-
close(): Promise<void>;
|
|
16
|
-
delete(): Promise<void>;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export { checkWritableFs, TempGzipFile as default };
|