@sentry/node 10.61.0 → 10.63.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.
Files changed (385) hide show
  1. package/build/cjs/integrations/featureFlagShims/launchDarkly.js.map +1 -1
  2. package/build/cjs/integrations/featureFlagShims/openFeature.js.map +1 -1
  3. package/build/cjs/integrations/featureFlagShims/statsig.js.map +1 -1
  4. package/build/cjs/integrations/featureFlagShims/unleash.js.map +1 -1
  5. package/build/cjs/integrations/fs/index.js.map +1 -1
  6. package/build/cjs/integrations/http.js.map +1 -1
  7. package/build/cjs/integrations/node-fetch/index.js +7 -49
  8. package/build/cjs/integrations/node-fetch/index.js.map +1 -1
  9. package/build/cjs/integrations/node-fetch/undici-instrumentation.js +266 -0
  10. package/build/cjs/integrations/node-fetch/undici-instrumentation.js.map +1 -0
  11. package/build/cjs/integrations/tracing/amqplib/index.js +2 -10
  12. package/build/cjs/integrations/tracing/amqplib/index.js.map +1 -1
  13. package/build/cjs/integrations/tracing/amqplib/vendored/instrumentation.js +117 -0
  14. package/build/cjs/integrations/tracing/amqplib/vendored/instrumentation.js.map +1 -0
  15. package/build/cjs/integrations/tracing/amqplib/vendored/patches.js +185 -0
  16. package/build/cjs/integrations/tracing/amqplib/vendored/patches.js.map +1 -0
  17. package/build/cjs/integrations/tracing/amqplib/vendored/semconv.js +21 -1
  18. package/build/cjs/integrations/tracing/amqplib/vendored/semconv.js.map +1 -1
  19. package/build/cjs/integrations/tracing/amqplib/vendored/types.js +0 -6
  20. package/build/cjs/integrations/tracing/amqplib/vendored/types.js.map +1 -1
  21. package/build/cjs/integrations/tracing/amqplib/vendored/utils.js +71 -80
  22. package/build/cjs/integrations/tracing/amqplib/vendored/utils.js.map +1 -1
  23. package/build/cjs/integrations/tracing/connect/index.js.map +1 -1
  24. package/build/cjs/integrations/tracing/dataloader/index.js.map +1 -1
  25. package/build/cjs/integrations/tracing/express.js.map +1 -1
  26. package/build/cjs/integrations/tracing/fastify/index.js +7 -103
  27. package/build/cjs/integrations/tracing/fastify/index.js.map +1 -1
  28. package/build/cjs/integrations/tracing/fastify/v3/instrumentation.js +2 -3
  29. package/build/cjs/integrations/tracing/fastify/v3/instrumentation.js.map +1 -1
  30. package/build/cjs/integrations/tracing/firebase/firebase.js +1 -24
  31. package/build/cjs/integrations/tracing/firebase/firebase.js.map +1 -1
  32. package/build/cjs/integrations/tracing/firebase/otel/firebaseInstrumentation.js +3 -11
  33. package/build/cjs/integrations/tracing/firebase/otel/firebaseInstrumentation.js.map +1 -1
  34. package/build/cjs/integrations/tracing/firebase/otel/patches/firestore.js +33 -72
  35. package/build/cjs/integrations/tracing/firebase/otel/patches/firestore.js.map +1 -1
  36. package/build/cjs/integrations/tracing/firebase/otel/patches/functions.js +46 -105
  37. package/build/cjs/integrations/tracing/firebase/otel/patches/functions.js.map +1 -1
  38. package/build/cjs/integrations/tracing/genericPool/index.js.map +1 -1
  39. package/build/cjs/integrations/tracing/graphql/index.js.map +1 -1
  40. package/build/cjs/integrations/tracing/hapi/index.js.map +1 -1
  41. package/build/cjs/integrations/tracing/hono/index.js.map +1 -1
  42. package/build/cjs/integrations/tracing/index.js +0 -1
  43. package/build/cjs/integrations/tracing/index.js.map +1 -1
  44. package/build/cjs/integrations/tracing/kafka/index.js.map +1 -1
  45. package/build/cjs/integrations/tracing/knex/index.js.map +1 -1
  46. package/build/cjs/integrations/tracing/koa/index.js.map +1 -1
  47. package/build/cjs/integrations/tracing/lrumemoizer/index.js.map +1 -1
  48. package/build/cjs/integrations/tracing/lrumemoizer/vendored/instrumentation.js +4 -2
  49. package/build/cjs/integrations/tracing/lrumemoizer/vendored/instrumentation.js.map +1 -1
  50. package/build/cjs/integrations/tracing/mongo/index.js.map +1 -1
  51. package/build/cjs/integrations/tracing/mongoose/index.js.map +1 -1
  52. package/build/cjs/integrations/tracing/mysql/index.js.map +1 -1
  53. package/build/cjs/integrations/tracing/mysql/vendored/instrumentation.js +34 -128
  54. package/build/cjs/integrations/tracing/mysql/vendored/instrumentation.js.map +1 -1
  55. package/build/cjs/integrations/tracing/mysql/vendored/semconv.js +0 -2
  56. package/build/cjs/integrations/tracing/mysql/vendored/semconv.js.map +1 -1
  57. package/build/cjs/integrations/tracing/mysql/vendored/utils.js +2 -27
  58. package/build/cjs/integrations/tracing/mysql/vendored/utils.js.map +1 -1
  59. package/build/cjs/integrations/tracing/mysql2/index.js.map +1 -1
  60. package/build/cjs/integrations/tracing/postgres/index.js.map +1 -1
  61. package/build/cjs/integrations/tracing/postgresjs.js.map +1 -1
  62. package/build/cjs/integrations/tracing/prisma/index.js +1 -10
  63. package/build/cjs/integrations/tracing/prisma/index.js.map +1 -1
  64. package/build/cjs/integrations/tracing/prisma/vendored/active-tracing-helper.js +83 -57
  65. package/build/cjs/integrations/tracing/prisma/vendored/active-tracing-helper.js.map +1 -1
  66. package/build/cjs/integrations/tracing/prisma/vendored/constants.js.map +1 -1
  67. package/build/cjs/integrations/tracing/prisma/vendored/global.js +2 -2
  68. package/build/cjs/integrations/tracing/prisma/vendored/global.js.map +1 -1
  69. package/build/cjs/integrations/tracing/prisma/vendored/instrumentation.js +1 -6
  70. package/build/cjs/integrations/tracing/prisma/vendored/instrumentation.js.map +1 -1
  71. package/build/cjs/integrations/tracing/redis/index.js +5 -3
  72. package/build/cjs/integrations/tracing/redis/index.js.map +1 -1
  73. package/build/cjs/integrations/tracing/tedious/index.js.map +1 -1
  74. package/build/cjs/integrations/tracing/vercelai/constants.js.map +1 -1
  75. package/build/cjs/integrations/tracing/vercelai/index.js +4 -3
  76. package/build/cjs/integrations/tracing/vercelai/index.js.map +1 -1
  77. package/build/cjs/sdk/diagnosticsChannelInjection.js.map +1 -1
  78. package/build/cjs/sdk/experimentalUseDiagnosticsChannelInjection.js +8 -6
  79. package/build/cjs/sdk/experimentalUseDiagnosticsChannelInjection.js.map +1 -1
  80. package/build/esm/integrations/featureFlagShims/launchDarkly.js.map +1 -1
  81. package/build/esm/integrations/featureFlagShims/openFeature.js.map +1 -1
  82. package/build/esm/integrations/featureFlagShims/statsig.js.map +1 -1
  83. package/build/esm/integrations/featureFlagShims/unleash.js.map +1 -1
  84. package/build/esm/integrations/fs/index.js.map +1 -1
  85. package/build/esm/integrations/http.js.map +1 -1
  86. package/build/esm/integrations/node-fetch/index.js +9 -50
  87. package/build/esm/integrations/node-fetch/index.js.map +1 -1
  88. package/build/esm/integrations/node-fetch/undici-instrumentation.js +264 -0
  89. package/build/esm/integrations/node-fetch/undici-instrumentation.js.map +1 -0
  90. package/build/esm/integrations/tracing/amqplib/index.js +3 -11
  91. package/build/esm/integrations/tracing/amqplib/index.js.map +1 -1
  92. package/build/esm/integrations/tracing/amqplib/vendored/instrumentation.js +115 -0
  93. package/build/esm/integrations/tracing/amqplib/vendored/instrumentation.js.map +1 -0
  94. package/build/esm/integrations/tracing/amqplib/vendored/patches.js +177 -0
  95. package/build/esm/integrations/tracing/amqplib/vendored/patches.js.map +1 -0
  96. package/build/esm/integrations/tracing/amqplib/vendored/semconv.js +12 -2
  97. package/build/esm/integrations/tracing/amqplib/vendored/semconv.js.map +1 -1
  98. package/build/esm/integrations/tracing/amqplib/vendored/types.js +1 -6
  99. package/build/esm/integrations/tracing/amqplib/vendored/types.js.map +1 -1
  100. package/build/esm/integrations/tracing/amqplib/vendored/utils.js +68 -78
  101. package/build/esm/integrations/tracing/amqplib/vendored/utils.js.map +1 -1
  102. package/build/esm/integrations/tracing/connect/index.js.map +1 -1
  103. package/build/esm/integrations/tracing/dataloader/index.js.map +1 -1
  104. package/build/esm/integrations/tracing/express.js.map +1 -1
  105. package/build/esm/integrations/tracing/fastify/index.js +8 -103
  106. package/build/esm/integrations/tracing/fastify/index.js.map +1 -1
  107. package/build/esm/integrations/tracing/fastify/v3/instrumentation.js +3 -4
  108. package/build/esm/integrations/tracing/fastify/v3/instrumentation.js.map +1 -1
  109. package/build/esm/integrations/tracing/firebase/firebase.js +3 -26
  110. package/build/esm/integrations/tracing/firebase/firebase.js.map +1 -1
  111. package/build/esm/integrations/tracing/firebase/otel/firebaseInstrumentation.js +3 -11
  112. package/build/esm/integrations/tracing/firebase/otel/firebaseInstrumentation.js.map +1 -1
  113. package/build/esm/integrations/tracing/firebase/otel/patches/firestore.js +34 -73
  114. package/build/esm/integrations/tracing/firebase/otel/patches/firestore.js.map +1 -1
  115. package/build/esm/integrations/tracing/firebase/otel/patches/functions.js +47 -106
  116. package/build/esm/integrations/tracing/firebase/otel/patches/functions.js.map +1 -1
  117. package/build/esm/integrations/tracing/genericPool/index.js.map +1 -1
  118. package/build/esm/integrations/tracing/graphql/index.js.map +1 -1
  119. package/build/esm/integrations/tracing/hapi/index.js.map +1 -1
  120. package/build/esm/integrations/tracing/hono/index.js.map +1 -1
  121. package/build/esm/integrations/tracing/index.js +1 -2
  122. package/build/esm/integrations/tracing/index.js.map +1 -1
  123. package/build/esm/integrations/tracing/kafka/index.js.map +1 -1
  124. package/build/esm/integrations/tracing/knex/index.js.map +1 -1
  125. package/build/esm/integrations/tracing/koa/index.js.map +1 -1
  126. package/build/esm/integrations/tracing/lrumemoizer/index.js.map +1 -1
  127. package/build/esm/integrations/tracing/lrumemoizer/vendored/instrumentation.js +5 -3
  128. package/build/esm/integrations/tracing/lrumemoizer/vendored/instrumentation.js.map +1 -1
  129. package/build/esm/integrations/tracing/mongo/index.js.map +1 -1
  130. package/build/esm/integrations/tracing/mongoose/index.js.map +1 -1
  131. package/build/esm/integrations/tracing/mysql/index.js.map +1 -1
  132. package/build/esm/integrations/tracing/mysql/vendored/instrumentation.js +37 -131
  133. package/build/esm/integrations/tracing/mysql/vendored/instrumentation.js.map +1 -1
  134. package/build/esm/integrations/tracing/mysql/vendored/semconv.js +1 -2
  135. package/build/esm/integrations/tracing/mysql/vendored/semconv.js.map +1 -1
  136. package/build/esm/integrations/tracing/mysql/vendored/utils.js +3 -25
  137. package/build/esm/integrations/tracing/mysql/vendored/utils.js.map +1 -1
  138. package/build/esm/integrations/tracing/mysql2/index.js.map +1 -1
  139. package/build/esm/integrations/tracing/postgres/index.js.map +1 -1
  140. package/build/esm/integrations/tracing/postgresjs.js.map +1 -1
  141. package/build/esm/integrations/tracing/prisma/index.js +2 -11
  142. package/build/esm/integrations/tracing/prisma/index.js.map +1 -1
  143. package/build/esm/integrations/tracing/prisma/vendored/active-tracing-helper.js +83 -57
  144. package/build/esm/integrations/tracing/prisma/vendored/active-tracing-helper.js.map +1 -1
  145. package/build/esm/integrations/tracing/prisma/vendored/constants.js.map +1 -1
  146. package/build/esm/integrations/tracing/prisma/vendored/global.js +2 -2
  147. package/build/esm/integrations/tracing/prisma/vendored/global.js.map +1 -1
  148. package/build/esm/integrations/tracing/prisma/vendored/instrumentation.js +1 -6
  149. package/build/esm/integrations/tracing/prisma/vendored/instrumentation.js.map +1 -1
  150. package/build/esm/integrations/tracing/redis/index.js +7 -5
  151. package/build/esm/integrations/tracing/redis/index.js.map +1 -1
  152. package/build/esm/integrations/tracing/tedious/index.js.map +1 -1
  153. package/build/esm/integrations/tracing/vercelai/constants.js.map +1 -1
  154. package/build/esm/integrations/tracing/vercelai/index.js +5 -4
  155. package/build/esm/integrations/tracing/vercelai/index.js.map +1 -1
  156. package/build/esm/package.json +1 -1
  157. package/build/esm/sdk/diagnosticsChannelInjection.js.map +1 -1
  158. package/build/esm/sdk/experimentalUseDiagnosticsChannelInjection.js +9 -7
  159. package/build/esm/sdk/experimentalUseDiagnosticsChannelInjection.js.map +1 -1
  160. package/build/types/integrations/featureFlagShims/launchDarkly.d.ts +3 -1
  161. package/build/types/integrations/featureFlagShims/launchDarkly.d.ts.map +1 -1
  162. package/build/types/integrations/featureFlagShims/openFeature.d.ts +3 -1
  163. package/build/types/integrations/featureFlagShims/openFeature.d.ts.map +1 -1
  164. package/build/types/integrations/featureFlagShims/statsig.d.ts +3 -1
  165. package/build/types/integrations/featureFlagShims/statsig.d.ts.map +1 -1
  166. package/build/types/integrations/featureFlagShims/unleash.d.ts +3 -1
  167. package/build/types/integrations/featureFlagShims/unleash.d.ts.map +1 -1
  168. package/build/types/integrations/fs/index.d.ts +3 -1
  169. package/build/types/integrations/fs/index.d.ts.map +1 -1
  170. package/build/types/integrations/http.d.ts +3 -1
  171. package/build/types/integrations/http.d.ts.map +1 -1
  172. package/build/types/integrations/node-fetch/index.d.ts +4 -35
  173. package/build/types/integrations/node-fetch/index.d.ts.map +1 -1
  174. package/build/types/integrations/node-fetch/types.d.ts +96 -0
  175. package/build/types/integrations/node-fetch/types.d.ts.map +1 -0
  176. package/build/types/integrations/node-fetch/undici-instrumentation.d.ts +14 -0
  177. package/build/types/integrations/node-fetch/undici-instrumentation.d.ts.map +1 -0
  178. package/build/types/integrations/tracing/amqplib/index.d.ts +4 -2
  179. package/build/types/integrations/tracing/amqplib/index.d.ts.map +1 -1
  180. package/build/types/integrations/tracing/amqplib/vendored/instrumentation.d.ts +11 -0
  181. package/build/types/integrations/tracing/amqplib/vendored/instrumentation.d.ts.map +1 -0
  182. package/build/types/integrations/tracing/amqplib/vendored/patches.d.ts +11 -0
  183. package/build/types/integrations/tracing/amqplib/vendored/patches.d.ts.map +1 -0
  184. package/build/types/integrations/tracing/amqplib/vendored/semconv.d.ts +25 -37
  185. package/build/types/integrations/tracing/amqplib/vendored/semconv.d.ts.map +1 -1
  186. package/build/types/integrations/tracing/amqplib/vendored/types.d.ts +0 -81
  187. package/build/types/integrations/tracing/amqplib/vendored/types.d.ts.map +1 -1
  188. package/build/types/integrations/tracing/amqplib/vendored/utils.d.ts +16 -9
  189. package/build/types/integrations/tracing/amqplib/vendored/utils.d.ts.map +1 -1
  190. package/build/types/integrations/tracing/anthropic-ai/index.d.ts +3 -1
  191. package/build/types/integrations/tracing/anthropic-ai/index.d.ts.map +1 -1
  192. package/build/types/integrations/tracing/connect/index.d.ts +3 -1
  193. package/build/types/integrations/tracing/connect/index.d.ts.map +1 -1
  194. package/build/types/integrations/tracing/dataloader/index.d.ts +3 -1
  195. package/build/types/integrations/tracing/dataloader/index.d.ts.map +1 -1
  196. package/build/types/integrations/tracing/express.d.ts +3 -1
  197. package/build/types/integrations/tracing/express.d.ts.map +1 -1
  198. package/build/types/integrations/tracing/fastify/index.d.ts +6 -6
  199. package/build/types/integrations/tracing/fastify/index.d.ts.map +1 -1
  200. package/build/types/integrations/tracing/fastify/v3/instrumentation.d.ts.map +1 -1
  201. package/build/types/integrations/tracing/firebase/firebase.d.ts +3 -1
  202. package/build/types/integrations/tracing/firebase/firebase.d.ts.map +1 -1
  203. package/build/types/integrations/tracing/firebase/otel/firebaseInstrumentation.d.ts +4 -9
  204. package/build/types/integrations/tracing/firebase/otel/firebaseInstrumentation.d.ts.map +1 -1
  205. package/build/types/integrations/tracing/firebase/otel/patches/firestore.d.ts +2 -5
  206. package/build/types/integrations/tracing/firebase/otel/patches/firestore.d.ts.map +1 -1
  207. package/build/types/integrations/tracing/firebase/otel/patches/functions.d.ts +3 -8
  208. package/build/types/integrations/tracing/firebase/otel/patches/functions.d.ts.map +1 -1
  209. package/build/types/integrations/tracing/firebase/otel/types.d.ts +0 -20
  210. package/build/types/integrations/tracing/firebase/otel/types.d.ts.map +1 -1
  211. package/build/types/integrations/tracing/genericPool/index.d.ts +3 -1
  212. package/build/types/integrations/tracing/genericPool/index.d.ts.map +1 -1
  213. package/build/types/integrations/tracing/google-genai/index.d.ts +3 -1
  214. package/build/types/integrations/tracing/google-genai/index.d.ts.map +1 -1
  215. package/build/types/integrations/tracing/graphql/index.d.ts +3 -1
  216. package/build/types/integrations/tracing/graphql/index.d.ts.map +1 -1
  217. package/build/types/integrations/tracing/hapi/index.d.ts +3 -1
  218. package/build/types/integrations/tracing/hapi/index.d.ts.map +1 -1
  219. package/build/types/integrations/tracing/hono/index.d.ts +3 -1
  220. package/build/types/integrations/tracing/hono/index.d.ts.map +1 -1
  221. package/build/types/integrations/tracing/index.d.ts.map +1 -1
  222. package/build/types/integrations/tracing/kafka/index.d.ts +3 -1
  223. package/build/types/integrations/tracing/kafka/index.d.ts.map +1 -1
  224. package/build/types/integrations/tracing/knex/index.d.ts +3 -1
  225. package/build/types/integrations/tracing/knex/index.d.ts.map +1 -1
  226. package/build/types/integrations/tracing/koa/index.d.ts +3 -1
  227. package/build/types/integrations/tracing/koa/index.d.ts.map +1 -1
  228. package/build/types/integrations/tracing/langchain/index.d.ts +3 -1
  229. package/build/types/integrations/tracing/langchain/index.d.ts.map +1 -1
  230. package/build/types/integrations/tracing/langgraph/index.d.ts +3 -1
  231. package/build/types/integrations/tracing/langgraph/index.d.ts.map +1 -1
  232. package/build/types/integrations/tracing/lrumemoizer/index.d.ts +3 -1
  233. package/build/types/integrations/tracing/lrumemoizer/index.d.ts.map +1 -1
  234. package/build/types/integrations/tracing/lrumemoizer/vendored/instrumentation.d.ts.map +1 -1
  235. package/build/types/integrations/tracing/mongo/index.d.ts +3 -1
  236. package/build/types/integrations/tracing/mongo/index.d.ts.map +1 -1
  237. package/build/types/integrations/tracing/mongoose/index.d.ts +3 -1
  238. package/build/types/integrations/tracing/mongoose/index.d.ts.map +1 -1
  239. package/build/types/integrations/tracing/mysql/index.d.ts +3 -1
  240. package/build/types/integrations/tracing/mysql/index.d.ts.map +1 -1
  241. package/build/types/integrations/tracing/mysql/vendored/instrumentation.d.ts +3 -17
  242. package/build/types/integrations/tracing/mysql/vendored/instrumentation.d.ts.map +1 -1
  243. package/build/types/integrations/tracing/mysql/vendored/mysql-types.d.ts +16 -16
  244. package/build/types/integrations/tracing/mysql/vendored/mysql-types.d.ts.map +1 -1
  245. package/build/types/integrations/tracing/mysql/vendored/semconv.d.ts +0 -8
  246. package/build/types/integrations/tracing/mysql/vendored/semconv.d.ts.map +1 -1
  247. package/build/types/integrations/tracing/mysql/vendored/utils.d.ts +6 -9
  248. package/build/types/integrations/tracing/mysql/vendored/utils.d.ts.map +1 -1
  249. package/build/types/integrations/tracing/mysql2/index.d.ts +3 -1
  250. package/build/types/integrations/tracing/mysql2/index.d.ts.map +1 -1
  251. package/build/types/integrations/tracing/openai/index.d.ts +3 -1
  252. package/build/types/integrations/tracing/openai/index.d.ts.map +1 -1
  253. package/build/types/integrations/tracing/postgres/index.d.ts +3 -1
  254. package/build/types/integrations/tracing/postgres/index.d.ts.map +1 -1
  255. package/build/types/integrations/tracing/postgresjs.d.ts +3 -1
  256. package/build/types/integrations/tracing/postgresjs.d.ts.map +1 -1
  257. package/build/types/integrations/tracing/prisma/index.d.ts +5 -21
  258. package/build/types/integrations/tracing/prisma/index.d.ts.map +1 -1
  259. package/build/types/integrations/tracing/prisma/vendored/active-tracing-helper.d.ts +5 -7
  260. package/build/types/integrations/tracing/prisma/vendored/active-tracing-helper.d.ts.map +1 -1
  261. package/build/types/integrations/tracing/prisma/vendored/constants.d.ts.map +1 -1
  262. package/build/types/integrations/tracing/prisma/vendored/global.d.ts.map +1 -1
  263. package/build/types/integrations/tracing/prisma/vendored/instrumentation.d.ts +2 -4
  264. package/build/types/integrations/tracing/prisma/vendored/instrumentation.d.ts.map +1 -1
  265. package/build/types/integrations/tracing/prisma/vendored/types.d.ts +5 -23
  266. package/build/types/integrations/tracing/prisma/vendored/types.d.ts.map +1 -1
  267. package/build/types/integrations/tracing/redis/index.d.ts +4 -2
  268. package/build/types/integrations/tracing/redis/index.d.ts.map +1 -1
  269. package/build/types/integrations/tracing/tedious/index.d.ts +3 -1
  270. package/build/types/integrations/tracing/tedious/index.d.ts.map +1 -1
  271. package/build/types/integrations/tracing/vercelai/constants.d.ts +1 -1
  272. package/build/types/integrations/tracing/vercelai/constants.d.ts.map +1 -1
  273. package/build/types/integrations/tracing/vercelai/index.d.ts +3 -2
  274. package/build/types/integrations/tracing/vercelai/index.d.ts.map +1 -1
  275. package/build/types/sdk/diagnosticsChannelInjection.d.ts +1 -1
  276. package/build/types/sdk/diagnosticsChannelInjection.d.ts.map +1 -1
  277. package/build/types/sdk/experimentalUseDiagnosticsChannelInjection.d.ts.map +1 -1
  278. package/build/types-ts3.8/integrations/featureFlagShims/launchDarkly.d.ts +3 -1
  279. package/build/types-ts3.8/integrations/featureFlagShims/openFeature.d.ts +3 -1
  280. package/build/types-ts3.8/integrations/featureFlagShims/statsig.d.ts +3 -1
  281. package/build/types-ts3.8/integrations/featureFlagShims/unleash.d.ts +3 -1
  282. package/build/types-ts3.8/integrations/fs/index.d.ts +3 -1
  283. package/build/types-ts3.8/integrations/http.d.ts +3 -1
  284. package/build/types-ts3.8/integrations/node-fetch/index.d.ts +4 -35
  285. package/build/types-ts3.8/integrations/node-fetch/types.d.ts +96 -0
  286. package/build/types-ts3.8/integrations/node-fetch/undici-instrumentation.d.ts +14 -0
  287. package/build/types-ts3.8/integrations/tracing/amqplib/index.d.ts +4 -2
  288. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/instrumentation.d.ts +11 -0
  289. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/patches.d.ts +11 -0
  290. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/semconv.d.ts +25 -37
  291. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/types.d.ts +0 -81
  292. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/utils.d.ts +16 -9
  293. package/build/types-ts3.8/integrations/tracing/anthropic-ai/index.d.ts +3 -1
  294. package/build/types-ts3.8/integrations/tracing/connect/index.d.ts +3 -1
  295. package/build/types-ts3.8/integrations/tracing/dataloader/index.d.ts +3 -1
  296. package/build/types-ts3.8/integrations/tracing/express.d.ts +3 -1
  297. package/build/types-ts3.8/integrations/tracing/fastify/index.d.ts +6 -6
  298. package/build/types-ts3.8/integrations/tracing/firebase/firebase.d.ts +3 -1
  299. package/build/types-ts3.8/integrations/tracing/firebase/otel/firebaseInstrumentation.d.ts +4 -9
  300. package/build/types-ts3.8/integrations/tracing/firebase/otel/patches/firestore.d.ts +2 -5
  301. package/build/types-ts3.8/integrations/tracing/firebase/otel/patches/functions.d.ts +3 -8
  302. package/build/types-ts3.8/integrations/tracing/firebase/otel/types.d.ts +0 -20
  303. package/build/types-ts3.8/integrations/tracing/genericPool/index.d.ts +3 -1
  304. package/build/types-ts3.8/integrations/tracing/google-genai/index.d.ts +3 -1
  305. package/build/types-ts3.8/integrations/tracing/graphql/index.d.ts +3 -1
  306. package/build/types-ts3.8/integrations/tracing/hapi/index.d.ts +3 -1
  307. package/build/types-ts3.8/integrations/tracing/hono/index.d.ts +3 -1
  308. package/build/types-ts3.8/integrations/tracing/kafka/index.d.ts +3 -1
  309. package/build/types-ts3.8/integrations/tracing/knex/index.d.ts +3 -1
  310. package/build/types-ts3.8/integrations/tracing/koa/index.d.ts +3 -1
  311. package/build/types-ts3.8/integrations/tracing/langchain/index.d.ts +3 -1
  312. package/build/types-ts3.8/integrations/tracing/langgraph/index.d.ts +3 -1
  313. package/build/types-ts3.8/integrations/tracing/lrumemoizer/index.d.ts +3 -1
  314. package/build/types-ts3.8/integrations/tracing/mongo/index.d.ts +3 -1
  315. package/build/types-ts3.8/integrations/tracing/mongoose/index.d.ts +3 -1
  316. package/build/types-ts3.8/integrations/tracing/mysql/index.d.ts +3 -1
  317. package/build/types-ts3.8/integrations/tracing/mysql/vendored/instrumentation.d.ts +3 -17
  318. package/build/types-ts3.8/integrations/tracing/mysql/vendored/mysql-types.d.ts +16 -16
  319. package/build/types-ts3.8/integrations/tracing/mysql/vendored/semconv.d.ts +0 -8
  320. package/build/types-ts3.8/integrations/tracing/mysql/vendored/utils.d.ts +6 -9
  321. package/build/types-ts3.8/integrations/tracing/mysql2/index.d.ts +3 -1
  322. package/build/types-ts3.8/integrations/tracing/openai/index.d.ts +3 -1
  323. package/build/types-ts3.8/integrations/tracing/postgres/index.d.ts +3 -1
  324. package/build/types-ts3.8/integrations/tracing/postgresjs.d.ts +3 -1
  325. package/build/types-ts3.8/integrations/tracing/prisma/index.d.ts +5 -21
  326. package/build/types-ts3.8/integrations/tracing/prisma/vendored/active-tracing-helper.d.ts +5 -7
  327. package/build/types-ts3.8/integrations/tracing/prisma/vendored/instrumentation.d.ts +2 -4
  328. package/build/types-ts3.8/integrations/tracing/prisma/vendored/types.d.ts +5 -23
  329. package/build/types-ts3.8/integrations/tracing/redis/index.d.ts +4 -2
  330. package/build/types-ts3.8/integrations/tracing/tedious/index.d.ts +3 -1
  331. package/build/types-ts3.8/integrations/tracing/vercelai/constants.d.ts +1 -1
  332. package/build/types-ts3.8/integrations/tracing/vercelai/index.d.ts +3 -2
  333. package/build/types-ts3.8/sdk/diagnosticsChannelInjection.d.ts +1 -1
  334. package/package.json +6 -5
  335. package/build/cjs/integrations/node-fetch/vendored/semconv.js +0 -28
  336. package/build/cjs/integrations/node-fetch/vendored/semconv.js.map +0 -1
  337. package/build/cjs/integrations/node-fetch/vendored/undici.js +0 -302
  338. package/build/cjs/integrations/node-fetch/vendored/undici.js.map +0 -1
  339. package/build/cjs/integrations/tracing/amqplib/vendored/amqplib.js +0 -452
  340. package/build/cjs/integrations/tracing/amqplib/vendored/amqplib.js.map +0 -1
  341. package/build/cjs/integrations/tracing/amqplib/vendored/semconv-obsolete.js +0 -24
  342. package/build/cjs/integrations/tracing/amqplib/vendored/semconv-obsolete.js.map +0 -1
  343. package/build/cjs/integrations/tracing/fastify/vendored/instrumentation.js +0 -387
  344. package/build/cjs/integrations/tracing/fastify/vendored/instrumentation.js.map +0 -1
  345. package/build/cjs/integrations/tracing/mysql/vendored/AttributeNames.js +0 -9
  346. package/build/cjs/integrations/tracing/mysql/vendored/AttributeNames.js.map +0 -1
  347. package/build/esm/integrations/node-fetch/vendored/semconv.js +0 -15
  348. package/build/esm/integrations/node-fetch/vendored/semconv.js.map +0 -1
  349. package/build/esm/integrations/node-fetch/vendored/undici.js +0 -300
  350. package/build/esm/integrations/node-fetch/vendored/undici.js.map +0 -1
  351. package/build/esm/integrations/tracing/amqplib/vendored/amqplib.js +0 -450
  352. package/build/esm/integrations/tracing/amqplib/vendored/amqplib.js.map +0 -1
  353. package/build/esm/integrations/tracing/amqplib/vendored/semconv-obsolete.js +0 -13
  354. package/build/esm/integrations/tracing/amqplib/vendored/semconv-obsolete.js.map +0 -1
  355. package/build/esm/integrations/tracing/fastify/vendored/instrumentation.js +0 -385
  356. package/build/esm/integrations/tracing/fastify/vendored/instrumentation.js.map +0 -1
  357. package/build/esm/integrations/tracing/mysql/vendored/AttributeNames.js +0 -7
  358. package/build/esm/integrations/tracing/mysql/vendored/AttributeNames.js.map +0 -1
  359. package/build/types/integrations/node-fetch/vendored/internal-types.d.ts +0 -25
  360. package/build/types/integrations/node-fetch/vendored/internal-types.d.ts.map +0 -1
  361. package/build/types/integrations/node-fetch/vendored/semconv.d.ts +0 -13
  362. package/build/types/integrations/node-fetch/vendored/semconv.d.ts.map +0 -1
  363. package/build/types/integrations/node-fetch/vendored/types.d.ts +0 -60
  364. package/build/types/integrations/node-fetch/vendored/types.d.ts.map +0 -1
  365. package/build/types/integrations/node-fetch/vendored/undici.d.ts +0 -21
  366. package/build/types/integrations/node-fetch/vendored/undici.d.ts.map +0 -1
  367. package/build/types/integrations/tracing/amqplib/vendored/amqplib.d.ts +0 -26
  368. package/build/types/integrations/tracing/amqplib/vendored/amqplib.d.ts.map +0 -1
  369. package/build/types/integrations/tracing/amqplib/vendored/semconv-obsolete.d.ts +0 -63
  370. package/build/types/integrations/tracing/amqplib/vendored/semconv-obsolete.d.ts.map +0 -1
  371. package/build/types/integrations/tracing/fastify/vendored/instrumentation.d.ts +0 -27
  372. package/build/types/integrations/tracing/fastify/vendored/instrumentation.d.ts.map +0 -1
  373. package/build/types/integrations/tracing/mysql/vendored/AttributeNames.d.ts +0 -4
  374. package/build/types/integrations/tracing/mysql/vendored/AttributeNames.d.ts.map +0 -1
  375. package/build/types/integrations/tracing/mysql/vendored/types.d.ts +0 -9
  376. package/build/types/integrations/tracing/mysql/vendored/types.d.ts.map +0 -1
  377. package/build/types-ts3.8/integrations/node-fetch/vendored/internal-types.d.ts +0 -25
  378. package/build/types-ts3.8/integrations/node-fetch/vendored/semconv.d.ts +0 -13
  379. package/build/types-ts3.8/integrations/node-fetch/vendored/types.d.ts +0 -60
  380. package/build/types-ts3.8/integrations/node-fetch/vendored/undici.d.ts +0 -21
  381. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/amqplib.d.ts +0 -26
  382. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/semconv-obsolete.d.ts +0 -63
  383. package/build/types-ts3.8/integrations/tracing/fastify/vendored/instrumentation.d.ts +0 -27
  384. package/build/types-ts3.8/integrations/tracing/mysql/vendored/AttributeNames.d.ts +0 -4
  385. package/build/types-ts3.8/integrations/tracing/mysql/vendored/types.d.ts +0 -9
@@ -1,385 +0,0 @@
1
- import * as dc from 'node:diagnostics_channel';
2
- import { diag, propagation, context, trace, SpanStatusCode } from '@opentelemetry/api';
3
- import { ATTR_HTTP_ROUTE, ATTR_URL_PATH, ATTR_HTTP_REQUEST_METHOD, ATTR_HTTP_RESPONSE_STATUS_CODE } from '@opentelemetry/semantic-conventions';
4
- import { InstrumentationBase } from '@opentelemetry/instrumentation';
5
- import { SDK_VERSION } from '@sentry/core';
6
- import { setHttpServerSpanRouteAttribute } from '../../../../utils/setHttpServerSpanRouteAttribute.js';
7
-
8
- var _a, _b;
9
- const PACKAGE_VERSION = SDK_VERSION;
10
- const PACKAGE_NAME = "@sentry/instrumentation-fastify";
11
- const SUPPORTED_VERSIONS = ">=4.0.0 <6";
12
- const FASTIFY_HOOKS = [
13
- "onRequest",
14
- "preParsing",
15
- "preValidation",
16
- "preHandler",
17
- "preSerialization",
18
- "onSend",
19
- "onResponse",
20
- "onError"
21
- ];
22
- const ATTRIBUTE_NAMES = {
23
- HOOK_NAME: "hook.name",
24
- FASTIFY_TYPE: "fastify.type",
25
- HOOK_CALLBACK_NAME: "hook.callback.name",
26
- ROOT: "fastify.root"
27
- };
28
- const HOOK_TYPES = {
29
- ROUTE: "route-hook",
30
- INSTANCE: "hook",
31
- HANDLER: "request-handler"
32
- };
33
- const ANONYMOUS_FUNCTION_NAME = "anonymous";
34
- const kInstrumentation = /* @__PURE__ */ Symbol("fastify otel instance");
35
- const kRequestSpan = /* @__PURE__ */ Symbol("fastify otel request spans");
36
- const kRequestContext = /* @__PURE__ */ Symbol("fastify otel request context");
37
- const kAddHookOriginal = /* @__PURE__ */ Symbol("fastify otel addhook original");
38
- const kSetNotFoundOriginal = /* @__PURE__ */ Symbol("fastify otel setnotfound original");
39
- const kRecordExceptions = /* @__PURE__ */ Symbol("fastify otel record exceptions");
40
- class FastifyOtelInstrumentation extends (_b = InstrumentationBase, _a = kRecordExceptions, _b) {
41
- constructor(config = {}) {
42
- super(PACKAGE_NAME, PACKAGE_VERSION, config);
43
- this._otelLogger = null;
44
- this._requestHook = null;
45
- this._lifecycleHook = null;
46
- this._handleInitialization = void 0;
47
- this[_a] = true;
48
- this._otelLogger = diag.createComponentLogger({ namespace: PACKAGE_NAME });
49
- this[kRecordExceptions] = true;
50
- if (config?.recordExceptions != null) {
51
- if (typeof config.recordExceptions !== "boolean") {
52
- throw new TypeError("recordExceptions must be a boolean");
53
- }
54
- this[kRecordExceptions] = config.recordExceptions;
55
- }
56
- if (typeof config?.requestHook === "function") {
57
- this._requestHook = config.requestHook;
58
- }
59
- if (typeof config?.lifecycleHook === "function") {
60
- this._lifecycleHook = config.lifecycleHook;
61
- }
62
- }
63
- enable() {
64
- if (this._handleInitialization === void 0 && this.getConfig().registerOnInitialization) {
65
- this._handleInitialization = (message) => {
66
- this.plugin()(message.fastify, void 0, () => {
67
- });
68
- const emptyPlugin = (_, __, done) => {
69
- done();
70
- };
71
- emptyPlugin[/* @__PURE__ */ Symbol.for("skip-override")] = true;
72
- emptyPlugin[/* @__PURE__ */ Symbol.for("fastify.display-name")] = PACKAGE_NAME;
73
- message.fastify.register(emptyPlugin);
74
- };
75
- dc.subscribe("fastify.initialization", this._handleInitialization);
76
- }
77
- return super.enable();
78
- }
79
- disable() {
80
- if (this._handleInitialization) {
81
- dc.unsubscribe("fastify.initialization", this._handleInitialization);
82
- this._handleInitialization = void 0;
83
- }
84
- return super.disable();
85
- }
86
- init() {
87
- return [];
88
- }
89
- plugin() {
90
- const instrumentation = this;
91
- const pluginAny = FastifyInstrumentationPlugin;
92
- pluginAny[/* @__PURE__ */ Symbol.for("skip-override")] = true;
93
- pluginAny[/* @__PURE__ */ Symbol.for("fastify.display-name")] = PACKAGE_NAME;
94
- pluginAny[/* @__PURE__ */ Symbol.for("plugin-meta")] = {
95
- fastify: SUPPORTED_VERSIONS,
96
- name: PACKAGE_NAME
97
- };
98
- return FastifyInstrumentationPlugin;
99
- function FastifyInstrumentationPlugin(instance, _opts, done) {
100
- instance.decorate(kInstrumentation, instrumentation);
101
- instance.decorate(kAddHookOriginal, instance.addHook);
102
- instance.decorate(kSetNotFoundOriginal, instance.setNotFoundHandler);
103
- instance.decorateRequest("opentelemetry", function opentelemetry() {
104
- const ctx = this[kRequestContext];
105
- const span = this[kRequestSpan];
106
- return {
107
- enabled: this.routeOptions.config?.otel !== false,
108
- span,
109
- tracer: instrumentation.tracer,
110
- context: ctx,
111
- inject: (carrier, setter) => {
112
- return propagation.inject(ctx, carrier, setter);
113
- },
114
- extract: (carrier, getter) => {
115
- return propagation.extract(ctx, carrier, getter);
116
- }
117
- };
118
- });
119
- instance.decorateRequest(kRequestSpan, null);
120
- instance.decorateRequest(kRequestContext, null);
121
- instance.addHook("onRoute", function otelWireRoute(routeOptions) {
122
- if (routeOptions.config?.otel === false) {
123
- instrumentation._otelLogger.debug(
124
- `Ignoring route instrumentation ${routeOptions.method} ${routeOptions.url} because it is disabled`
125
- );
126
- return;
127
- }
128
- for (const hook of FASTIFY_HOOKS) {
129
- if (routeOptions[hook] != null) {
130
- const handlerLike = routeOptions[hook];
131
- if (typeof handlerLike === "function") {
132
- routeOptions[hook] = handlerWrapper(handlerLike, hook, {
133
- [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - route -> ${hook}`,
134
- [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.ROUTE,
135
- [ATTR_HTTP_ROUTE]: routeOptions.url,
136
- [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]: handlerLike.name?.length > 0 ? handlerLike.name : ANONYMOUS_FUNCTION_NAME
137
- });
138
- } else if (Array.isArray(handlerLike)) {
139
- const wrappedHandlers = [];
140
- for (const handler of handlerLike) {
141
- wrappedHandlers.push(
142
- handlerWrapper(handler, hook, {
143
- [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - route -> ${hook}`,
144
- [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.ROUTE,
145
- [ATTR_HTTP_ROUTE]: routeOptions.url,
146
- [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]: handler.name?.length > 0 ? handler.name : ANONYMOUS_FUNCTION_NAME
147
- })
148
- );
149
- }
150
- routeOptions[hook] = wrappedHandlers;
151
- }
152
- }
153
- }
154
- if (routeOptions.onSend != null) {
155
- routeOptions.onSend = Array.isArray(routeOptions.onSend) ? [...routeOptions.onSend, finalizeResponseSpanHook] : [routeOptions.onSend, finalizeResponseSpanHook];
156
- } else {
157
- routeOptions.onSend = finalizeResponseSpanHook;
158
- }
159
- if (routeOptions.onError != null) {
160
- routeOptions.onError = Array.isArray(routeOptions.onError) ? [...routeOptions.onError, recordErrorInSpanHook] : [routeOptions.onError, recordErrorInSpanHook];
161
- } else {
162
- routeOptions.onError = recordErrorInSpanHook;
163
- }
164
- routeOptions.handler = handlerWrapper(routeOptions.handler, "handler", {
165
- [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - route-handler`,
166
- [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.HANDLER,
167
- [ATTR_HTTP_ROUTE]: routeOptions.url,
168
- [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]: routeOptions.handler.name.length > 0 ? routeOptions.handler.name : ANONYMOUS_FUNCTION_NAME
169
- });
170
- });
171
- instance.addHook(
172
- "onRequest",
173
- function startRequestSpanHook(request, _reply, hookDone) {
174
- if (this[kInstrumentation].isEnabled() === false || request.routeOptions.config?.otel === false) {
175
- return hookDone();
176
- }
177
- let ctx = context.active();
178
- if (trace.getSpan(ctx) == null) {
179
- ctx = propagation.extract(ctx, request.headers);
180
- }
181
- if (request.routeOptions.url != null) {
182
- setHttpServerSpanRouteAttribute(request.routeOptions.url);
183
- }
184
- const attributes = {
185
- [ATTRIBUTE_NAMES.ROOT]: PACKAGE_NAME,
186
- [ATTR_HTTP_REQUEST_METHOD]: request.method,
187
- [ATTR_URL_PATH]: request.url
188
- };
189
- if (request.routeOptions.url != null) {
190
- attributes[ATTR_HTTP_ROUTE] = request.routeOptions.url;
191
- }
192
- const span = this[kInstrumentation].tracer.startSpan("request", { attributes }, ctx);
193
- try {
194
- this[kInstrumentation]._requestHook?.(span, request);
195
- } catch (err) {
196
- this[kInstrumentation]._otelLogger.error({ err }, "requestHook threw");
197
- }
198
- request[kRequestContext] = trace.setSpan(ctx, span);
199
- request[kRequestSpan] = span;
200
- context.with(request[kRequestContext], () => {
201
- hookDone();
202
- });
203
- }
204
- );
205
- instance.addHook("onResponse", function finalizeNotFoundSpanHook(request, reply, hookDone) {
206
- const span = request[kRequestSpan];
207
- if (span != null) {
208
- span.setAttributes({
209
- [ATTR_HTTP_RESPONSE_STATUS_CODE]: reply.statusCode
210
- });
211
- span.end();
212
- }
213
- request[kRequestSpan] = null;
214
- hookDone();
215
- });
216
- instance.addHook = addHookPatched;
217
- instance.setNotFoundHandler = setNotFoundHandlerPatched;
218
- done();
219
- function finalizeResponseSpanHook(request, reply, payload, hookDone) {
220
- const span = request[kRequestSpan];
221
- if (span != null) {
222
- if (reply.statusCode >= 500) {
223
- span.setStatus({ code: SpanStatusCode.ERROR });
224
- }
225
- span.setAttributes({
226
- [ATTR_HTTP_RESPONSE_STATUS_CODE]: reply.statusCode
227
- });
228
- span.end();
229
- }
230
- request[kRequestSpan] = null;
231
- hookDone(null, payload);
232
- }
233
- function recordErrorInSpanHook(request, _reply, error, hookDone) {
234
- const span = request[kRequestSpan];
235
- if (span != null) {
236
- span.setStatus({
237
- code: SpanStatusCode.ERROR,
238
- message: error.message
239
- });
240
- if (instrumentation[kRecordExceptions] !== false) {
241
- span.recordException(error);
242
- }
243
- }
244
- hookDone();
245
- }
246
- function addHookPatched(name, hook) {
247
- const addHookOriginal = this[kAddHookOriginal];
248
- if (FASTIFY_HOOKS.includes(name)) {
249
- return addHookOriginal.call(
250
- this,
251
- name,
252
- handlerWrapper(hook, name, {
253
- [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - ${name}`,
254
- [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.INSTANCE,
255
- [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]: hook.name?.length > 0 ? hook.name : ANONYMOUS_FUNCTION_NAME
256
- })
257
- );
258
- } else {
259
- return addHookOriginal.call(this, name, hook);
260
- }
261
- }
262
- function setNotFoundHandlerPatched(hooks, handler) {
263
- const setNotFoundHandlerOriginal = this[kSetNotFoundOriginal];
264
- if (typeof hooks === "function") {
265
- handler = handlerWrapper(hooks, "notFoundHandler", {
266
- [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - not-found-handler`,
267
- [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.INSTANCE,
268
- [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]: hooks.name?.length > 0 ? hooks.name : ANONYMOUS_FUNCTION_NAME
269
- });
270
- setNotFoundHandlerOriginal.call(this, handler);
271
- } else {
272
- if (hooks.preValidation != null) {
273
- hooks.preValidation = handlerWrapper(hooks.preValidation, "notFoundHandler - preValidation", {
274
- [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - not-found-handler - preValidation`,
275
- [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.INSTANCE,
276
- [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]: hooks.preValidation.name?.length > 0 ? hooks.preValidation.name : ANONYMOUS_FUNCTION_NAME
277
- });
278
- }
279
- if (hooks.preHandler != null) {
280
- hooks.preHandler = handlerWrapper(hooks.preHandler, "notFoundHandler - preHandler", {
281
- [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - not-found-handler - preHandler`,
282
- [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.INSTANCE,
283
- [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]: hooks.preHandler.name?.length > 0 ? hooks.preHandler.name : ANONYMOUS_FUNCTION_NAME
284
- });
285
- }
286
- handler = handlerWrapper(handler, "notFoundHandler", {
287
- [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - not-found-handler`,
288
- [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.INSTANCE,
289
- [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]: handler.name?.length > 0 ? handler.name : ANONYMOUS_FUNCTION_NAME
290
- });
291
- setNotFoundHandlerOriginal.call(this, hooks, handler);
292
- }
293
- }
294
- function getRequestFromArgs(args) {
295
- for (const arg of args) {
296
- if (arg?.routeOptions && arg.url && arg.method) {
297
- return arg;
298
- }
299
- }
300
- return null;
301
- }
302
- function handlerWrapper(handler, hookName, spanAttributes = {}) {
303
- return function handlerWrapped(...args) {
304
- const instrumentation2 = this[kInstrumentation];
305
- const request = getRequestFromArgs(args);
306
- if (request === null) {
307
- instrumentation2._otelLogger.debug(
308
- `Ignoring route instrumentation because ${hookName} was called without a Fastify request argument`
309
- );
310
- return handler.call(this, ...args);
311
- }
312
- if (instrumentation2.isEnabled() === false || request.routeOptions.config?.otel === false) {
313
- instrumentation2._otelLogger.debug(
314
- `Ignoring route instrumentation ${request.routeOptions.method} ${request.routeOptions.url} because it is disabled`
315
- );
316
- return handler.call(this, ...args);
317
- }
318
- const ctx = request[kRequestContext] ?? context.active();
319
- const handlerName = handler.name?.length > 0 ? handler.name : this.pluginName ?? ANONYMOUS_FUNCTION_NAME;
320
- const span = instrumentation2.tracer.startSpan(
321
- `${hookName} - ${handlerName}`,
322
- {
323
- attributes: spanAttributes
324
- },
325
- ctx
326
- );
327
- if (instrumentation2._lifecycleHook != null) {
328
- try {
329
- instrumentation2._lifecycleHook(span, {
330
- hookName,
331
- request,
332
- handler: handlerName
333
- });
334
- } catch (err) {
335
- instrumentation2._otelLogger.error({ err }, "Execution of lifecycleHook failed");
336
- }
337
- }
338
- return context.with(
339
- trace.setSpan(ctx, span),
340
- function() {
341
- try {
342
- const res = handler.call(this, ...args);
343
- if (typeof res?.then === "function") {
344
- return res.then(
345
- (result) => {
346
- span.end();
347
- return result;
348
- },
349
- (error) => {
350
- span.setStatus({
351
- code: SpanStatusCode.ERROR,
352
- message: error.message
353
- });
354
- if (instrumentation2[kRecordExceptions] !== false) {
355
- span.recordException(error);
356
- }
357
- span.end();
358
- return Promise.reject(error);
359
- }
360
- );
361
- }
362
- span.end();
363
- return res;
364
- } catch (error) {
365
- span.setStatus({
366
- code: SpanStatusCode.ERROR,
367
- message: error.message
368
- });
369
- if (instrumentation2[kRecordExceptions] !== false) {
370
- span.recordException(error);
371
- }
372
- span.end();
373
- throw error;
374
- }
375
- },
376
- this
377
- );
378
- };
379
- }
380
- }
381
- }
382
- }
383
-
384
- export { FastifyOtelInstrumentation };
385
- //# sourceMappingURL=instrumentation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"instrumentation.js","sources":["../../../../../../src/integrations/tracing/fastify/vendored/instrumentation.ts"],"sourcesContent":["/*\n * Copyright (c) 2024-present The Fastify team <https://github.com/fastify/fastify#team>\n * SPDX-License-Identifier: MIT\n *\n * NOTICE from the Sentry authors:\n * - Vendored from: https://github.com/fastify/otel/tree/bae80d6caef4287e7f01ff3c8dc753243706ea86\n * - Upstream version: @fastify/otel@0.18.1\n * - Converted from JavaScript to TypeScript with minimal type annotations\n * - Removed `ignorePaths` / `minimatch` support (not used by the Sentry integration)\n */\n/* eslint-disable */\n\nimport * as dc from 'node:diagnostics_channel';\nimport { context, trace, SpanStatusCode, propagation, diag, type Span } from '@opentelemetry/api';\nimport {\n ATTR_HTTP_ROUTE,\n ATTR_HTTP_RESPONSE_STATUS_CODE,\n ATTR_HTTP_REQUEST_METHOD,\n ATTR_URL_PATH,\n} from '@opentelemetry/semantic-conventions';\nimport { InstrumentationBase, type InstrumentationConfig } from '@opentelemetry/instrumentation';\nimport { SDK_VERSION } from '@sentry/core';\nimport { setHttpServerSpanRouteAttribute } from '../../../../utils/setHttpServerSpanRouteAttribute';\n\nconst PACKAGE_VERSION = SDK_VERSION;\nconst PACKAGE_NAME = '@sentry/instrumentation-fastify';\n\nconst SUPPORTED_VERSIONS = '>=4.0.0 <6';\nconst FASTIFY_HOOKS = [\n 'onRequest',\n 'preParsing',\n 'preValidation',\n 'preHandler',\n 'preSerialization',\n 'onSend',\n 'onResponse',\n 'onError',\n];\nconst ATTRIBUTE_NAMES = {\n HOOK_NAME: 'hook.name',\n FASTIFY_TYPE: 'fastify.type',\n HOOK_CALLBACK_NAME: 'hook.callback.name',\n ROOT: 'fastify.root',\n};\nconst HOOK_TYPES = {\n ROUTE: 'route-hook',\n INSTANCE: 'hook',\n HANDLER: 'request-handler',\n};\nconst ANONYMOUS_FUNCTION_NAME = 'anonymous';\n\nconst kInstrumentation = Symbol('fastify otel instance');\nconst kRequestSpan = Symbol('fastify otel request spans');\nconst kRequestContext = Symbol('fastify otel request context');\nconst kAddHookOriginal = Symbol('fastify otel addhook original');\nconst kSetNotFoundOriginal = Symbol('fastify otel setnotfound original');\nconst kRecordExceptions = Symbol('fastify otel record exceptions');\n\nexport interface FastifyOtelInstrumentationOpts extends InstrumentationConfig {\n registerOnInitialization?: boolean;\n requestHook?: (span: Span, request: any) => void;\n lifecycleHook?: (span: Span, info: { hookName: string; request: any; handler?: string }) => void;\n recordExceptions?: boolean;\n}\n\nexport class FastifyOtelInstrumentation extends InstrumentationBase<FastifyOtelInstrumentationOpts> {\n _otelLogger: any = null;\n _requestHook: ((span: Span, request: any) => void) | null = null;\n _lifecycleHook: ((span: Span, info: any) => void) | null = null;\n _handleInitialization: ((message: any) => void) | undefined = undefined;\n\n [kRecordExceptions]: boolean = true;\n\n constructor(config: FastifyOtelInstrumentationOpts = {}) {\n super(PACKAGE_NAME, PACKAGE_VERSION, config);\n this._otelLogger = diag.createComponentLogger({ namespace: PACKAGE_NAME });\n this[kRecordExceptions] = true;\n\n if (config?.recordExceptions != null) {\n if (typeof config.recordExceptions !== 'boolean') {\n throw new TypeError('recordExceptions must be a boolean');\n }\n\n this[kRecordExceptions] = config.recordExceptions;\n }\n if (typeof config?.requestHook === 'function') {\n this._requestHook = config.requestHook;\n }\n if (typeof config?.lifecycleHook === 'function') {\n this._lifecycleHook = config.lifecycleHook;\n }\n }\n\n enable(): any {\n if (this._handleInitialization === undefined && this.getConfig().registerOnInitialization) {\n this._handleInitialization = (message: any) => {\n this.plugin()(message.fastify, undefined, () => {});\n const emptyPlugin: any = (_: any, __: any, done: () => void) => {\n done();\n };\n emptyPlugin[Symbol.for('skip-override')] = true;\n emptyPlugin[Symbol.for('fastify.display-name')] = PACKAGE_NAME;\n message.fastify.register(emptyPlugin);\n };\n dc.subscribe('fastify.initialization', this._handleInitialization);\n }\n return super.enable();\n }\n\n disable(): any {\n if (this._handleInitialization) {\n dc.unsubscribe('fastify.initialization', this._handleInitialization);\n this._handleInitialization = undefined;\n }\n return super.disable();\n }\n\n init() {\n return [];\n }\n\n plugin(): any {\n const instrumentation = this;\n\n const pluginAny = FastifyInstrumentationPlugin as any;\n pluginAny[Symbol.for('skip-override')] = true;\n pluginAny[Symbol.for('fastify.display-name')] = PACKAGE_NAME;\n pluginAny[Symbol.for('plugin-meta')] = {\n fastify: SUPPORTED_VERSIONS,\n name: PACKAGE_NAME,\n };\n\n return FastifyInstrumentationPlugin;\n\n function FastifyInstrumentationPlugin(instance: any, _opts: any, done: () => void) {\n instance.decorate(kInstrumentation, instrumentation);\n instance.decorate(kAddHookOriginal, instance.addHook);\n instance.decorate(kSetNotFoundOriginal, instance.setNotFoundHandler);\n instance.decorateRequest('opentelemetry', function opentelemetry(this: any) {\n const ctx = this[kRequestContext];\n const span = this[kRequestSpan];\n\n return {\n enabled: this.routeOptions.config?.otel !== false,\n span,\n tracer: instrumentation.tracer,\n context: ctx,\n inject: (carrier: any, setter?: any) => {\n return propagation.inject(ctx, carrier, setter);\n },\n extract: (carrier: any, getter?: any) => {\n return propagation.extract(ctx, carrier, getter);\n },\n };\n });\n instance.decorateRequest(kRequestSpan, null);\n instance.decorateRequest(kRequestContext, null);\n\n instance.addHook('onRoute', function otelWireRoute(this: any, routeOptions: any) {\n if (routeOptions.config?.otel === false) {\n instrumentation._otelLogger.debug(\n `Ignoring route instrumentation ${routeOptions.method} ${routeOptions.url} because it is disabled`,\n );\n\n return;\n }\n\n for (const hook of FASTIFY_HOOKS) {\n if (routeOptions[hook] != null) {\n const handlerLike = routeOptions[hook];\n\n if (typeof handlerLike === 'function') {\n routeOptions[hook] = handlerWrapper(handlerLike, hook, {\n [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - route -> ${hook}`,\n [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.ROUTE,\n [ATTR_HTTP_ROUTE]: routeOptions.url,\n [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]:\n handlerLike.name?.length > 0 ? handlerLike.name : ANONYMOUS_FUNCTION_NAME,\n });\n } else if (Array.isArray(handlerLike)) {\n const wrappedHandlers: any[] = [];\n\n for (const handler of handlerLike) {\n wrappedHandlers.push(\n handlerWrapper(handler, hook, {\n [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - route -> ${hook}`,\n [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.ROUTE,\n [ATTR_HTTP_ROUTE]: routeOptions.url,\n [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]:\n handler.name?.length > 0 ? handler.name : ANONYMOUS_FUNCTION_NAME,\n }),\n );\n }\n\n routeOptions[hook] = wrappedHandlers;\n }\n }\n }\n\n if (routeOptions.onSend != null) {\n routeOptions.onSend = Array.isArray(routeOptions.onSend)\n ? [...routeOptions.onSend, finalizeResponseSpanHook]\n : [routeOptions.onSend, finalizeResponseSpanHook];\n } else {\n routeOptions.onSend = finalizeResponseSpanHook;\n }\n\n if (routeOptions.onError != null) {\n routeOptions.onError = Array.isArray(routeOptions.onError)\n ? [...routeOptions.onError, recordErrorInSpanHook]\n : [routeOptions.onError, recordErrorInSpanHook];\n } else {\n routeOptions.onError = recordErrorInSpanHook;\n }\n\n routeOptions.handler = handlerWrapper(routeOptions.handler, 'handler', {\n [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - route-handler`,\n [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.HANDLER,\n [ATTR_HTTP_ROUTE]: routeOptions.url,\n [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]:\n routeOptions.handler.name.length > 0 ? routeOptions.handler.name : ANONYMOUS_FUNCTION_NAME,\n });\n });\n\n instance.addHook(\n 'onRequest',\n function startRequestSpanHook(this: any, request: any, _reply: any, hookDone: () => void) {\n if (this[kInstrumentation].isEnabled() === false || request.routeOptions.config?.otel === false) {\n return hookDone();\n }\n\n let ctx = context.active();\n\n if (trace.getSpan(ctx) == null) {\n ctx = propagation.extract(ctx, request.headers);\n }\n\n if (request.routeOptions.url != null) {\n setHttpServerSpanRouteAttribute(request.routeOptions.url);\n }\n\n const attributes: Record<string, string> = {\n [ATTRIBUTE_NAMES.ROOT]: PACKAGE_NAME,\n [ATTR_HTTP_REQUEST_METHOD]: request.method,\n [ATTR_URL_PATH]: request.url,\n };\n\n if (request.routeOptions.url != null) {\n attributes[ATTR_HTTP_ROUTE] = request.routeOptions.url;\n }\n\n const span = this[kInstrumentation].tracer.startSpan('request', { attributes }, ctx);\n\n try {\n this[kInstrumentation]._requestHook?.(span, request);\n } catch (err) {\n this[kInstrumentation]._otelLogger.error({ err }, 'requestHook threw');\n }\n\n request[kRequestContext] = trace.setSpan(ctx, span);\n request[kRequestSpan] = span;\n\n context.with(request[kRequestContext], () => {\n hookDone();\n });\n },\n );\n\n instance.addHook('onResponse', function finalizeNotFoundSpanHook(request: any, reply: any, hookDone: () => void) {\n const span = request[kRequestSpan];\n\n if (span != null) {\n span.setAttributes({\n [ATTR_HTTP_RESPONSE_STATUS_CODE]: reply.statusCode,\n });\n span.end();\n }\n\n request[kRequestSpan] = null;\n\n hookDone();\n });\n\n instance.addHook = addHookPatched;\n instance.setNotFoundHandler = setNotFoundHandlerPatched;\n\n done();\n\n function finalizeResponseSpanHook(\n request: any,\n reply: any,\n payload: any,\n hookDone: (err: null, payload: any) => void,\n ) {\n const span = request[kRequestSpan];\n\n if (span != null) {\n if (reply.statusCode >= 500) {\n span.setStatus({ code: SpanStatusCode.ERROR });\n }\n\n span.setAttributes({\n [ATTR_HTTP_RESPONSE_STATUS_CODE]: reply.statusCode,\n });\n span.end();\n }\n\n request[kRequestSpan] = null;\n\n hookDone(null, payload);\n }\n\n function recordErrorInSpanHook(request: any, _reply: any, error: any, hookDone: () => void) {\n const span = request[kRequestSpan];\n\n if (span != null) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: error.message,\n });\n if (instrumentation[kRecordExceptions] !== false) {\n span.recordException(error);\n }\n }\n\n hookDone();\n }\n\n function addHookPatched(this: any, name: string, hook: (...args: any[]) => any) {\n const addHookOriginal = this[kAddHookOriginal];\n\n if (FASTIFY_HOOKS.includes(name)) {\n return addHookOriginal.call(\n this,\n name,\n handlerWrapper(hook, name, {\n [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - ${name}`,\n [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.INSTANCE,\n [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]: hook.name?.length > 0 ? hook.name : ANONYMOUS_FUNCTION_NAME,\n }),\n );\n } else {\n return addHookOriginal.call(this, name, hook);\n }\n }\n\n function setNotFoundHandlerPatched(this: any, hooks: any, handler?: any) {\n const setNotFoundHandlerOriginal = this[kSetNotFoundOriginal];\n if (typeof hooks === 'function') {\n handler = handlerWrapper(hooks, 'notFoundHandler', {\n [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - not-found-handler`,\n [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.INSTANCE,\n [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]: hooks.name?.length > 0 ? hooks.name : ANONYMOUS_FUNCTION_NAME,\n });\n setNotFoundHandlerOriginal.call(this, handler);\n } else {\n if (hooks.preValidation != null) {\n hooks.preValidation = handlerWrapper(hooks.preValidation, 'notFoundHandler - preValidation', {\n [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - not-found-handler - preValidation`,\n [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.INSTANCE,\n [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]:\n hooks.preValidation.name?.length > 0 ? hooks.preValidation.name : ANONYMOUS_FUNCTION_NAME,\n });\n }\n\n if (hooks.preHandler != null) {\n hooks.preHandler = handlerWrapper(hooks.preHandler, 'notFoundHandler - preHandler', {\n [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - not-found-handler - preHandler`,\n [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.INSTANCE,\n [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]:\n hooks.preHandler.name?.length > 0 ? hooks.preHandler.name : ANONYMOUS_FUNCTION_NAME,\n });\n }\n\n handler = handlerWrapper(handler, 'notFoundHandler', {\n [ATTRIBUTE_NAMES.HOOK_NAME]: `${this.pluginName} - not-found-handler`,\n [ATTRIBUTE_NAMES.FASTIFY_TYPE]: HOOK_TYPES.INSTANCE,\n [ATTRIBUTE_NAMES.HOOK_CALLBACK_NAME]: handler.name?.length > 0 ? handler.name : ANONYMOUS_FUNCTION_NAME,\n });\n setNotFoundHandlerOriginal.call(this, hooks, handler);\n }\n }\n\n function getRequestFromArgs(args: any[]) {\n for (const arg of args) {\n if (arg?.routeOptions && arg.url && arg.method) {\n return arg;\n }\n }\n return null;\n }\n\n function handlerWrapper(\n handler: (...args: any[]) => any,\n hookName: string,\n spanAttributes: Record<string, string> = {},\n ) {\n return function handlerWrapped(this: any, ...args: any[]) {\n const instrumentation: FastifyOtelInstrumentation = this[kInstrumentation];\n\n const request = getRequestFromArgs(args);\n if (request === null) {\n instrumentation._otelLogger.debug(\n `Ignoring route instrumentation because ${hookName} was called without a Fastify request argument`,\n );\n return handler.call(this, ...args);\n }\n\n if (instrumentation.isEnabled() === false || request.routeOptions.config?.otel === false) {\n instrumentation._otelLogger.debug(\n `Ignoring route instrumentation ${request.routeOptions.method} ${request.routeOptions.url} because it is disabled`,\n );\n return handler.call(this, ...args);\n }\n\n const ctx = request[kRequestContext] ?? context.active();\n const handlerName = handler.name?.length > 0 ? handler.name : (this.pluginName ?? ANONYMOUS_FUNCTION_NAME);\n\n const span = instrumentation.tracer.startSpan(\n `${hookName} - ${handlerName}`,\n {\n attributes: spanAttributes,\n },\n ctx,\n );\n\n if (instrumentation._lifecycleHook != null) {\n try {\n instrumentation._lifecycleHook(span, {\n hookName,\n request,\n handler: handlerName,\n });\n } catch (err) {\n instrumentation._otelLogger.error({ err }, 'Execution of lifecycleHook failed');\n }\n }\n\n return context.with(\n trace.setSpan(ctx, span),\n function (this: any) {\n try {\n const res = handler.call(this, ...args);\n\n if (typeof res?.then === 'function') {\n return res.then(\n (result: any) => {\n span.end();\n return result;\n },\n (error: any) => {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: error.message,\n });\n if (instrumentation[kRecordExceptions] !== false) {\n span.recordException(error);\n }\n span.end();\n return Promise.reject(error);\n },\n );\n }\n\n span.end();\n return res;\n } catch (error: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: error.message,\n });\n if (instrumentation[kRecordExceptions] !== false) {\n span.recordException(error);\n }\n span.end();\n throw error;\n }\n },\n this,\n );\n };\n }\n }\n }\n}\n"],"names":["instrumentation"],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- var AttributeNames = /* @__PURE__ */ ((AttributeNames2) => {
2
- AttributeNames2["MYSQL_VALUES"] = "db.mysql.values";
3
- return AttributeNames2;
4
- })(AttributeNames || {});
5
-
6
- export { AttributeNames };
7
- //# sourceMappingURL=AttributeNames.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AttributeNames.js","sources":["../../../../../../src/integrations/tracing/mysql/vendored/AttributeNames.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n *\n * NOTICE from the Sentry authors:\n * - Vendored from: https://github.com/open-telemetry/opentelemetry-js-contrib/tree/15ef7506553f631ea4181391e0c5725a56f0d082/packages/instrumentation-mysql\n * - Upstream version: @opentelemetry/instrumentation-mysql@0.64.0\n */\n/* eslint-disable */\n\n// Mysql specific attributes not covered by semantic conventions\nexport enum AttributeNames {\n MYSQL_VALUES = 'db.mysql.values',\n}\n"],"names":["AttributeNames"],"mappings":"AAWO,IAAK,cAAA,qBAAAA,eAAAA,KAAL;AACL,EAAAA,gBAAA,cAAA,CAAA,GAAe,iBAAA;AADL,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;;;;"}
@@ -1,25 +0,0 @@
1
- import type { UndiciRequest, UndiciResponse } from './types';
2
- export interface ListenerRecord {
3
- name: string;
4
- unsubscribe: () => void;
5
- }
6
- export interface RequestMessage {
7
- request: UndiciRequest;
8
- }
9
- export interface RequestHeadersMessage {
10
- request: UndiciRequest;
11
- socket: any;
12
- }
13
- export interface ResponseHeadersMessage {
14
- request: UndiciRequest;
15
- response: UndiciResponse;
16
- }
17
- export interface RequestTrailersMessage {
18
- request: UndiciRequest;
19
- response: UndiciResponse;
20
- }
21
- export interface RequestErrorMessage {
22
- request: UndiciRequest;
23
- error: Error;
24
- }
25
- //# sourceMappingURL=internal-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal-types.d.ts","sourceRoot":"","sources":["../../../../../src/integrations/node-fetch/vendored/internal-types.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,GAAG,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;CACd"}
@@ -1,13 +0,0 @@
1
- export declare const ATTR_HTTP_REQUEST_METHOD: "http.request.method";
2
- export declare const ATTR_HTTP_REQUEST_METHOD_ORIGINAL: "http.request.method_original";
3
- export declare const ATTR_HTTP_RESPONSE_STATUS_CODE: "http.response.status_code";
4
- export declare const ATTR_NETWORK_PEER_ADDRESS: "network.peer.address";
5
- export declare const ATTR_NETWORK_PEER_PORT: "network.peer.port";
6
- export declare const ATTR_SERVER_ADDRESS: "server.address";
7
- export declare const ATTR_SERVER_PORT: "server.port";
8
- export declare const ATTR_URL_FULL: "url.full";
9
- export declare const ATTR_URL_PATH: "url.path";
10
- export declare const ATTR_URL_QUERY: "url.query";
11
- export declare const ATTR_URL_SCHEME: "url.scheme";
12
- export declare const ATTR_USER_AGENT_ORIGINAL: "user_agent.original";
13
- //# sourceMappingURL=semconv.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semconv.d.ts","sourceRoot":"","sources":["../../../../../src/integrations/node-fetch/vendored/semconv.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,wBAAwB,EAAG,qBAA8B,CAAC;AACvE,eAAO,MAAM,iCAAiC,EAAG,8BAAuC,CAAC;AACzF,eAAO,MAAM,8BAA8B,EAAG,2BAAoC,CAAC;AACnF,eAAO,MAAM,yBAAyB,EAAG,sBAA+B,CAAC;AACzE,eAAO,MAAM,sBAAsB,EAAG,mBAA4B,CAAC;AACnE,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAC;AAC7D,eAAO,MAAM,gBAAgB,EAAG,aAAsB,CAAC;AACvD,eAAO,MAAM,aAAa,EAAG,UAAmB,CAAC;AACjD,eAAO,MAAM,aAAa,EAAG,UAAmB,CAAC;AACjD,eAAO,MAAM,cAAc,EAAG,WAAoB,CAAC;AACnD,eAAO,MAAM,eAAe,EAAG,YAAqB,CAAC;AACrD,eAAO,MAAM,wBAAwB,EAAG,qBAA8B,CAAC"}
@@ -1,60 +0,0 @@
1
- import type { InstrumentationConfig } from '@opentelemetry/instrumentation';
2
- import type { Span, SpanAttributes } from '@sentry/core';
3
- export interface UndiciRequest {
4
- origin: string;
5
- method: string;
6
- path: string;
7
- /**
8
- * Serialized string of headers in the form `name: value\r\n` for v5
9
- * Array of strings `[key1, value1, key2, value2]`, where values are
10
- * `string | string[]` for v6
11
- */
12
- headers: string | (string | string[])[];
13
- /**
14
- * Helper method to add headers (from v6)
15
- */
16
- addHeader: (name: string, value: string) => void;
17
- throwOnError: boolean;
18
- completed: boolean;
19
- aborted: boolean;
20
- idempotent: boolean;
21
- contentLength: number | null;
22
- contentType: string | null;
23
- body: any;
24
- }
25
- export interface UndiciResponse {
26
- headers: Buffer[];
27
- statusCode: number;
28
- statusText: string;
29
- }
30
- export interface IgnoreRequestFunction<T = UndiciRequest> {
31
- (request: T): boolean;
32
- }
33
- export interface RequestHookFunction<T = UndiciRequest> {
34
- (span: Span, request: T): void;
35
- }
36
- export interface ResponseHookFunction<RequestType = UndiciRequest, ResponseType = UndiciResponse> {
37
- (span: Span, info: {
38
- request: RequestType;
39
- response: ResponseType;
40
- }): void;
41
- }
42
- export interface StartSpanHookFunction<T = UndiciRequest> {
43
- (request: T): SpanAttributes;
44
- }
45
- export interface UndiciInstrumentationConfig<RequestType = UndiciRequest, ResponseType = UndiciResponse> extends InstrumentationConfig {
46
- /** Not trace all outgoing requests that matched with custom function */
47
- ignoreRequestHook?: IgnoreRequestFunction<RequestType>;
48
- /** Function for adding custom attributes before request is handled */
49
- requestHook?: RequestHookFunction<RequestType>;
50
- /** Function called once response headers have been received */
51
- responseHook?: ResponseHookFunction<RequestType, ResponseType>;
52
- /** Function for adding custom attributes before a span is started */
53
- startSpanHook?: StartSpanHookFunction<RequestType>;
54
- /** Map the following HTTP headers to span attributes. */
55
- headersToSpanAttributes?: {
56
- requestHeaders?: string[];
57
- responseHeaders?: string[];
58
- };
59
- }
60
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/integrations/node-fetch/vendored/types.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;IACxC;;OAEG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,aAAa;IACtD,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,aAAa;IACpD,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB,CAAC,WAAW,GAAG,aAAa,EAAE,YAAY,GAAG,cAAc;IAC9F,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI,CAAC;CAC5E;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,aAAa;IACtD,CAAC,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC;CAC9B;AAID,MAAM,WAAW,2BAA2B,CAC1C,WAAW,GAAG,aAAa,EAC3B,YAAY,GAAG,cAAc,CAC7B,SAAQ,qBAAqB;IAC7B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACvD,sEAAsE;IACtE,WAAW,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC/C,+DAA+D;IAC/D,YAAY,CAAC,EAAE,oBAAoB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC/D,qEAAqE;IACrE,aAAa,CAAC,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACnD,yDAAyD;IACzD,uBAAuB,CAAC,EAAE;QACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;CACH"}
@@ -1,21 +0,0 @@
1
- import type { UndiciInstrumentationConfig } from './types';
2
- export declare class UndiciInstrumentation {
3
- private _channelSubs;
4
- private _spanFromReq;
5
- private _propagationDecisionMap;
6
- private _config;
7
- constructor(config?: UndiciInstrumentationConfig);
8
- disable(): void;
9
- /** Subscribe to the undici diagnostics channels (idempotent). */
10
- enable(): void;
11
- private subscribeToChannel;
12
- private parseRequestHeaders;
13
- private onRequestCreated;
14
- private onRequestHeaders;
15
- private onResponseHeaders;
16
- private onDone;
17
- private onError;
18
- private injectTracePropagationHeaders;
19
- private getRequestMethod;
20
- }
21
- //# sourceMappingURL=undici.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"undici.d.ts","sourceRoot":"","sources":["../../../../../src/integrations/node-fetch/vendored/undici.ts"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAE,2BAA2B,EAAiB,MAAM,SAAS,CAAC;AAiB1E,qBAAa,qBAAqB;IAEhC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,YAAY,CAAsC;IAE1D,OAAO,CAAC,uBAAuB,CAAoC;IACnE,OAAO,CAAC,OAAO,CAA8B;gBAEjC,MAAM,GAAE,2BAAgC;IAI7C,OAAO,IAAI,IAAI;IAKtB,iEAAiE;IAC1D,MAAM,IAAI,IAAI;IAarB,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,mBAAmB;IA+C3B,OAAO,CAAC,gBAAgB;IA0FxB,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,iBAAiB;IAqDzB,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,OAAO;IAwBf,OAAO,CAAC,6BAA6B;IAmCrC,OAAO,CAAC,gBAAgB;CAqBzB"}
@@ -1,26 +0,0 @@
1
- import { InstrumentationBase, InstrumentationNodeModuleDefinition } from '@opentelemetry/instrumentation';
2
- import { AmqplibInstrumentationConfig } from './types';
3
- export declare class AmqplibInstrumentation extends InstrumentationBase<AmqplibInstrumentationConfig> {
4
- private _netSemconvStability;
5
- constructor(config?: AmqplibInstrumentationConfig);
6
- private _setSemconvStabilityFromEnv;
7
- setConfig(config?: AmqplibInstrumentationConfig): void;
8
- protected init(): InstrumentationNodeModuleDefinition;
9
- private patchConnect;
10
- private unpatchConnect;
11
- private patchChannelModel;
12
- private unpatchChannelModel;
13
- private getConnectPatch;
14
- private getChannelEmitPatch;
15
- private getAckAllPatch;
16
- private getAckPatch;
17
- private getConsumePatch;
18
- private getConfirmedPublishPatch;
19
- private getPublishPatch;
20
- private createPublishSpan;
21
- private endConsumerSpan;
22
- private endAllSpansOnChannel;
23
- private callConsumeEndHook;
24
- private checkConsumeTimeoutOnChannel;
25
- }
26
- //# sourceMappingURL=amqplib.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"amqplib.d.ts","sourceRoot":"","sources":["../../../../../../src/integrations/tracing/amqplib/vendored/amqplib.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,mBAAmB,EACnB,mCAAmC,EAKpC,MAAM,gCAAgC,CAAC;AAaxC,OAAO,EAAE,4BAA4B,EAAmE,MAAM,SAAS,CAAC;AAwBxH,qBAAa,sBAAuB,SAAQ,mBAAmB,CAAC,4BAA4B,CAAC;IAC3F,OAAO,CAAC,oBAAoB,CAAoB;gBAEpC,MAAM,GAAE,4BAAiC;IAMrD,OAAO,CAAC,2BAA2B;IAI1B,SAAS,CAAC,MAAM,GAAE,4BAAiC;IAI5D,SAAS,CAAC,IAAI;IA8Bd,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,iBAAiB;IAuCzB,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,WAAW;IA+BnB,OAAO,CAAC,eAAe;IAoGvB,OAAO,CAAC,wBAAwB;IAmFhC,OAAO,CAAC,eAAe;IAgDvB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,4BAA4B;CAerC"}