Skip to content

extract to portable integrations #19941

Description

@linear-code

Follow the example of the portable express instrumentation in #19928

Each of these dependencies in packages/node needs to be:

  • Extracted out to a standalone patching library that receives the module export as an option, outside of the node package.
  • Loaded into the node sdk with a bare-bones opentelemetry/instrumentation instance.

Consider creating a new packages/integrations to house these, which can be done as a subsequent step (for now, just leaving in packages/core/src/integrations is fine.)

  • @opentelemetry/instrumentation-express feat(core, node): portable Express integration #19928
  • @opentelemetry/instrumentation-amqplib
  • @opentelemetry/instrumentation-connect - @isaacs extremely similar to express integration
  • @opentelemetry/instrumentation-dataloader
  • @opentelemetry/instrumentation-fs
  • @opentelemetry/instrumentation-generic-pool
  • @opentelemetry/instrumentation-graphql
  • @opentelemetry/instrumentation-hapi
  • @opentelemetry/instrumentation-http - @isaacs We already have a TracingChannel integration in node-core. Patching style integration can be additive, especially if deno/bun node:http impls don't use TCs. If they do, this can possibly be discarded? Nope, they don't have TCs for node:http, so we still need to patch there.
  • @opentelemetry/instrumentation-ioredis
  • @opentelemetry/instrumentation-kafkajs
  • @opentelemetry/instrumentation-knex
  • @opentelemetry/instrumentation-koa
  • @opentelemetry/instrumentation-lru-memoizer
  • @opentelemetry/instrumentation-mongodb
  • @opentelemetry/instrumentation-mongoose
  • @opentelemetry/instrumentation-mysql
  • @opentelemetry/instrumentation-mysql2
  • @opentelemetry/instrumentation-pg
  • @opentelemetry/instrumentation-redis
  • @opentelemetry/instrumentation-tedious
  • @opentelemetry/instrumentation-undici
  • @prisma/instrumentation
  • @fastify/otel

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions