feat(opentelemetry-node): improved ESM instrumentation support #499
+60
−47
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This updates to usage of IITM's support for only hooking modules intended
to be hooked (added in IITM 1.11.0, see nodejs/import-in-the-middle#146).
This helps workaround cases where IITM hooking breaks some modules.
The openai-chat.mjs is one such example.
current status
This PR is incomplete (see XXXs and TODOs in the diff).
import-in-the-middle
dep, and try to see if there are bad side-effects from this if there are multiple versions of import-in-the-middle in play. Upstream@opentelemetry/instrumentation
has this dep:"import-in-the-middle": "^1.8.1",
, so it is possible to have too old of an IITM installed. There are also potential issues if multiple separate IITM installations are used. I think we need the explicit diff, but there can still be issues if a user brings their own instrumentation along with its own IITM install.(/cc @codefromthecrypt This will allow instrumenting
openai
usage used from ESM code.)