apitally 0.25.6 → 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 +114 -150
- 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 -527
- package/dist/common/requestLogger.cjs.map +0 -1
- package/dist/common/requestLogger.d.cts +0 -84
- package/dist/common/requestLogger.d.ts +0 -84
- package/dist/common/requestLogger.js +0 -493
- 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 -121
- 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 -98
- 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
|
@@ -0,0 +1,371 @@
|
|
|
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 __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var activation_exports = {};
|
|
20
|
+
__export(activation_exports, {
|
|
21
|
+
activate: () => activate,
|
|
22
|
+
activationFactories: () => activationFactories,
|
|
23
|
+
configure: () => configure,
|
|
24
|
+
flushTelemetry: () => flushTelemetry,
|
|
25
|
+
getActivationHandles: () => getActivationHandles,
|
|
26
|
+
isActivated: () => isActivated,
|
|
27
|
+
registerStartupEventInfo: () => registerStartupEventInfo,
|
|
28
|
+
resetActivation: () => resetActivation,
|
|
29
|
+
shutdown: () => shutdown
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(activation_exports);
|
|
32
|
+
var import_node_worker_threads = require("node:worker_threads");
|
|
33
|
+
var import_instrumentation_undici = require("@opentelemetry/instrumentation-undici");
|
|
34
|
+
var import_sdk_logs = require("@opentelemetry/sdk-logs");
|
|
35
|
+
var import_sdk_trace_base = require("@opentelemetry/sdk-trace-base");
|
|
36
|
+
var import_config = require('./config.cjs');
|
|
37
|
+
var import_exportWorker = require('./exportWorker.cjs');
|
|
38
|
+
var import_logCapture = require('./logCapture.cjs');
|
|
39
|
+
var import_logger = require('./logger.cjs');
|
|
40
|
+
var import_logRecordExporter = require('./logRecordExporter.cjs');
|
|
41
|
+
var import_logRecordProcessor = require('./logRecordProcessor.cjs');
|
|
42
|
+
var import_metrics = require('./metrics.cjs');
|
|
43
|
+
var import_packageVersion = require('./packageVersion.cjs');
|
|
44
|
+
var import_providers = require('./providers.cjs');
|
|
45
|
+
var import_redaction = require('./redaction.cjs');
|
|
46
|
+
var import_sentry = require('./sentry.cjs');
|
|
47
|
+
var import_spanExporter = require('./spanExporter.cjs');
|
|
48
|
+
var import_spanProcessor = require('./spanProcessor.cjs');
|
|
49
|
+
var import_spool = require('./spool.cjs');
|
|
50
|
+
var import_startup = require('./startup.cjs');
|
|
51
|
+
const BATCH_SCHEDULE_DELAY_MILLIS = 1e3;
|
|
52
|
+
const BATCH_EXPORT_TIMEOUT_MILLIS = 3e4;
|
|
53
|
+
const BATCH_MAX_QUEUE_SIZE = 2048;
|
|
54
|
+
const BATCH_MAX_EXPORT_BATCH_SIZE = 512;
|
|
55
|
+
const BATCH_MAX_EXPORT_BATCH_SIZE_WITH_BODY_CAPTURE = 32;
|
|
56
|
+
const SIGNAL_FLUSH_TIMEOUT_MILLIS = 5e3;
|
|
57
|
+
const ACTIVATION_STATE_KEY = /* @__PURE__ */ Symbol.for("apitally.activation");
|
|
58
|
+
function configure(options = {}) {
|
|
59
|
+
const config = (0, import_config.setConfig)(options);
|
|
60
|
+
if (!config.disabled && process.env.OTEL_SEMCONV_STABILITY_OPT_IN === void 0) {
|
|
61
|
+
process.env.OTEL_SEMCONV_STABILITY_OPT_IN = "http/dup";
|
|
62
|
+
}
|
|
63
|
+
(0, import_spanProcessor.setServerSpanActivationCallback)(activate);
|
|
64
|
+
return config;
|
|
65
|
+
}
|
|
66
|
+
function registerStartupEventInfo(info) {
|
|
67
|
+
const activationState = getActivationState();
|
|
68
|
+
activationState.startupEventInfo ??= info;
|
|
69
|
+
}
|
|
70
|
+
function activate(triggeringSpan) {
|
|
71
|
+
const activationState = getActivationState();
|
|
72
|
+
if (activationState.activationAttempted) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
activationState.activationAttempted = true;
|
|
76
|
+
if (shouldSkipActivation()) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
const handles = startPipelines(activationState.startupEventInfo, triggeringSpan);
|
|
81
|
+
activationState.handles = handles;
|
|
82
|
+
activationState.runShutdown = () => drainAndStop(handles);
|
|
83
|
+
installBeforeExitHook(activationState);
|
|
84
|
+
installSignalHooks(activationState);
|
|
85
|
+
} catch (error) {
|
|
86
|
+
(0, import_logger.logError)(`Apitally activation failed: ${String(error)}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function isActivated() {
|
|
90
|
+
return getActivationState().handles !== void 0;
|
|
91
|
+
}
|
|
92
|
+
function getActivationHandles() {
|
|
93
|
+
return getActivationState().handles;
|
|
94
|
+
}
|
|
95
|
+
async function flushTelemetry() {
|
|
96
|
+
try {
|
|
97
|
+
await getActivationState().handles?.worker.runCycle();
|
|
98
|
+
} catch (error) {
|
|
99
|
+
(0, import_logger.logDebug)(`Error flushing telemetry: ${String(error)}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
function shutdown() {
|
|
103
|
+
const activationState = getActivationState();
|
|
104
|
+
const handles = activationState.handles;
|
|
105
|
+
const runShutdown = activationState.runShutdown;
|
|
106
|
+
if (!handles || !runShutdown) {
|
|
107
|
+
return Promise.resolve();
|
|
108
|
+
}
|
|
109
|
+
if (!activationState.shutdownPromise) {
|
|
110
|
+
removeLifecycleHooks(activationState);
|
|
111
|
+
const signalDrainPromise = activationState.signalDrainPromise;
|
|
112
|
+
activationState.shutdownPromise = (signalDrainPromise ? signalDrainPromise.then(() => handles.worker.waitForIdle()) : Promise.resolve()).then(runShutdown);
|
|
113
|
+
}
|
|
114
|
+
return activationState.shutdownPromise;
|
|
115
|
+
}
|
|
116
|
+
const activationFactories = {
|
|
117
|
+
createSpool: () => new import_spool.Spool(),
|
|
118
|
+
createExportWorker: (options) => new import_exportWorker.ExportWorker(options)
|
|
119
|
+
};
|
|
120
|
+
const defaultFactories = { ...activationFactories };
|
|
121
|
+
async function resetActivation() {
|
|
122
|
+
Object.assign(activationFactories, defaultFactories);
|
|
123
|
+
const holder = globalThis;
|
|
124
|
+
const activationState = holder[ACTIVATION_STATE_KEY];
|
|
125
|
+
delete holder[ACTIVATION_STATE_KEY];
|
|
126
|
+
hasWarnedAboutVersionSkew = false;
|
|
127
|
+
if (!activationState) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
removeLifecycleHooks(activationState);
|
|
131
|
+
const handles = activationState.handles;
|
|
132
|
+
if (!handles) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
handles.undiciInstrumentation?.disable();
|
|
136
|
+
await handles.worker.stop();
|
|
137
|
+
await handles.spanPipeline.shutdown();
|
|
138
|
+
await handles.loggerProvider.shutdown();
|
|
139
|
+
await handles.spool.clear();
|
|
140
|
+
}
|
|
141
|
+
let hasWarnedAboutVersionSkew = false;
|
|
142
|
+
function getActivationState() {
|
|
143
|
+
const holder = globalThis;
|
|
144
|
+
const existing = holder[ACTIVATION_STATE_KEY];
|
|
145
|
+
if (existing) {
|
|
146
|
+
if (!hasWarnedAboutVersionSkew && existing.sdkVersion !== (0, import_packageVersion.getDistroVersion)()) {
|
|
147
|
+
hasWarnedAboutVersionSkew = true;
|
|
148
|
+
(0, import_logger.logWarning)(
|
|
149
|
+
`Two copies of the apitally package with different versions (${existing.sdkVersion} and ${(0, import_packageVersion.getDistroVersion)()}) are loaded in this process; version ${existing.sdkVersion} stays active. To resolve this, deduplicate the apitally installation.`
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
return existing;
|
|
153
|
+
}
|
|
154
|
+
const activationState = {
|
|
155
|
+
sdkVersion: (0, import_packageVersion.getDistroVersion)(),
|
|
156
|
+
activationAttempted: false
|
|
157
|
+
};
|
|
158
|
+
holder[ACTIVATION_STATE_KEY] = activationState;
|
|
159
|
+
return activationState;
|
|
160
|
+
}
|
|
161
|
+
function shouldSkipActivation() {
|
|
162
|
+
return Boolean(process.env.JEST_WORKER_ID) || Boolean(process.env.VITEST) || process.env.NODE_ENV === "test" || // The emergency kill switch overrides an explicit disabled: false option.
|
|
163
|
+
(0, import_config.isApitallyDisabledViaEnv)() || (0, import_config.getConfig)().disabled;
|
|
164
|
+
}
|
|
165
|
+
function startPipelines(startupEventInfo, triggeringSpan) {
|
|
166
|
+
const config = (0, import_config.getConfig)();
|
|
167
|
+
let hasUserProvider = (0, import_spanProcessor.isApitallySpanProcessorDeclared)();
|
|
168
|
+
const { env, resource } = (0, import_providers.resolveEnvAndCreateResource)(hasUserProvider, triggeringSpan?.resource);
|
|
169
|
+
const instanceId = resource.attributes["service.instance.id"];
|
|
170
|
+
const spool = activationFactories.createSpool();
|
|
171
|
+
const spanExporter = new import_spanExporter.ApitallySpanExporter({
|
|
172
|
+
redaction: new import_redaction.Redaction(),
|
|
173
|
+
env,
|
|
174
|
+
instanceId,
|
|
175
|
+
spool,
|
|
176
|
+
maskRequestBody: config.maskRequestBody,
|
|
177
|
+
maskResponseBody: config.maskResponseBody
|
|
178
|
+
});
|
|
179
|
+
const batchSpanProcessor = new import_sdk_trace_base.BatchSpanProcessor(spanExporter, {
|
|
180
|
+
scheduledDelayMillis: BATCH_SCHEDULE_DELAY_MILLIS,
|
|
181
|
+
exportTimeoutMillis: BATCH_EXPORT_TIMEOUT_MILLIS,
|
|
182
|
+
maxQueueSize: BATCH_MAX_QUEUE_SIZE,
|
|
183
|
+
maxExportBatchSize: config.captureRequestBody || config.captureResponseBody ? BATCH_MAX_EXPORT_BATCH_SIZE_WITH_BODY_CAPTURE : BATCH_MAX_EXPORT_BATCH_SIZE
|
|
184
|
+
});
|
|
185
|
+
const spanPipeline = new import_spanProcessor.SpanPipeline(batchSpanProcessor);
|
|
186
|
+
let tracerProvider;
|
|
187
|
+
if (!hasUserProvider) {
|
|
188
|
+
tracerProvider = (0, import_providers.setupTracerProvider)(resource, [spanPipeline]);
|
|
189
|
+
if (!tracerProvider) {
|
|
190
|
+
hasUserProvider = true;
|
|
191
|
+
(0, import_logger.logWarning)(
|
|
192
|
+
"Apitally could not register its OpenTelemetry tracer provider because another provider is already registered. Only metrics and the startup event are sent to Apitally until you add ApitallySpanProcessor (exported by the apitally package) to your tracer provider's spanProcessors constructor option or the NodeSDK spanProcessors option."
|
|
193
|
+
);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
(0, import_spanProcessor.setActiveSpanPipeline)(spanPipeline);
|
|
197
|
+
const batchLogProcessor = new import_sdk_logs.BatchLogRecordProcessor({
|
|
198
|
+
exporter: new import_logRecordExporter.ApitallyLogRecordExporter(spool),
|
|
199
|
+
scheduledDelayMillis: BATCH_SCHEDULE_DELAY_MILLIS,
|
|
200
|
+
exportTimeoutMillis: BATCH_EXPORT_TIMEOUT_MILLIS,
|
|
201
|
+
maxQueueSize: BATCH_MAX_QUEUE_SIZE,
|
|
202
|
+
maxExportBatchSize: BATCH_MAX_EXPORT_BATCH_SIZE
|
|
203
|
+
});
|
|
204
|
+
const logRecordProcessor = new import_logRecordProcessor.ApitallyLogRecordProcessor(batchLogProcessor, spanPipeline);
|
|
205
|
+
const loggerProvider = (0, import_providers.createLoggerProvider)(resource, [logRecordProcessor]);
|
|
206
|
+
const metricsPipeline = new import_metrics.MetricsPipeline(resource, spool);
|
|
207
|
+
spanPipeline.metricsRecorder = (record) => metricsPipeline.recordFromRequest(record);
|
|
208
|
+
const worker = activationFactories.createExportWorker({
|
|
209
|
+
spool,
|
|
210
|
+
otlpEndpoint: config.otlpEndpoint,
|
|
211
|
+
writeToken: config.writeToken,
|
|
212
|
+
env
|
|
213
|
+
});
|
|
214
|
+
worker.flushCallbacks.push(
|
|
215
|
+
() => metricsPipeline.collectAndExport(),
|
|
216
|
+
() => batchSpanProcessor.forceFlush(),
|
|
217
|
+
() => batchLogProcessor.forceFlush()
|
|
218
|
+
);
|
|
219
|
+
if (config.captureLogs) {
|
|
220
|
+
(0, import_logCapture.installConsoleCapture)(loggerProvider);
|
|
221
|
+
(0, import_logCapture.installNestLoggerCapture)(loggerProvider);
|
|
222
|
+
(0, import_logCapture.installWinstonCapture)(loggerProvider);
|
|
223
|
+
(0, import_logCapture.installPinoCapture)(loggerProvider);
|
|
224
|
+
}
|
|
225
|
+
(0, import_sentry.installSentryEventIdRecording)();
|
|
226
|
+
let undiciInstrumentation;
|
|
227
|
+
if (!hasUserProvider) {
|
|
228
|
+
undiciInstrumentation = createUndiciInstrumentation(config.otlpEndpoint);
|
|
229
|
+
}
|
|
230
|
+
worker.start();
|
|
231
|
+
if (startupEventInfo) {
|
|
232
|
+
(0, import_startup.emitStartupEvent)(loggerProvider, startupEventInfo);
|
|
233
|
+
}
|
|
234
|
+
return {
|
|
235
|
+
spanPipeline,
|
|
236
|
+
tracerProvider,
|
|
237
|
+
loggerProvider,
|
|
238
|
+
metricsPipeline,
|
|
239
|
+
spool,
|
|
240
|
+
worker,
|
|
241
|
+
undiciInstrumentation
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
function createUndiciInstrumentation(otlpEndpoint) {
|
|
245
|
+
const endpointOrigin = new URL(otlpEndpoint).origin;
|
|
246
|
+
return new import_instrumentation_undici.UndiciInstrumentation({
|
|
247
|
+
ignoreRequestHook: (request) => {
|
|
248
|
+
try {
|
|
249
|
+
return new URL(String(request.origin)).origin === endpointOrigin;
|
|
250
|
+
} catch {
|
|
251
|
+
return false;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
async function drainAndStop(handles) {
|
|
257
|
+
try {
|
|
258
|
+
await handles.spanPipeline.shutdown();
|
|
259
|
+
await handles.loggerProvider.shutdown();
|
|
260
|
+
await handles.worker.finalDrain();
|
|
261
|
+
await handles.worker.stop();
|
|
262
|
+
} catch (error) {
|
|
263
|
+
(0, import_logger.logWarning)(`Error draining telemetry on shutdown: ${String(error)}`);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
function installSignalHooks(activationState) {
|
|
267
|
+
if (process.platform === "win32" || !import_node_worker_threads.isMainThread) {
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
let listeners;
|
|
271
|
+
listeners = {
|
|
272
|
+
SIGTERM: () => handleTerminationSignal(activationState, listeners, "SIGTERM"),
|
|
273
|
+
SIGINT: () => handleTerminationSignal(activationState, listeners, "SIGINT")
|
|
274
|
+
};
|
|
275
|
+
activationState.signalListeners = listeners;
|
|
276
|
+
try {
|
|
277
|
+
process.prependOnceListener("SIGTERM", listeners.SIGTERM);
|
|
278
|
+
process.prependOnceListener("SIGINT", listeners.SIGINT);
|
|
279
|
+
} catch (error) {
|
|
280
|
+
removeSignalHooks(activationState, listeners);
|
|
281
|
+
(0, import_logger.logWarning)(`Unable to install Apitally signal handlers: ${String(error)}`);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
function handleTerminationSignal(activationState, listeners, signal) {
|
|
285
|
+
const hasApplicationListener = process.listeners(signal).some((listener) => listener !== listeners[signal]);
|
|
286
|
+
removeSignalHooks(activationState, listeners);
|
|
287
|
+
const drainPromise = flushAfterTerminationSignal(activationState, signal, hasApplicationListener);
|
|
288
|
+
activationState.signalDrainPromise = drainPromise;
|
|
289
|
+
void drainPromise.catch((error) => {
|
|
290
|
+
(0, import_logger.logDebug)(`Error flushing telemetry on ${signal}: ${String(error)}`);
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
async function flushAfterTerminationSignal(activationState, signal, hasApplicationListener) {
|
|
294
|
+
const handles = activationState.handles;
|
|
295
|
+
if (!handles) {
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
try {
|
|
299
|
+
if (activationState.shutdownPromise) {
|
|
300
|
+
await waitForSignalDeadline(activationState.shutdownPromise);
|
|
301
|
+
} else {
|
|
302
|
+
await handles.worker.finalDrain(SIGNAL_FLUSH_TIMEOUT_MILLIS);
|
|
303
|
+
}
|
|
304
|
+
} catch (error) {
|
|
305
|
+
(0, import_logger.logDebug)(`Error flushing telemetry on ${signal}: ${String(error)}`);
|
|
306
|
+
}
|
|
307
|
+
if (hasApplicationListener || process.listeners(signal).length > 0) {
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
const exitCode = signal === "SIGTERM" ? 143 : 130;
|
|
311
|
+
if (process.platform === "linux" && process.pid === 1) {
|
|
312
|
+
process.exit(exitCode);
|
|
313
|
+
}
|
|
314
|
+
try {
|
|
315
|
+
process.kill(process.pid, signal);
|
|
316
|
+
} catch {
|
|
317
|
+
process.exit(exitCode);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
async function waitForSignalDeadline(promise) {
|
|
321
|
+
let deadlineTimer;
|
|
322
|
+
const deadlineReached = new Promise((resolve) => {
|
|
323
|
+
deadlineTimer = setTimeout(resolve, SIGNAL_FLUSH_TIMEOUT_MILLIS);
|
|
324
|
+
});
|
|
325
|
+
try {
|
|
326
|
+
await Promise.race([promise, deadlineReached]);
|
|
327
|
+
} finally {
|
|
328
|
+
if (deadlineTimer) {
|
|
329
|
+
clearTimeout(deadlineTimer);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
function removeSignalHooks(activationState, listeners = activationState.signalListeners) {
|
|
334
|
+
if (!listeners) {
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
process.removeListener("SIGTERM", listeners.SIGTERM);
|
|
338
|
+
process.removeListener("SIGINT", listeners.SIGINT);
|
|
339
|
+
if (activationState.signalListeners === listeners) {
|
|
340
|
+
activationState.signalListeners = void 0;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
function removeLifecycleHooks(activationState) {
|
|
344
|
+
removeSignalHooks(activationState);
|
|
345
|
+
if (activationState.beforeExitListener) {
|
|
346
|
+
process.removeListener("beforeExit", activationState.beforeExitListener);
|
|
347
|
+
activationState.beforeExitListener = void 0;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
function installBeforeExitHook(activationState) {
|
|
351
|
+
const listener = () => {
|
|
352
|
+
void shutdown().catch((error) => {
|
|
353
|
+
(0, import_logger.logDebug)(`Error draining telemetry on shutdown: ${String(error)}`);
|
|
354
|
+
});
|
|
355
|
+
};
|
|
356
|
+
activationState.beforeExitListener = listener;
|
|
357
|
+
process.on("beforeExit", listener);
|
|
358
|
+
}
|
|
359
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
360
|
+
0 && (module.exports = {
|
|
361
|
+
activate,
|
|
362
|
+
activationFactories,
|
|
363
|
+
configure,
|
|
364
|
+
flushTelemetry,
|
|
365
|
+
getActivationHandles,
|
|
366
|
+
isActivated,
|
|
367
|
+
registerStartupEventInfo,
|
|
368
|
+
resetActivation,
|
|
369
|
+
shutdown
|
|
370
|
+
});
|
|
371
|
+
//# sourceMappingURL=activation.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/activation.ts"],"sourcesContent":["import { isMainThread } from \"node:worker_threads\";\nimport { UndiciInstrumentation } from \"@opentelemetry/instrumentation-undici\";\nimport { BatchLogRecordProcessor, type LoggerProvider } from \"@opentelemetry/sdk-logs\";\nimport { BatchSpanProcessor, type Span } from \"@opentelemetry/sdk-trace-base\";\nimport type { NodeTracerProvider } from \"@opentelemetry/sdk-trace-node\";\nimport {\n type ApitallyConfig,\n type ApitallyOptions,\n getConfig,\n isApitallyDisabledViaEnv,\n setConfig,\n} from \"./config.js\";\nimport { ExportWorker, type ExportWorkerOptions } from \"./exportWorker.js\";\nimport {\n installConsoleCapture,\n installNestLoggerCapture,\n installPinoCapture,\n installWinstonCapture,\n} from \"./logCapture.js\";\nimport { logDebug, logError, logWarning } from \"./logger.js\";\nimport { ApitallyLogRecordExporter } from \"./logRecordExporter.js\";\nimport { ApitallyLogRecordProcessor } from \"./logRecordProcessor.js\";\nimport { MetricsPipeline } from \"./metrics.js\";\nimport { getDistroVersion } from \"./packageVersion.js\";\nimport {\n createLoggerProvider,\n resolveEnvAndCreateResource,\n setupTracerProvider,\n} from \"./providers.js\";\nimport { Redaction } from \"./redaction.js\";\nimport { installSentryEventIdRecording } from \"./sentry.js\";\nimport { ApitallySpanExporter } from \"./spanExporter.js\";\nimport {\n isApitallySpanProcessorDeclared,\n SpanPipeline,\n setActiveSpanPipeline,\n setServerSpanActivationCallback,\n} from \"./spanProcessor.js\";\nimport { Spool } from \"./spool.js\";\nimport { emitStartupEvent, type StartupEventInfo } from \"./startup.js\";\n\n// The worker sends every 15 seconds, so batches only need to reach the spool\n// within that interval.\nconst BATCH_SCHEDULE_DELAY_MILLIS = 1_000;\nconst BATCH_EXPORT_TIMEOUT_MILLIS = 30_000;\nconst BATCH_MAX_QUEUE_SIZE = 2_048;\nconst BATCH_MAX_EXPORT_BATCH_SIZE = 512;\nconst BATCH_MAX_EXPORT_BATCH_SIZE_WITH_BODY_CAPTURE = 32;\nconst SIGNAL_FLUSH_TIMEOUT_MILLIS = 5_000;\n\ntype TerminationSignal = \"SIGTERM\" | \"SIGINT\";\ntype SignalListeners = Record<TerminationSignal, () => void>;\n\n// The ESM and CJS builds can load together, so a Symbol.for key gives both\n// copies the same activation state.\nconst ACTIVATION_STATE_KEY = Symbol.for(\"apitally.activation\");\n\ninterface ActivationState {\n sdkVersion: string;\n activationAttempted: boolean;\n startupEventInfo?: StartupEventInfo;\n handles?: ActivationHandles;\n runShutdown?: () => Promise<void>;\n shutdownPromise?: Promise<void>;\n beforeExitListener?: () => void;\n signalListeners?: SignalListeners;\n signalDrainPromise?: Promise<void>;\n}\n\ninterface ActivationHandles {\n spanPipeline: SpanPipeline;\n tracerProvider?: NodeTracerProvider;\n loggerProvider: LoggerProvider;\n metricsPipeline: MetricsPipeline;\n spool: Spool;\n worker: ExportWorker;\n undiciInstrumentation?: UndiciInstrumentation;\n}\n\n// Configuration stays synchronous; activate() defers timers and I/O.\nexport function configure(options: ApitallyOptions = {}): ApitallyConfig {\n const config = setConfig(options);\n // User instrumentations read this at initialization. `http/dup` adds stable\n // HTTP attributes alongside legacy ones; a user-set value takes precedence.\n if (!config.disabled && process.env.OTEL_SEMCONV_STABILITY_OPT_IN === undefined) {\n process.env.OTEL_SEMCONV_STABILITY_OPT_IN = \"http/dup\";\n }\n setServerSpanActivationCallback(activate);\n return config;\n}\n\n// The first integration registration wins so one process emits one startup event.\nexport function registerStartupEventInfo(info: StartupEventInfo): void {\n const activationState = getActivationState();\n activationState.startupEventInfo ??= info;\n}\n\n// Activation is synchronous and attempted once, so concurrent first requests\n// observe either no activation or completed activation.\nexport function activate(triggeringSpan?: Span): void {\n const activationState = getActivationState();\n if (activationState.activationAttempted) {\n return;\n }\n activationState.activationAttempted = true;\n if (shouldSkipActivation()) {\n return;\n }\n try {\n const handles = startPipelines(activationState.startupEventInfo, triggeringSpan);\n activationState.handles = handles;\n activationState.runShutdown = () => drainAndStop(handles);\n installBeforeExitHook(activationState);\n installSignalHooks(activationState);\n } catch (error) {\n logError(`Apitally activation failed: ${String(error)}`);\n }\n}\n\nexport function isActivated(): boolean {\n return getActivationState().handles !== undefined;\n}\n\nexport function getActivationHandles(): ActivationHandles | undefined {\n return getActivationState().handles;\n}\n\nexport async function flushTelemetry(): Promise<void> {\n try {\n await getActivationState().handles?.worker.runCycle();\n } catch (error) {\n logDebug(`Error flushing telemetry: ${String(error)}`);\n }\n}\n\n// Concurrent calls and lifecycle hooks share one final drain; calls before\n// activation are no-ops.\nexport function shutdown(): Promise<void> {\n const activationState = getActivationState();\n const handles = activationState.handles;\n const runShutdown = activationState.runShutdown;\n if (!handles || !runShutdown) {\n return Promise.resolve();\n }\n if (!activationState.shutdownPromise) {\n removeLifecycleHooks(activationState);\n const signalDrainPromise = activationState.signalDrainPromise;\n activationState.shutdownPromise = (\n signalDrainPromise\n ? signalDrainPromise.then(() => handles.worker.waitForIdle())\n : Promise.resolve()\n ).then(runShutdown);\n }\n return activationState.shutdownPromise;\n}\n\n// Tests replace these factories to isolate spool files and worker timing.\nexport const activationFactories = {\n createSpool: (): Spool => new Spool(),\n createExportWorker: (options: ExportWorkerOptions): ExportWorker => new ExportWorker(options),\n};\nconst defaultFactories = { ...activationFactories };\n\n// Tests reset process-global activation and its side effects between cases.\nexport async function resetActivation(): Promise<void> {\n Object.assign(activationFactories, defaultFactories);\n const holder = globalThis as Record<symbol, ActivationState | undefined>;\n const activationState = holder[ACTIVATION_STATE_KEY];\n delete holder[ACTIVATION_STATE_KEY];\n hasWarnedAboutVersionSkew = false;\n if (!activationState) {\n return;\n }\n removeLifecycleHooks(activationState);\n const handles = activationState.handles;\n if (!handles) {\n return;\n }\n handles.undiciInstrumentation?.disable();\n await handles.worker.stop();\n await handles.spanPipeline.shutdown();\n await handles.loggerProvider.shutdown();\n await handles.spool.clear();\n}\n\nlet hasWarnedAboutVersionSkew = false;\n\nfunction getActivationState(): ActivationState {\n const holder = globalThis as Record<symbol, ActivationState | undefined>;\n const existing = holder[ACTIVATION_STATE_KEY];\n if (existing) {\n if (!hasWarnedAboutVersionSkew && existing.sdkVersion !== getDistroVersion()) {\n hasWarnedAboutVersionSkew = true;\n logWarning(\n `Two copies of the apitally package with different versions (${existing.sdkVersion} and ${getDistroVersion()}) are loaded in this process; version ${existing.sdkVersion} stays active. To resolve this, deduplicate the apitally installation.`,\n );\n }\n return existing;\n }\n const activationState: ActivationState = {\n sdkVersion: getDistroVersion(),\n activationAttempted: false,\n };\n holder[ACTIVATION_STATE_KEY] = activationState;\n return activationState;\n}\n\nfunction shouldSkipActivation(): boolean {\n return (\n Boolean(process.env.JEST_WORKER_ID) ||\n Boolean(process.env.VITEST) ||\n process.env.NODE_ENV === \"test\" ||\n // The emergency kill switch overrides an explicit disabled: false option.\n isApitallyDisabledViaEnv() ||\n getConfig().disabled\n );\n}\n\nfunction startPipelines(\n startupEventInfo: StartupEventInfo | undefined,\n triggeringSpan?: Span,\n): ActivationHandles {\n const config = getConfig();\n let hasUserProvider = isApitallySpanProcessorDeclared();\n const { env, resource } = resolveEnvAndCreateResource(hasUserProvider, triggeringSpan?.resource);\n const instanceId = resource.attributes[\"service.instance.id\"] as string;\n const spool = activationFactories.createSpool();\n const spanExporter = new ApitallySpanExporter({\n redaction: new Redaction(),\n env,\n instanceId,\n spool,\n maskRequestBody: config.maskRequestBody,\n maskResponseBody: config.maskResponseBody,\n });\n // Concrete options prevent OTel environment variables from changing batch\n // behavior. Each processor gets a fresh object because its config is mutated.\n const batchSpanProcessor = new BatchSpanProcessor(spanExporter, {\n scheduledDelayMillis: BATCH_SCHEDULE_DELAY_MILLIS,\n exportTimeoutMillis: BATCH_EXPORT_TIMEOUT_MILLIS,\n maxQueueSize: BATCH_MAX_QUEUE_SIZE,\n maxExportBatchSize:\n config.captureRequestBody || config.captureResponseBody\n ? BATCH_MAX_EXPORT_BATCH_SIZE_WITH_BODY_CAPTURE\n : BATCH_MAX_EXPORT_BATCH_SIZE,\n });\n const spanPipeline = new SpanPipeline(batchSpanProcessor);\n let tracerProvider: NodeTracerProvider | undefined;\n if (!hasUserProvider) {\n tracerProvider = setupTracerProvider(resource, [spanPipeline]);\n if (!tracerProvider) {\n hasUserProvider = true;\n logWarning(\n \"Apitally could not register its OpenTelemetry tracer provider because another provider is already registered. Only metrics and the startup event are sent to Apitally until you add ApitallySpanProcessor (exported by the apitally package) to your tracer provider's spanProcessors constructor option or the NodeSDK spanProcessors option.\",\n );\n }\n }\n setActiveSpanPipeline(spanPipeline);\n // BatchLogRecordProcessor requires its single-options-object form; positional\n // arguments create a broken processor.\n const batchLogProcessor = new BatchLogRecordProcessor({\n exporter: new ApitallyLogRecordExporter(spool),\n scheduledDelayMillis: BATCH_SCHEDULE_DELAY_MILLIS,\n exportTimeoutMillis: BATCH_EXPORT_TIMEOUT_MILLIS,\n maxQueueSize: BATCH_MAX_QUEUE_SIZE,\n maxExportBatchSize: BATCH_MAX_EXPORT_BATCH_SIZE,\n });\n const logRecordProcessor = new ApitallyLogRecordProcessor(batchLogProcessor, spanPipeline);\n const loggerProvider = createLoggerProvider(resource, [logRecordProcessor]);\n const metricsPipeline = new MetricsPipeline(resource, spool);\n spanPipeline.metricsRecorder = (record) => metricsPipeline.recordFromRequest(record);\n const worker = activationFactories.createExportWorker({\n spool,\n otlpEndpoint: config.otlpEndpoint,\n writeToken: config.writeToken,\n env,\n });\n worker.flushCallbacks.push(\n () => metricsPipeline.collectAndExport(),\n () => batchSpanProcessor.forceFlush(),\n () => batchLogProcessor.forceFlush(),\n );\n if (config.captureLogs) {\n installConsoleCapture(loggerProvider);\n installNestLoggerCapture(loggerProvider);\n installWinstonCapture(loggerProvider);\n installPinoCapture(loggerProvider);\n }\n installSentryEventIdRecording();\n let undiciInstrumentation: UndiciInstrumentation | undefined;\n if (!hasUserProvider) {\n undiciInstrumentation = createUndiciInstrumentation(config.otlpEndpoint);\n }\n worker.start();\n if (startupEventInfo) {\n emitStartupEvent(loggerProvider, startupEventInfo);\n }\n return {\n spanPipeline,\n tracerProvider,\n loggerProvider,\n metricsPipeline,\n spool,\n worker,\n undiciInstrumentation,\n };\n}\n\n// ignoreRequestHook prevents telemetry for export POSTs. The request origin can\n// be a string or URL at runtime despite its string type.\nfunction createUndiciInstrumentation(otlpEndpoint: string): UndiciInstrumentation {\n const endpointOrigin = new URL(otlpEndpoint).origin;\n return new UndiciInstrumentation({\n ignoreRequestHook: (request) => {\n try {\n return new URL(String(request.origin)).origin === endpointOrigin;\n } catch {\n return false;\n }\n },\n });\n}\n\nasync function drainAndStop(handles: ActivationHandles): Promise<void> {\n try {\n await handles.spanPipeline.shutdown();\n await handles.loggerProvider.shutdown();\n await handles.worker.finalDrain();\n await handles.worker.stop();\n } catch (error) {\n logWarning(`Error draining telemetry on shutdown: ${String(error)}`);\n }\n}\n\nfunction installSignalHooks(activationState: ActivationState): void {\n if (process.platform === \"win32\" || !isMainThread) {\n return;\n }\n let listeners: SignalListeners;\n listeners = {\n SIGTERM: () => handleTerminationSignal(activationState, listeners, \"SIGTERM\"),\n SIGINT: () => handleTerminationSignal(activationState, listeners, \"SIGINT\"),\n };\n activationState.signalListeners = listeners;\n try {\n process.prependOnceListener(\"SIGTERM\", listeners.SIGTERM);\n process.prependOnceListener(\"SIGINT\", listeners.SIGINT);\n } catch (error) {\n removeSignalHooks(activationState, listeners);\n logWarning(`Unable to install Apitally signal handlers: ${String(error)}`);\n }\n}\n\nfunction handleTerminationSignal(\n activationState: ActivationState,\n listeners: SignalListeners,\n signal: TerminationSignal,\n): void {\n const hasApplicationListener = process\n .listeners(signal)\n .some((listener) => listener !== listeners[signal]);\n removeSignalHooks(activationState, listeners);\n const drainPromise = flushAfterTerminationSignal(activationState, signal, hasApplicationListener);\n activationState.signalDrainPromise = drainPromise;\n void drainPromise.catch((error: unknown) => {\n logDebug(`Error flushing telemetry on ${signal}: ${String(error)}`);\n });\n}\n\nasync function flushAfterTerminationSignal(\n activationState: ActivationState,\n signal: TerminationSignal,\n hasApplicationListener: boolean,\n): Promise<void> {\n const handles = activationState.handles;\n if (!handles) {\n return;\n }\n try {\n if (activationState.shutdownPromise) {\n await waitForSignalDeadline(activationState.shutdownPromise);\n } else {\n await handles.worker.finalDrain(SIGNAL_FLUSH_TIMEOUT_MILLIS);\n }\n } catch (error) {\n logDebug(`Error flushing telemetry on ${signal}: ${String(error)}`);\n }\n if (hasApplicationListener || process.listeners(signal).length > 0) {\n return;\n }\n const exitCode = signal === \"SIGTERM\" ? 143 : 130;\n if (process.platform === \"linux\" && process.pid === 1) {\n process.exit(exitCode);\n }\n try {\n process.kill(process.pid, signal);\n } catch {\n process.exit(exitCode);\n }\n}\n\nasync function waitForSignalDeadline(promise: Promise<void>): Promise<void> {\n let deadlineTimer: NodeJS.Timeout | undefined;\n const deadlineReached = new Promise<void>((resolve) => {\n deadlineTimer = setTimeout(resolve, SIGNAL_FLUSH_TIMEOUT_MILLIS);\n });\n try {\n await Promise.race([promise, deadlineReached]);\n } finally {\n if (deadlineTimer) {\n clearTimeout(deadlineTimer);\n }\n }\n}\n\nfunction removeSignalHooks(\n activationState: ActivationState,\n listeners = activationState.signalListeners,\n): void {\n if (!listeners) {\n return;\n }\n process.removeListener(\"SIGTERM\", listeners.SIGTERM);\n process.removeListener(\"SIGINT\", listeners.SIGINT);\n if (activationState.signalListeners === listeners) {\n activationState.signalListeners = undefined;\n }\n}\n\nfunction removeLifecycleHooks(activationState: ActivationState): void {\n removeSignalHooks(activationState);\n if (activationState.beforeExitListener) {\n process.removeListener(\"beforeExit\", activationState.beforeExitListener);\n activationState.beforeExitListener = undefined;\n }\n}\n\nfunction installBeforeExitHook(activationState: ActivationState): void {\n const listener = () => {\n // The drain keeps the event loop alive until shutdown settles.\n void shutdown().catch((error: unknown) => {\n logDebug(`Error draining telemetry on shutdown: ${String(error)}`);\n });\n };\n activationState.beforeExitListener = listener;\n process.on(\"beforeExit\", listener);\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { UndiciInstrumentation } from '@opentelemetry/instrumentation-undici';
|
|
2
|
+
import { LoggerProvider } from '@opentelemetry/sdk-logs';
|
|
3
|
+
import { Span } from '@opentelemetry/sdk-trace-base';
|
|
4
|
+
import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
|
|
5
|
+
import { ApitallyOptions, ApitallyConfig } from './config.cjs';
|
|
6
|
+
import { ExportWorkerOptions, ExportWorker } from './exportWorker.cjs';
|
|
7
|
+
import { MetricsPipeline } from './metrics.cjs';
|
|
8
|
+
import { SpanPipeline } from './spanProcessor.cjs';
|
|
9
|
+
import { Spool } from './spool.cjs';
|
|
10
|
+
import { StartupEventInfo } from './startup.cjs';
|
|
11
|
+
import '@opentelemetry/resources';
|
|
12
|
+
import '@opentelemetry/sdk-metrics';
|
|
13
|
+
import './context.cjs';
|
|
14
|
+
import '@opentelemetry/api';
|
|
15
|
+
import '@opentelemetry/core';
|
|
16
|
+
import 'node:zlib';
|
|
17
|
+
import '@opentelemetry/api-logs';
|
|
18
|
+
|
|
19
|
+
interface ActivationHandles {
|
|
20
|
+
spanPipeline: SpanPipeline;
|
|
21
|
+
tracerProvider?: NodeTracerProvider;
|
|
22
|
+
loggerProvider: LoggerProvider;
|
|
23
|
+
metricsPipeline: MetricsPipeline;
|
|
24
|
+
spool: Spool;
|
|
25
|
+
worker: ExportWorker;
|
|
26
|
+
undiciInstrumentation?: UndiciInstrumentation;
|
|
27
|
+
}
|
|
28
|
+
declare function configure(options?: ApitallyOptions): ApitallyConfig;
|
|
29
|
+
declare function registerStartupEventInfo(info: StartupEventInfo): void;
|
|
30
|
+
declare function activate(triggeringSpan?: Span): void;
|
|
31
|
+
declare function isActivated(): boolean;
|
|
32
|
+
declare function getActivationHandles(): ActivationHandles | undefined;
|
|
33
|
+
declare function flushTelemetry(): Promise<void>;
|
|
34
|
+
declare function shutdown(): Promise<void>;
|
|
35
|
+
declare const activationFactories: {
|
|
36
|
+
createSpool: () => Spool;
|
|
37
|
+
createExportWorker: (options: ExportWorkerOptions) => ExportWorker;
|
|
38
|
+
};
|
|
39
|
+
declare function resetActivation(): Promise<void>;
|
|
40
|
+
|
|
41
|
+
export { activate, activationFactories, configure, flushTelemetry, getActivationHandles, isActivated, registerStartupEventInfo, resetActivation, shutdown };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { UndiciInstrumentation } from '@opentelemetry/instrumentation-undici';
|
|
2
|
+
import { LoggerProvider } from '@opentelemetry/sdk-logs';
|
|
3
|
+
import { Span } from '@opentelemetry/sdk-trace-base';
|
|
4
|
+
import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
|
|
5
|
+
import { ApitallyOptions, ApitallyConfig } from './config.js';
|
|
6
|
+
import { ExportWorkerOptions, ExportWorker } from './exportWorker.js';
|
|
7
|
+
import { MetricsPipeline } from './metrics.js';
|
|
8
|
+
import { SpanPipeline } from './spanProcessor.js';
|
|
9
|
+
import { Spool } from './spool.js';
|
|
10
|
+
import { StartupEventInfo } from './startup.js';
|
|
11
|
+
import '@opentelemetry/resources';
|
|
12
|
+
import '@opentelemetry/sdk-metrics';
|
|
13
|
+
import './context.js';
|
|
14
|
+
import '@opentelemetry/api';
|
|
15
|
+
import '@opentelemetry/core';
|
|
16
|
+
import 'node:zlib';
|
|
17
|
+
import '@opentelemetry/api-logs';
|
|
18
|
+
|
|
19
|
+
interface ActivationHandles {
|
|
20
|
+
spanPipeline: SpanPipeline;
|
|
21
|
+
tracerProvider?: NodeTracerProvider;
|
|
22
|
+
loggerProvider: LoggerProvider;
|
|
23
|
+
metricsPipeline: MetricsPipeline;
|
|
24
|
+
spool: Spool;
|
|
25
|
+
worker: ExportWorker;
|
|
26
|
+
undiciInstrumentation?: UndiciInstrumentation;
|
|
27
|
+
}
|
|
28
|
+
declare function configure(options?: ApitallyOptions): ApitallyConfig;
|
|
29
|
+
declare function registerStartupEventInfo(info: StartupEventInfo): void;
|
|
30
|
+
declare function activate(triggeringSpan?: Span): void;
|
|
31
|
+
declare function isActivated(): boolean;
|
|
32
|
+
declare function getActivationHandles(): ActivationHandles | undefined;
|
|
33
|
+
declare function flushTelemetry(): Promise<void>;
|
|
34
|
+
declare function shutdown(): Promise<void>;
|
|
35
|
+
declare const activationFactories: {
|
|
36
|
+
createSpool: () => Spool;
|
|
37
|
+
createExportWorker: (options: ExportWorkerOptions) => ExportWorker;
|
|
38
|
+
};
|
|
39
|
+
declare function resetActivation(): Promise<void>;
|
|
40
|
+
|
|
41
|
+
export { activate, activationFactories, configure, flushTelemetry, getActivationHandles, isActivated, registerStartupEventInfo, resetActivation, shutdown };
|