@depup/sentry__server-utils 10.67.0-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -0
- package/build/cjs/debug-build.js +6 -0
- package/build/cjs/debug-build.js.map +1 -0
- package/build/cjs/graphql/graphql-dc-subscriber.js +123 -0
- package/build/cjs/graphql/graphql-dc-subscriber.js.map +1 -0
- package/build/cjs/graphql/index.js +23 -0
- package/build/cjs/graphql/index.js.map +1 -0
- package/build/cjs/graphql/utils.js +92 -0
- package/build/cjs/graphql/utils.js.map +1 -0
- package/build/cjs/index.js +34 -0
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/amqplib.js +420 -0
- package/build/cjs/integrations/tracing-channel/amqplib.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/anthropic.js +101 -0
- package/build/cjs/integrations/tracing-channel/anthropic.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/constants.js +16 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/constants.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/index.js +154 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/index.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js +46 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js +47 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js +419 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/dynamodb.js +131 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/dynamodb.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/kinesis.js +21 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/kinesis.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/lambda.js +64 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/lambda.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/s3.js +21 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/s3.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/secretsmanager.js +27 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/secretsmanager.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sns.js +63 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sns.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sqs.js +116 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/sqs.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/stepfunctions.js +25 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/services/stepfunctions.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/utils.js +30 -0
- package/build/cjs/integrations/tracing-channel/aws-sdk/utils.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/dataloader.js +95 -0
- package/build/cjs/integrations/tracing-channel/dataloader.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/express/index.js +24 -0
- package/build/cjs/integrations/tracing-channel/express/index.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/express/instrumentation.js +168 -0
- package/build/cjs/integrations/tracing-channel/express/instrumentation.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/express/route.js +76 -0
- package/build/cjs/integrations/tracing-channel/express/route.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/fastify/errors.js +42 -0
- package/build/cjs/integrations/tracing-channel/fastify/errors.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/fastify/index.js +34 -0
- package/build/cjs/integrations/tracing-channel/fastify/index.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/fastify/instrumentation.js +279 -0
- package/build/cjs/integrations/tracing-channel/fastify/instrumentation.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/fastify/utils.js +11 -0
- package/build/cjs/integrations/tracing-channel/fastify/utils.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/generic-pool.js +34 -0
- package/build/cjs/integrations/tracing-channel/generic-pool.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/google-genai.js +96 -0
- package/build/cjs/integrations/tracing-channel/google-genai.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/graphql/constants.js +26 -0
- package/build/cjs/integrations/tracing-channel/graphql/constants.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/graphql/index.js +66 -0
- package/build/cjs/integrations/tracing-channel/graphql/index.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/graphql/resolvers.js +168 -0
- package/build/cjs/integrations/tracing-channel/graphql/resolvers.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/graphql/spans.js +102 -0
- package/build/cjs/integrations/tracing-channel/graphql/spans.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/hapi-types.js +30 -0
- package/build/cjs/integrations/tracing-channel/hapi-types.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/hapi-utils.js +177 -0
- package/build/cjs/integrations/tracing-channel/hapi-utils.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/hapi.js +52 -0
- package/build/cjs/integrations/tracing-channel/hapi.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/ioredis.js +99 -0
- package/build/cjs/integrations/tracing-channel/ioredis.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/consumer.js +71 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/consumer.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/index.js +70 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/index.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/semconv.js +22 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/semconv.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/spans.js +119 -0
- package/build/cjs/integrations/tracing-channel/kafkajs/spans.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/knex.js +188 -0
- package/build/cjs/integrations/tracing-channel/knex.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/koa.js +146 -0
- package/build/cjs/integrations/tracing-channel/koa.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/langchain.js +63 -0
- package/build/cjs/integrations/tracing-channel/langchain.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/langgraph.js +100 -0
- package/build/cjs/integrations/tracing-channel/langgraph.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/lru-memoizer.js +31 -0
- package/build/cjs/integrations/tracing-channel/lru-memoizer.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/mongodb.js +104 -0
- package/build/cjs/integrations/tracing-channel/mongodb.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/mongoose.js +110 -0
- package/build/cjs/integrations/tracing-channel/mongoose.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/mysql.js +107 -0
- package/build/cjs/integrations/tracing-channel/mysql.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/mysql2.js +83 -0
- package/build/cjs/integrations/tracing-channel/mysql2.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/openai.js +81 -0
- package/build/cjs/integrations/tracing-channel/openai.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/postgres-js.js +191 -0
- package/build/cjs/integrations/tracing-channel/postgres-js.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/postgres.js +170 -0
- package/build/cjs/integrations/tracing-channel/postgres.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/redis.js +218 -0
- package/build/cjs/integrations/tracing-channel/redis.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/tedious.js +145 -0
- package/build/cjs/integrations/tracing-channel/tedious.js.map +1 -0
- package/build/cjs/integrations/tracing-channel/vercel-ai.js +25 -0
- package/build/cjs/integrations/tracing-channel/vercel-ai.js.map +1 -0
- package/build/cjs/mongodb/mongodb-span.js +133 -0
- package/build/cjs/mongodb/mongodb-span.js.map +1 -0
- package/build/cjs/mongoose/index.js +23 -0
- package/build/cjs/mongoose/index.js.map +1 -0
- package/build/cjs/mongoose/mongoose-dc-subscriber.js +97 -0
- package/build/cjs/mongoose/mongoose-dc-subscriber.js.map +1 -0
- package/build/cjs/mongoose/mongoose-legacy-span.js +40 -0
- package/build/cjs/mongoose/mongoose-legacy-span.js.map +1 -0
- package/build/cjs/mysql2/index.js +23 -0
- package/build/cjs/mysql2/index.js.map +1 -0
- package/build/cjs/mysql2/mysql2-dc-subscriber.js +68 -0
- package/build/cjs/mysql2/mysql2-dc-subscriber.js.map +1 -0
- package/build/cjs/orchestrion/bundler/esbuild.js +15 -0
- package/build/cjs/orchestrion/bundler/esbuild.js.map +1 -0
- package/build/cjs/orchestrion/bundler/options.js +24 -0
- package/build/cjs/orchestrion/bundler/options.js.map +1 -0
- package/build/cjs/orchestrion/bundler/rollup.js +15 -0
- package/build/cjs/orchestrion/bundler/rollup.js.map +1 -0
- package/build/cjs/orchestrion/bundler/vite.js +21 -0
- package/build/cjs/orchestrion/bundler/vite.js.map +1 -0
- package/build/cjs/orchestrion/bundler/webpack.js +36 -0
- package/build/cjs/orchestrion/bundler/webpack.js.map +1 -0
- package/build/cjs/orchestrion/channels.js +70 -0
- package/build/cjs/orchestrion/channels.js.map +1 -0
- package/build/cjs/orchestrion/config/amqplib.js +81 -0
- package/build/cjs/orchestrion/config/amqplib.js.map +1 -0
- package/build/cjs/orchestrion/config/anthropic-ai.js +43 -0
- package/build/cjs/orchestrion/config/anthropic-ai.js.map +1 -0
- package/build/cjs/orchestrion/config/aws-sdk.js +28 -0
- package/build/cjs/orchestrion/config/aws-sdk.js.map +1 -0
- package/build/cjs/orchestrion/config/dataloader.js +53 -0
- package/build/cjs/orchestrion/config/dataloader.js.map +1 -0
- package/build/cjs/orchestrion/config/express.js +77 -0
- package/build/cjs/orchestrion/config/express.js.map +1 -0
- package/build/cjs/orchestrion/config/firebase.js +8 -0
- package/build/cjs/orchestrion/config/firebase.js.map +1 -0
- package/build/cjs/orchestrion/config/generic-pool.js +21 -0
- package/build/cjs/orchestrion/config/generic-pool.js.map +1 -0
- package/build/cjs/orchestrion/config/google-genai.js +38 -0
- package/build/cjs/orchestrion/config/google-genai.js.map +1 -0
- package/build/cjs/orchestrion/config/graphql.js +28 -0
- package/build/cjs/orchestrion/config/graphql.js.map +1 -0
- package/build/cjs/orchestrion/config/hapi.js +26 -0
- package/build/cjs/orchestrion/config/hapi.js.map +1 -0
- package/build/cjs/orchestrion/config/index.js +89 -0
- package/build/cjs/orchestrion/config/index.js.map +1 -0
- package/build/cjs/orchestrion/config/ioredis.js +35 -0
- package/build/cjs/orchestrion/config/ioredis.js.map +1 -0
- package/build/cjs/orchestrion/config/kafkajs.js +30 -0
- package/build/cjs/orchestrion/config/kafkajs.js.map +1 -0
- package/build/cjs/orchestrion/config/knex.js +43 -0
- package/build/cjs/orchestrion/config/knex.js.map +1 -0
- package/build/cjs/orchestrion/config/koa.js +16 -0
- package/build/cjs/orchestrion/config/koa.js.map +1 -0
- package/build/cjs/orchestrion/config/langchain.js +52 -0
- package/build/cjs/orchestrion/config/langchain.js.map +1 -0
- package/build/cjs/orchestrion/config/langgraph.js +28 -0
- package/build/cjs/orchestrion/config/langgraph.js.map +1 -0
- package/build/cjs/orchestrion/config/lru-memoizer.js +17 -0
- package/build/cjs/orchestrion/config/lru-memoizer.js.map +1 -0
- package/build/cjs/orchestrion/config/mongodb.js +67 -0
- package/build/cjs/orchestrion/config/mongodb.js.map +1 -0
- package/build/cjs/orchestrion/config/mongoose.js +107 -0
- package/build/cjs/orchestrion/config/mongoose.js.map +1 -0
- package/build/cjs/orchestrion/config/mysql.js +16 -0
- package/build/cjs/orchestrion/config/mysql.js.map +1 -0
- package/build/cjs/orchestrion/config/mysql2.js +32 -0
- package/build/cjs/orchestrion/config/mysql2.js.map +1 -0
- package/build/cjs/orchestrion/config/nestjs.js +122 -0
- package/build/cjs/orchestrion/config/nestjs.js.map +1 -0
- package/build/cjs/orchestrion/config/openai.js +40 -0
- package/build/cjs/orchestrion/config/openai.js.map +1 -0
- package/build/cjs/orchestrion/config/pg.js +51 -0
- package/build/cjs/orchestrion/config/pg.js.map +1 -0
- package/build/cjs/orchestrion/config/postgres.js +50 -0
- package/build/cjs/orchestrion/config/postgres.js.map +1 -0
- package/build/cjs/orchestrion/config/prisma.js +8 -0
- package/build/cjs/orchestrion/config/prisma.js.map +1 -0
- package/build/cjs/orchestrion/config/react-router.js +8 -0
- package/build/cjs/orchestrion/config/react-router.js.map +1 -0
- package/build/cjs/orchestrion/config/redis.js +76 -0
- package/build/cjs/orchestrion/config/redis.js.map +1 -0
- package/build/cjs/orchestrion/config/remix.js +54 -0
- package/build/cjs/orchestrion/config/remix.js.map +1 -0
- package/build/cjs/orchestrion/config/tedious.js +24 -0
- package/build/cjs/orchestrion/config/tedious.js.map +1 -0
- package/build/cjs/orchestrion/config/vercel-ai.js +48 -0
- package/build/cjs/orchestrion/config/vercel-ai.js.map +1 -0
- package/build/cjs/orchestrion/detect.js +26 -0
- package/build/cjs/orchestrion/detect.js.map +1 -0
- package/build/cjs/orchestrion/index.js +89 -0
- package/build/cjs/orchestrion/index.js.map +1 -0
- package/build/cjs/orchestrion/runtime/register.js +77 -0
- package/build/cjs/orchestrion/runtime/register.js.map +1 -0
- package/build/cjs/prisma/global.js +14 -0
- package/build/cjs/prisma/global.js.map +1 -0
- package/build/cjs/prisma/index.js +27 -0
- package/build/cjs/prisma/index.js.map +1 -0
- package/build/cjs/prisma/tracing-helper.js +211 -0
- package/build/cjs/prisma/tracing-helper.js.map +1 -0
- package/build/cjs/redis/index.js +23 -0
- package/build/cjs/redis/index.js.map +1 -0
- package/build/cjs/redis/redis-dc-subscriber.js +101 -0
- package/build/cjs/redis/redis-dc-subscriber.js.map +1 -0
- package/build/cjs/redis/redis-statement-serializer.js +34 -0
- package/build/cjs/redis/redis-statement-serializer.js.map +1 -0
- package/build/cjs/tracing-channel.js +134 -0
- package/build/cjs/tracing-channel.js.map +1 -0
- package/build/cjs/vercel-ai/index.js +23 -0
- package/build/cjs/vercel-ai/index.js.map +1 -0
- package/build/cjs/vercel-ai/util.js +112 -0
- package/build/cjs/vercel-ai/util.js.map +1 -0
- package/build/cjs/vercel-ai/vercel-ai-dc-subscriber.js +433 -0
- package/build/cjs/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -0
- package/build/cjs/vercel-ai/vercel-ai-orchestrion-subscriber.js +399 -0
- package/build/cjs/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +1 -0
- package/build/esm/debug-build.js +4 -0
- package/build/esm/debug-build.js.map +1 -0
- package/build/esm/graphql/graphql-dc-subscriber.js +116 -0
- package/build/esm/graphql/graphql-dc-subscriber.js.map +1 -0
- package/build/esm/graphql/index.js +21 -0
- package/build/esm/graphql/index.js.map +1 -0
- package/build/esm/graphql/utils.js +87 -0
- package/build/esm/graphql/utils.js.map +1 -0
- package/build/esm/index.js +12 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/integrations/tracing-channel/amqplib.js +418 -0
- package/build/esm/integrations/tracing-channel/amqplib.js.map +1 -0
- package/build/esm/integrations/tracing-channel/anthropic.js +99 -0
- package/build/esm/integrations/tracing-channel/anthropic.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/constants.js +9 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/constants.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/index.js +152 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/index.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js +41 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/MessageAttributes.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js +45 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js +417 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/dynamodb.js +129 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/dynamodb.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/kinesis.js +19 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/kinesis.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/lambda.js +62 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/lambda.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/s3.js +19 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/s3.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/secretsmanager.js +25 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/secretsmanager.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sns.js +61 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sns.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sqs.js +114 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/sqs.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/stepfunctions.js +23 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/services/stepfunctions.js.map +1 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/utils.js +26 -0
- package/build/esm/integrations/tracing-channel/aws-sdk/utils.js.map +1 -0
- package/build/esm/integrations/tracing-channel/dataloader.js +93 -0
- package/build/esm/integrations/tracing-channel/dataloader.js.map +1 -0
- package/build/esm/integrations/tracing-channel/express/index.js +22 -0
- package/build/esm/integrations/tracing-channel/express/index.js.map +1 -0
- package/build/esm/integrations/tracing-channel/express/instrumentation.js +166 -0
- package/build/esm/integrations/tracing-channel/express/instrumentation.js.map +1 -0
- package/build/esm/integrations/tracing-channel/express/route.js +68 -0
- package/build/esm/integrations/tracing-channel/express/route.js.map +1 -0
- package/build/esm/integrations/tracing-channel/fastify/errors.js +39 -0
- package/build/esm/integrations/tracing-channel/fastify/errors.js.map +1 -0
- package/build/esm/integrations/tracing-channel/fastify/index.js +30 -0
- package/build/esm/integrations/tracing-channel/fastify/index.js.map +1 -0
- package/build/esm/integrations/tracing-channel/fastify/instrumentation.js +277 -0
- package/build/esm/integrations/tracing-channel/fastify/instrumentation.js.map +1 -0
- package/build/esm/integrations/tracing-channel/fastify/utils.js +8 -0
- package/build/esm/integrations/tracing-channel/fastify/utils.js.map +1 -0
- package/build/esm/integrations/tracing-channel/generic-pool.js +32 -0
- package/build/esm/integrations/tracing-channel/generic-pool.js.map +1 -0
- package/build/esm/integrations/tracing-channel/google-genai.js +94 -0
- package/build/esm/integrations/tracing-channel/google-genai.js.map +1 -0
- package/build/esm/integrations/tracing-channel/graphql/constants.js +14 -0
- package/build/esm/integrations/tracing-channel/graphql/constants.js.map +1 -0
- package/build/esm/integrations/tracing-channel/graphql/index.js +63 -0
- package/build/esm/integrations/tracing-channel/graphql/index.js.map +1 -0
- package/build/esm/integrations/tracing-channel/graphql/resolvers.js +164 -0
- package/build/esm/integrations/tracing-channel/graphql/resolvers.js.map +1 -0
- package/build/esm/integrations/tracing-channel/graphql/spans.js +96 -0
- package/build/esm/integrations/tracing-channel/graphql/spans.js.map +1 -0
- package/build/esm/integrations/tracing-channel/hapi-types.js +25 -0
- package/build/esm/integrations/tracing-channel/hapi-types.js.map +1 -0
- package/build/esm/integrations/tracing-channel/hapi-utils.js +172 -0
- package/build/esm/integrations/tracing-channel/hapi-utils.js.map +1 -0
- package/build/esm/integrations/tracing-channel/hapi.js +50 -0
- package/build/esm/integrations/tracing-channel/hapi.js.map +1 -0
- package/build/esm/integrations/tracing-channel/ioredis.js +96 -0
- package/build/esm/integrations/tracing-channel/ioredis.js.map +1 -0
- package/build/esm/integrations/tracing-channel/kafkajs/consumer.js +67 -0
- package/build/esm/integrations/tracing-channel/kafkajs/consumer.js.map +1 -0
- package/build/esm/integrations/tracing-channel/kafkajs/index.js +68 -0
- package/build/esm/integrations/tracing-channel/kafkajs/index.js.map +1 -0
- package/build/esm/integrations/tracing-channel/kafkajs/semconv.js +12 -0
- package/build/esm/integrations/tracing-channel/kafkajs/semconv.js.map +1 -0
- package/build/esm/integrations/tracing-channel/kafkajs/spans.js +112 -0
- package/build/esm/integrations/tracing-channel/kafkajs/spans.js.map +1 -0
- package/build/esm/integrations/tracing-channel/knex.js +186 -0
- package/build/esm/integrations/tracing-channel/knex.js.map +1 -0
- package/build/esm/integrations/tracing-channel/koa.js +144 -0
- package/build/esm/integrations/tracing-channel/koa.js.map +1 -0
- package/build/esm/integrations/tracing-channel/langchain.js +61 -0
- package/build/esm/integrations/tracing-channel/langchain.js.map +1 -0
- package/build/esm/integrations/tracing-channel/langgraph.js +98 -0
- package/build/esm/integrations/tracing-channel/langgraph.js.map +1 -0
- package/build/esm/integrations/tracing-channel/lru-memoizer.js +29 -0
- package/build/esm/integrations/tracing-channel/lru-memoizer.js.map +1 -0
- package/build/esm/integrations/tracing-channel/mongodb.js +102 -0
- package/build/esm/integrations/tracing-channel/mongodb.js.map +1 -0
- package/build/esm/integrations/tracing-channel/mongoose.js +108 -0
- package/build/esm/integrations/tracing-channel/mongoose.js.map +1 -0
- package/build/esm/integrations/tracing-channel/mysql.js +105 -0
- package/build/esm/integrations/tracing-channel/mysql.js.map +1 -0
- package/build/esm/integrations/tracing-channel/mysql2.js +81 -0
- package/build/esm/integrations/tracing-channel/mysql2.js.map +1 -0
- package/build/esm/integrations/tracing-channel/openai.js +79 -0
- package/build/esm/integrations/tracing-channel/openai.js.map +1 -0
- package/build/esm/integrations/tracing-channel/postgres-js.js +189 -0
- package/build/esm/integrations/tracing-channel/postgres-js.js.map +1 -0
- package/build/esm/integrations/tracing-channel/postgres.js +168 -0
- package/build/esm/integrations/tracing-channel/postgres.js.map +1 -0
- package/build/esm/integrations/tracing-channel/redis.js +216 -0
- package/build/esm/integrations/tracing-channel/redis.js.map +1 -0
- package/build/esm/integrations/tracing-channel/tedious.js +143 -0
- package/build/esm/integrations/tracing-channel/tedious.js.map +1 -0
- package/build/esm/integrations/tracing-channel/vercel-ai.js +23 -0
- package/build/esm/integrations/tracing-channel/vercel-ai.js.map +1 -0
- package/build/esm/mongodb/mongodb-span.js +126 -0
- package/build/esm/mongodb/mongodb-span.js.map +1 -0
- package/build/esm/mongoose/index.js +21 -0
- package/build/esm/mongoose/index.js.map +1 -0
- package/build/esm/mongoose/mongoose-dc-subscriber.js +89 -0
- package/build/esm/mongoose/mongoose-dc-subscriber.js.map +1 -0
- package/build/esm/mongoose/mongoose-legacy-span.js +38 -0
- package/build/esm/mongoose/mongoose-legacy-span.js.map +1 -0
- package/build/esm/mysql2/index.js +21 -0
- package/build/esm/mysql2/index.js.map +1 -0
- package/build/esm/mysql2/mysql2-dc-subscriber.js +62 -0
- package/build/esm/mysql2/mysql2-dc-subscriber.js.map +1 -0
- package/build/esm/orchestrion/bundler/esbuild.js +9 -0
- package/build/esm/orchestrion/bundler/esbuild.js.map +1 -0
- package/build/esm/orchestrion/bundler/options.js +22 -0
- package/build/esm/orchestrion/bundler/options.js.map +1 -0
- package/build/esm/orchestrion/bundler/rollup.js +9 -0
- package/build/esm/orchestrion/bundler/rollup.js.map +1 -0
- package/build/esm/orchestrion/bundler/vite.js +15 -0
- package/build/esm/orchestrion/bundler/vite.js.map +1 -0
- package/build/esm/orchestrion/bundler/webpack.js +27 -0
- package/build/esm/orchestrion/bundler/webpack.js.map +1 -0
- package/build/esm/orchestrion/channels.js +68 -0
- package/build/esm/orchestrion/channels.js.map +1 -0
- package/build/esm/orchestrion/config/amqplib.js +78 -0
- package/build/esm/orchestrion/config/amqplib.js.map +1 -0
- package/build/esm/orchestrion/config/anthropic-ai.js +40 -0
- package/build/esm/orchestrion/config/anthropic-ai.js.map +1 -0
- package/build/esm/orchestrion/config/aws-sdk.js +25 -0
- package/build/esm/orchestrion/config/aws-sdk.js.map +1 -0
- package/build/esm/orchestrion/config/dataloader.js +50 -0
- package/build/esm/orchestrion/config/dataloader.js.map +1 -0
- package/build/esm/orchestrion/config/express.js +74 -0
- package/build/esm/orchestrion/config/express.js.map +1 -0
- package/build/esm/orchestrion/config/firebase.js +5 -0
- package/build/esm/orchestrion/config/firebase.js.map +1 -0
- package/build/esm/orchestrion/config/generic-pool.js +18 -0
- package/build/esm/orchestrion/config/generic-pool.js.map +1 -0
- package/build/esm/orchestrion/config/google-genai.js +35 -0
- package/build/esm/orchestrion/config/google-genai.js.map +1 -0
- package/build/esm/orchestrion/config/graphql.js +25 -0
- package/build/esm/orchestrion/config/graphql.js.map +1 -0
- package/build/esm/orchestrion/config/hapi.js +23 -0
- package/build/esm/orchestrion/config/hapi.js.map +1 -0
- package/build/esm/orchestrion/config/index.js +84 -0
- package/build/esm/orchestrion/config/index.js.map +1 -0
- package/build/esm/orchestrion/config/ioredis.js +32 -0
- package/build/esm/orchestrion/config/ioredis.js.map +1 -0
- package/build/esm/orchestrion/config/kafkajs.js +27 -0
- package/build/esm/orchestrion/config/kafkajs.js.map +1 -0
- package/build/esm/orchestrion/config/knex.js +40 -0
- package/build/esm/orchestrion/config/knex.js.map +1 -0
- package/build/esm/orchestrion/config/koa.js +13 -0
- package/build/esm/orchestrion/config/koa.js.map +1 -0
- package/build/esm/orchestrion/config/langchain.js +48 -0
- package/build/esm/orchestrion/config/langchain.js.map +1 -0
- package/build/esm/orchestrion/config/langgraph.js +25 -0
- package/build/esm/orchestrion/config/langgraph.js.map +1 -0
- package/build/esm/orchestrion/config/lru-memoizer.js +14 -0
- package/build/esm/orchestrion/config/lru-memoizer.js.map +1 -0
- package/build/esm/orchestrion/config/mongodb.js +64 -0
- package/build/esm/orchestrion/config/mongodb.js.map +1 -0
- package/build/esm/orchestrion/config/mongoose.js +103 -0
- package/build/esm/orchestrion/config/mongoose.js.map +1 -0
- package/build/esm/orchestrion/config/mysql.js +13 -0
- package/build/esm/orchestrion/config/mysql.js.map +1 -0
- package/build/esm/orchestrion/config/mysql2.js +29 -0
- package/build/esm/orchestrion/config/mysql2.js.map +1 -0
- package/build/esm/orchestrion/config/nestjs.js +119 -0
- package/build/esm/orchestrion/config/nestjs.js.map +1 -0
- package/build/esm/orchestrion/config/openai.js +37 -0
- package/build/esm/orchestrion/config/openai.js.map +1 -0
- package/build/esm/orchestrion/config/pg.js +48 -0
- package/build/esm/orchestrion/config/pg.js.map +1 -0
- package/build/esm/orchestrion/config/postgres.js +47 -0
- package/build/esm/orchestrion/config/postgres.js.map +1 -0
- package/build/esm/orchestrion/config/prisma.js +5 -0
- package/build/esm/orchestrion/config/prisma.js.map +1 -0
- package/build/esm/orchestrion/config/react-router.js +5 -0
- package/build/esm/orchestrion/config/react-router.js.map +1 -0
- package/build/esm/orchestrion/config/redis.js +73 -0
- package/build/esm/orchestrion/config/redis.js.map +1 -0
- package/build/esm/orchestrion/config/remix.js +51 -0
- package/build/esm/orchestrion/config/remix.js.map +1 -0
- package/build/esm/orchestrion/config/tedious.js +21 -0
- package/build/esm/orchestrion/config/tedious.js.map +1 -0
- package/build/esm/orchestrion/config/vercel-ai.js +45 -0
- package/build/esm/orchestrion/config/vercel-ai.js.map +1 -0
- package/build/esm/orchestrion/detect.js +23 -0
- package/build/esm/orchestrion/detect.js.map +1 -0
- package/build/esm/orchestrion/index.js +58 -0
- package/build/esm/orchestrion/index.js.map +1 -0
- package/build/esm/orchestrion/runtime/register.js +76 -0
- package/build/esm/orchestrion/runtime/register.js.map +1 -0
- package/build/esm/package.json +1 -0
- package/build/esm/prisma/global.js +12 -0
- package/build/esm/prisma/global.js.map +1 -0
- package/build/esm/prisma/index.js +24 -0
- package/build/esm/prisma/index.js.map +1 -0
- package/build/esm/prisma/tracing-helper.js +209 -0
- package/build/esm/prisma/tracing-helper.js.map +1 -0
- package/build/esm/redis/index.js +21 -0
- package/build/esm/redis/index.js.map +1 -0
- package/build/esm/redis/redis-dc-subscriber.js +94 -0
- package/build/esm/redis/redis-dc-subscriber.js.map +1 -0
- package/build/esm/redis/redis-statement-serializer.js +32 -0
- package/build/esm/redis/redis-statement-serializer.js.map +1 -0
- package/build/esm/tracing-channel.js +132 -0
- package/build/esm/tracing-channel.js.map +1 -0
- package/build/esm/vercel-ai/index.js +21 -0
- package/build/esm/vercel-ai/index.js.map +1 -0
- package/build/esm/vercel-ai/util.js +106 -0
- package/build/esm/vercel-ai/util.js.map +1 -0
- package/build/esm/vercel-ai/vercel-ai-dc-subscriber.js +425 -0
- package/build/esm/vercel-ai/vercel-ai-dc-subscriber.js.map +1 -0
- package/build/esm/vercel-ai/vercel-ai-orchestrion-subscriber.js +397 -0
- package/build/esm/vercel-ai/vercel-ai-orchestrion-subscriber.js.map +1 -0
- package/build/orchestrion/import-hook.mjs +19 -0
- package/build/types/debug-build.d.ts +7 -0
- package/build/types/debug-build.d.ts.map +1 -0
- package/build/types/graphql/graphql-dc-subscriber.d.ts +94 -0
- package/build/types/graphql/graphql-dc-subscriber.d.ts.map +1 -0
- package/build/types/graphql/index.d.ts +12 -0
- package/build/types/graphql/index.d.ts.map +1 -0
- package/build/types/graphql/utils.d.ts +36 -0
- package/build/types/graphql/utils.d.ts.map +1 -0
- package/build/types/index.d.ts +22 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/amqplib.d.ts +11 -0
- package/build/types/integrations/tracing-channel/amqplib.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/anthropic.d.ts +10 -0
- package/build/types/integrations/tracing-channel/anthropic.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts +43 -0
- package/build/types/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/constants.d.ts +15 -0
- package/build/types/integrations/tracing-channel/aws-sdk/constants.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/index.d.ts +15 -0
- package/build/types/integrations/tracing-channel/aws-sdk/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts +23 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts +9 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts +10 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts +14 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts +8 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/index.d.ts +2 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts +6 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/lambda.d.ts +9 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/lambda.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/s3.d.ts +6 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/s3.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts +8 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/sns.d.ts +9 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/sns.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/sqs.d.ts +9 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/sqs.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts +6 -0
- package/build/types/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/types.d.ts +26 -0
- package/build/types/integrations/tracing-channel/aws-sdk/types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/aws-sdk/utils.d.ts +5 -0
- package/build/types/integrations/tracing-channel/aws-sdk/utils.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/dataloader.d.ts +11 -0
- package/build/types/integrations/tracing-channel/dataloader.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/express/index.d.ts +18 -0
- package/build/types/integrations/tracing-channel/express/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/express/instrumentation.d.ts +4 -0
- package/build/types/integrations/tracing-channel/express/instrumentation.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/express/route.d.ts +28 -0
- package/build/types/integrations/tracing-channel/express/route.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/express/types.d.ts +64 -0
- package/build/types/integrations/tracing-channel/express/types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/fastify/errors.d.ts +12 -0
- package/build/types/integrations/tracing-channel/fastify/errors.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/fastify/index.d.ts +66 -0
- package/build/types/integrations/tracing-channel/fastify/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/fastify/instrumentation.d.ts +10 -0
- package/build/types/integrations/tracing-channel/fastify/instrumentation.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/fastify/types.d.ts +32 -0
- package/build/types/integrations/tracing-channel/fastify/types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/fastify/utils.d.ts +9 -0
- package/build/types/integrations/tracing-channel/fastify/utils.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/generic-pool.d.ts +10 -0
- package/build/types/integrations/tracing-channel/generic-pool.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/google-genai.d.ts +12 -0
- package/build/types/integrations/tracing-channel/google-genai.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/graphql/constants.d.ts +12 -0
- package/build/types/integrations/tracing-channel/graphql/constants.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/graphql/graphql-types.d.ts +135 -0
- package/build/types/integrations/tracing-channel/graphql/graphql-types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/graphql/index.d.ts +28 -0
- package/build/types/integrations/tracing-channel/graphql/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/graphql/resolvers.d.ts +13 -0
- package/build/types/integrations/tracing-channel/graphql/resolvers.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/graphql/spans.d.ts +17 -0
- package/build/types/integrations/tracing-channel/graphql/spans.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/graphql/types.d.ts +25 -0
- package/build/types/integrations/tracing-channel/graphql/types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/hapi-types.d.ts +53 -0
- package/build/types/integrations/tracing-channel/hapi-types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/hapi-utils.d.ts +25 -0
- package/build/types/integrations/tracing-channel/hapi-utils.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/hapi.d.ts +9 -0
- package/build/types/integrations/tracing-channel/hapi.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/ioredis.d.ts +37 -0
- package/build/types/integrations/tracing-channel/ioredis.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/kafkajs/consumer.d.ts +8 -0
- package/build/types/integrations/tracing-channel/kafkajs/consumer.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/kafkajs/index.d.ts +17 -0
- package/build/types/integrations/tracing-channel/kafkajs/index.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/kafkajs/semconv.d.ts +10 -0
- package/build/types/integrations/tracing-channel/kafkajs/semconv.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/kafkajs/spans.d.ts +38 -0
- package/build/types/integrations/tracing-channel/kafkajs/spans.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/kafkajs/types.d.ts +40 -0
- package/build/types/integrations/tracing-channel/kafkajs/types.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/knex.d.ts +11 -0
- package/build/types/integrations/tracing-channel/knex.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/koa.d.ts +14 -0
- package/build/types/integrations/tracing-channel/koa.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/langchain.d.ts +10 -0
- package/build/types/integrations/tracing-channel/langchain.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/langgraph.d.ts +10 -0
- package/build/types/integrations/tracing-channel/langgraph.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/lru-memoizer.d.ts +10 -0
- package/build/types/integrations/tracing-channel/lru-memoizer.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/mongodb.d.ts +12 -0
- package/build/types/integrations/tracing-channel/mongodb.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/mongoose.d.ts +15 -0
- package/build/types/integrations/tracing-channel/mongoose.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/mysql.d.ts +12 -0
- package/build/types/integrations/tracing-channel/mysql.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/mysql2.d.ts +15 -0
- package/build/types/integrations/tracing-channel/mysql2.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/openai.d.ts +10 -0
- package/build/types/integrations/tracing-channel/openai.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/postgres-js.d.ts +26 -0
- package/build/types/integrations/tracing-channel/postgres-js.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/postgres.d.ts +15 -0
- package/build/types/integrations/tracing-channel/postgres.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/redis.d.ts +16 -0
- package/build/types/integrations/tracing-channel/redis.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/tedious.d.ts +11 -0
- package/build/types/integrations/tracing-channel/tedious.d.ts.map +1 -0
- package/build/types/integrations/tracing-channel/vercel-ai.d.ts +13 -0
- package/build/types/integrations/tracing-channel/vercel-ai.d.ts.map +1 -0
- package/build/types/mongodb/mongodb-span.d.ts +66 -0
- package/build/types/mongodb/mongodb-span.d.ts.map +1 -0
- package/build/types/mongoose/index.d.ts +13 -0
- package/build/types/mongoose/index.d.ts.map +1 -0
- package/build/types/mongoose/mongoose-dc-subscriber.d.ts +63 -0
- package/build/types/mongoose/mongoose-dc-subscriber.d.ts.map +1 -0
- package/build/types/mongoose/mongoose-legacy-span.d.ts +29 -0
- package/build/types/mongoose/mongoose-legacy-span.d.ts.map +1 -0
- package/build/types/mysql2/index.d.ts +11 -0
- package/build/types/mysql2/index.d.ts.map +1 -0
- package/build/types/mysql2/mysql2-dc-subscriber.d.ts +59 -0
- package/build/types/mysql2/mysql2-dc-subscriber.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/esbuild.d.ts +21 -0
- package/build/types/orchestrion/bundler/esbuild.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/options.d.ts +29 -0
- package/build/types/orchestrion/bundler/options.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/rollup.d.ts +17 -0
- package/build/types/orchestrion/bundler/rollup.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/vite.d.ts +18 -0
- package/build/types/orchestrion/bundler/vite.d.ts.map +1 -0
- package/build/types/orchestrion/bundler/webpack.d.ts +19 -0
- package/build/types/orchestrion/bundler/webpack.d.ts.map +1 -0
- package/build/types/orchestrion/channels.d.ts +130 -0
- package/build/types/orchestrion/channels.d.ts.map +1 -0
- package/build/types/orchestrion/config/amqplib.d.ts +66 -0
- package/build/types/orchestrion/config/amqplib.d.ts.map +1 -0
- package/build/types/orchestrion/config/anthropic-ai.d.ts +31 -0
- package/build/types/orchestrion/config/anthropic-ai.d.ts.map +1 -0
- package/build/types/orchestrion/config/aws-sdk.d.ts +19 -0
- package/build/types/orchestrion/config/aws-sdk.d.ts.map +1 -0
- package/build/types/orchestrion/config/dataloader.d.ts +46 -0
- package/build/types/orchestrion/config/dataloader.d.ts.map +1 -0
- package/build/types/orchestrion/config/express.d.ts +30 -0
- package/build/types/orchestrion/config/express.d.ts.map +1 -0
- package/build/types/orchestrion/config/firebase.d.ts +4 -0
- package/build/types/orchestrion/config/firebase.d.ts.map +1 -0
- package/build/types/orchestrion/config/generic-pool.d.ts +31 -0
- package/build/types/orchestrion/config/generic-pool.d.ts.map +1 -0
- package/build/types/orchestrion/config/google-genai.d.ts +30 -0
- package/build/types/orchestrion/config/google-genai.d.ts.map +1 -0
- package/build/types/orchestrion/config/graphql.d.ts +29 -0
- package/build/types/orchestrion/config/graphql.d.ts.map +1 -0
- package/build/types/orchestrion/config/hapi.d.ts +17 -0
- package/build/types/orchestrion/config/hapi.d.ts.map +1 -0
- package/build/types/orchestrion/config/index.d.ts +37 -0
- package/build/types/orchestrion/config/index.d.ts.map +1 -0
- package/build/types/orchestrion/config/ioredis.d.ts +7 -0
- package/build/types/orchestrion/config/ioredis.d.ts.map +1 -0
- package/build/types/orchestrion/config/kafkajs.d.ts +17 -0
- package/build/types/orchestrion/config/kafkajs.d.ts.map +1 -0
- package/build/types/orchestrion/config/knex.d.ts +9 -0
- package/build/types/orchestrion/config/knex.d.ts.map +1 -0
- package/build/types/orchestrion/config/koa.d.ts +17 -0
- package/build/types/orchestrion/config/koa.d.ts.map +1 -0
- package/build/types/orchestrion/config/langchain.d.ts +18 -0
- package/build/types/orchestrion/config/langchain.d.ts.map +1 -0
- package/build/types/orchestrion/config/langgraph.d.ts +21 -0
- package/build/types/orchestrion/config/langgraph.d.ts.map +1 -0
- package/build/types/orchestrion/config/lru-memoizer.d.ts +16 -0
- package/build/types/orchestrion/config/lru-memoizer.d.ts.map +1 -0
- package/build/types/orchestrion/config/mongodb.d.ts +59 -0
- package/build/types/orchestrion/config/mongodb.d.ts.map +1 -0
- package/build/types/orchestrion/config/mongoose.d.ts +40 -0
- package/build/types/orchestrion/config/mongoose.d.ts.map +1 -0
- package/build/types/orchestrion/config/mysql.d.ts +16 -0
- package/build/types/orchestrion/config/mysql.d.ts.map +1 -0
- package/build/types/orchestrion/config/mysql2.d.ts +18 -0
- package/build/types/orchestrion/config/mysql2.d.ts.map +1 -0
- package/build/types/orchestrion/config/nestjs.d.ts +24 -0
- package/build/types/orchestrion/config/nestjs.d.ts.map +1 -0
- package/build/types/orchestrion/config/openai.d.ts +18 -0
- package/build/types/orchestrion/config/openai.d.ts.map +1 -0
- package/build/types/orchestrion/config/pg.d.ts +33 -0
- package/build/types/orchestrion/config/pg.d.ts.map +1 -0
- package/build/types/orchestrion/config/postgres.d.ts +9 -0
- package/build/types/orchestrion/config/postgres.d.ts.map +1 -0
- package/build/types/orchestrion/config/prisma.d.ts +4 -0
- package/build/types/orchestrion/config/prisma.d.ts.map +1 -0
- package/build/types/orchestrion/config/react-router.d.ts +4 -0
- package/build/types/orchestrion/config/react-router.d.ts.map +1 -0
- package/build/types/orchestrion/config/redis.d.ts +37 -0
- package/build/types/orchestrion/config/redis.d.ts.map +1 -0
- package/build/types/orchestrion/config/remix.d.ts +9 -0
- package/build/types/orchestrion/config/remix.d.ts.map +1 -0
- package/build/types/orchestrion/config/tedious.d.ts +12 -0
- package/build/types/orchestrion/config/tedious.d.ts.map +1 -0
- package/build/types/orchestrion/config/vercel-ai.d.ts +12 -0
- package/build/types/orchestrion/config/vercel-ai.d.ts.map +1 -0
- package/build/types/orchestrion/detect.d.ts +26 -0
- package/build/types/orchestrion/detect.d.ts.map +1 -0
- package/build/types/orchestrion/index.d.ts +136 -0
- package/build/types/orchestrion/index.d.ts.map +1 -0
- package/build/types/orchestrion/runtime/register.d.ts +25 -0
- package/build/types/orchestrion/runtime/register.d.ts.map +1 -0
- package/build/types/prisma/global.d.ts +5 -0
- package/build/types/prisma/global.d.ts.map +1 -0
- package/build/types/prisma/index.d.ts +45 -0
- package/build/types/prisma/index.d.ts.map +1 -0
- package/build/types/prisma/tracing-helper.d.ts +46 -0
- package/build/types/prisma/tracing-helper.d.ts.map +1 -0
- package/build/types/prisma/types.d.ts +37 -0
- package/build/types/prisma/types.d.ts.map +1 -0
- package/build/types/redis/index.d.ts +18 -0
- package/build/types/redis/index.d.ts.map +1 -0
- package/build/types/redis/redis-dc-subscriber.d.ts +89 -0
- package/build/types/redis/redis-dc-subscriber.d.ts.map +1 -0
- package/build/types/redis/redis-statement-serializer.d.ts +6 -0
- package/build/types/redis/redis-statement-serializer.d.ts.map +1 -0
- package/build/types/tracing-channel.d.ts +73 -0
- package/build/types/tracing-channel.d.ts.map +1 -0
- package/build/types/vercel-ai/index.d.ts +27 -0
- package/build/types/vercel-ai/index.d.ts.map +1 -0
- package/build/types/vercel-ai/util.d.ts +30 -0
- package/build/types/vercel-ai/util.d.ts.map +1 -0
- package/build/types/vercel-ai/vercel-ai-dc-subscriber.d.ts +72 -0
- package/build/types/vercel-ai/vercel-ai-dc-subscriber.d.ts.map +1 -0
- package/build/types/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts +12 -0
- package/build/types/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts.map +1 -0
- package/build/types-ts3.8/debug-build.d.ts +7 -0
- package/build/types-ts3.8/graphql/graphql-dc-subscriber.d.ts +94 -0
- package/build/types-ts3.8/graphql/index.d.ts +12 -0
- package/build/types-ts3.8/graphql/utils.d.ts +36 -0
- package/build/types-ts3.8/index.d.ts +23 -0
- package/build/types-ts3.8/integrations/tracing-channel/amqplib.d.ts +11 -0
- package/build/types-ts3.8/integrations/tracing-channel/anthropic.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/aws-sdk.types.d.ts +43 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/constants.d.ts +15 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/index.d.ts +15 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/MessageAttributes.d.ts +23 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/ServiceExtension.d.ts +9 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/ServicesExtensions.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/bedrock-runtime.d.ts +14 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/dynamodb.d.ts +8 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/index.d.ts +2 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/kinesis.d.ts +6 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/lambda.d.ts +9 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/s3.d.ts +6 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/secretsmanager.d.ts +8 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/sns.d.ts +9 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/sqs.d.ts +9 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/services/stepfunctions.d.ts +6 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/types.d.ts +26 -0
- package/build/types-ts3.8/integrations/tracing-channel/aws-sdk/utils.d.ts +5 -0
- package/build/types-ts3.8/integrations/tracing-channel/dataloader.d.ts +11 -0
- package/build/types-ts3.8/integrations/tracing-channel/express/index.d.ts +18 -0
- package/build/types-ts3.8/integrations/tracing-channel/express/instrumentation.d.ts +4 -0
- package/build/types-ts3.8/integrations/tracing-channel/express/route.d.ts +28 -0
- package/build/types-ts3.8/integrations/tracing-channel/express/types.d.ts +64 -0
- package/build/types-ts3.8/integrations/tracing-channel/fastify/errors.d.ts +12 -0
- package/build/types-ts3.8/integrations/tracing-channel/fastify/index.d.ts +66 -0
- package/build/types-ts3.8/integrations/tracing-channel/fastify/instrumentation.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/fastify/types.d.ts +32 -0
- package/build/types-ts3.8/integrations/tracing-channel/fastify/utils.d.ts +9 -0
- package/build/types-ts3.8/integrations/tracing-channel/generic-pool.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/google-genai.d.ts +12 -0
- package/build/types-ts3.8/integrations/tracing-channel/graphql/constants.d.ts +12 -0
- package/build/types-ts3.8/integrations/tracing-channel/graphql/graphql-types.d.ts +135 -0
- package/build/types-ts3.8/integrations/tracing-channel/graphql/index.d.ts +30 -0
- package/build/types-ts3.8/integrations/tracing-channel/graphql/resolvers.d.ts +13 -0
- package/build/types-ts3.8/integrations/tracing-channel/graphql/spans.d.ts +17 -0
- package/build/types-ts3.8/integrations/tracing-channel/graphql/types.d.ts +25 -0
- package/build/types-ts3.8/integrations/tracing-channel/hapi-types.d.ts +65 -0
- package/build/types-ts3.8/integrations/tracing-channel/hapi-utils.d.ts +25 -0
- package/build/types-ts3.8/integrations/tracing-channel/hapi.d.ts +9 -0
- package/build/types-ts3.8/integrations/tracing-channel/ioredis.d.ts +37 -0
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/consumer.d.ts +8 -0
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/index.d.ts +17 -0
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/semconv.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/spans.d.ts +38 -0
- package/build/types-ts3.8/integrations/tracing-channel/kafkajs/types.d.ts +40 -0
- package/build/types-ts3.8/integrations/tracing-channel/knex.d.ts +11 -0
- package/build/types-ts3.8/integrations/tracing-channel/koa.d.ts +14 -0
- package/build/types-ts3.8/integrations/tracing-channel/langchain.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/langgraph.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/lru-memoizer.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/mongodb.d.ts +12 -0
- package/build/types-ts3.8/integrations/tracing-channel/mongoose.d.ts +15 -0
- package/build/types-ts3.8/integrations/tracing-channel/mysql.d.ts +12 -0
- package/build/types-ts3.8/integrations/tracing-channel/mysql2.d.ts +15 -0
- package/build/types-ts3.8/integrations/tracing-channel/openai.d.ts +10 -0
- package/build/types-ts3.8/integrations/tracing-channel/postgres-js.d.ts +26 -0
- package/build/types-ts3.8/integrations/tracing-channel/postgres.d.ts +15 -0
- package/build/types-ts3.8/integrations/tracing-channel/redis.d.ts +16 -0
- package/build/types-ts3.8/integrations/tracing-channel/tedious.d.ts +11 -0
- package/build/types-ts3.8/integrations/tracing-channel/vercel-ai.d.ts +13 -0
- package/build/types-ts3.8/mongodb/mongodb-span.d.ts +66 -0
- package/build/types-ts3.8/mongoose/index.d.ts +13 -0
- package/build/types-ts3.8/mongoose/mongoose-dc-subscriber.d.ts +63 -0
- package/build/types-ts3.8/mongoose/mongoose-legacy-span.d.ts +29 -0
- package/build/types-ts3.8/mysql2/index.d.ts +11 -0
- package/build/types-ts3.8/mysql2/mysql2-dc-subscriber.d.ts +59 -0
- package/build/types-ts3.8/node-diagnostics-channel.d.ts +19 -0
- package/build/types-ts3.8/orchestrion/bundler/esbuild.d.ts +21 -0
- package/build/types-ts3.8/orchestrion/bundler/options.d.ts +29 -0
- package/build/types-ts3.8/orchestrion/bundler/rollup.d.ts +17 -0
- package/build/types-ts3.8/orchestrion/bundler/vite.d.ts +18 -0
- package/build/types-ts3.8/orchestrion/bundler/webpack.d.ts +19 -0
- package/build/types-ts3.8/orchestrion/channels.d.ts +130 -0
- package/build/types-ts3.8/orchestrion/config/amqplib.d.ts +66 -0
- package/build/types-ts3.8/orchestrion/config/anthropic-ai.d.ts +31 -0
- package/build/types-ts3.8/orchestrion/config/aws-sdk.d.ts +19 -0
- package/build/types-ts3.8/orchestrion/config/dataloader.d.ts +46 -0
- package/build/types-ts3.8/orchestrion/config/express.d.ts +30 -0
- package/build/types-ts3.8/orchestrion/config/firebase.d.ts +4 -0
- package/build/types-ts3.8/orchestrion/config/generic-pool.d.ts +31 -0
- package/build/types-ts3.8/orchestrion/config/google-genai.d.ts +30 -0
- package/build/types-ts3.8/orchestrion/config/graphql.d.ts +29 -0
- package/build/types-ts3.8/orchestrion/config/hapi.d.ts +17 -0
- package/build/types-ts3.8/orchestrion/config/index.d.ts +37 -0
- package/build/types-ts3.8/orchestrion/config/ioredis.d.ts +7 -0
- package/build/types-ts3.8/orchestrion/config/kafkajs.d.ts +17 -0
- package/build/types-ts3.8/orchestrion/config/knex.d.ts +9 -0
- package/build/types-ts3.8/orchestrion/config/koa.d.ts +17 -0
- package/build/types-ts3.8/orchestrion/config/langchain.d.ts +18 -0
- package/build/types-ts3.8/orchestrion/config/langgraph.d.ts +21 -0
- package/build/types-ts3.8/orchestrion/config/lru-memoizer.d.ts +16 -0
- package/build/types-ts3.8/orchestrion/config/mongodb.d.ts +59 -0
- package/build/types-ts3.8/orchestrion/config/mongoose.d.ts +40 -0
- package/build/types-ts3.8/orchestrion/config/mysql.d.ts +16 -0
- package/build/types-ts3.8/orchestrion/config/mysql2.d.ts +18 -0
- package/build/types-ts3.8/orchestrion/config/nestjs.d.ts +24 -0
- package/build/types-ts3.8/orchestrion/config/openai.d.ts +18 -0
- package/build/types-ts3.8/orchestrion/config/pg.d.ts +33 -0
- package/build/types-ts3.8/orchestrion/config/postgres.d.ts +9 -0
- package/build/types-ts3.8/orchestrion/config/prisma.d.ts +4 -0
- package/build/types-ts3.8/orchestrion/config/react-router.d.ts +4 -0
- package/build/types-ts3.8/orchestrion/config/redis.d.ts +37 -0
- package/build/types-ts3.8/orchestrion/config/remix.d.ts +9 -0
- package/build/types-ts3.8/orchestrion/config/tedious.d.ts +12 -0
- package/build/types-ts3.8/orchestrion/config/vercel-ai.d.ts +12 -0
- package/build/types-ts3.8/orchestrion/detect.d.ts +26 -0
- package/build/types-ts3.8/orchestrion/index.d.ts +138 -0
- package/build/types-ts3.8/orchestrion/runtime/register.d.ts +25 -0
- package/build/types-ts3.8/prisma/global.d.ts +5 -0
- package/build/types-ts3.8/prisma/index.d.ts +45 -0
- package/build/types-ts3.8/prisma/tracing-helper.d.ts +52 -0
- package/build/types-ts3.8/prisma/types.d.ts +40 -0
- package/build/types-ts3.8/redis/index.d.ts +18 -0
- package/build/types-ts3.8/redis/redis-dc-subscriber.d.ts +89 -0
- package/build/types-ts3.8/redis/redis-statement-serializer.d.ts +6 -0
- package/build/types-ts3.8/tracing-channel.d.ts +73 -0
- package/build/types-ts3.8/vercel-ai/index.d.ts +27 -0
- package/build/types-ts3.8/vercel-ai/util.d.ts +30 -0
- package/build/types-ts3.8/vercel-ai/vercel-ai-dc-subscriber.d.ts +72 -0
- package/build/types-ts3.8/vercel-ai/vercel-ai-orchestrion-subscriber.d.ts +12 -0
- package/changes.json +14 -0
- package/package.json +189 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SPAN_KIND } from '@sentry/core';
|
|
2
|
+
import { _AWS_KINESIS_STREAM_NAME } from '@sentry/conventions/attributes';
|
|
3
|
+
|
|
4
|
+
class KinesisServiceExtension {
|
|
5
|
+
requestPreSpanHook(request) {
|
|
6
|
+
const streamName = request.commandInput?.StreamName;
|
|
7
|
+
const spanAttributes = {};
|
|
8
|
+
if (streamName) {
|
|
9
|
+
spanAttributes[_AWS_KINESIS_STREAM_NAME] = streamName;
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
spanAttributes,
|
|
13
|
+
spanKind: SPAN_KIND.CLIENT
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { KinesisServiceExtension };
|
|
19
|
+
//# sourceMappingURL=kinesis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kinesis.js","sources":["../../../../../../src/integrations/tracing-channel/aws-sdk/services/kinesis.ts"],"sourcesContent":["import { SPAN_KIND } from '@sentry/core';\nimport { _AWS_KINESIS_STREAM_NAME as AWS_KINESIS_STREAM_NAME } from '@sentry/conventions/attributes';\nimport type { NormalizedRequest } from '../types';\nimport type { RequestMetadata, ServiceExtension } from './ServiceExtension';\n\nexport class KinesisServiceExtension implements ServiceExtension {\n public requestPreSpanHook(request: NormalizedRequest): RequestMetadata {\n const streamName = request.commandInput?.StreamName;\n const spanAttributes: Record<string, unknown> = {};\n\n if (streamName) {\n // oxlint-disable-next-line typescript/no-deprecated -- old-semconv aws.kinesis.stream.name, matched to the OTel aws-sdk integration\n spanAttributes[AWS_KINESIS_STREAM_NAME] = streamName;\n }\n\n return {\n spanAttributes,\n spanKind: SPAN_KIND.CLIENT,\n };\n }\n}\n"],"names":["AWS_KINESIS_STREAM_NAME"],"mappings":";;;AAKO,MAAM,uBAAA,CAAoD;AAAA,EACxD,mBAAmB,OAAA,EAA6C;AACrE,IAAA,MAAM,UAAA,GAAa,QAAQ,YAAA,EAAc,UAAA;AACzC,IAAA,MAAM,iBAA0C,EAAC;AAEjD,IAAA,IAAI,UAAA,EAAY;AAEd,MAAA,cAAA,CAAeA,wBAAuB,CAAA,GAAI,UAAA;AAAA,IAC5C;AAEA,IAAA,OAAO;AAAA,MACL,cAAA;AAAA,MACA,UAAU,SAAA,CAAU;AAAA,KACtB;AAAA,EACF;AACF;;;;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { SPAN_KIND, getTraceData, debug } from '@sentry/core';
|
|
2
|
+
import { FAAS_INVOKED_NAME, FAAS_INVOKED_PROVIDER, FAAS_EXECUTION, FAAS_INVOKED_REGION } from '@sentry/conventions/attributes';
|
|
3
|
+
import { DEBUG_BUILD } from '../../../../debug-build.js';
|
|
4
|
+
|
|
5
|
+
const INVOKE_COMMAND = "Invoke";
|
|
6
|
+
class LambdaServiceExtension {
|
|
7
|
+
requestPreSpanHook(request) {
|
|
8
|
+
const functionName = request.commandInput?.FunctionName;
|
|
9
|
+
const spanAttributes = {};
|
|
10
|
+
let spanName;
|
|
11
|
+
if (request.commandName === INVOKE_COMMAND) {
|
|
12
|
+
spanAttributes[FAAS_INVOKED_NAME] = functionName;
|
|
13
|
+
spanAttributes[FAAS_INVOKED_PROVIDER] = "aws";
|
|
14
|
+
spanName = `${functionName} ${INVOKE_COMMAND}`;
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
spanAttributes,
|
|
18
|
+
spanKind: SPAN_KIND.CLIENT,
|
|
19
|
+
spanName
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
requestPostSpanHook(request, span) {
|
|
23
|
+
if (request.commandName === INVOKE_COMMAND && request.commandInput) {
|
|
24
|
+
request.commandInput.ClientContext = injectLambdaPropagationContext(request.commandInput.ClientContext, span);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
responseHook(response, span) {
|
|
28
|
+
if (response.request.commandName === INVOKE_COMMAND) {
|
|
29
|
+
span.setAttribute(FAAS_EXECUTION, response.requestId);
|
|
30
|
+
if (response.request.region) {
|
|
31
|
+
span.setAttribute(FAAS_INVOKED_REGION, response.request.region);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function injectLambdaPropagationContext(clientContext, span) {
|
|
37
|
+
try {
|
|
38
|
+
const propagatedContext = getTraceData({ span });
|
|
39
|
+
const parsedClientContext = clientContext ? JSON.parse(Buffer.from(clientContext, "base64").toString("utf8")) : {};
|
|
40
|
+
const updatedClientContext = {
|
|
41
|
+
...parsedClientContext,
|
|
42
|
+
custom: {
|
|
43
|
+
...parsedClientContext.custom,
|
|
44
|
+
...propagatedContext
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const encodedClientContext = Buffer.from(JSON.stringify(updatedClientContext)).toString("base64");
|
|
48
|
+
if (encodedClientContext.length > 3583) {
|
|
49
|
+
DEBUG_BUILD && debug.warn(
|
|
50
|
+
"[orchestrion:aws-sdk] cannot set trace propagation on lambda invoke parameters due to ClientContext length limitations."
|
|
51
|
+
);
|
|
52
|
+
return clientContext;
|
|
53
|
+
}
|
|
54
|
+
return encodedClientContext;
|
|
55
|
+
} catch (e) {
|
|
56
|
+
DEBUG_BUILD && debug.log("[orchestrion:aws-sdk] failed to set trace propagation on lambda ClientContext", e);
|
|
57
|
+
return clientContext;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { LambdaServiceExtension };
|
|
62
|
+
//# sourceMappingURL=lambda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambda.js","sources":["../../../../../../src/integrations/tracing-channel/aws-sdk/services/lambda.ts"],"sourcesContent":["import type { Span } from '@sentry/core';\nimport { debug, getTraceData, SPAN_KIND } from '@sentry/core';\nimport {\n FAAS_EXECUTION as ATTR_FAAS_EXECUTION,\n FAAS_INVOKED_NAME as ATTR_FAAS_INVOKED_NAME,\n FAAS_INVOKED_PROVIDER as ATTR_FAAS_INVOKED_PROVIDER,\n FAAS_INVOKED_REGION as ATTR_FAAS_INVOKED_REGION,\n} from '@sentry/conventions/attributes';\nimport { DEBUG_BUILD } from '../../../../debug-build';\nimport type { NormalizedRequest, NormalizedResponse } from '../types';\nimport type { RequestMetadata, ServiceExtension } from './ServiceExtension';\n\nconst INVOKE_COMMAND = 'Invoke';\n\nexport class LambdaServiceExtension implements ServiceExtension {\n public requestPreSpanHook(request: NormalizedRequest): RequestMetadata {\n const functionName = request.commandInput?.FunctionName;\n\n const spanAttributes: Record<string, unknown> = {};\n let spanName: string | undefined;\n\n if (request.commandName === INVOKE_COMMAND) {\n spanAttributes[ATTR_FAAS_INVOKED_NAME] = functionName;\n spanAttributes[ATTR_FAAS_INVOKED_PROVIDER] = 'aws';\n spanName = `${functionName} ${INVOKE_COMMAND}`;\n }\n\n return {\n spanAttributes,\n spanKind: SPAN_KIND.CLIENT,\n spanName,\n };\n }\n\n public requestPostSpanHook(request: NormalizedRequest, span: Span): void {\n if (request.commandName === INVOKE_COMMAND && request.commandInput) {\n request.commandInput.ClientContext = injectLambdaPropagationContext(request.commandInput.ClientContext, span);\n }\n }\n\n public responseHook(response: NormalizedResponse, span: Span): void {\n if (response.request.commandName === INVOKE_COMMAND) {\n // oxlint-disable-next-line typescript/no-deprecated -- old-semconv faas.execution, matched to the OTel aws-sdk integration\n span.setAttribute(ATTR_FAAS_EXECUTION, response.requestId);\n // Region resolves asynchronously after `requestPreSpanHook`, so it's backfilled onto the\n // normalized request and read here (same timing as `cloud.region`).\n if (response.request.region) {\n span.setAttribute(ATTR_FAAS_INVOKED_REGION, response.request.region);\n }\n }\n }\n}\n\nfunction injectLambdaPropagationContext(clientContext: string | undefined, span: Span): string | undefined {\n try {\n const propagatedContext = getTraceData({ span });\n\n const parsedClientContext = clientContext ? JSON.parse(Buffer.from(clientContext, 'base64').toString('utf8')) : {};\n\n const updatedClientContext = {\n ...parsedClientContext,\n custom: {\n ...parsedClientContext.custom,\n ...propagatedContext,\n },\n };\n\n const encodedClientContext = Buffer.from(JSON.stringify(updatedClientContext)).toString('base64');\n\n // The length of client context is capped at 3583 bytes of base64 encoded data\n // (https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax)\n if (encodedClientContext.length > 3583) {\n DEBUG_BUILD &&\n debug.warn(\n '[orchestrion:aws-sdk] cannot set trace propagation on lambda invoke parameters due to ClientContext length limitations.',\n );\n return clientContext;\n }\n\n return encodedClientContext;\n } catch (e) {\n DEBUG_BUILD && debug.log('[orchestrion:aws-sdk] failed to set trace propagation on lambda ClientContext', e);\n return clientContext;\n }\n}\n"],"names":["ATTR_FAAS_INVOKED_NAME","ATTR_FAAS_INVOKED_PROVIDER","ATTR_FAAS_EXECUTION","ATTR_FAAS_INVOKED_REGION"],"mappings":";;;;AAYA,MAAM,cAAA,GAAiB,QAAA;AAEhB,MAAM,sBAAA,CAAmD;AAAA,EACvD,mBAAmB,OAAA,EAA6C;AACrE,IAAA,MAAM,YAAA,GAAe,QAAQ,YAAA,EAAc,YAAA;AAE3C,IAAA,MAAM,iBAA0C,EAAC;AACjD,IAAA,IAAI,QAAA;AAEJ,IAAA,IAAI,OAAA,CAAQ,gBAAgB,cAAA,EAAgB;AAC1C,MAAA,cAAA,CAAeA,iBAAsB,CAAA,GAAI,YAAA;AACzC,MAAA,cAAA,CAAeC,qBAA0B,CAAA,GAAI,KAAA;AAC7C,MAAA,QAAA,GAAW,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,cAAc,CAAA,CAAA;AAAA,IAC9C;AAEA,IAAA,OAAO;AAAA,MACL,cAAA;AAAA,MACA,UAAU,SAAA,CAAU,MAAA;AAAA,MACpB;AAAA,KACF;AAAA,EACF;AAAA,EAEO,mBAAA,CAAoB,SAA4B,IAAA,EAAkB;AACvE,IAAA,IAAI,OAAA,CAAQ,WAAA,KAAgB,cAAA,IAAkB,OAAA,CAAQ,YAAA,EAAc;AAClE,MAAA,OAAA,CAAQ,aAAa,aAAA,GAAgB,8BAAA,CAA+B,OAAA,CAAQ,YAAA,CAAa,eAAe,IAAI,CAAA;AAAA,IAC9G;AAAA,EACF;AAAA,EAEO,YAAA,CAAa,UAA8B,IAAA,EAAkB;AAClE,IAAA,IAAI,QAAA,CAAS,OAAA,CAAQ,WAAA,KAAgB,cAAA,EAAgB;AAEnD,MAAA,IAAA,CAAK,YAAA,CAAaC,cAAA,EAAqB,QAAA,CAAS,SAAS,CAAA;AAGzD,MAAA,IAAI,QAAA,CAAS,QAAQ,MAAA,EAAQ;AAC3B,QAAA,IAAA,CAAK,YAAA,CAAaC,mBAAA,EAA0B,QAAA,CAAS,OAAA,CAAQ,MAAM,CAAA;AAAA,MACrE;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,8BAAA,CAA+B,eAAmC,IAAA,EAAgC;AACzG,EAAA,IAAI;AACF,IAAA,MAAM,iBAAA,GAAoB,YAAA,CAAa,EAAE,IAAA,EAAM,CAAA;AAE/C,IAAA,MAAM,mBAAA,GAAsB,aAAA,GAAgB,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,aAAA,EAAe,QAAQ,CAAA,CAAE,QAAA,CAAS,MAAM,CAAC,IAAI,EAAC;AAEjH,IAAA,MAAM,oBAAA,GAAuB;AAAA,MAC3B,GAAG,mBAAA;AAAA,MACH,MAAA,EAAQ;AAAA,QACN,GAAG,mBAAA,CAAoB,MAAA;AAAA,QACvB,GAAG;AAAA;AACL,KACF;AAEA,IAAA,MAAM,oBAAA,GAAuB,OAAO,IAAA,CAAK,IAAA,CAAK,UAAU,oBAAoB,CAAC,CAAA,CAAE,QAAA,CAAS,QAAQ,CAAA;AAIhG,IAAA,IAAI,oBAAA,CAAqB,SAAS,IAAA,EAAM;AACtC,MAAA,WAAA,IACE,KAAA,CAAM,IAAA;AAAA,QACJ;AAAA,OACF;AACF,MAAA,OAAO,aAAA;AAAA,IACT;AAEA,IAAA,OAAO,oBAAA;AAAA,EACT,SAAS,CAAA,EAAG;AACV,IAAA,WAAA,IAAe,KAAA,CAAM,GAAA,CAAI,+EAAA,EAAiF,CAAC,CAAA;AAC3G,IAAA,OAAO,aAAA;AAAA,EACT;AACF;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SPAN_KIND } from '@sentry/core';
|
|
2
|
+
import { AWS_S3_BUCKET } from '@sentry/conventions/attributes';
|
|
3
|
+
|
|
4
|
+
class S3ServiceExtension {
|
|
5
|
+
requestPreSpanHook(request) {
|
|
6
|
+
const bucketName = request.commandInput?.Bucket;
|
|
7
|
+
const spanAttributes = {};
|
|
8
|
+
if (bucketName) {
|
|
9
|
+
spanAttributes[AWS_S3_BUCKET] = bucketName;
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
spanAttributes,
|
|
13
|
+
spanKind: SPAN_KIND.CLIENT
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { S3ServiceExtension };
|
|
19
|
+
//# sourceMappingURL=s3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3.js","sources":["../../../../../../src/integrations/tracing-channel/aws-sdk/services/s3.ts"],"sourcesContent":["import { SPAN_KIND } from '@sentry/core';\nimport { AWS_S3_BUCKET } from '@sentry/conventions/attributes';\nimport type { NormalizedRequest } from '../types';\nimport type { RequestMetadata, ServiceExtension } from './ServiceExtension';\n\nexport class S3ServiceExtension implements ServiceExtension {\n public requestPreSpanHook(request: NormalizedRequest): RequestMetadata {\n const bucketName = request.commandInput?.Bucket;\n const spanAttributes: Record<string, unknown> = {};\n\n if (bucketName) {\n spanAttributes[AWS_S3_BUCKET] = bucketName;\n }\n\n return {\n spanAttributes,\n spanKind: SPAN_KIND.CLIENT,\n };\n }\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,kBAAA,CAA+C;AAAA,EACnD,mBAAmB,OAAA,EAA6C;AACrE,IAAA,MAAM,UAAA,GAAa,QAAQ,YAAA,EAAc,MAAA;AACzC,IAAA,MAAM,iBAA0C,EAAC;AAEjD,IAAA,IAAI,UAAA,EAAY;AACd,MAAA,cAAA,CAAe,aAAa,CAAA,GAAI,UAAA;AAAA,IAClC;AAEA,IAAA,OAAO;AAAA,MACL,cAAA;AAAA,MACA,UAAU,SAAA,CAAU;AAAA,KACtB;AAAA,EACF;AACF;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SPAN_KIND } from '@sentry/core';
|
|
2
|
+
import { AWS_SECRETSMANAGER_SECRET_ARN } from '@sentry/conventions/attributes';
|
|
3
|
+
|
|
4
|
+
class SecretsManagerServiceExtension {
|
|
5
|
+
requestPreSpanHook(request) {
|
|
6
|
+
const secretId = request.commandInput?.SecretId;
|
|
7
|
+
const spanAttributes = {};
|
|
8
|
+
if (typeof secretId === "string" && secretId.startsWith("arn:aws:secretsmanager:")) {
|
|
9
|
+
spanAttributes[AWS_SECRETSMANAGER_SECRET_ARN] = secretId;
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
spanAttributes,
|
|
13
|
+
spanKind: SPAN_KIND.CLIENT
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
responseHook(response, span) {
|
|
17
|
+
const secretArn = response.data?.ARN;
|
|
18
|
+
if (secretArn) {
|
|
19
|
+
span.setAttribute(AWS_SECRETSMANAGER_SECRET_ARN, secretArn);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { SecretsManagerServiceExtension };
|
|
25
|
+
//# sourceMappingURL=secretsmanager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secretsmanager.js","sources":["../../../../../../src/integrations/tracing-channel/aws-sdk/services/secretsmanager.ts"],"sourcesContent":["import type { Span } from '@sentry/core';\nimport { SPAN_KIND } from '@sentry/core';\nimport { AWS_SECRETSMANAGER_SECRET_ARN as ATTR_AWS_SECRETSMANAGER_SECRET_ARN } from '@sentry/conventions/attributes';\nimport type { NormalizedRequest, NormalizedResponse } from '../types';\nimport type { RequestMetadata, ServiceExtension } from './ServiceExtension';\n\nexport class SecretsManagerServiceExtension implements ServiceExtension {\n public requestPreSpanHook(request: NormalizedRequest): RequestMetadata {\n const secretId = request.commandInput?.SecretId;\n const spanAttributes: Record<string, unknown> = {};\n if (typeof secretId === 'string' && secretId.startsWith('arn:aws:secretsmanager:')) {\n spanAttributes[ATTR_AWS_SECRETSMANAGER_SECRET_ARN] = secretId;\n }\n\n return {\n spanAttributes,\n spanKind: SPAN_KIND.CLIENT,\n };\n }\n\n public responseHook(response: NormalizedResponse, span: Span): void {\n const secretArn = response.data?.ARN;\n if (secretArn) {\n span.setAttribute(ATTR_AWS_SECRETSMANAGER_SECRET_ARN, secretArn);\n }\n }\n}\n"],"names":["ATTR_AWS_SECRETSMANAGER_SECRET_ARN"],"mappings":";;;AAMO,MAAM,8BAAA,CAA2D;AAAA,EAC/D,mBAAmB,OAAA,EAA6C;AACrE,IAAA,MAAM,QAAA,GAAW,QAAQ,YAAA,EAAc,QAAA;AACvC,IAAA,MAAM,iBAA0C,EAAC;AACjD,IAAA,IAAI,OAAO,QAAA,KAAa,QAAA,IAAY,QAAA,CAAS,UAAA,CAAW,yBAAyB,CAAA,EAAG;AAClF,MAAA,cAAA,CAAeA,6BAAkC,CAAA,GAAI,QAAA;AAAA,IACvD;AAEA,IAAA,OAAO;AAAA,MACL,cAAA;AAAA,MACA,UAAU,SAAA,CAAU;AAAA,KACtB;AAAA,EACF;AAAA,EAEO,YAAA,CAAa,UAA8B,IAAA,EAAkB;AAClE,IAAA,MAAM,SAAA,GAAY,SAAS,IAAA,EAAM,GAAA;AACjC,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,IAAA,CAAK,YAAA,CAAaA,+BAAoC,SAAS,CAAA;AAAA,IACjE;AAAA,EACF;AACF;;;;"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { SPAN_KIND, getTraceData } from '@sentry/core';
|
|
2
|
+
import { MESSAGING_DESTINATION, MESSAGING_DESTINATION_NAME, AWS_SNS_TOPIC_ARN, MESSAGING_SYSTEM } from '@sentry/conventions/attributes';
|
|
3
|
+
import { MESSAGING_DESTINATION_KIND_VALUE_TOPIC, ATTR_MESSAGING_DESTINATION_KIND } from '../constants.js';
|
|
4
|
+
import { injectPropagationContext } from './MessageAttributes.js';
|
|
5
|
+
|
|
6
|
+
class SnsServiceExtension {
|
|
7
|
+
requestPreSpanHook(request) {
|
|
8
|
+
let spanKind = SPAN_KIND.CLIENT;
|
|
9
|
+
let spanName = `SNS ${request.commandName}`;
|
|
10
|
+
const spanAttributes = {
|
|
11
|
+
[MESSAGING_SYSTEM]: "aws.sns"
|
|
12
|
+
};
|
|
13
|
+
if (request.commandName === "Publish") {
|
|
14
|
+
spanKind = SPAN_KIND.PRODUCER;
|
|
15
|
+
spanAttributes[ATTR_MESSAGING_DESTINATION_KIND] = MESSAGING_DESTINATION_KIND_VALUE_TOPIC;
|
|
16
|
+
const { TopicArn, TargetArn, PhoneNumber } = request.commandInput;
|
|
17
|
+
const destinationName = extractDestinationName(TopicArn, TargetArn, PhoneNumber);
|
|
18
|
+
spanAttributes[MESSAGING_DESTINATION] = destinationName;
|
|
19
|
+
spanAttributes[MESSAGING_DESTINATION_NAME] = TopicArn || TargetArn || PhoneNumber || "unknown";
|
|
20
|
+
spanName = `${PhoneNumber ? "phone_number" : destinationName} send`;
|
|
21
|
+
}
|
|
22
|
+
const topicArn = request.commandInput?.TopicArn;
|
|
23
|
+
if (topicArn) {
|
|
24
|
+
spanAttributes[AWS_SNS_TOPIC_ARN] = topicArn;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
spanAttributes,
|
|
28
|
+
spanKind,
|
|
29
|
+
spanName
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
requestPostSpanHook(request, span) {
|
|
33
|
+
if (request.commandName === "Publish") {
|
|
34
|
+
const origMessageAttributes = request.commandInput.MessageAttributes ?? {};
|
|
35
|
+
request.commandInput.MessageAttributes = injectPropagationContext(origMessageAttributes, getTraceData({ span }));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
responseHook(response, span) {
|
|
39
|
+
const topicArn = response.data?.TopicArn;
|
|
40
|
+
if (topicArn) {
|
|
41
|
+
span.setAttribute(AWS_SNS_TOPIC_ARN, topicArn);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function extractDestinationName(topicArn, targetArn, phoneNumber) {
|
|
46
|
+
if (topicArn || targetArn) {
|
|
47
|
+
const arn = topicArn ?? targetArn;
|
|
48
|
+
try {
|
|
49
|
+
return arn.substring(arn.lastIndexOf(":") + 1);
|
|
50
|
+
} catch {
|
|
51
|
+
return arn;
|
|
52
|
+
}
|
|
53
|
+
} else if (phoneNumber) {
|
|
54
|
+
return phoneNumber;
|
|
55
|
+
} else {
|
|
56
|
+
return "unknown";
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { SnsServiceExtension };
|
|
61
|
+
//# sourceMappingURL=sns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sns.js","sources":["../../../../../../src/integrations/tracing-channel/aws-sdk/services/sns.ts"],"sourcesContent":["import type { Span, SpanKindValue } from '@sentry/core';\nimport { getTraceData, SPAN_KIND } from '@sentry/core';\nimport {\n AWS_SNS_TOPIC_ARN as ATTR_AWS_SNS_TOPIC_ARN,\n MESSAGING_DESTINATION as ATTR_MESSAGING_DESTINATION,\n MESSAGING_DESTINATION_NAME,\n MESSAGING_SYSTEM,\n} from '@sentry/conventions/attributes';\nimport { ATTR_MESSAGING_DESTINATION_KIND, MESSAGING_DESTINATION_KIND_VALUE_TOPIC } from '../constants';\nimport type { NormalizedRequest, NormalizedResponse } from '../types';\nimport { injectPropagationContext } from './MessageAttributes';\nimport type { RequestMetadata, ServiceExtension } from './ServiceExtension';\n\nexport class SnsServiceExtension implements ServiceExtension {\n public requestPreSpanHook(request: NormalizedRequest): RequestMetadata {\n let spanKind: SpanKindValue = SPAN_KIND.CLIENT;\n let spanName = `SNS ${request.commandName}`;\n const spanAttributes: Record<string, unknown> = {\n [MESSAGING_SYSTEM]: 'aws.sns',\n };\n\n if (request.commandName === 'Publish') {\n spanKind = SPAN_KIND.PRODUCER;\n\n spanAttributes[ATTR_MESSAGING_DESTINATION_KIND] = MESSAGING_DESTINATION_KIND_VALUE_TOPIC;\n const { TopicArn, TargetArn, PhoneNumber } = request.commandInput;\n const destinationName = extractDestinationName(TopicArn, TargetArn, PhoneNumber);\n // oxlint-disable-next-line typescript/no-deprecated -- old-semconv messaging.destination, matched to the OTel aws-sdk integration\n spanAttributes[ATTR_MESSAGING_DESTINATION] = destinationName;\n spanAttributes[MESSAGING_DESTINATION_NAME] = TopicArn || TargetArn || PhoneNumber || 'unknown';\n\n spanName = `${PhoneNumber ? 'phone_number' : destinationName} send`;\n }\n\n const topicArn = request.commandInput?.TopicArn;\n if (topicArn) {\n spanAttributes[ATTR_AWS_SNS_TOPIC_ARN] = topicArn;\n }\n\n return {\n spanAttributes,\n spanKind,\n spanName,\n };\n }\n\n public requestPostSpanHook(request: NormalizedRequest, span: Span): void {\n if (request.commandName === 'Publish') {\n const origMessageAttributes = request.commandInput.MessageAttributes ?? {};\n request.commandInput.MessageAttributes = injectPropagationContext(origMessageAttributes, getTraceData({ span }));\n }\n }\n\n public responseHook(response: NormalizedResponse, span: Span): void {\n const topicArn = response.data?.TopicArn;\n if (topicArn) {\n span.setAttribute(ATTR_AWS_SNS_TOPIC_ARN, topicArn);\n }\n }\n}\n\nfunction extractDestinationName(topicArn: string, targetArn: string, phoneNumber: string): string {\n if (topicArn || targetArn) {\n const arn = topicArn ?? targetArn;\n try {\n return arn.substring(arn.lastIndexOf(':') + 1);\n } catch {\n return arn;\n }\n } else if (phoneNumber) {\n return phoneNumber;\n } else {\n return 'unknown';\n }\n}\n"],"names":["ATTR_MESSAGING_DESTINATION","ATTR_AWS_SNS_TOPIC_ARN"],"mappings":";;;;;AAaO,MAAM,mBAAA,CAAgD;AAAA,EACpD,mBAAmB,OAAA,EAA6C;AACrE,IAAA,IAAI,WAA0B,SAAA,CAAU,MAAA;AACxC,IAAA,IAAI,QAAA,GAAW,CAAA,IAAA,EAAO,OAAA,CAAQ,WAAW,CAAA,CAAA;AACzC,IAAA,MAAM,cAAA,GAA0C;AAAA,MAC9C,CAAC,gBAAgB,GAAG;AAAA,KACtB;AAEA,IAAA,IAAI,OAAA,CAAQ,gBAAgB,SAAA,EAAW;AACrC,MAAA,QAAA,GAAW,SAAA,CAAU,QAAA;AAErB,MAAA,cAAA,CAAe,+BAA+B,CAAA,GAAI,sCAAA;AAClD,MAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAW,WAAA,KAAgB,OAAA,CAAQ,YAAA;AACrD,MAAA,MAAM,eAAA,GAAkB,sBAAA,CAAuB,QAAA,EAAU,SAAA,EAAW,WAAW,CAAA;AAE/E,MAAA,cAAA,CAAeA,qBAA0B,CAAA,GAAI,eAAA;AAC7C,MAAA,cAAA,CAAe,0BAA0B,CAAA,GAAI,QAAA,IAAY,SAAA,IAAa,WAAA,IAAe,SAAA;AAErF,MAAA,QAAA,GAAW,CAAA,EAAG,WAAA,GAAc,cAAA,GAAiB,eAAe,CAAA,KAAA,CAAA;AAAA,IAC9D;AAEA,IAAA,MAAM,QAAA,GAAW,QAAQ,YAAA,EAAc,QAAA;AACvC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,cAAA,CAAeC,iBAAsB,CAAA,GAAI,QAAA;AAAA,IAC3C;AAEA,IAAA,OAAO;AAAA,MACL,cAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AAAA,EAEO,mBAAA,CAAoB,SAA4B,IAAA,EAAkB;AACvE,IAAA,IAAI,OAAA,CAAQ,gBAAgB,SAAA,EAAW;AACrC,MAAA,MAAM,qBAAA,GAAwB,OAAA,CAAQ,YAAA,CAAa,iBAAA,IAAqB,EAAC;AACzE,MAAA,OAAA,CAAQ,YAAA,CAAa,oBAAoB,wBAAA,CAAyB,qBAAA,EAAuB,aAAa,EAAE,IAAA,EAAM,CAAC,CAAA;AAAA,IACjH;AAAA,EACF;AAAA,EAEO,YAAA,CAAa,UAA8B,IAAA,EAAkB;AAClE,IAAA,MAAM,QAAA,GAAW,SAAS,IAAA,EAAM,QAAA;AAChC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,IAAA,CAAK,YAAA,CAAaA,mBAAwB,QAAQ,CAAA;AAAA,IACpD;AAAA,EACF;AACF;AAEA,SAAS,sBAAA,CAAuB,QAAA,EAAkB,SAAA,EAAmB,WAAA,EAA6B;AAChG,EAAA,IAAI,YAAY,SAAA,EAAW;AACzB,IAAA,MAAM,MAAM,QAAA,IAAY,SAAA;AACxB,IAAA,IAAI;AACF,MAAA,OAAO,IAAI,SAAA,CAAU,GAAA,CAAI,WAAA,CAAY,GAAG,IAAI,CAAC,CAAA;AAAA,IAC/C,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,GAAA;AAAA,IACT;AAAA,EACF,WAAW,WAAA,EAAa;AACtB,IAAA,OAAO,WAAA;AAAA,EACT,CAAA,MAAO;AACL,IAAA,OAAO,SAAA;AAAA,EACT;AACF;;;;"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { SPAN_KIND, getTraceData, propagationContextFromHeaders } from '@sentry/core';
|
|
2
|
+
import { MESSAGING_OPERATION_TYPE, MESSAGING_BATCH_MESSAGE_COUNT, MESSAGING_MESSAGE_ID, URL_FULL, MESSAGING_DESTINATION_NAME, MESSAGING_SYSTEM } from '@sentry/conventions/attributes';
|
|
3
|
+
import { addPropagationFieldsToAttributeNames, injectPropagationContext, extractPropagationHeaders } from './MessageAttributes.js';
|
|
4
|
+
|
|
5
|
+
class SqsServiceExtension {
|
|
6
|
+
requestPreSpanHook(request) {
|
|
7
|
+
const queueUrl = extractQueueUrl(request.commandInput);
|
|
8
|
+
const queueName = extractQueueNameFromUrl(queueUrl);
|
|
9
|
+
let spanKind = SPAN_KIND.CLIENT;
|
|
10
|
+
let spanName;
|
|
11
|
+
const spanAttributes = {
|
|
12
|
+
[MESSAGING_SYSTEM]: "aws_sqs",
|
|
13
|
+
[MESSAGING_DESTINATION_NAME]: queueName,
|
|
14
|
+
[URL_FULL]: queueUrl
|
|
15
|
+
};
|
|
16
|
+
switch (request.commandName) {
|
|
17
|
+
case "ReceiveMessage":
|
|
18
|
+
{
|
|
19
|
+
spanKind = SPAN_KIND.CONSUMER;
|
|
20
|
+
spanName = `${queueName} receive`;
|
|
21
|
+
spanAttributes[MESSAGING_OPERATION_TYPE] = "receive";
|
|
22
|
+
request.commandInput.MessageAttributeNames = addPropagationFieldsToAttributeNames(
|
|
23
|
+
request.commandInput.MessageAttributeNames
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
break;
|
|
27
|
+
case "SendMessage":
|
|
28
|
+
case "SendMessageBatch":
|
|
29
|
+
spanKind = SPAN_KIND.PRODUCER;
|
|
30
|
+
spanName = `${queueName} send`;
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
spanAttributes,
|
|
35
|
+
spanKind,
|
|
36
|
+
spanName
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
requestPostSpanHook(request, span) {
|
|
40
|
+
switch (request.commandName) {
|
|
41
|
+
case "SendMessage":
|
|
42
|
+
{
|
|
43
|
+
const origMessageAttributes = request.commandInput.MessageAttributes ?? {};
|
|
44
|
+
request.commandInput.MessageAttributes = injectPropagationContext(
|
|
45
|
+
origMessageAttributes,
|
|
46
|
+
getTraceData({ span })
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
break;
|
|
50
|
+
case "SendMessageBatch":
|
|
51
|
+
{
|
|
52
|
+
const entries = request.commandInput?.Entries;
|
|
53
|
+
if (Array.isArray(entries)) {
|
|
54
|
+
const traceData = getTraceData({ span });
|
|
55
|
+
entries.forEach((messageParams) => {
|
|
56
|
+
messageParams.MessageAttributes = injectPropagationContext(
|
|
57
|
+
messageParams.MessageAttributes ?? {},
|
|
58
|
+
traceData
|
|
59
|
+
);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
responseHook(response, span) {
|
|
67
|
+
switch (response.request.commandName) {
|
|
68
|
+
case "SendMessage":
|
|
69
|
+
span.setAttribute(MESSAGING_MESSAGE_ID, response?.data?.MessageId);
|
|
70
|
+
break;
|
|
71
|
+
case "SendMessageBatch":
|
|
72
|
+
break;
|
|
73
|
+
case "ReceiveMessage": {
|
|
74
|
+
const messages = response?.data?.Messages || [];
|
|
75
|
+
span.setAttribute(MESSAGING_BATCH_MESSAGE_COUNT, messages.length);
|
|
76
|
+
for (const message of messages) {
|
|
77
|
+
linkReceivedMessageToProducer(span, message);
|
|
78
|
+
}
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function linkReceivedMessageToProducer(span, message) {
|
|
85
|
+
const headers = extractPropagationHeaders(message);
|
|
86
|
+
if (!headers) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const { parentSpanId, traceId, sampled } = propagationContextFromHeaders(headers.sentryTrace, headers.baggage);
|
|
90
|
+
if (traceId && parentSpanId) {
|
|
91
|
+
span.addLink({
|
|
92
|
+
context: {
|
|
93
|
+
traceId,
|
|
94
|
+
spanId: parentSpanId,
|
|
95
|
+
traceFlags: sampled ? 1 : 0
|
|
96
|
+
},
|
|
97
|
+
attributes: {
|
|
98
|
+
[MESSAGING_MESSAGE_ID]: message.MessageId
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function extractQueueUrl(commandInput) {
|
|
104
|
+
return commandInput?.QueueUrl;
|
|
105
|
+
}
|
|
106
|
+
function extractQueueNameFromUrl(queueUrl) {
|
|
107
|
+
if (!queueUrl) return void 0;
|
|
108
|
+
const segments = queueUrl.split("/");
|
|
109
|
+
if (segments.length === 0) return void 0;
|
|
110
|
+
return segments[segments.length - 1];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export { SqsServiceExtension };
|
|
114
|
+
//# sourceMappingURL=sqs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqs.js","sources":["../../../../../../src/integrations/tracing-channel/aws-sdk/services/sqs.ts"],"sourcesContent":["import type { Span, SpanKindValue } from '@sentry/core';\nimport { getTraceData, propagationContextFromHeaders, SPAN_KIND } from '@sentry/core';\nimport {\n MESSAGING_BATCH_MESSAGE_COUNT,\n MESSAGING_DESTINATION_NAME,\n MESSAGING_MESSAGE_ID,\n MESSAGING_OPERATION_TYPE,\n MESSAGING_SYSTEM,\n URL_FULL,\n} from '@sentry/conventions/attributes';\nimport type { SQS } from '../aws-sdk.types';\nimport type { CommandInput, NormalizedRequest, NormalizedResponse } from '../types';\nimport {\n addPropagationFieldsToAttributeNames,\n extractPropagationHeaders,\n injectPropagationContext,\n} from './MessageAttributes';\nimport type { RequestMetadata, ServiceExtension } from './ServiceExtension';\n\nexport class SqsServiceExtension implements ServiceExtension {\n public requestPreSpanHook(request: NormalizedRequest): RequestMetadata {\n const queueUrl = extractQueueUrl(request.commandInput);\n const queueName = extractQueueNameFromUrl(queueUrl);\n let spanKind: SpanKindValue = SPAN_KIND.CLIENT;\n let spanName: string | undefined;\n\n const spanAttributes: Record<string, unknown> = {\n [MESSAGING_SYSTEM]: 'aws_sqs',\n [MESSAGING_DESTINATION_NAME]: queueName,\n [URL_FULL]: queueUrl,\n };\n\n switch (request.commandName) {\n case 'ReceiveMessage':\n {\n spanKind = SPAN_KIND.CONSUMER;\n spanName = `${queueName} receive`;\n spanAttributes[MESSAGING_OPERATION_TYPE] = 'receive';\n\n request.commandInput.MessageAttributeNames = addPropagationFieldsToAttributeNames(\n request.commandInput.MessageAttributeNames,\n );\n }\n break;\n\n case 'SendMessage':\n case 'SendMessageBatch':\n spanKind = SPAN_KIND.PRODUCER;\n spanName = `${queueName} send`;\n break;\n }\n\n return {\n spanAttributes,\n spanKind,\n spanName,\n };\n }\n\n public requestPostSpanHook(request: NormalizedRequest, span: Span): void {\n switch (request.commandName) {\n case 'SendMessage':\n {\n const origMessageAttributes = request.commandInput.MessageAttributes ?? {};\n request.commandInput.MessageAttributes = injectPropagationContext(\n origMessageAttributes,\n getTraceData({ span }),\n );\n }\n break;\n\n case 'SendMessageBatch':\n {\n const entries = request.commandInput?.Entries;\n if (Array.isArray(entries)) {\n // Serialized once; the headers are identical for every entry of the batch.\n const traceData = getTraceData({ span });\n entries.forEach((messageParams: { MessageAttributes: SQS.MessageBodyAttributeMap }) => {\n messageParams.MessageAttributes = injectPropagationContext(\n messageParams.MessageAttributes ?? {},\n traceData,\n );\n });\n }\n }\n break;\n }\n }\n\n public responseHook(response: NormalizedResponse, span: Span): void {\n switch (response.request.commandName) {\n case 'SendMessage':\n span.setAttribute(MESSAGING_MESSAGE_ID, response?.data?.MessageId);\n break;\n\n case 'SendMessageBatch':\n break;\n\n case 'ReceiveMessage': {\n const messages: SQS.Message[] = response?.data?.Messages || [];\n\n span.setAttribute(MESSAGING_BATCH_MESSAGE_COUNT, messages.length);\n\n for (const message of messages) {\n linkReceivedMessageToProducer(span, message);\n }\n break;\n }\n }\n }\n}\n\n/**\n * Link a received SQS message's span back to the producer trace carried in its propagation headers.\n * No-op when the message has no (valid) `sentry-trace`/`baggage` attributes.\n */\nfunction linkReceivedMessageToProducer(span: Span, message: SQS.Message): void {\n const headers = extractPropagationHeaders(message);\n if (!headers) {\n return;\n }\n\n const { parentSpanId, traceId, sampled } = propagationContextFromHeaders(headers.sentryTrace, headers.baggage);\n if (traceId && parentSpanId) {\n span.addLink({\n context: {\n traceId,\n spanId: parentSpanId,\n traceFlags: sampled ? 1 : 0,\n },\n attributes: {\n [MESSAGING_MESSAGE_ID]: message.MessageId,\n },\n });\n }\n}\n\nfunction extractQueueUrl(commandInput: CommandInput): string {\n return commandInput?.QueueUrl;\n}\n\nfunction extractQueueNameFromUrl(queueUrl: string): string | undefined {\n if (!queueUrl) return undefined;\n\n const segments = queueUrl.split('/');\n if (segments.length === 0) return undefined;\n\n return segments[segments.length - 1];\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SPAN_KIND } from '@sentry/core';
|
|
2
|
+
import { AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN, AWS_STEP_FUNCTIONS_ACTIVITY_ARN } from '@sentry/conventions/attributes';
|
|
3
|
+
|
|
4
|
+
class StepFunctionsServiceExtension {
|
|
5
|
+
requestPreSpanHook(request) {
|
|
6
|
+
const stateMachineArn = request.commandInput?.stateMachineArn;
|
|
7
|
+
const activityArn = request.commandInput?.activityArn;
|
|
8
|
+
const spanAttributes = {};
|
|
9
|
+
if (stateMachineArn) {
|
|
10
|
+
spanAttributes[AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN] = stateMachineArn;
|
|
11
|
+
}
|
|
12
|
+
if (activityArn) {
|
|
13
|
+
spanAttributes[AWS_STEP_FUNCTIONS_ACTIVITY_ARN] = activityArn;
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
spanAttributes,
|
|
17
|
+
spanKind: SPAN_KIND.CLIENT
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { StepFunctionsServiceExtension };
|
|
23
|
+
//# sourceMappingURL=stepfunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepfunctions.js","sources":["../../../../../../src/integrations/tracing-channel/aws-sdk/services/stepfunctions.ts"],"sourcesContent":["import { SPAN_KIND } from '@sentry/core';\nimport {\n AWS_STEP_FUNCTIONS_ACTIVITY_ARN as ATTR_AWS_STEP_FUNCTIONS_ACTIVITY_ARN,\n AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN as ATTR_AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN,\n} from '@sentry/conventions/attributes';\nimport type { NormalizedRequest } from '../types';\nimport type { RequestMetadata, ServiceExtension } from './ServiceExtension';\n\nexport class StepFunctionsServiceExtension implements ServiceExtension {\n public requestPreSpanHook(request: NormalizedRequest): RequestMetadata {\n const stateMachineArn = request.commandInput?.stateMachineArn;\n const activityArn = request.commandInput?.activityArn;\n const spanAttributes: Record<string, unknown> = {};\n\n if (stateMachineArn) {\n spanAttributes[ATTR_AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN] = stateMachineArn;\n }\n\n if (activityArn) {\n spanAttributes[ATTR_AWS_STEP_FUNCTIONS_ACTIVITY_ARN] = activityArn;\n }\n\n return {\n spanAttributes,\n spanKind: SPAN_KIND.CLIENT,\n };\n }\n}\n"],"names":["ATTR_AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN","ATTR_AWS_STEP_FUNCTIONS_ACTIVITY_ARN"],"mappings":";;;AAQO,MAAM,6BAAA,CAA0D;AAAA,EAC9D,mBAAmB,OAAA,EAA6C;AACrE,IAAA,MAAM,eAAA,GAAkB,QAAQ,YAAA,EAAc,eAAA;AAC9C,IAAA,MAAM,WAAA,GAAc,QAAQ,YAAA,EAAc,WAAA;AAC1C,IAAA,MAAM,iBAA0C,EAAC;AAEjD,IAAA,IAAI,eAAA,EAAiB;AACnB,MAAA,cAAA,CAAeA,oCAAyC,CAAA,GAAI,eAAA;AAAA,IAC9D;AAEA,IAAA,IAAI,WAAA,EAAa;AACf,MAAA,cAAA,CAAeC,+BAAoC,CAAA,GAAI,WAAA;AAAA,IACzD;AAEA,IAAA,OAAO;AAAA,MACL,cAAA;AAAA,MACA,UAAU,SAAA,CAAU;AAAA,KACtB;AAAA,EACF;AACF;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CLOUD_REGION, RPC_SERVICE, RPC_METHOD, RPC_SYSTEM } from '@sentry/conventions/attributes';
|
|
2
|
+
|
|
3
|
+
function removeSuffixFromStringIfExists(str, suffixToRemove) {
|
|
4
|
+
const suffixLength = suffixToRemove.length;
|
|
5
|
+
return str?.slice(-suffixLength) === suffixToRemove ? str.slice(0, -suffixLength) : str;
|
|
6
|
+
}
|
|
7
|
+
function normalizeV3Request(serviceName, commandNameWithSuffix, commandInput, region) {
|
|
8
|
+
return {
|
|
9
|
+
serviceName: serviceName?.replace(/\s+/g, ""),
|
|
10
|
+
commandName: removeSuffixFromStringIfExists(commandNameWithSuffix, "Command"),
|
|
11
|
+
commandInput,
|
|
12
|
+
region
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function extractAttributesFromNormalizedRequest(normalizedRequest) {
|
|
16
|
+
return {
|
|
17
|
+
// oxlint-disable-next-line typescript/no-deprecated -- old-semconv rpc.system, matched to the OTel aws-sdk integration
|
|
18
|
+
[RPC_SYSTEM]: "aws-api",
|
|
19
|
+
[RPC_METHOD]: normalizedRequest.commandName,
|
|
20
|
+
[RPC_SERVICE]: normalizedRequest.serviceName,
|
|
21
|
+
[CLOUD_REGION]: normalizedRequest.region
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { extractAttributesFromNormalizedRequest, normalizeV3Request, removeSuffixFromStringIfExists };
|
|
26
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/integrations/tracing-channel/aws-sdk/utils.ts"],"sourcesContent":["import { CLOUD_REGION, RPC_METHOD, RPC_SERVICE, RPC_SYSTEM } from '@sentry/conventions/attributes';\nimport type { CommandInput, NormalizedRequest } from './types';\n\nexport function removeSuffixFromStringIfExists(str: string, suffixToRemove: string): string {\n const suffixLength = suffixToRemove.length;\n return str?.slice(-suffixLength) === suffixToRemove ? str.slice(0, -suffixLength) : str;\n}\n\nexport function normalizeV3Request(\n serviceName: string,\n commandNameWithSuffix: string,\n commandInput: CommandInput,\n region: string | undefined,\n): NormalizedRequest {\n return {\n serviceName: serviceName?.replace(/\\s+/g, ''),\n commandName: removeSuffixFromStringIfExists(commandNameWithSuffix, 'Command'),\n commandInput,\n region,\n };\n}\n\nexport function extractAttributesFromNormalizedRequest(normalizedRequest: NormalizedRequest): Record<string, unknown> {\n return {\n // oxlint-disable-next-line typescript/no-deprecated -- old-semconv rpc.system, matched to the OTel aws-sdk integration\n [RPC_SYSTEM]: 'aws-api',\n [RPC_METHOD]: normalizedRequest.commandName,\n [RPC_SERVICE]: normalizedRequest.serviceName,\n [CLOUD_REGION]: normalizedRequest.region,\n };\n}\n"],"names":[],"mappings":";;AAGO,SAAS,8BAAA,CAA+B,KAAa,cAAA,EAAgC;AAC1F,EAAA,MAAM,eAAe,cAAA,CAAe,MAAA;AACpC,EAAA,OAAO,GAAA,EAAK,KAAA,CAAM,CAAC,YAAY,CAAA,KAAM,cAAA,GAAiB,GAAA,CAAI,KAAA,CAAM,CAAA,EAAG,CAAC,YAAY,CAAA,GAAI,GAAA;AACtF;AAEO,SAAS,kBAAA,CACd,WAAA,EACA,qBAAA,EACA,YAAA,EACA,MAAA,EACmB;AACnB,EAAA,OAAO;AAAA,IACL,WAAA,EAAa,WAAA,EAAa,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA;AAAA,IAC5C,WAAA,EAAa,8BAAA,CAA+B,qBAAA,EAAuB,SAAS,CAAA;AAAA,IAC5E,YAAA;AAAA,IACA;AAAA,GACF;AACF;AAEO,SAAS,uCAAuC,iBAAA,EAA+D;AACpH,EAAA,OAAO;AAAA;AAAA,IAEL,CAAC,UAAU,GAAG,SAAA;AAAA,IACd,CAAC,UAAU,GAAG,iBAAA,CAAkB,WAAA;AAAA,IAChC,CAAC,WAAW,GAAG,iBAAA,CAAkB,WAAA;AAAA,IACjC,CAAC,YAAY,GAAG,iBAAA,CAAkB;AAAA,GACpC;AACF;;;;"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as diagnosticsChannel from 'node:diagnostics_channel';
|
|
2
|
+
import { defineIntegration, debug, waitForTracingChannelBinding, startSpan, startInactiveSpan, SPAN_KIND, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';
|
|
3
|
+
import { DEBUG_BUILD } from '../../debug-build.js';
|
|
4
|
+
import { CHANNELS } from '../../orchestrion/channels.js';
|
|
5
|
+
import { bindTracingChannelToSpan } from '../../tracing-channel.js';
|
|
6
|
+
|
|
7
|
+
const INTEGRATION_NAME = "Dataloader";
|
|
8
|
+
const MODULE_NAME = "dataloader";
|
|
9
|
+
const ORIGIN = "auto.db.orchestrion.dataloader";
|
|
10
|
+
const CACHE_GET_OP = "cache.get";
|
|
11
|
+
const WRAPPED = /* @__PURE__ */ Symbol("sentry.dataloader.wrapped");
|
|
12
|
+
function getSpanName(loader, operation) {
|
|
13
|
+
const name = loader?.name;
|
|
14
|
+
return name ? `${MODULE_NAME}.${operation} ${name}` : `${MODULE_NAME}.${operation}`;
|
|
15
|
+
}
|
|
16
|
+
function makeSpanOptions(loader, operation) {
|
|
17
|
+
const isCacheGet = operation === "load" || operation === "loadMany" || operation === "batch";
|
|
18
|
+
return {
|
|
19
|
+
name: getSpanName(loader, operation),
|
|
20
|
+
// Every direct operation (`load`/`loadMany`/`prime`/`clear`/`clearAll`) is a client call, matching
|
|
21
|
+
// the vendored OTel instrumentation. The `batch` runs off a deferred tick with no obvious network
|
|
22
|
+
// peer, so it gets no kind.
|
|
23
|
+
kind: operation === "batch" ? void 0 : SPAN_KIND.CLIENT,
|
|
24
|
+
op: isCacheGet ? CACHE_GET_OP : void 0,
|
|
25
|
+
onlyIfParent: true,
|
|
26
|
+
attributes: {
|
|
27
|
+
[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
const _dataloaderChannelIntegration = (() => {
|
|
32
|
+
return {
|
|
33
|
+
name: INTEGRATION_NAME,
|
|
34
|
+
setupOnce() {
|
|
35
|
+
if (!diagnosticsChannel.tracingChannel) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
DEBUG_BUILD && debug.log("[orchestrion:dataloader] subscribing to dataloader tracing channels");
|
|
39
|
+
waitForTracingChannelBinding(() => {
|
|
40
|
+
subscribeConstruct();
|
|
41
|
+
subscribeLoad();
|
|
42
|
+
subscribeSimpleOperation(CHANNELS.DATALOADER_LOAD_MANY, "loadMany");
|
|
43
|
+
subscribeSimpleOperation(CHANNELS.DATALOADER_PRIME, "prime");
|
|
44
|
+
subscribeSimpleOperation(CHANNELS.DATALOADER_CLEAR, "clear");
|
|
45
|
+
subscribeSimpleOperation(CHANNELS.DATALOADER_CLEAR_ALL, "clearAll");
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
function subscribeConstruct() {
|
|
51
|
+
diagnosticsChannel.tracingChannel(CHANNELS.DATALOADER_CONSTRUCT).start.subscribe((message) => {
|
|
52
|
+
const data = message;
|
|
53
|
+
const batchLoadFn = data.arguments[0];
|
|
54
|
+
if (typeof batchLoadFn !== "function" || batchLoadFn[WRAPPED]) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const original = batchLoadFn;
|
|
58
|
+
const wrapped = function(...args) {
|
|
59
|
+
return startSpan(
|
|
60
|
+
{ ...makeSpanOptions(this, "batch"), links: this._batch?.spanLinks },
|
|
61
|
+
() => original.apply(this, args)
|
|
62
|
+
);
|
|
63
|
+
};
|
|
64
|
+
wrapped[WRAPPED] = true;
|
|
65
|
+
data.arguments[0] = wrapped;
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function subscribeLoad() {
|
|
69
|
+
const channel = diagnosticsChannel.tracingChannel(CHANNELS.DATALOADER_LOAD);
|
|
70
|
+
bindTracingChannelToSpan(channel, (data) => startInactiveSpanFor(data.self, "load"), { requiresParentSpan: true });
|
|
71
|
+
channel.end.subscribe((message) => {
|
|
72
|
+
const data = message;
|
|
73
|
+
const span = data._sentrySpan;
|
|
74
|
+
const batch = data.self?._batch;
|
|
75
|
+
if (span && batch && span.isRecording()) {
|
|
76
|
+
(batch.spanLinks ?? (batch.spanLinks = [])).push({ context: span.spanContext() });
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
function subscribeSimpleOperation(channelName, operation) {
|
|
81
|
+
bindTracingChannelToSpan(
|
|
82
|
+
diagnosticsChannel.tracingChannel(channelName),
|
|
83
|
+
(data) => startInactiveSpanFor(data.self, operation),
|
|
84
|
+
{ requiresParentSpan: true }
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
function startInactiveSpanFor(loader, operation) {
|
|
88
|
+
return startInactiveSpan(makeSpanOptions(loader, operation));
|
|
89
|
+
}
|
|
90
|
+
const dataloaderChannelIntegration = defineIntegration(_dataloaderChannelIntegration);
|
|
91
|
+
|
|
92
|
+
export { dataloaderChannelIntegration };
|
|
93
|
+
//# sourceMappingURL=dataloader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataloader.js","sources":["../../../../src/integrations/tracing-channel/dataloader.ts"],"sourcesContent":["import * as diagnosticsChannel from 'node:diagnostics_channel';\nimport type { IntegrationFn, Span, StartSpanOptions } from '@sentry/core';\nimport {\n debug,\n defineIntegration,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SPAN_KIND,\n startInactiveSpan,\n startSpan,\n waitForTracingChannelBinding,\n} from '@sentry/core';\nimport { DEBUG_BUILD } from '../../debug-build';\nimport type { ChannelName } from '../../orchestrion/channels';\nimport { CHANNELS } from '../../orchestrion/channels';\nimport type { TracingChannelPayloadWithSpan } from '../../tracing-channel';\nimport { bindTracingChannelToSpan } from '../../tracing-channel';\n\n// NOTE: this uses the same name as the OTel integration by design.\n// When enabled, the OTel 'Dataloader' integration is omitted from the default set.\nconst INTEGRATION_NAME = 'Dataloader' as const;\n\nconst MODULE_NAME = 'dataloader';\nconst ORIGIN = 'auto.db.orchestrion.dataloader';\n\n// `load`, `loadMany` and `batch` are cache reads; the rest are cache mutations that get no `op`.\nconst CACHE_GET_OP = 'cache.get';\n\ntype Operation = 'load' | 'loadMany' | 'batch' | 'prime' | 'clear' | 'clearAll';\n\n// The link shape shared between a `load` span and the `batch` span it triggers.\ntype DataLoaderSpanLink = { context: ReturnType<Span['spanContext']> };\n\n// The private batch object `dataloader` stores on the loader. We stash the pending `load` span links\n// here (matching the vendored OTel instrumentation) so the batch span can link back to them.\ninterface DataLoaderBatch {\n spanLinks?: DataLoaderSpanLink[];\n}\n\ninterface DataLoaderInstance {\n name?: string | null;\n _batch?: DataLoaderBatch | null;\n}\n\n/**\n * The shape orchestrion's transform attaches to the tracing-channel `context`. Documented here rather\n * than imported because orchestrion's runtime doesn't export it.\n */\ninterface DataLoaderChannelContext {\n arguments: unknown[];\n self?: DataLoaderInstance;\n result?: unknown;\n error?: unknown;\n}\n\n// Marks a wrapped `batchLoadFn` so a re-used loader (or a double construct) isn't wrapped twice.\nconst WRAPPED = Symbol('sentry.dataloader.wrapped');\n\nfunction getSpanName(loader: DataLoaderInstance | undefined, operation: Operation): string {\n const name = loader?.name;\n\n return name ? `${MODULE_NAME}.${operation} ${name}` : `${MODULE_NAME}.${operation}`;\n}\n\nfunction makeSpanOptions(loader: DataLoaderInstance | undefined, operation: Operation): StartSpanOptions {\n const isCacheGet = operation === 'load' || operation === 'loadMany' || operation === 'batch';\n\n return {\n name: getSpanName(loader, operation),\n // Every direct operation (`load`/`loadMany`/`prime`/`clear`/`clearAll`) is a client call, matching\n // the vendored OTel instrumentation. The `batch` runs off a deferred tick with no obvious network\n // peer, so it gets no kind.\n kind: operation === 'batch' ? undefined : SPAN_KIND.CLIENT,\n op: isCacheGet ? CACHE_GET_OP : undefined,\n onlyIfParent: true,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,\n },\n };\n}\n\nconst _dataloaderChannelIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n // `tracingChannel` is unavailable before Node 18.19 so do nothing in that case.\n if (!diagnosticsChannel.tracingChannel) {\n return;\n }\n\n DEBUG_BUILD && debug.log('[orchestrion:dataloader] subscribing to dataloader tracing channels');\n\n waitForTracingChannelBinding(() => {\n subscribeConstruct();\n subscribeLoad();\n subscribeSimpleOperation(CHANNELS.DATALOADER_LOAD_MANY, 'loadMany');\n subscribeSimpleOperation(CHANNELS.DATALOADER_PRIME, 'prime');\n subscribeSimpleOperation(CHANNELS.DATALOADER_CLEAR, 'clear');\n subscribeSimpleOperation(CHANNELS.DATALOADER_CLEAR_ALL, 'clearAll');\n });\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Wraps the user's `batchLoadFn` (constructor arg 0) so the batch span opens when it runs on the\n * deferred dispatch tick. The span links back to the `load` calls that populated the batch.\n */\nfunction subscribeConstruct(): void {\n diagnosticsChannel\n .tracingChannel<DataLoaderChannelContext>(CHANNELS.DATALOADER_CONSTRUCT)\n .start.subscribe(message => {\n const data = message as DataLoaderChannelContext;\n const batchLoadFn = data.arguments[0];\n if (typeof batchLoadFn !== 'function' || (batchLoadFn as { [WRAPPED]?: boolean })[WRAPPED]) {\n return;\n }\n\n const original = batchLoadFn as (...args: unknown[]) => unknown;\n const wrapped = function (this: DataLoaderInstance, ...args: unknown[]): unknown {\n return startSpan({ ...makeSpanOptions(this, 'batch'), links: this._batch?.spanLinks }, () =>\n original.apply(this, args),\n );\n };\n (wrapped as { [WRAPPED]?: boolean })[WRAPPED] = true;\n data.arguments[0] = wrapped;\n });\n}\n\n/**\n * `load` is a cache read that additionally records its span so the batch it feeds into can link back.\n *\n * The span itself is `Async` (ends on `asyncEnd`, so its duration covers the awaited load). But the\n * link has to be recorded earlier, on the synchronous `end` (fired when `load` returns): the batch\n * dispatches on a deferred tick and reads `spanLinks` at batch-span creation, which happens BEFORE\n * `load`'s promise resolves (`asyncEnd`) — so recording at span end would be too late and drop the\n * link. The sync `end` runs after `dataloader` has assigned `this._batch` in `load`'s body and before\n * the deferred dispatch, so the link lands in time.\n */\nfunction subscribeLoad(): void {\n const channel = diagnosticsChannel.tracingChannel<DataLoaderChannelContext>(CHANNELS.DATALOADER_LOAD);\n\n bindTracingChannelToSpan(channel, data => startInactiveSpanFor(data.self, 'load'), { requiresParentSpan: true });\n\n channel.end.subscribe(message => {\n const data = message as TracingChannelPayloadWithSpan<DataLoaderChannelContext>;\n const span = data._sentrySpan;\n const batch = data.self?._batch;\n if (span && batch && span.isRecording()) {\n (batch.spanLinks ??= []).push({ context: span.spanContext() });\n }\n });\n}\n\nfunction subscribeSimpleOperation(channelName: ChannelName, operation: Operation): void {\n bindTracingChannelToSpan(\n diagnosticsChannel.tracingChannel<DataLoaderChannelContext>(channelName),\n data => startInactiveSpanFor(data.self, operation),\n { requiresParentSpan: true },\n );\n}\n\nfunction startInactiveSpanFor(loader: DataLoaderInstance | undefined, operation: Operation): Span {\n return startInactiveSpan(makeSpanOptions(loader, operation));\n}\n\n/**\n * EXPERIMENTAL: orchestrion-driven `dataloader` integration.\n *\n * Subscribes to the `orchestrion:dataloader:*` diagnostics_channels that the orchestrion code\n * transform injects into `dataloader`'s constructor and prototype methods. Requires the orchestrion\n * runtime hook or bundler plugin to be active.\n */\nexport const dataloaderChannelIntegration = defineIntegration(_dataloaderChannelIntegration);\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as diagnosticsChannel from 'node:diagnostics_channel';
|
|
2
|
+
import { defineIntegration, waitForTracingChannelBinding } from '@sentry/core';
|
|
3
|
+
import { instrumentExpress } from './instrumentation.js';
|
|
4
|
+
|
|
5
|
+
const INTEGRATION_NAME = "Express";
|
|
6
|
+
const _expressChannelIntegration = ((options = {}) => {
|
|
7
|
+
return {
|
|
8
|
+
name: INTEGRATION_NAME,
|
|
9
|
+
setupOnce() {
|
|
10
|
+
if (!diagnosticsChannel.tracingChannel) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
waitForTracingChannelBinding(() => {
|
|
14
|
+
instrumentExpress(options, diagnosticsChannel.tracingChannel);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
const expressChannelIntegration = defineIntegration(_expressChannelIntegration);
|
|
20
|
+
|
|
21
|
+
export { expressChannelIntegration };
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing-channel/express/index.ts"],"sourcesContent":["import * as diagnosticsChannel from 'node:diagnostics_channel';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration, waitForTracingChannelBinding } from '@sentry/core';\nimport type { ExpressIntegrationOptions } from './types';\nimport { instrumentExpress } from './instrumentation';\n\n// NOTE: this uses the same name as the OTel integration by design.\n// When enabled, the OTel 'Express' integration is omitted from the default set.\nconst INTEGRATION_NAME = 'Express' as const;\n\nconst _expressChannelIntegration = ((options: ExpressIntegrationOptions = {}) => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n // `tracingChannel` is unavailable before Node 18.19 so do nothing in that case.\n if (!diagnosticsChannel.tracingChannel) {\n return;\n }\n\n waitForTracingChannelBinding(() => {\n instrumentExpress(options, diagnosticsChannel.tracingChannel);\n });\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * EXPERIMENTAL — orchestrion-driven Express integration.\n *\n * Subscribes to the `orchestrion:express:handle` (Express v4) and\n * `orchestrion:router:handle` (Express v5, via the `router` package)\n * diagnostics_channels that the orchestrion code transform injects into the\n * routing layer's request handler (`Layer.prototype.handle_request` /\n * `handleRequest`). One span is opened per layer invocation — producing the\n * same spans as the OTel Express instrumentation.\n *\n * Requires the orchestrion runtime hook or bundler plugin to be active — wire\n * that up via `experimentalUseDiagnosticsChannelInjection()`.\n */\nexport const expressChannelIntegration = defineIntegration(_expressChannelIntegration);\n"],"names":[],"mappings":";;;;AAQA,MAAM,gBAAA,GAAmB,SAAA;AAEzB,MAAM,0BAAA,IAA8B,CAAC,OAAA,GAAqC,EAAC,KAAM;AAC/E,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AAEV,MAAA,IAAI,CAAC,mBAAmB,cAAA,EAAgB;AACtC,QAAA;AAAA,MACF;AAEA,MAAA,4BAAA,CAA6B,MAAM;AACjC,QAAA,iBAAA,CAAkB,OAAA,EAAS,mBAAmB,cAAc,CAAA;AAAA,MAC9D,CAAC,CAAA;AAAA,IACH;AAAA,GACF;AACF,CAAA,CAAA;AAeO,MAAM,yBAAA,GAA4B,kBAAkB,0BAA0B;;;;"}
|