Skip to content

getsentry/opentelemetry-instrumentation-fetch-node

 
 

Repository files navigation

opentelemetry-instrumentation-fetch-node

TypeScript

main CI

npm version

OpenTelemetry Node 18+ native fetch automatic instrumentation package.

Existing instrumentation packages (like @opentelemetry/instrumentation-http) do not work with Node 18 native fetch, which is based on the undici module but packaged in a "strange" way (some sort of internal bundle that I don't really understand). This module uses the new Node diagnostics channel to instrument native fetch.

Note that due to the fact that fetch is lazy loaded in Node 18, this module will kick off a "phony" fetch to an unparseable URL (blank string) to get the library to load so we don't miss any events (because the diagnostics channel would not yet exist).

See the tests for an example setup - note the onRequest event that allows you to add outbound headers or span attributes or what have you.

About

OpenTelemetry Node 18+ native fetch automatic instrumentation package

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 88.2%
  • JavaScript 11.1%
  • Shell 0.7%