@sentry/node 10.62.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 (308) 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.map +1 -1
  12. package/build/cjs/integrations/tracing/connect/index.js.map +1 -1
  13. package/build/cjs/integrations/tracing/dataloader/index.js.map +1 -1
  14. package/build/cjs/integrations/tracing/express.js.map +1 -1
  15. package/build/cjs/integrations/tracing/fastify/index.js +7 -103
  16. package/build/cjs/integrations/tracing/fastify/index.js.map +1 -1
  17. package/build/cjs/integrations/tracing/fastify/v3/instrumentation.js +2 -3
  18. package/build/cjs/integrations/tracing/fastify/v3/instrumentation.js.map +1 -1
  19. package/build/cjs/integrations/tracing/firebase/firebase.js.map +1 -1
  20. package/build/cjs/integrations/tracing/genericPool/index.js.map +1 -1
  21. package/build/cjs/integrations/tracing/graphql/index.js.map +1 -1
  22. package/build/cjs/integrations/tracing/hapi/index.js.map +1 -1
  23. package/build/cjs/integrations/tracing/hono/index.js.map +1 -1
  24. package/build/cjs/integrations/tracing/index.js +0 -1
  25. package/build/cjs/integrations/tracing/index.js.map +1 -1
  26. package/build/cjs/integrations/tracing/kafka/index.js.map +1 -1
  27. package/build/cjs/integrations/tracing/knex/index.js.map +1 -1
  28. package/build/cjs/integrations/tracing/koa/index.js.map +1 -1
  29. package/build/cjs/integrations/tracing/lrumemoizer/index.js.map +1 -1
  30. package/build/cjs/integrations/tracing/lrumemoizer/vendored/instrumentation.js +4 -2
  31. package/build/cjs/integrations/tracing/lrumemoizer/vendored/instrumentation.js.map +1 -1
  32. package/build/cjs/integrations/tracing/mongo/index.js.map +1 -1
  33. package/build/cjs/integrations/tracing/mongoose/index.js.map +1 -1
  34. package/build/cjs/integrations/tracing/mysql/index.js.map +1 -1
  35. package/build/cjs/integrations/tracing/mysql/vendored/instrumentation.js +34 -128
  36. package/build/cjs/integrations/tracing/mysql/vendored/instrumentation.js.map +1 -1
  37. package/build/cjs/integrations/tracing/mysql/vendored/semconv.js +0 -2
  38. package/build/cjs/integrations/tracing/mysql/vendored/semconv.js.map +1 -1
  39. package/build/cjs/integrations/tracing/mysql/vendored/utils.js +2 -27
  40. package/build/cjs/integrations/tracing/mysql/vendored/utils.js.map +1 -1
  41. package/build/cjs/integrations/tracing/mysql2/index.js.map +1 -1
  42. package/build/cjs/integrations/tracing/postgres/index.js.map +1 -1
  43. package/build/cjs/integrations/tracing/postgresjs.js.map +1 -1
  44. package/build/cjs/integrations/tracing/prisma/index.js +1 -10
  45. package/build/cjs/integrations/tracing/prisma/index.js.map +1 -1
  46. package/build/cjs/integrations/tracing/prisma/vendored/active-tracing-helper.js +83 -57
  47. package/build/cjs/integrations/tracing/prisma/vendored/active-tracing-helper.js.map +1 -1
  48. package/build/cjs/integrations/tracing/prisma/vendored/constants.js.map +1 -1
  49. package/build/cjs/integrations/tracing/prisma/vendored/global.js +2 -2
  50. package/build/cjs/integrations/tracing/prisma/vendored/global.js.map +1 -1
  51. package/build/cjs/integrations/tracing/prisma/vendored/instrumentation.js +1 -6
  52. package/build/cjs/integrations/tracing/prisma/vendored/instrumentation.js.map +1 -1
  53. package/build/cjs/integrations/tracing/redis/index.js +3 -3
  54. package/build/cjs/integrations/tracing/redis/index.js.map +1 -1
  55. package/build/cjs/integrations/tracing/tedious/index.js.map +1 -1
  56. package/build/cjs/integrations/tracing/vercelai/constants.js.map +1 -1
  57. package/build/cjs/integrations/tracing/vercelai/index.js +2 -4
  58. package/build/cjs/integrations/tracing/vercelai/index.js.map +1 -1
  59. package/build/cjs/sdk/diagnosticsChannelInjection.js.map +1 -1
  60. package/build/cjs/sdk/experimentalUseDiagnosticsChannelInjection.js +8 -6
  61. package/build/cjs/sdk/experimentalUseDiagnosticsChannelInjection.js.map +1 -1
  62. package/build/esm/integrations/featureFlagShims/launchDarkly.js.map +1 -1
  63. package/build/esm/integrations/featureFlagShims/openFeature.js.map +1 -1
  64. package/build/esm/integrations/featureFlagShims/statsig.js.map +1 -1
  65. package/build/esm/integrations/featureFlagShims/unleash.js.map +1 -1
  66. package/build/esm/integrations/fs/index.js.map +1 -1
  67. package/build/esm/integrations/http.js.map +1 -1
  68. package/build/esm/integrations/node-fetch/index.js +9 -50
  69. package/build/esm/integrations/node-fetch/index.js.map +1 -1
  70. package/build/esm/integrations/node-fetch/undici-instrumentation.js +264 -0
  71. package/build/esm/integrations/node-fetch/undici-instrumentation.js.map +1 -0
  72. package/build/esm/integrations/tracing/amqplib/index.js.map +1 -1
  73. package/build/esm/integrations/tracing/connect/index.js.map +1 -1
  74. package/build/esm/integrations/tracing/dataloader/index.js.map +1 -1
  75. package/build/esm/integrations/tracing/express.js.map +1 -1
  76. package/build/esm/integrations/tracing/fastify/index.js +8 -103
  77. package/build/esm/integrations/tracing/fastify/index.js.map +1 -1
  78. package/build/esm/integrations/tracing/fastify/v3/instrumentation.js +3 -4
  79. package/build/esm/integrations/tracing/fastify/v3/instrumentation.js.map +1 -1
  80. package/build/esm/integrations/tracing/firebase/firebase.js.map +1 -1
  81. package/build/esm/integrations/tracing/genericPool/index.js.map +1 -1
  82. package/build/esm/integrations/tracing/graphql/index.js.map +1 -1
  83. package/build/esm/integrations/tracing/hapi/index.js.map +1 -1
  84. package/build/esm/integrations/tracing/hono/index.js.map +1 -1
  85. package/build/esm/integrations/tracing/index.js +1 -2
  86. package/build/esm/integrations/tracing/index.js.map +1 -1
  87. package/build/esm/integrations/tracing/kafka/index.js.map +1 -1
  88. package/build/esm/integrations/tracing/knex/index.js.map +1 -1
  89. package/build/esm/integrations/tracing/koa/index.js.map +1 -1
  90. package/build/esm/integrations/tracing/lrumemoizer/index.js.map +1 -1
  91. package/build/esm/integrations/tracing/lrumemoizer/vendored/instrumentation.js +5 -3
  92. package/build/esm/integrations/tracing/lrumemoizer/vendored/instrumentation.js.map +1 -1
  93. package/build/esm/integrations/tracing/mongo/index.js.map +1 -1
  94. package/build/esm/integrations/tracing/mongoose/index.js.map +1 -1
  95. package/build/esm/integrations/tracing/mysql/index.js.map +1 -1
  96. package/build/esm/integrations/tracing/mysql/vendored/instrumentation.js +37 -131
  97. package/build/esm/integrations/tracing/mysql/vendored/instrumentation.js.map +1 -1
  98. package/build/esm/integrations/tracing/mysql/vendored/semconv.js +1 -2
  99. package/build/esm/integrations/tracing/mysql/vendored/semconv.js.map +1 -1
  100. package/build/esm/integrations/tracing/mysql/vendored/utils.js +3 -25
  101. package/build/esm/integrations/tracing/mysql/vendored/utils.js.map +1 -1
  102. package/build/esm/integrations/tracing/mysql2/index.js.map +1 -1
  103. package/build/esm/integrations/tracing/postgres/index.js.map +1 -1
  104. package/build/esm/integrations/tracing/postgresjs.js.map +1 -1
  105. package/build/esm/integrations/tracing/prisma/index.js +2 -11
  106. package/build/esm/integrations/tracing/prisma/index.js.map +1 -1
  107. package/build/esm/integrations/tracing/prisma/vendored/active-tracing-helper.js +83 -57
  108. package/build/esm/integrations/tracing/prisma/vendored/active-tracing-helper.js.map +1 -1
  109. package/build/esm/integrations/tracing/prisma/vendored/constants.js.map +1 -1
  110. package/build/esm/integrations/tracing/prisma/vendored/global.js +2 -2
  111. package/build/esm/integrations/tracing/prisma/vendored/global.js.map +1 -1
  112. package/build/esm/integrations/tracing/prisma/vendored/instrumentation.js +1 -6
  113. package/build/esm/integrations/tracing/prisma/vendored/instrumentation.js.map +1 -1
  114. package/build/esm/integrations/tracing/redis/index.js +4 -4
  115. package/build/esm/integrations/tracing/redis/index.js.map +1 -1
  116. package/build/esm/integrations/tracing/tedious/index.js.map +1 -1
  117. package/build/esm/integrations/tracing/vercelai/constants.js.map +1 -1
  118. package/build/esm/integrations/tracing/vercelai/index.js +3 -5
  119. package/build/esm/integrations/tracing/vercelai/index.js.map +1 -1
  120. package/build/esm/package.json +1 -1
  121. package/build/esm/sdk/diagnosticsChannelInjection.js.map +1 -1
  122. package/build/esm/sdk/experimentalUseDiagnosticsChannelInjection.js +9 -7
  123. package/build/esm/sdk/experimentalUseDiagnosticsChannelInjection.js.map +1 -1
  124. package/build/types/integrations/featureFlagShims/launchDarkly.d.ts +3 -1
  125. package/build/types/integrations/featureFlagShims/launchDarkly.d.ts.map +1 -1
  126. package/build/types/integrations/featureFlagShims/openFeature.d.ts +3 -1
  127. package/build/types/integrations/featureFlagShims/openFeature.d.ts.map +1 -1
  128. package/build/types/integrations/featureFlagShims/statsig.d.ts +3 -1
  129. package/build/types/integrations/featureFlagShims/statsig.d.ts.map +1 -1
  130. package/build/types/integrations/featureFlagShims/unleash.d.ts +3 -1
  131. package/build/types/integrations/featureFlagShims/unleash.d.ts.map +1 -1
  132. package/build/types/integrations/fs/index.d.ts +3 -1
  133. package/build/types/integrations/fs/index.d.ts.map +1 -1
  134. package/build/types/integrations/http.d.ts +3 -1
  135. package/build/types/integrations/http.d.ts.map +1 -1
  136. package/build/types/integrations/node-fetch/index.d.ts +4 -35
  137. package/build/types/integrations/node-fetch/index.d.ts.map +1 -1
  138. package/build/types/integrations/node-fetch/types.d.ts +96 -0
  139. package/build/types/integrations/node-fetch/types.d.ts.map +1 -0
  140. package/build/types/integrations/node-fetch/undici-instrumentation.d.ts +14 -0
  141. package/build/types/integrations/node-fetch/undici-instrumentation.d.ts.map +1 -0
  142. package/build/types/integrations/tracing/amqplib/index.d.ts +3 -1
  143. package/build/types/integrations/tracing/amqplib/index.d.ts.map +1 -1
  144. package/build/types/integrations/tracing/anthropic-ai/index.d.ts +3 -1
  145. package/build/types/integrations/tracing/anthropic-ai/index.d.ts.map +1 -1
  146. package/build/types/integrations/tracing/connect/index.d.ts +3 -1
  147. package/build/types/integrations/tracing/connect/index.d.ts.map +1 -1
  148. package/build/types/integrations/tracing/dataloader/index.d.ts +3 -1
  149. package/build/types/integrations/tracing/dataloader/index.d.ts.map +1 -1
  150. package/build/types/integrations/tracing/express.d.ts +3 -1
  151. package/build/types/integrations/tracing/express.d.ts.map +1 -1
  152. package/build/types/integrations/tracing/fastify/index.d.ts +6 -6
  153. package/build/types/integrations/tracing/fastify/index.d.ts.map +1 -1
  154. package/build/types/integrations/tracing/fastify/v3/instrumentation.d.ts.map +1 -1
  155. package/build/types/integrations/tracing/firebase/firebase.d.ts +3 -1
  156. package/build/types/integrations/tracing/firebase/firebase.d.ts.map +1 -1
  157. package/build/types/integrations/tracing/genericPool/index.d.ts +3 -1
  158. package/build/types/integrations/tracing/genericPool/index.d.ts.map +1 -1
  159. package/build/types/integrations/tracing/google-genai/index.d.ts +3 -1
  160. package/build/types/integrations/tracing/google-genai/index.d.ts.map +1 -1
  161. package/build/types/integrations/tracing/graphql/index.d.ts +3 -1
  162. package/build/types/integrations/tracing/graphql/index.d.ts.map +1 -1
  163. package/build/types/integrations/tracing/hapi/index.d.ts +3 -1
  164. package/build/types/integrations/tracing/hapi/index.d.ts.map +1 -1
  165. package/build/types/integrations/tracing/hono/index.d.ts +3 -1
  166. package/build/types/integrations/tracing/hono/index.d.ts.map +1 -1
  167. package/build/types/integrations/tracing/index.d.ts.map +1 -1
  168. package/build/types/integrations/tracing/kafka/index.d.ts +3 -1
  169. package/build/types/integrations/tracing/kafka/index.d.ts.map +1 -1
  170. package/build/types/integrations/tracing/knex/index.d.ts +3 -1
  171. package/build/types/integrations/tracing/knex/index.d.ts.map +1 -1
  172. package/build/types/integrations/tracing/koa/index.d.ts +3 -1
  173. package/build/types/integrations/tracing/koa/index.d.ts.map +1 -1
  174. package/build/types/integrations/tracing/langchain/index.d.ts +3 -1
  175. package/build/types/integrations/tracing/langchain/index.d.ts.map +1 -1
  176. package/build/types/integrations/tracing/langgraph/index.d.ts +3 -1
  177. package/build/types/integrations/tracing/langgraph/index.d.ts.map +1 -1
  178. package/build/types/integrations/tracing/lrumemoizer/index.d.ts +3 -1
  179. package/build/types/integrations/tracing/lrumemoizer/index.d.ts.map +1 -1
  180. package/build/types/integrations/tracing/lrumemoizer/vendored/instrumentation.d.ts.map +1 -1
  181. package/build/types/integrations/tracing/mongo/index.d.ts +3 -1
  182. package/build/types/integrations/tracing/mongo/index.d.ts.map +1 -1
  183. package/build/types/integrations/tracing/mongoose/index.d.ts +3 -1
  184. package/build/types/integrations/tracing/mongoose/index.d.ts.map +1 -1
  185. package/build/types/integrations/tracing/mysql/index.d.ts +3 -1
  186. package/build/types/integrations/tracing/mysql/index.d.ts.map +1 -1
  187. package/build/types/integrations/tracing/mysql/vendored/instrumentation.d.ts +3 -17
  188. package/build/types/integrations/tracing/mysql/vendored/instrumentation.d.ts.map +1 -1
  189. package/build/types/integrations/tracing/mysql/vendored/mysql-types.d.ts +16 -16
  190. package/build/types/integrations/tracing/mysql/vendored/mysql-types.d.ts.map +1 -1
  191. package/build/types/integrations/tracing/mysql/vendored/semconv.d.ts +0 -8
  192. package/build/types/integrations/tracing/mysql/vendored/semconv.d.ts.map +1 -1
  193. package/build/types/integrations/tracing/mysql/vendored/utils.d.ts +6 -9
  194. package/build/types/integrations/tracing/mysql/vendored/utils.d.ts.map +1 -1
  195. package/build/types/integrations/tracing/mysql2/index.d.ts +3 -1
  196. package/build/types/integrations/tracing/mysql2/index.d.ts.map +1 -1
  197. package/build/types/integrations/tracing/openai/index.d.ts +3 -1
  198. package/build/types/integrations/tracing/openai/index.d.ts.map +1 -1
  199. package/build/types/integrations/tracing/postgres/index.d.ts +3 -1
  200. package/build/types/integrations/tracing/postgres/index.d.ts.map +1 -1
  201. package/build/types/integrations/tracing/postgresjs.d.ts +3 -1
  202. package/build/types/integrations/tracing/postgresjs.d.ts.map +1 -1
  203. package/build/types/integrations/tracing/prisma/index.d.ts +5 -21
  204. package/build/types/integrations/tracing/prisma/index.d.ts.map +1 -1
  205. package/build/types/integrations/tracing/prisma/vendored/active-tracing-helper.d.ts +5 -7
  206. package/build/types/integrations/tracing/prisma/vendored/active-tracing-helper.d.ts.map +1 -1
  207. package/build/types/integrations/tracing/prisma/vendored/constants.d.ts.map +1 -1
  208. package/build/types/integrations/tracing/prisma/vendored/global.d.ts.map +1 -1
  209. package/build/types/integrations/tracing/prisma/vendored/instrumentation.d.ts +2 -4
  210. package/build/types/integrations/tracing/prisma/vendored/instrumentation.d.ts.map +1 -1
  211. package/build/types/integrations/tracing/prisma/vendored/types.d.ts +5 -23
  212. package/build/types/integrations/tracing/prisma/vendored/types.d.ts.map +1 -1
  213. package/build/types/integrations/tracing/redis/index.d.ts +4 -2
  214. package/build/types/integrations/tracing/redis/index.d.ts.map +1 -1
  215. package/build/types/integrations/tracing/tedious/index.d.ts +3 -1
  216. package/build/types/integrations/tracing/tedious/index.d.ts.map +1 -1
  217. package/build/types/integrations/tracing/vercelai/constants.d.ts +1 -1
  218. package/build/types/integrations/tracing/vercelai/constants.d.ts.map +1 -1
  219. package/build/types/integrations/tracing/vercelai/index.d.ts +3 -1
  220. package/build/types/integrations/tracing/vercelai/index.d.ts.map +1 -1
  221. package/build/types/sdk/diagnosticsChannelInjection.d.ts +1 -1
  222. package/build/types/sdk/diagnosticsChannelInjection.d.ts.map +1 -1
  223. package/build/types/sdk/experimentalUseDiagnosticsChannelInjection.d.ts.map +1 -1
  224. package/build/types-ts3.8/integrations/featureFlagShims/launchDarkly.d.ts +3 -1
  225. package/build/types-ts3.8/integrations/featureFlagShims/openFeature.d.ts +3 -1
  226. package/build/types-ts3.8/integrations/featureFlagShims/statsig.d.ts +3 -1
  227. package/build/types-ts3.8/integrations/featureFlagShims/unleash.d.ts +3 -1
  228. package/build/types-ts3.8/integrations/fs/index.d.ts +3 -1
  229. package/build/types-ts3.8/integrations/http.d.ts +3 -1
  230. package/build/types-ts3.8/integrations/node-fetch/index.d.ts +4 -35
  231. package/build/types-ts3.8/integrations/node-fetch/types.d.ts +96 -0
  232. package/build/types-ts3.8/integrations/node-fetch/undici-instrumentation.d.ts +14 -0
  233. package/build/types-ts3.8/integrations/tracing/amqplib/index.d.ts +3 -1
  234. package/build/types-ts3.8/integrations/tracing/anthropic-ai/index.d.ts +3 -1
  235. package/build/types-ts3.8/integrations/tracing/connect/index.d.ts +3 -1
  236. package/build/types-ts3.8/integrations/tracing/dataloader/index.d.ts +3 -1
  237. package/build/types-ts3.8/integrations/tracing/express.d.ts +3 -1
  238. package/build/types-ts3.8/integrations/tracing/fastify/index.d.ts +6 -6
  239. package/build/types-ts3.8/integrations/tracing/firebase/firebase.d.ts +3 -1
  240. package/build/types-ts3.8/integrations/tracing/genericPool/index.d.ts +3 -1
  241. package/build/types-ts3.8/integrations/tracing/google-genai/index.d.ts +3 -1
  242. package/build/types-ts3.8/integrations/tracing/graphql/index.d.ts +3 -1
  243. package/build/types-ts3.8/integrations/tracing/hapi/index.d.ts +3 -1
  244. package/build/types-ts3.8/integrations/tracing/hono/index.d.ts +3 -1
  245. package/build/types-ts3.8/integrations/tracing/kafka/index.d.ts +3 -1
  246. package/build/types-ts3.8/integrations/tracing/knex/index.d.ts +3 -1
  247. package/build/types-ts3.8/integrations/tracing/koa/index.d.ts +3 -1
  248. package/build/types-ts3.8/integrations/tracing/langchain/index.d.ts +3 -1
  249. package/build/types-ts3.8/integrations/tracing/langgraph/index.d.ts +3 -1
  250. package/build/types-ts3.8/integrations/tracing/lrumemoizer/index.d.ts +3 -1
  251. package/build/types-ts3.8/integrations/tracing/mongo/index.d.ts +3 -1
  252. package/build/types-ts3.8/integrations/tracing/mongoose/index.d.ts +3 -1
  253. package/build/types-ts3.8/integrations/tracing/mysql/index.d.ts +3 -1
  254. package/build/types-ts3.8/integrations/tracing/mysql/vendored/instrumentation.d.ts +3 -17
  255. package/build/types-ts3.8/integrations/tracing/mysql/vendored/mysql-types.d.ts +16 -16
  256. package/build/types-ts3.8/integrations/tracing/mysql/vendored/semconv.d.ts +0 -8
  257. package/build/types-ts3.8/integrations/tracing/mysql/vendored/utils.d.ts +6 -9
  258. package/build/types-ts3.8/integrations/tracing/mysql2/index.d.ts +3 -1
  259. package/build/types-ts3.8/integrations/tracing/openai/index.d.ts +3 -1
  260. package/build/types-ts3.8/integrations/tracing/postgres/index.d.ts +3 -1
  261. package/build/types-ts3.8/integrations/tracing/postgresjs.d.ts +3 -1
  262. package/build/types-ts3.8/integrations/tracing/prisma/index.d.ts +5 -21
  263. package/build/types-ts3.8/integrations/tracing/prisma/vendored/active-tracing-helper.d.ts +5 -7
  264. package/build/types-ts3.8/integrations/tracing/prisma/vendored/instrumentation.d.ts +2 -4
  265. package/build/types-ts3.8/integrations/tracing/prisma/vendored/types.d.ts +5 -23
  266. package/build/types-ts3.8/integrations/tracing/redis/index.d.ts +4 -2
  267. package/build/types-ts3.8/integrations/tracing/tedious/index.d.ts +3 -1
  268. package/build/types-ts3.8/integrations/tracing/vercelai/constants.d.ts +1 -1
  269. package/build/types-ts3.8/integrations/tracing/vercelai/index.d.ts +3 -1
  270. package/build/types-ts3.8/sdk/diagnosticsChannelInjection.d.ts +1 -1
  271. package/package.json +6 -5
  272. package/build/cjs/integrations/node-fetch/vendored/semconv.js +0 -28
  273. package/build/cjs/integrations/node-fetch/vendored/semconv.js.map +0 -1
  274. package/build/cjs/integrations/node-fetch/vendored/undici.js +0 -302
  275. package/build/cjs/integrations/node-fetch/vendored/undici.js.map +0 -1
  276. package/build/cjs/integrations/tracing/fastify/vendored/instrumentation.js +0 -387
  277. package/build/cjs/integrations/tracing/fastify/vendored/instrumentation.js.map +0 -1
  278. package/build/cjs/integrations/tracing/mysql/vendored/AttributeNames.js +0 -9
  279. package/build/cjs/integrations/tracing/mysql/vendored/AttributeNames.js.map +0 -1
  280. package/build/esm/integrations/node-fetch/vendored/semconv.js +0 -15
  281. package/build/esm/integrations/node-fetch/vendored/semconv.js.map +0 -1
  282. package/build/esm/integrations/node-fetch/vendored/undici.js +0 -300
  283. package/build/esm/integrations/node-fetch/vendored/undici.js.map +0 -1
  284. package/build/esm/integrations/tracing/fastify/vendored/instrumentation.js +0 -385
  285. package/build/esm/integrations/tracing/fastify/vendored/instrumentation.js.map +0 -1
  286. package/build/esm/integrations/tracing/mysql/vendored/AttributeNames.js +0 -7
  287. package/build/esm/integrations/tracing/mysql/vendored/AttributeNames.js.map +0 -1
  288. package/build/types/integrations/node-fetch/vendored/internal-types.d.ts +0 -25
  289. package/build/types/integrations/node-fetch/vendored/internal-types.d.ts.map +0 -1
  290. package/build/types/integrations/node-fetch/vendored/semconv.d.ts +0 -13
  291. package/build/types/integrations/node-fetch/vendored/semconv.d.ts.map +0 -1
  292. package/build/types/integrations/node-fetch/vendored/types.d.ts +0 -60
  293. package/build/types/integrations/node-fetch/vendored/types.d.ts.map +0 -1
  294. package/build/types/integrations/node-fetch/vendored/undici.d.ts +0 -21
  295. package/build/types/integrations/node-fetch/vendored/undici.d.ts.map +0 -1
  296. package/build/types/integrations/tracing/fastify/vendored/instrumentation.d.ts +0 -27
  297. package/build/types/integrations/tracing/fastify/vendored/instrumentation.d.ts.map +0 -1
  298. package/build/types/integrations/tracing/mysql/vendored/AttributeNames.d.ts +0 -4
  299. package/build/types/integrations/tracing/mysql/vendored/AttributeNames.d.ts.map +0 -1
  300. package/build/types/integrations/tracing/mysql/vendored/types.d.ts +0 -9
  301. package/build/types/integrations/tracing/mysql/vendored/types.d.ts.map +0 -1
  302. package/build/types-ts3.8/integrations/node-fetch/vendored/internal-types.d.ts +0 -25
  303. package/build/types-ts3.8/integrations/node-fetch/vendored/semconv.d.ts +0 -13
  304. package/build/types-ts3.8/integrations/node-fetch/vendored/types.d.ts +0 -60
  305. package/build/types-ts3.8/integrations/node-fetch/vendored/undici.d.ts +0 -21
  306. package/build/types-ts3.8/integrations/tracing/fastify/vendored/instrumentation.d.ts +0 -27
  307. package/build/types-ts3.8/integrations/tracing/mysql/vendored/AttributeNames.d.ts +0 -4
  308. package/build/types-ts3.8/integrations/tracing/mysql/vendored/types.d.ts +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sources":["../../../../../../src/integrations/tracing/lrumemoizer/vendored/instrumentation.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-lru-memoizer\n * - Upstream version: @opentelemetry/instrumentation-lru-memoizer@0.62.0\n */\n\nimport { context } from '@opentelemetry/api';\nimport { InstrumentationBase, InstrumentationNodeModuleDefinition } from '@opentelemetry/instrumentation';\nimport { SDK_VERSION } from '@sentry/core';\n\nconst PACKAGE_NAME = '@sentry/instrumentation-lru-memoizer';\n\ntype Memoizer = (this: unknown, ...args: unknown[]) => unknown;\ntype LruMemoizerModule = ((this: unknown, ...args: unknown[]) => Memoizer) & { sync: unknown };\n\nexport class LruMemoizerInstrumentation extends InstrumentationBase {\n constructor() {\n super(PACKAGE_NAME, SDK_VERSION, {});\n }\n\n init(): InstrumentationNodeModuleDefinition[] {\n return [\n new InstrumentationNodeModuleDefinition(\n 'lru-memoizer',\n ['>=1.3 <4'],\n (moduleExports: LruMemoizerModule) => {\n // moduleExports is a function which receives an options object,\n // and returns a \"memoizer\" function upon invocation.\n // We want to patch this \"memoizer's\" internal function\n const asyncMemoizer = function (this: unknown, ...args: unknown[]): unknown {\n // This following function is invoked every time the user wants to get a (possible) memoized value\n // We replace it with another function in which we bind the current context to the last argument (callback)\n const origMemoizer = moduleExports.apply(this, args) as Memoizer;\n return function (this: unknown, ...memoizerArgs: unknown[]): unknown {\n // last argument is the callback\n const origCallback = memoizerArgs.pop();\n const callbackWithContext =\n typeof origCallback === 'function' ? context.bind(context.active(), origCallback) : origCallback;\n return origMemoizer.apply(this, [...memoizerArgs, callbackWithContext]);\n };\n };\n\n // sync function preserves context, but we still need to export it\n // as the lru-memoizer package does\n return Object.assign(asyncMemoizer, { sync: moduleExports.sync });\n },\n undefined, // no need to disable as this instrumentation does not create any spans\n ),\n ];\n }\n}\n"],"names":["InstrumentationBase","SDK_VERSION","InstrumentationNodeModuleDefinition","context"],"mappings":";;;;;;AAaA,MAAM,YAAA,GAAe,sCAAA;AAKd,MAAM,mCAAmCA,mCAAA,CAAoB;AAAA,EAClE,WAAA,GAAc;AACZ,IAAA,KAAA,CAAM,YAAA,EAAcC,gBAAA,EAAa,EAAE,CAAA;AAAA,EACrC;AAAA,EAEA,IAAA,GAA8C;AAC5C,IAAA,OAAO;AAAA,MACL,IAAIC,mDAAA;AAAA,QACF,cAAA;AAAA,QACA,CAAC,UAAU,CAAA;AAAA,QACX,CAAC,aAAA,KAAqC;AAIpC,UAAA,MAAM,aAAA,GAAgB,YAA4B,IAAA,EAA0B;AAG1E,YAAA,MAAM,YAAA,GAAe,aAAA,CAAc,KAAA,CAAM,IAAA,EAAM,IAAI,CAAA;AACnD,YAAA,OAAO,YAA4B,YAAA,EAAkC;AAEnE,cAAA,MAAM,YAAA,GAAe,aAAa,GAAA,EAAI;AACtC,cAAA,MAAM,mBAAA,GACJ,OAAO,YAAA,KAAiB,UAAA,GAAaC,WAAA,CAAQ,KAAKA,WAAA,CAAQ,MAAA,EAAO,EAAG,YAAY,CAAA,GAAI,YAAA;AACtF,cAAA,OAAO,aAAa,KAAA,CAAM,IAAA,EAAM,CAAC,GAAG,YAAA,EAAc,mBAAmB,CAAC,CAAA;AAAA,YACxE,CAAA;AAAA,UACF,CAAA;AAIA,UAAA,OAAO,OAAO,MAAA,CAAO,aAAA,EAAe,EAAE,IAAA,EAAM,aAAA,CAAc,MAAM,CAAA;AAAA,QAClE,CAAA;AAAA,QACA;AAAA;AAAA;AACF,KACF;AAAA,EACF;AACF;;;;"}
1
+ {"version":3,"file":"instrumentation.js","sources":["../../../../../../src/integrations/tracing/lrumemoizer/vendored/instrumentation.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-lru-memoizer\n * - Upstream version: @opentelemetry/instrumentation-lru-memoizer@0.62.0\n */\n\nimport { InstrumentationBase, InstrumentationNodeModuleDefinition } from '@opentelemetry/instrumentation';\nimport { getCurrentScope, SDK_VERSION, withScope } from '@sentry/core';\n\nconst PACKAGE_NAME = '@sentry/instrumentation-lru-memoizer';\n\ntype Memoizer = (this: unknown, ...args: unknown[]) => unknown;\ntype LruMemoizerModule = ((this: unknown, ...args: unknown[]) => Memoizer) & { sync: unknown };\n\nexport class LruMemoizerInstrumentation extends InstrumentationBase {\n constructor() {\n super(PACKAGE_NAME, SDK_VERSION, {});\n }\n\n init(): InstrumentationNodeModuleDefinition[] {\n return [\n new InstrumentationNodeModuleDefinition(\n 'lru-memoizer',\n ['>=1.3 <4'],\n (moduleExports: LruMemoizerModule) => {\n // moduleExports is a function which receives an options object,\n // and returns a \"memoizer\" function upon invocation.\n // We want to patch this \"memoizer's\" internal function\n const asyncMemoizer = function (this: unknown, ...args: unknown[]): unknown {\n // This following function is invoked every time the user wants to get a (possible) memoized value\n // We replace it with another function in which we bind the current context to the last argument (callback)\n const origMemoizer = moduleExports.apply(this, args) as Memoizer;\n return function (this: unknown, ...memoizerArgs: unknown[]): unknown {\n // last argument is the callback\n const origCallback = memoizerArgs.pop();\n const scope = getCurrentScope();\n const callbackWithContext =\n typeof origCallback === 'function'\n ? function (this: unknown, ...callbackArgs: unknown[]): unknown {\n return withScope(scope, () => (origCallback as Memoizer).apply(this, callbackArgs));\n }\n : origCallback;\n return origMemoizer.apply(this, [...memoizerArgs, callbackWithContext]);\n };\n };\n\n // sync function preserves context, but we still need to export it\n // as the lru-memoizer package does\n return Object.assign(asyncMemoizer, { sync: moduleExports.sync });\n },\n undefined, // no need to disable as this instrumentation does not create any spans\n ),\n ];\n }\n}\n"],"names":["InstrumentationBase","SDK_VERSION","InstrumentationNodeModuleDefinition","getCurrentScope","withScope"],"mappings":";;;;;AAYA,MAAM,YAAA,GAAe,sCAAA;AAKd,MAAM,mCAAmCA,mCAAA,CAAoB;AAAA,EAClE,WAAA,GAAc;AACZ,IAAA,KAAA,CAAM,YAAA,EAAcC,gBAAA,EAAa,EAAE,CAAA;AAAA,EACrC;AAAA,EAEA,IAAA,GAA8C;AAC5C,IAAA,OAAO;AAAA,MACL,IAAIC,mDAAA;AAAA,QACF,cAAA;AAAA,QACA,CAAC,UAAU,CAAA;AAAA,QACX,CAAC,aAAA,KAAqC;AAIpC,UAAA,MAAM,aAAA,GAAgB,YAA4B,IAAA,EAA0B;AAG1E,YAAA,MAAM,YAAA,GAAe,aAAA,CAAc,KAAA,CAAM,IAAA,EAAM,IAAI,CAAA;AACnD,YAAA,OAAO,YAA4B,YAAA,EAAkC;AAEnE,cAAA,MAAM,YAAA,GAAe,aAAa,GAAA,EAAI;AACtC,cAAA,MAAM,QAAQC,oBAAA,EAAgB;AAC9B,cAAA,MAAM,mBAAA,GACJ,OAAO,YAAA,KAAiB,UAAA,GACpB,YAA4B,YAAA,EAAkC;AAC5D,gBAAA,OAAOC,eAAU,KAAA,EAAO,MAAO,aAA0B,KAAA,CAAM,IAAA,EAAM,YAAY,CAAC,CAAA;AAAA,cACpF,CAAA,GACA,YAAA;AACN,cAAA,OAAO,aAAa,KAAA,CAAM,IAAA,EAAM,CAAC,GAAG,YAAA,EAAc,mBAAmB,CAAC,CAAA;AAAA,YACxE,CAAA;AAAA,UACF,CAAA;AAIA,UAAA,OAAO,OAAO,MAAA,CAAO,aAAA,EAAe,EAAE,IAAA,EAAM,aAAA,CAAc,MAAM,CAAA;AAAA,QAClE,CAAA;AAAA,QACA;AAAA;AAAA;AACF,KACF;AAAA,EACF;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/mongo/index.ts"],"sourcesContent":["import { MongoDBInstrumentation } from './vendored/instrumentation';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\n\nconst INTEGRATION_NAME = 'Mongo';\n\nexport const instrumentMongo = generateInstrumentOnce(INTEGRATION_NAME, () => new MongoDBInstrumentation());\n\nconst _mongoIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n instrumentMongo();\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [mongodb](https://www.npmjs.com/package/mongodb) library.\n *\n * For more information, see the [`mongoIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/mongo/).\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.mongoIntegration()],\n * });\n * ```\n */\nexport const mongoIntegration = defineIntegration(_mongoIntegration);\n"],"names":["generateInstrumentOnce","MongoDBInstrumentation","defineIntegration"],"mappings":";;;;;;AAKA,MAAM,gBAAA,GAAmB,OAAA;AAElB,MAAM,kBAAkBA,+BAAA,CAAuB,gBAAA,EAAkB,MAAM,IAAIC,wCAAwB;AAE1G,MAAM,qBAAqB,MAAM;AAC/B,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AACV,MAAA,eAAA,EAAgB;AAAA,IAClB;AAAA,GACF;AACF,CAAA,CAAA;AAgBO,MAAM,gBAAA,GAAmBC,uBAAkB,iBAAiB;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/mongo/index.ts"],"sourcesContent":["import { MongoDBInstrumentation } from './vendored/instrumentation';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\n\nconst INTEGRATION_NAME = 'Mongo' as const;\n\nexport const instrumentMongo = generateInstrumentOnce(INTEGRATION_NAME, () => new MongoDBInstrumentation());\n\nconst _mongoIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n instrumentMongo();\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [mongodb](https://www.npmjs.com/package/mongodb) library.\n *\n * For more information, see the [`mongoIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/mongo/).\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.mongoIntegration()],\n * });\n * ```\n */\nexport const mongoIntegration = defineIntegration(_mongoIntegration);\n"],"names":["generateInstrumentOnce","MongoDBInstrumentation","defineIntegration"],"mappings":";;;;;;AAKA,MAAM,gBAAA,GAAmB,OAAA;AAElB,MAAM,kBAAkBA,+BAAA,CAAuB,gBAAA,EAAkB,MAAM,IAAIC,wCAAwB;AAE1G,MAAM,qBAAqB,MAAM;AAC/B,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AACV,MAAA,eAAA,EAAgB;AAAA,IAClB;AAAA,GACF;AACF,CAAA,CAAA;AAgBO,MAAM,gBAAA,GAAmBC,uBAAkB,iBAAiB;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/mongoose/index.ts"],"sourcesContent":["import { MongooseInstrumentation } from './vendored/mongoose';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\n\nconst INTEGRATION_NAME = 'Mongoose';\n\nexport const instrumentMongoose = generateInstrumentOnce(INTEGRATION_NAME, () => new MongooseInstrumentation());\n\nconst _mongooseIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n instrumentMongoose();\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [mongoose](https://www.npmjs.com/package/mongoose) library.\n *\n * For more information, see the [`mongooseIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/mongoose/).\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.mongooseIntegration()],\n * });\n * ```\n */\nexport const mongooseIntegration = defineIntegration(_mongooseIntegration);\n"],"names":["generateInstrumentOnce","MongooseInstrumentation","defineIntegration"],"mappings":";;;;;;AAKA,MAAM,gBAAA,GAAmB,UAAA;AAElB,MAAM,qBAAqBA,+BAAA,CAAuB,gBAAA,EAAkB,MAAM,IAAIC,kCAAyB;AAE9G,MAAM,wBAAwB,MAAM;AAClC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AACV,MAAA,kBAAA,EAAmB;AAAA,IACrB;AAAA,GACF;AACF,CAAA,CAAA;AAgBO,MAAM,mBAAA,GAAsBC,uBAAkB,oBAAoB;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/mongoose/index.ts"],"sourcesContent":["import { MongooseInstrumentation } from './vendored/mongoose';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\n\nconst INTEGRATION_NAME = 'Mongoose' as const;\n\nexport const instrumentMongoose = generateInstrumentOnce(INTEGRATION_NAME, () => new MongooseInstrumentation());\n\nconst _mongooseIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n instrumentMongoose();\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [mongoose](https://www.npmjs.com/package/mongoose) library.\n *\n * For more information, see the [`mongooseIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/mongoose/).\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.mongooseIntegration()],\n * });\n * ```\n */\nexport const mongooseIntegration = defineIntegration(_mongooseIntegration);\n"],"names":["generateInstrumentOnce","MongooseInstrumentation","defineIntegration"],"mappings":";;;;;;AAKA,MAAM,gBAAA,GAAmB,UAAA;AAElB,MAAM,qBAAqBA,+BAAA,CAAuB,gBAAA,EAAkB,MAAM,IAAIC,kCAAyB;AAE9G,MAAM,wBAAwB,MAAM;AAClC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AACV,MAAA,kBAAA,EAAmB;AAAA,IACrB;AAAA,GACF;AACF,CAAA,CAAA;AAgBO,MAAM,mBAAA,GAAsBC,uBAAkB,oBAAoB;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/mysql/index.ts"],"sourcesContent":["import { MySQLInstrumentation } from './vendored/instrumentation';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\n\nconst INTEGRATION_NAME = 'Mysql';\n\nexport const instrumentMysql = generateInstrumentOnce(INTEGRATION_NAME, () => new MySQLInstrumentation({}));\n\nconst _mysqlIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n instrumentMysql();\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [mysql](https://www.npmjs.com/package/mysql) library.\n *\n * For more information, see the [`mysqlIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/mysql/).\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.mysqlIntegration()],\n * });\n * ```\n */\nexport const mysqlIntegration = defineIntegration(_mysqlIntegration);\n"],"names":["generateInstrumentOnce","MySQLInstrumentation","defineIntegration"],"mappings":";;;;;;AAKA,MAAM,gBAAA,GAAmB,OAAA;AAElB,MAAM,eAAA,GAAkBA,gCAAuB,gBAAA,EAAkB,MAAM,IAAIC,oCAAA,CAAqB,EAAE,CAAC;AAE1G,MAAM,qBAAqB,MAAM;AAC/B,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AACV,MAAA,eAAA,EAAgB;AAAA,IAClB;AAAA,GACF;AACF,CAAA,CAAA;AAgBO,MAAM,gBAAA,GAAmBC,uBAAkB,iBAAiB;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/mysql/index.ts"],"sourcesContent":["import { MySQLInstrumentation } from './vendored/instrumentation';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\n\nconst INTEGRATION_NAME = 'Mysql' as const;\n\nexport const instrumentMysql = generateInstrumentOnce(INTEGRATION_NAME, () => new MySQLInstrumentation({}));\n\nconst _mysqlIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n instrumentMysql();\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [mysql](https://www.npmjs.com/package/mysql) library.\n *\n * For more information, see the [`mysqlIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/mysql/).\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.mysqlIntegration()],\n * });\n * ```\n */\nexport const mysqlIntegration = defineIntegration(_mysqlIntegration);\n"],"names":["generateInstrumentOnce","MySQLInstrumentation","defineIntegration"],"mappings":";;;;;;AAKA,MAAM,gBAAA,GAAmB,OAAA;AAElB,MAAM,eAAA,GAAkBA,gCAAuB,gBAAA,EAAkB,MAAM,IAAIC,oCAAA,CAAqB,EAAE,CAAC;AAE1G,MAAM,qBAAqB,MAAM;AAC/B,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AACV,MAAA,eAAA,EAAgB;AAAA,IAClB;AAAA,GACF;AACF,CAAA,CAAA;AAgBO,MAAM,gBAAA,GAAmBC,uBAAkB,iBAAiB;;;;;"}
@@ -1,37 +1,15 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
 
3
- const api = require('@opentelemetry/api');
4
3
  const instrumentation = require('@opentelemetry/instrumentation');
5
- const semanticConventions = require('@opentelemetry/semantic-conventions');
4
+ const core = require('@sentry/core');
6
5
  const semconv = require('./semconv.js');
7
- const AttributeNames = require('./AttributeNames.js');
8
6
  const utils = require('./utils.js');
9
- const core = require('@sentry/core');
10
7
 
11
8
  const PACKAGE_NAME = "@sentry/instrumentation-mysql";
9
+ const ORIGIN = "auto.db.otel.mysql";
12
10
  class MySQLInstrumentation extends instrumentation.InstrumentationBase {
13
11
  constructor(config = {}) {
14
12
  super(PACKAGE_NAME, core.SDK_VERSION, config);
15
- this._setSemconvStabilityFromEnv();
16
- }
17
- // Used for testing.
18
- _setSemconvStabilityFromEnv() {
19
- this._netSemconvStability = instrumentation.semconvStabilityFromStr("http", process.env.OTEL_SEMCONV_STABILITY_OPT_IN);
20
- this._dbSemconvStability = instrumentation.semconvStabilityFromStr("database", process.env.OTEL_SEMCONV_STABILITY_OPT_IN);
21
- }
22
- _updateMetricInstruments() {
23
- this._connectionsUsageOld = this.meter.createUpDownCounter(semconv.METRIC_DB_CLIENT_CONNECTIONS_USAGE, {
24
- description: "The number of connections that are currently in state described by the state attribute.",
25
- unit: "{connection}"
26
- });
27
- }
28
- /**
29
- * Convenience function for updating the `db.client.connections.usage` metric.
30
- * The name "count" comes from the eventually replacement for this metric per
31
- * https://opentelemetry.io/docs/specs/semconv/non-normative/db-migration/#database-client-connection-count
32
- */
33
- _connCountAdd(n, poolNameOld, state) {
34
- this._connectionsUsageOld?.add(n, { state, name: poolNameOld });
35
13
  }
36
14
  init() {
37
15
  return [
@@ -81,26 +59,10 @@ class MySQLInstrumentation extends instrumentation.InstrumentationBase {
81
59
  const pool = originalCreatePool(...arguments);
82
60
  thisPlugin._wrap(pool, "query", thisPlugin._patchQuery(pool));
83
61
  thisPlugin._wrap(pool, "getConnection", thisPlugin._patchGetConnection(pool));
84
- thisPlugin._wrap(pool, "end", thisPlugin._patchPoolEnd(pool));
85
- thisPlugin._setPoolCallbacks(pool, "");
86
62
  return pool;
87
63
  };
88
64
  };
89
65
  }
90
- _patchPoolEnd(pool) {
91
- return (originalPoolEnd) => {
92
- const thisPlugin = this;
93
- return function end(callback) {
94
- const nAll = pool._allConnections.length;
95
- const nFree = pool._freeConnections.length;
96
- const nUsed = nAll - nFree;
97
- const poolNameOld = utils.getPoolNameOld(pool);
98
- thisPlugin._connCountAdd(-nUsed, poolNameOld, "used");
99
- thisPlugin._connCountAdd(-nFree, poolNameOld, "idle");
100
- originalPoolEnd.apply(pool, arguments);
101
- };
102
- };
103
- }
104
66
  // global export function
105
67
  _patchCreatePoolCluster() {
106
68
  return (originalCreatePoolCluster) => {
@@ -108,29 +70,10 @@ class MySQLInstrumentation extends instrumentation.InstrumentationBase {
108
70
  return function createPool(_config) {
109
71
  const cluster = originalCreatePoolCluster(...arguments);
110
72
  thisPlugin._wrap(cluster, "getConnection", thisPlugin._patchGetConnection(cluster));
111
- thisPlugin._wrap(cluster, "add", thisPlugin._patchAdd(cluster));
112
73
  return cluster;
113
74
  };
114
75
  };
115
76
  }
116
- _patchAdd(cluster) {
117
- return (originalAdd) => {
118
- const thisPlugin = this;
119
- return function add(id, config) {
120
- if (!thisPlugin["_enabled"]) {
121
- thisPlugin._unwrap(cluster, "add");
122
- return originalAdd.apply(cluster, arguments);
123
- }
124
- originalAdd.apply(cluster, arguments);
125
- const nodes = cluster["_nodes"];
126
- if (nodes) {
127
- const nodeId = typeof id === "object" ? "CLUSTER::" + cluster._lastId : String(id);
128
- const pool = nodes[nodeId].pool;
129
- thisPlugin._setPoolCallbacks(pool, id);
130
- }
131
- };
132
- };
133
- }
134
77
  // method on cluster or pool
135
78
  _patchGetConnection(pool) {
136
79
  return (originalGetConnection) => {
@@ -158,7 +101,7 @@ class MySQLInstrumentation extends instrumentation.InstrumentationBase {
158
101
  }
159
102
  _getConnectionCallbackPatchFn(cb) {
160
103
  const thisPlugin = this;
161
- const activeContext = api.context.active();
104
+ const scope = core.getCurrentScope();
162
105
  return function(err, connection) {
163
106
  if (connection) {
164
107
  if (!instrumentation.isWrapped(connection.query)) {
@@ -166,7 +109,7 @@ class MySQLInstrumentation extends instrumentation.InstrumentationBase {
166
109
  }
167
110
  }
168
111
  if (typeof cb === "function") {
169
- api.context.with(activeContext, cb, this, err, connection);
112
+ core.withScope(scope, () => cb.call(this, err, connection));
170
113
  }
171
114
  };
172
115
  }
@@ -178,100 +121,63 @@ class MySQLInstrumentation extends instrumentation.InstrumentationBase {
178
121
  thisPlugin._unwrap(connection, "query");
179
122
  return originalQuery.apply(connection, arguments);
180
123
  }
181
- const attributes = {};
182
124
  const { host, port, database, user } = utils.getConfig(connection.config);
183
- const portNumber = parseInt(port, 10);
184
- const dbQueryText = utils.getDbQueryText(query);
185
- if (thisPlugin._dbSemconvStability & instrumentation.SemconvStability.OLD) {
186
- attributes[semconv.ATTR_DB_SYSTEM] = semconv.DB_SYSTEM_VALUE_MYSQL;
187
- attributes[semconv.ATTR_DB_CONNECTION_STRING] = utils.getJDBCString(host, port, database);
188
- attributes[semconv.ATTR_DB_NAME] = database;
189
- attributes[semconv.ATTR_DB_USER] = user;
190
- attributes[semconv.ATTR_DB_STATEMENT] = dbQueryText;
191
- }
192
- if (thisPlugin._dbSemconvStability & instrumentation.SemconvStability.STABLE) {
193
- attributes[semanticConventions.ATTR_DB_SYSTEM_NAME] = semanticConventions.DB_SYSTEM_NAME_VALUE_MYSQL;
194
- attributes[semanticConventions.ATTR_DB_NAMESPACE] = database;
195
- attributes[semanticConventions.ATTR_DB_QUERY_TEXT] = dbQueryText;
196
- }
197
- if (thisPlugin._netSemconvStability & instrumentation.SemconvStability.OLD) {
198
- attributes[semconv.ATTR_NET_PEER_NAME] = host;
199
- if (!isNaN(portNumber)) {
200
- attributes[semconv.ATTR_NET_PEER_PORT] = portNumber;
201
- }
202
- }
203
- if (thisPlugin._netSemconvStability & instrumentation.SemconvStability.STABLE) {
204
- attributes[semanticConventions.ATTR_SERVER_ADDRESS] = host;
205
- if (!isNaN(portNumber)) {
206
- attributes[semanticConventions.ATTR_SERVER_PORT] = portNumber;
207
- }
208
- }
209
- const span = thisPlugin.tracer.startSpan(utils.getSpanName(query), {
210
- kind: api.SpanKind.CLIENT,
125
+ const portNumber = parseInt(String(port), 10);
126
+ const attributes = {
127
+ [core.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,
128
+ [semconv.ATTR_DB_SYSTEM]: semconv.DB_SYSTEM_VALUE_MYSQL,
129
+ [semconv.ATTR_DB_CONNECTION_STRING]: utils.getJDBCString(host, port, database),
130
+ [semconv.ATTR_DB_NAME]: database,
131
+ [semconv.ATTR_DB_USER]: user,
132
+ [semconv.ATTR_DB_STATEMENT]: utils.getDbQueryText(query),
133
+ [semconv.ATTR_NET_PEER_NAME]: host
134
+ };
135
+ if (!isNaN(portNumber)) {
136
+ attributes[semconv.ATTR_NET_PEER_PORT] = portNumber;
137
+ }
138
+ const span = core.startInactiveSpan({
139
+ name: utils.getSpanName(query),
140
+ kind: core.SPAN_KIND.CLIENT,
211
141
  attributes
212
142
  });
213
- if (thisPlugin.getConfig().enhancedDatabaseReporting) {
214
- let values;
215
- if (Array.isArray(_valuesOrCallback)) {
216
- values = _valuesOrCallback;
217
- } else if (arguments[2]) {
218
- values = [_valuesOrCallback];
219
- }
220
- span.setAttribute(AttributeNames.AttributeNames.MYSQL_VALUES, utils.getDbValues(query, values));
221
- }
222
143
  const cbIndex = Array.from(arguments).findIndex((arg) => typeof arg === "function");
223
- const parentContext = api.context.active();
144
+ const scope = core.getCurrentScope();
224
145
  if (cbIndex === -1) {
225
- const streamableQuery = api.context.with(api.trace.setSpan(api.context.active(), span), () => {
146
+ const streamableQuery = core.withActiveSpan(span, () => {
226
147
  return originalQuery.apply(connection, arguments);
227
148
  });
228
- api.context.bind(parentContext, streamableQuery);
229
- return streamableQuery.on(
230
- "error",
231
- (err) => span.setStatus({
232
- code: api.SpanStatusCode.ERROR,
149
+ core.bindScopeToEmitter(streamableQuery, scope);
150
+ return streamableQuery.on("error", (err) => {
151
+ span.setStatus({
152
+ code: core.SPAN_STATUS_ERROR,
233
153
  message: err.message
234
- })
235
- ).on("end", () => {
154
+ });
155
+ }).on("end", () => {
236
156
  span.end();
237
157
  });
238
158
  } else {
239
- thisPlugin._wrap(arguments, cbIndex, thisPlugin._patchCallbackQuery(span, parentContext));
240
- return api.context.with(api.trace.setSpan(api.context.active(), span), () => {
159
+ thisPlugin._wrap(arguments, cbIndex, thisPlugin._patchCallbackQuery(span, scope));
160
+ return core.withActiveSpan(span, () => {
241
161
  return originalQuery.apply(connection, arguments);
242
162
  });
243
163
  }
244
164
  };
245
165
  };
246
166
  }
247
- _patchCallbackQuery(span, parentContext) {
167
+ _patchCallbackQuery(span, scope) {
248
168
  return (originalCallback) => {
249
- return function(err, results, fields) {
169
+ return function(err, _results, _fields) {
250
170
  if (err) {
251
171
  span.setStatus({
252
- code: api.SpanStatusCode.ERROR,
172
+ code: core.SPAN_STATUS_ERROR,
253
173
  message: err.message
254
174
  });
255
175
  }
256
176
  span.end();
257
- return api.context.with(parentContext, () => originalCallback(...arguments));
177
+ return core.withScope(scope, () => originalCallback(...arguments));
258
178
  };
259
179
  };
260
180
  }
261
- _setPoolCallbacks(pool, id) {
262
- const poolNameOld = id || utils.getPoolNameOld(pool);
263
- pool.on("connection", (_connection) => {
264
- this._connCountAdd(1, poolNameOld, "idle");
265
- });
266
- pool.on("acquire", (_connection) => {
267
- this._connCountAdd(-1, poolNameOld, "idle");
268
- this._connCountAdd(1, poolNameOld, "used");
269
- });
270
- pool.on("release", (_connection) => {
271
- this._connCountAdd(1, poolNameOld, "idle");
272
- this._connCountAdd(-1, poolNameOld, "used");
273
- });
274
- }
275
181
  }
276
182
 
277
183
  exports.MySQLInstrumentation = MySQLInstrumentation;
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sources":["../../../../../../src/integrations/tracing/mysql/vendored/instrumentation.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 * - Types from the `mysql` package inlined as simplified interfaces\n * - Minor TypeScript strictness adjustments for this repository's compiler settings\n */\n/* eslint-disable */\n\nimport { context, Context, trace, Span, SpanKind, SpanStatusCode, type Attributes } from '@opentelemetry/api';\nimport {\n InstrumentationBase,\n InstrumentationNodeModuleDefinition,\n isWrapped,\n SemconvStability,\n semconvStabilityFromStr,\n} from '@opentelemetry/instrumentation';\nimport {\n ATTR_DB_NAMESPACE,\n ATTR_DB_QUERY_TEXT,\n ATTR_DB_SYSTEM_NAME,\n ATTR_SERVER_ADDRESS,\n ATTR_SERVER_PORT,\n DB_SYSTEM_NAME_VALUE_MYSQL,\n} from '@opentelemetry/semantic-conventions';\nimport {\n ATTR_DB_CONNECTION_STRING,\n ATTR_DB_NAME,\n ATTR_DB_STATEMENT,\n ATTR_DB_SYSTEM,\n ATTR_DB_USER,\n ATTR_NET_PEER_NAME,\n ATTR_NET_PEER_PORT,\n DB_SYSTEM_VALUE_MYSQL,\n METRIC_DB_CLIENT_CONNECTIONS_USAGE,\n} from './semconv';\nimport type * as mysqlTypes from './mysql-types';\nimport { AttributeNames } from './AttributeNames';\nimport { MySQLInstrumentationConfig } from './types';\nimport { getConfig, getDbQueryText, getDbValues, getJDBCString, getSpanName, getPoolNameOld } from './utils';\nimport { SDK_VERSION } from '@sentry/core';\nimport { UpDownCounter } from '@opentelemetry/api';\n\nconst PACKAGE_NAME = '@sentry/instrumentation-mysql';\n\ntype getConnectionCallbackType = (err: mysqlTypes.MysqlError, connection: mysqlTypes.PoolConnection) => void;\n\nexport class MySQLInstrumentation extends InstrumentationBase<MySQLInstrumentationConfig> {\n private _netSemconvStability!: SemconvStability;\n private _dbSemconvStability!: SemconvStability;\n declare private _connectionsUsageOld: UpDownCounter;\n\n constructor(config: MySQLInstrumentationConfig = {}) {\n super(PACKAGE_NAME, SDK_VERSION, config);\n this._setSemconvStabilityFromEnv();\n }\n\n // Used for testing.\n private _setSemconvStabilityFromEnv() {\n this._netSemconvStability = semconvStabilityFromStr('http', process.env.OTEL_SEMCONV_STABILITY_OPT_IN);\n this._dbSemconvStability = semconvStabilityFromStr('database', process.env.OTEL_SEMCONV_STABILITY_OPT_IN);\n }\n\n protected override _updateMetricInstruments() {\n this._connectionsUsageOld = this.meter.createUpDownCounter(METRIC_DB_CLIENT_CONNECTIONS_USAGE, {\n description: 'The number of connections that are currently in state described by the state attribute.',\n unit: '{connection}',\n });\n }\n\n /**\n * Convenience function for updating the `db.client.connections.usage` metric.\n * The name \"count\" comes from the eventually replacement for this metric per\n * https://opentelemetry.io/docs/specs/semconv/non-normative/db-migration/#database-client-connection-count\n */\n private _connCountAdd(n: number, poolNameOld: string, state: string) {\n this._connectionsUsageOld?.add(n, { state, name: poolNameOld });\n }\n\n protected init() {\n return [\n new InstrumentationNodeModuleDefinition(\n 'mysql',\n ['>=2.0.0 <3'],\n (moduleExports: typeof mysqlTypes) => {\n if (isWrapped(moduleExports.createConnection)) {\n this._unwrap(moduleExports, 'createConnection');\n }\n this._wrap(moduleExports, 'createConnection', this._patchCreateConnection() as any);\n\n if (isWrapped(moduleExports.createPool)) {\n this._unwrap(moduleExports, 'createPool');\n }\n this._wrap(moduleExports, 'createPool', this._patchCreatePool() as any);\n\n if (isWrapped(moduleExports.createPoolCluster)) {\n this._unwrap(moduleExports, 'createPoolCluster');\n }\n this._wrap(moduleExports, 'createPoolCluster', this._patchCreatePoolCluster() as any);\n\n return moduleExports;\n },\n (moduleExports: typeof mysqlTypes) => {\n if (moduleExports === undefined) return;\n this._unwrap(moduleExports, 'createConnection');\n this._unwrap(moduleExports, 'createPool');\n this._unwrap(moduleExports, 'createPoolCluster');\n },\n ),\n ];\n }\n\n // global export function\n private _patchCreateConnection() {\n return (originalCreateConnection: Function) => {\n const thisPlugin = this;\n\n return function createConnection(_connectionUri: string | mysqlTypes.ConnectionConfig) {\n const originalResult = originalCreateConnection(...arguments);\n\n // This is unwrapped on next call after unpatch\n thisPlugin._wrap(originalResult, 'query', thisPlugin._patchQuery(originalResult) as any);\n\n return originalResult;\n };\n };\n }\n\n // global export function\n private _patchCreatePool() {\n return (originalCreatePool: Function) => {\n const thisPlugin = this;\n return function createPool(_config: string | mysqlTypes.PoolConfig) {\n const pool = originalCreatePool(...arguments);\n\n thisPlugin._wrap(pool, 'query', thisPlugin._patchQuery(pool));\n thisPlugin._wrap(pool, 'getConnection', thisPlugin._patchGetConnection(pool));\n thisPlugin._wrap(pool, 'end', thisPlugin._patchPoolEnd(pool));\n thisPlugin._setPoolCallbacks(pool, '');\n\n return pool;\n };\n };\n }\n\n private _patchPoolEnd(pool: any) {\n return (originalPoolEnd: Function) => {\n const thisPlugin = this;\n return function end(callback?: unknown) {\n const nAll = (pool as any)._allConnections.length;\n const nFree = (pool as any)._freeConnections.length;\n const nUsed = nAll - nFree;\n const poolNameOld = getPoolNameOld(pool);\n thisPlugin._connCountAdd(-nUsed, poolNameOld, 'used');\n thisPlugin._connCountAdd(-nFree, poolNameOld, 'idle');\n originalPoolEnd.apply(pool, arguments);\n };\n };\n }\n\n // global export function\n private _patchCreatePoolCluster() {\n return (originalCreatePoolCluster: Function) => {\n const thisPlugin = this;\n return function createPool(_config: string | mysqlTypes.PoolConfig) {\n const cluster = originalCreatePoolCluster(...arguments);\n\n // This is unwrapped on next call after unpatch\n thisPlugin._wrap(cluster, 'getConnection', thisPlugin._patchGetConnection(cluster));\n thisPlugin._wrap(cluster, 'add', thisPlugin._patchAdd(cluster));\n\n return cluster;\n };\n };\n }\n private _patchAdd(cluster: mysqlTypes.PoolCluster) {\n return (originalAdd: Function) => {\n const thisPlugin = this;\n return function add(id: string, config: unknown) {\n // Unwrap if unpatch has been called\n if (!thisPlugin['_enabled']) {\n thisPlugin._unwrap(cluster, 'add');\n return originalAdd.apply(cluster, arguments);\n }\n originalAdd.apply(cluster, arguments);\n const nodes = cluster['_nodes' as keyof mysqlTypes.PoolCluster] as any;\n if (nodes) {\n const nodeId = typeof id === 'object' ? 'CLUSTER::' + (cluster as any)._lastId : String(id);\n\n const pool = nodes[nodeId].pool;\n thisPlugin._setPoolCallbacks(pool, id);\n }\n };\n };\n }\n\n // method on cluster or pool\n private _patchGetConnection(pool: mysqlTypes.Pool | mysqlTypes.PoolCluster) {\n return (originalGetConnection: Function) => {\n const thisPlugin = this;\n\n return function getConnection(arg1?: unknown, arg2?: unknown, arg3?: unknown) {\n // Unwrap if unpatch has been called\n if (!thisPlugin['_enabled']) {\n thisPlugin._unwrap(pool, 'getConnection');\n return originalGetConnection.apply(pool, arguments);\n }\n\n if (arguments.length === 1 && typeof arg1 === 'function') {\n const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg1 as getConnectionCallbackType);\n return originalGetConnection.call(pool, patchFn);\n }\n if (arguments.length === 2 && typeof arg2 === 'function') {\n const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg2 as getConnectionCallbackType);\n return originalGetConnection.call(pool, arg1, patchFn);\n }\n if (arguments.length === 3 && typeof arg3 === 'function') {\n const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg3 as getConnectionCallbackType);\n return originalGetConnection.call(pool, arg1, arg2, patchFn);\n }\n\n return originalGetConnection.apply(pool, arguments);\n };\n };\n }\n\n private _getConnectionCallbackPatchFn(cb: getConnectionCallbackType) {\n const thisPlugin = this;\n const activeContext = context.active();\n return function (this: any, err: mysqlTypes.MysqlError, connection: mysqlTypes.PoolConnection) {\n if (connection) {\n // this is the callback passed into a query\n // no need to unwrap\n if (!isWrapped(connection.query)) {\n thisPlugin._wrap(connection, 'query', thisPlugin._patchQuery(connection));\n }\n }\n if (typeof cb === 'function') {\n context.with(activeContext, cb, this, err, connection);\n }\n };\n }\n\n private _patchQuery(connection: mysqlTypes.Connection | mysqlTypes.Pool) {\n return (originalQuery: Function): mysqlTypes.QueryFunction => {\n const thisPlugin = this;\n\n return function query(\n query: string | mysqlTypes.Query | mysqlTypes.QueryOptions,\n _valuesOrCallback?: unknown[] | mysqlTypes.queryCallback,\n _callback?: mysqlTypes.queryCallback,\n ) {\n if (!thisPlugin['_enabled']) {\n thisPlugin._unwrap(connection, 'query');\n return originalQuery.apply(connection, arguments);\n }\n\n const attributes: Attributes = {};\n const { host, port, database, user } = getConfig(connection.config);\n const portNumber = parseInt(port, 10);\n const dbQueryText = getDbQueryText(query);\n if (thisPlugin._dbSemconvStability & SemconvStability.OLD) {\n attributes[ATTR_DB_SYSTEM] = DB_SYSTEM_VALUE_MYSQL;\n attributes[ATTR_DB_CONNECTION_STRING] = getJDBCString(host, port, database);\n attributes[ATTR_DB_NAME] = database;\n attributes[ATTR_DB_USER] = user;\n attributes[ATTR_DB_STATEMENT] = dbQueryText;\n }\n if (thisPlugin._dbSemconvStability & SemconvStability.STABLE) {\n attributes[ATTR_DB_SYSTEM_NAME] = DB_SYSTEM_NAME_VALUE_MYSQL;\n attributes[ATTR_DB_NAMESPACE] = database;\n attributes[ATTR_DB_QUERY_TEXT] = dbQueryText;\n }\n if (thisPlugin._netSemconvStability & SemconvStability.OLD) {\n attributes[ATTR_NET_PEER_NAME] = host;\n if (!isNaN(portNumber)) {\n attributes[ATTR_NET_PEER_PORT] = portNumber;\n }\n }\n if (thisPlugin._netSemconvStability & SemconvStability.STABLE) {\n attributes[ATTR_SERVER_ADDRESS] = host;\n if (!isNaN(portNumber)) {\n attributes[ATTR_SERVER_PORT] = portNumber;\n }\n }\n const span = thisPlugin.tracer.startSpan(getSpanName(query), {\n kind: SpanKind.CLIENT,\n attributes,\n });\n\n if (thisPlugin.getConfig().enhancedDatabaseReporting) {\n let values;\n\n if (Array.isArray(_valuesOrCallback)) {\n values = _valuesOrCallback;\n } else if (arguments[2]) {\n values = [_valuesOrCallback];\n }\n\n span.setAttribute(AttributeNames.MYSQL_VALUES, getDbValues(query, values));\n }\n\n const cbIndex = Array.from(arguments).findIndex(arg => typeof arg === 'function');\n\n const parentContext = context.active();\n\n if (cbIndex === -1) {\n const streamableQuery: mysqlTypes.Query = context.with(trace.setSpan(context.active(), span), () => {\n return originalQuery.apply(connection, arguments);\n });\n context.bind(parentContext, streamableQuery);\n\n return streamableQuery\n .on('error', err =>\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: err.message,\n }),\n )\n .on('end', () => {\n span.end();\n });\n } else {\n thisPlugin._wrap(arguments, cbIndex, thisPlugin._patchCallbackQuery(span, parentContext));\n\n return context.with(trace.setSpan(context.active(), span), () => {\n return originalQuery.apply(connection, arguments);\n });\n }\n };\n };\n }\n\n private _patchCallbackQuery(span: Span, parentContext: Context) {\n return (originalCallback: Function) => {\n return function (err: mysqlTypes.MysqlError | null, results?: any, fields?: mysqlTypes.FieldInfo[]) {\n if (err) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: err.message,\n });\n }\n span.end();\n return context.with(parentContext, () => originalCallback(...arguments));\n };\n };\n }\n\n private _setPoolCallbacks(pool: mysqlTypes.Pool, id: string) {\n const poolNameOld = id || getPoolNameOld(pool);\n\n pool.on('connection', _connection => {\n this._connCountAdd(1, poolNameOld, 'idle');\n });\n\n pool.on('acquire', _connection => {\n this._connCountAdd(-1, poolNameOld, 'idle');\n this._connCountAdd(1, poolNameOld, 'used');\n });\n\n pool.on('release', _connection => {\n this._connCountAdd(1, poolNameOld, 'idle');\n this._connCountAdd(-1, poolNameOld, 'used');\n });\n }\n}\n"],"names":["InstrumentationBase","SDK_VERSION","semconvStabilityFromStr","METRIC_DB_CLIENT_CONNECTIONS_USAGE","InstrumentationNodeModuleDefinition","isWrapped","getPoolNameOld","context","getConfig","getDbQueryText","SemconvStability","ATTR_DB_SYSTEM","DB_SYSTEM_VALUE_MYSQL","ATTR_DB_CONNECTION_STRING","getJDBCString","ATTR_DB_NAME","ATTR_DB_USER","ATTR_DB_STATEMENT","ATTR_DB_SYSTEM_NAME","DB_SYSTEM_NAME_VALUE_MYSQL","ATTR_DB_NAMESPACE","ATTR_DB_QUERY_TEXT","ATTR_NET_PEER_NAME","ATTR_NET_PEER_PORT","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","getSpanName","SpanKind","AttributeNames","getDbValues","trace","SpanStatusCode"],"mappings":"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"}
1
+ {"version":3,"file":"instrumentation.js","sources":["../../../../../../src/integrations/tracing/mysql/vendored/instrumentation.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 * - Types from the `mysql` package inlined as simplified interfaces\n * - Minor TypeScript strictness adjustments for this repository's compiler settings\n * - Refactored to use Sentry's span APIs instead of OpenTelemetry tracing APIs, and the connection-pool\n * metrics / `enhancedDatabaseReporting` option were removed (unused by the Sentry SDK)\n */\n\nimport type { Span } from '@opentelemetry/api';\nimport type { InstrumentationConfig } from '@opentelemetry/instrumentation';\nimport { InstrumentationBase, InstrumentationNodeModuleDefinition, isWrapped } from '@opentelemetry/instrumentation';\nimport type { Scope, SpanAttributes } from '@sentry/core';\nimport {\n bindScopeToEmitter,\n getCurrentScope,\n SDK_VERSION,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SPAN_KIND,\n SPAN_STATUS_ERROR,\n startInactiveSpan,\n withActiveSpan,\n withScope,\n} from '@sentry/core';\nimport type * as mysqlTypes from './mysql-types';\nimport {\n ATTR_DB_CONNECTION_STRING,\n ATTR_DB_NAME,\n ATTR_DB_STATEMENT,\n ATTR_DB_SYSTEM,\n ATTR_DB_USER,\n ATTR_NET_PEER_NAME,\n ATTR_NET_PEER_PORT,\n DB_SYSTEM_VALUE_MYSQL,\n} from './semconv';\nimport { getConfig, getDbQueryText, getJDBCString, getSpanName } from './utils';\n\nconst PACKAGE_NAME = '@sentry/instrumentation-mysql';\nconst ORIGIN = 'auto.db.otel.mysql';\n\ntype getConnectionCallbackType = (err: mysqlTypes.MysqlError, connection: mysqlTypes.PoolConnection) => void;\n\nexport class MySQLInstrumentation extends InstrumentationBase<InstrumentationConfig> {\n public constructor(config: InstrumentationConfig = {}) {\n super(PACKAGE_NAME, SDK_VERSION, config);\n }\n\n protected init() {\n return [\n new InstrumentationNodeModuleDefinition(\n 'mysql',\n ['>=2.0.0 <3'],\n (moduleExports: typeof mysqlTypes) => {\n if (isWrapped(moduleExports.createConnection)) {\n this._unwrap(moduleExports, 'createConnection');\n }\n // oxlint-disable-next-line typescript/no-explicit-any\n this._wrap(moduleExports, 'createConnection', this._patchCreateConnection() as any);\n\n if (isWrapped(moduleExports.createPool)) {\n this._unwrap(moduleExports, 'createPool');\n }\n // oxlint-disable-next-line typescript/no-explicit-any\n this._wrap(moduleExports, 'createPool', this._patchCreatePool() as any);\n\n if (isWrapped(moduleExports.createPoolCluster)) {\n this._unwrap(moduleExports, 'createPoolCluster');\n }\n // oxlint-disable-next-line typescript/no-explicit-any\n this._wrap(moduleExports, 'createPoolCluster', this._patchCreatePoolCluster() as any);\n\n return moduleExports;\n },\n (moduleExports: typeof mysqlTypes) => {\n if (moduleExports === undefined) return;\n this._unwrap(moduleExports, 'createConnection');\n this._unwrap(moduleExports, 'createPool');\n this._unwrap(moduleExports, 'createPoolCluster');\n },\n ),\n ];\n }\n\n // global export function\n private _patchCreateConnection() {\n return (originalCreateConnection: Function) => {\n // oxlint-disable-next-line typescript/no-this-alias\n const thisPlugin = this;\n\n return function createConnection(_connectionUri: string | mysqlTypes.ConnectionConfig) {\n const originalResult = originalCreateConnection(...arguments);\n\n // This is unwrapped on next call after unpatch\n // oxlint-disable-next-line typescript/no-explicit-any\n thisPlugin._wrap(originalResult, 'query', thisPlugin._patchQuery(originalResult) as any);\n\n return originalResult;\n };\n };\n }\n\n // global export function\n private _patchCreatePool() {\n return (originalCreatePool: Function) => {\n // oxlint-disable-next-line typescript/no-this-alias\n const thisPlugin = this;\n return function createPool(_config: string | mysqlTypes.PoolConfig) {\n const pool = originalCreatePool(...arguments);\n\n thisPlugin._wrap(pool, 'query', thisPlugin._patchQuery(pool));\n thisPlugin._wrap(pool, 'getConnection', thisPlugin._patchGetConnection(pool));\n\n return pool;\n };\n };\n }\n\n // global export function\n private _patchCreatePoolCluster() {\n return (originalCreatePoolCluster: Function) => {\n // oxlint-disable-next-line typescript/no-this-alias\n const thisPlugin = this;\n return function createPool(_config: string | mysqlTypes.PoolConfig) {\n const cluster = originalCreatePoolCluster(...arguments);\n\n // This is unwrapped on next call after unpatch\n thisPlugin._wrap(cluster, 'getConnection', thisPlugin._patchGetConnection(cluster));\n\n return cluster;\n };\n };\n }\n\n // method on cluster or pool\n private _patchGetConnection(pool: mysqlTypes.Pool | mysqlTypes.PoolCluster) {\n return (originalGetConnection: Function) => {\n // oxlint-disable-next-line typescript/no-this-alias\n const thisPlugin = this;\n\n return function getConnection(arg1?: unknown, arg2?: unknown, arg3?: unknown) {\n // Unwrap if unpatch has been called\n if (!thisPlugin['_enabled']) {\n thisPlugin._unwrap(pool, 'getConnection');\n return originalGetConnection.apply(pool, arguments);\n }\n\n if (arguments.length === 1 && typeof arg1 === 'function') {\n const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg1 as getConnectionCallbackType);\n return originalGetConnection.call(pool, patchFn);\n }\n if (arguments.length === 2 && typeof arg2 === 'function') {\n const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg2 as getConnectionCallbackType);\n return originalGetConnection.call(pool, arg1, patchFn);\n }\n if (arguments.length === 3 && typeof arg3 === 'function') {\n const patchFn = thisPlugin._getConnectionCallbackPatchFn(arg3 as getConnectionCallbackType);\n return originalGetConnection.call(pool, arg1, arg2, patchFn);\n }\n\n return originalGetConnection.apply(pool, arguments);\n };\n };\n }\n\n private _getConnectionCallbackPatchFn(cb: getConnectionCallbackType) {\n // oxlint-disable-next-line typescript/no-this-alias\n const thisPlugin = this;\n const scope = getCurrentScope();\n return function (this: unknown, err: mysqlTypes.MysqlError, connection: mysqlTypes.PoolConnection) {\n if (connection) {\n // this is the callback passed into a query\n // no need to unwrap\n if (!isWrapped(connection.query)) {\n // oxlint-disable-next-line typescript/no-explicit-any\n thisPlugin._wrap(connection, 'query', thisPlugin._patchQuery(connection) as any);\n }\n }\n if (typeof cb === 'function') {\n withScope(scope, () => cb.call(this, err, connection));\n }\n };\n }\n\n private _patchQuery(connection: mysqlTypes.Connection | mysqlTypes.Pool) {\n return (originalQuery: Function) => {\n // oxlint-disable-next-line typescript/no-this-alias\n const thisPlugin = this;\n\n return function query(\n query: string | mysqlTypes.Query | mysqlTypes.QueryOptions,\n _valuesOrCallback?: unknown[] | mysqlTypes.queryCallback,\n _callback?: mysqlTypes.queryCallback,\n ) {\n if (!thisPlugin['_enabled']) {\n thisPlugin._unwrap(connection, 'query');\n return originalQuery.apply(connection, arguments);\n }\n\n const { host, port, database, user } = getConfig(connection.config);\n const portNumber = parseInt(String(port), 10);\n /* eslint-disable @sentry/no-deprecated-attributes */\n const attributes: SpanAttributes = {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN,\n [ATTR_DB_SYSTEM]: DB_SYSTEM_VALUE_MYSQL,\n [ATTR_DB_CONNECTION_STRING]: getJDBCString(host, port, database),\n [ATTR_DB_NAME]: database,\n [ATTR_DB_USER]: user,\n [ATTR_DB_STATEMENT]: getDbQueryText(query),\n [ATTR_NET_PEER_NAME]: host,\n };\n\n if (!isNaN(portNumber)) {\n attributes[ATTR_NET_PEER_PORT] = portNumber;\n }\n /* eslint-enable @sentry/no-deprecated-attributes */\n\n const span = startInactiveSpan({\n name: getSpanName(query),\n kind: SPAN_KIND.CLIENT,\n attributes,\n });\n\n const cbIndex = Array.from(arguments).findIndex(arg => typeof arg === 'function');\n\n const scope = getCurrentScope();\n if (cbIndex === -1) {\n const streamableQuery: mysqlTypes.Query = withActiveSpan(span, () => {\n return originalQuery.apply(connection, arguments);\n });\n bindScopeToEmitter(streamableQuery, scope);\n\n return streamableQuery\n .on('error', (err: unknown) => {\n span.setStatus({\n code: SPAN_STATUS_ERROR,\n message: (err as mysqlTypes.MysqlError).message,\n });\n })\n .on('end', () => {\n span.end();\n });\n } else {\n thisPlugin._wrap(arguments, cbIndex, thisPlugin._patchCallbackQuery(span, scope));\n\n return withActiveSpan(span, () => {\n return originalQuery.apply(connection, arguments);\n });\n }\n };\n };\n }\n\n private _patchCallbackQuery(span: Span, scope: Scope) {\n return (originalCallback: Function) => {\n return function (err: mysqlTypes.MysqlError | null, _results?: unknown, _fields?: mysqlTypes.FieldInfo[]) {\n if (err) {\n span.setStatus({\n code: SPAN_STATUS_ERROR,\n message: err.message,\n });\n }\n span.end();\n return withScope(scope, () => originalCallback(...arguments));\n };\n };\n }\n}\n"],"names":["InstrumentationBase","SDK_VERSION","InstrumentationNodeModuleDefinition","isWrapped","getCurrentScope","withScope","getConfig","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","ATTR_DB_SYSTEM","DB_SYSTEM_VALUE_MYSQL","ATTR_DB_CONNECTION_STRING","getJDBCString","ATTR_DB_NAME","ATTR_DB_USER","ATTR_DB_STATEMENT","getDbQueryText","ATTR_NET_PEER_NAME","ATTR_NET_PEER_PORT","startInactiveSpan","getSpanName","SPAN_KIND","withActiveSpan","bindScopeToEmitter","SPAN_STATUS_ERROR"],"mappings":";;;;;;;AAyCA,MAAM,YAAA,GAAe,+BAAA;AACrB,MAAM,MAAA,GAAS,oBAAA;AAIR,MAAM,6BAA6BA,mCAAA,CAA2C;AAAA,EAC5E,WAAA,CAAY,MAAA,GAAgC,EAAC,EAAG;AACrD,IAAA,KAAA,CAAM,YAAA,EAAcC,kBAAa,MAAM,CAAA;AAAA,EACzC;AAAA,EAEU,IAAA,GAAO;AACf,IAAA,OAAO;AAAA,MACL,IAAIC,mDAAA;AAAA,QACF,OAAA;AAAA,QACA,CAAC,YAAY,CAAA;AAAA,QACb,CAAC,aAAA,KAAqC;AACpC,UAAA,IAAIC,yBAAA,CAAU,aAAA,CAAc,gBAAgB,CAAA,EAAG;AAC7C,YAAA,IAAA,CAAK,OAAA,CAAQ,eAAe,kBAAkB,CAAA;AAAA,UAChD;AAEA,UAAA,IAAA,CAAK,KAAA,CAAM,aAAA,EAAe,kBAAA,EAAoB,IAAA,CAAK,wBAA+B,CAAA;AAElF,UAAA,IAAIA,yBAAA,CAAU,aAAA,CAAc,UAAU,CAAA,EAAG;AACvC,YAAA,IAAA,CAAK,OAAA,CAAQ,eAAe,YAAY,CAAA;AAAA,UAC1C;AAEA,UAAA,IAAA,CAAK,KAAA,CAAM,aAAA,EAAe,YAAA,EAAc,IAAA,CAAK,kBAAyB,CAAA;AAEtE,UAAA,IAAIA,yBAAA,CAAU,aAAA,CAAc,iBAAiB,CAAA,EAAG;AAC9C,YAAA,IAAA,CAAK,OAAA,CAAQ,eAAe,mBAAmB,CAAA;AAAA,UACjD;AAEA,UAAA,IAAA,CAAK,KAAA,CAAM,aAAA,EAAe,mBAAA,EAAqB,IAAA,CAAK,yBAAgC,CAAA;AAEpF,UAAA,OAAO,aAAA;AAAA,QACT,CAAA;AAAA,QACA,CAAC,aAAA,KAAqC;AACpC,UAAA,IAAI,kBAAkB,MAAA,EAAW;AACjC,UAAA,IAAA,CAAK,OAAA,CAAQ,eAAe,kBAAkB,CAAA;AAC9C,UAAA,IAAA,CAAK,OAAA,CAAQ,eAAe,YAAY,CAAA;AACxC,UAAA,IAAA,CAAK,OAAA,CAAQ,eAAe,mBAAmB,CAAA;AAAA,QACjD;AAAA;AACF,KACF;AAAA,EACF;AAAA;AAAA,EAGQ,sBAAA,GAAyB;AAC/B,IAAA,OAAO,CAAC,wBAAA,KAAuC;AAE7C,MAAA,MAAM,UAAA,GAAa,IAAA;AAEnB,MAAA,OAAO,SAAS,iBAAiB,cAAA,EAAsD;AACrF,QAAA,MAAM,cAAA,GAAiB,wBAAA,CAAyB,GAAG,SAAS,CAAA;AAI5D,QAAA,UAAA,CAAW,MAAM,cAAA,EAAgB,OAAA,EAAS,UAAA,CAAW,WAAA,CAAY,cAAc,CAAQ,CAAA;AAEvF,QAAA,OAAO,cAAA;AAAA,MACT,CAAA;AAAA,IACF,CAAA;AAAA,EACF;AAAA;AAAA,EAGQ,gBAAA,GAAmB;AACzB,IAAA,OAAO,CAAC,kBAAA,KAAiC;AAEvC,MAAA,MAAM,UAAA,GAAa,IAAA;AACnB,MAAA,OAAO,SAAS,WAAW,OAAA,EAAyC;AAClE,QAAA,MAAM,IAAA,GAAO,kBAAA,CAAmB,GAAG,SAAS,CAAA;AAE5C,QAAA,UAAA,CAAW,MAAM,IAAA,EAAM,OAAA,EAAS,UAAA,CAAW,WAAA,CAAY,IAAI,CAAC,CAAA;AAC5D,QAAA,UAAA,CAAW,MAAM,IAAA,EAAM,eAAA,EAAiB,UAAA,CAAW,mBAAA,CAAoB,IAAI,CAAC,CAAA;AAE5E,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AAAA,IACF,CAAA;AAAA,EACF;AAAA;AAAA,EAGQ,uBAAA,GAA0B;AAChC,IAAA,OAAO,CAAC,yBAAA,KAAwC;AAE9C,MAAA,MAAM,UAAA,GAAa,IAAA;AACnB,MAAA,OAAO,SAAS,WAAW,OAAA,EAAyC;AAClE,QAAA,MAAM,OAAA,GAAU,yBAAA,CAA0B,GAAG,SAAS,CAAA;AAGtD,QAAA,UAAA,CAAW,MAAM,OAAA,EAAS,eAAA,EAAiB,UAAA,CAAW,mBAAA,CAAoB,OAAO,CAAC,CAAA;AAElF,QAAA,OAAO,OAAA;AAAA,MACT,CAAA;AAAA,IACF,CAAA;AAAA,EACF;AAAA;AAAA,EAGQ,oBAAoB,IAAA,EAAgD;AAC1E,IAAA,OAAO,CAAC,qBAAA,KAAoC;AAE1C,MAAA,MAAM,UAAA,GAAa,IAAA;AAEnB,MAAA,OAAO,SAAS,aAAA,CAAc,IAAA,EAAgB,IAAA,EAAgB,IAAA,EAAgB;AAE5E,QAAA,IAAI,CAAC,UAAA,CAAW,UAAU,CAAA,EAAG;AAC3B,UAAA,UAAA,CAAW,OAAA,CAAQ,MAAM,eAAe,CAAA;AACxC,UAAA,OAAO,qBAAA,CAAsB,KAAA,CAAM,IAAA,EAAM,SAAS,CAAA;AAAA,QACpD;AAEA,QAAA,IAAI,SAAA,CAAU,MAAA,KAAW,CAAA,IAAK,OAAO,SAAS,UAAA,EAAY;AACxD,UAAA,MAAM,OAAA,GAAU,UAAA,CAAW,6BAAA,CAA8B,IAAiC,CAAA;AAC1F,UAAA,OAAO,qBAAA,CAAsB,IAAA,CAAK,IAAA,EAAM,OAAO,CAAA;AAAA,QACjD;AACA,QAAA,IAAI,SAAA,CAAU,MAAA,KAAW,CAAA,IAAK,OAAO,SAAS,UAAA,EAAY;AACxD,UAAA,MAAM,OAAA,GAAU,UAAA,CAAW,6BAAA,CAA8B,IAAiC,CAAA;AAC1F,UAAA,OAAO,qBAAA,CAAsB,IAAA,CAAK,IAAA,EAAM,IAAA,EAAM,OAAO,CAAA;AAAA,QACvD;AACA,QAAA,IAAI,SAAA,CAAU,MAAA,KAAW,CAAA,IAAK,OAAO,SAAS,UAAA,EAAY;AACxD,UAAA,MAAM,OAAA,GAAU,UAAA,CAAW,6BAAA,CAA8B,IAAiC,CAAA;AAC1F,UAAA,OAAO,qBAAA,CAAsB,IAAA,CAAK,IAAA,EAAM,IAAA,EAAM,MAAM,OAAO,CAAA;AAAA,QAC7D;AAEA,QAAA,OAAO,qBAAA,CAAsB,KAAA,CAAM,IAAA,EAAM,SAAS,CAAA;AAAA,MACpD,CAAA;AAAA,IACF,CAAA;AAAA,EACF;AAAA,EAEQ,8BAA8B,EAAA,EAA+B;AAEnE,IAAA,MAAM,UAAA,GAAa,IAAA;AACnB,IAAA,MAAM,QAAQC,oBAAA,EAAgB;AAC9B,IAAA,OAAO,SAAyB,KAA4B,UAAA,EAAuC;AACjG,MAAA,IAAI,UAAA,EAAY;AAGd,QAAA,IAAI,CAACD,yBAAA,CAAU,UAAA,CAAW,KAAK,CAAA,EAAG;AAEhC,UAAA,UAAA,CAAW,MAAM,UAAA,EAAY,OAAA,EAAS,UAAA,CAAW,WAAA,CAAY,UAAU,CAAQ,CAAA;AAAA,QACjF;AAAA,MACF;AACA,MAAA,IAAI,OAAO,OAAO,UAAA,EAAY;AAC5B,QAAAE,cAAA,CAAU,OAAO,MAAM,EAAA,CAAG,KAAK,IAAA,EAAM,GAAA,EAAK,UAAU,CAAC,CAAA;AAAA,MACvD;AAAA,IACF,CAAA;AAAA,EACF;AAAA,EAEQ,YAAY,UAAA,EAAqD;AACvE,IAAA,OAAO,CAAC,aAAA,KAA4B;AAElC,MAAA,MAAM,UAAA,GAAa,IAAA;AAEnB,MAAA,OAAO,SAAS,KAAA,CACd,KAAA,EACA,iBAAA,EACA,SAAA,EACA;AACA,QAAA,IAAI,CAAC,UAAA,CAAW,UAAU,CAAA,EAAG;AAC3B,UAAA,UAAA,CAAW,OAAA,CAAQ,YAAY,OAAO,CAAA;AACtC,UAAA,OAAO,aAAA,CAAc,KAAA,CAAM,UAAA,EAAY,SAAS,CAAA;AAAA,QAClD;AAEA,QAAA,MAAM,EAAE,MAAM,IAAA,EAAM,QAAA,EAAU,MAAK,GAAIC,eAAA,CAAU,WAAW,MAAM,CAAA;AAClE,QAAA,MAAM,UAAA,GAAa,QAAA,CAAS,MAAA,CAAO,IAAI,GAAG,EAAE,CAAA;AAE5C,QAAA,MAAM,UAAA,GAA6B;AAAA,UACjC,CAACC,qCAAgC,GAAG,MAAA;AAAA,UACpC,CAACC,sBAAc,GAAGC,6BAAA;AAAA,UAClB,CAACC,iCAAyB,GAAGC,mBAAA,CAAc,IAAA,EAAM,MAAM,QAAQ,CAAA;AAAA,UAC/D,CAACC,oBAAY,GAAG,QAAA;AAAA,UAChB,CAACC,oBAAY,GAAG,IAAA;AAAA,UAChB,CAACC,yBAAiB,GAAGC,oBAAA,CAAe,KAAK,CAAA;AAAA,UACzC,CAACC,0BAAkB,GAAG;AAAA,SACxB;AAEA,QAAA,IAAI,CAAC,KAAA,CAAM,UAAU,CAAA,EAAG;AACtB,UAAA,UAAA,CAAWC,0BAAkB,CAAA,GAAI,UAAA;AAAA,QACnC;AAGA,QAAA,MAAM,OAAOC,sBAAA,CAAkB;AAAA,UAC7B,IAAA,EAAMC,kBAAY,KAAK,CAAA;AAAA,UACvB,MAAMC,cAAA,CAAU,MAAA;AAAA,UAChB;AAAA,SACD,CAAA;AAED,QAAA,MAAM,OAAA,GAAU,MAAM,IAAA,CAAK,SAAS,EAAE,SAAA,CAAU,CAAA,GAAA,KAAO,OAAO,GAAA,KAAQ,UAAU,CAAA;AAEhF,QAAA,MAAM,QAAQhB,oBAAA,EAAgB;AAC9B,QAAA,IAAI,YAAY,EAAA,EAAI;AAClB,UAAA,MAAM,eAAA,GAAoCiB,mBAAA,CAAe,IAAA,EAAM,MAAM;AACnE,YAAA,OAAO,aAAA,CAAc,KAAA,CAAM,UAAA,EAAY,SAAS,CAAA;AAAA,UAClD,CAAC,CAAA;AACD,UAAAC,uBAAA,CAAmB,iBAAiB,KAAK,CAAA;AAEzC,UAAA,OAAO,eAAA,CACJ,EAAA,CAAG,OAAA,EAAS,CAAC,GAAA,KAAiB;AAC7B,YAAA,IAAA,CAAK,SAAA,CAAU;AAAA,cACb,IAAA,EAAMC,sBAAA;AAAA,cACN,SAAU,GAAA,CAA8B;AAAA,aACzC,CAAA;AAAA,UACH,CAAC,CAAA,CACA,EAAA,CAAG,KAAA,EAAO,MAAM;AACf,YAAA,IAAA,CAAK,GAAA,EAAI;AAAA,UACX,CAAC,CAAA;AAAA,QACL,CAAA,MAAO;AACL,UAAA,UAAA,CAAW,MAAM,SAAA,EAAW,OAAA,EAAS,WAAW,mBAAA,CAAoB,IAAA,EAAM,KAAK,CAAC,CAAA;AAEhF,UAAA,OAAOF,mBAAA,CAAe,MAAM,MAAM;AAChC,YAAA,OAAO,aAAA,CAAc,KAAA,CAAM,UAAA,EAAY,SAAS,CAAA;AAAA,UAClD,CAAC,CAAA;AAAA,QACH;AAAA,MACF,CAAA;AAAA,IACF,CAAA;AAAA,EACF;AAAA,EAEQ,mBAAA,CAAoB,MAAY,KAAA,EAAc;AACpD,IAAA,OAAO,CAAC,gBAAA,KAA+B;AACrC,MAAA,OAAO,SAAU,GAAA,EAAmC,QAAA,EAAoB,OAAA,EAAkC;AACxG,QAAA,IAAI,GAAA,EAAK;AACP,UAAA,IAAA,CAAK,SAAA,CAAU;AAAA,YACb,IAAA,EAAME,sBAAA;AAAA,YACN,SAAS,GAAA,CAAI;AAAA,WACd,CAAA;AAAA,QACH;AACA,QAAA,IAAA,CAAK,GAAA,EAAI;AACT,QAAA,OAAOlB,eAAU,KAAA,EAAO,MAAM,gBAAA,CAAiB,GAAG,SAAS,CAAC,CAAA;AAAA,MAC9D,CAAA;AAAA,IACF,CAAA;AAAA,EACF;AACF;;;;"}
@@ -8,7 +8,6 @@ const ATTR_DB_USER = "db.user";
8
8
  const ATTR_NET_PEER_NAME = "net.peer.name";
9
9
  const ATTR_NET_PEER_PORT = "net.peer.port";
10
10
  const DB_SYSTEM_VALUE_MYSQL = "mysql";
11
- const METRIC_DB_CLIENT_CONNECTIONS_USAGE = "db.client.connections.usage";
12
11
 
13
12
  exports.ATTR_DB_CONNECTION_STRING = ATTR_DB_CONNECTION_STRING;
14
13
  exports.ATTR_DB_NAME = ATTR_DB_NAME;
@@ -18,5 +17,4 @@ exports.ATTR_DB_USER = ATTR_DB_USER;
18
17
  exports.ATTR_NET_PEER_NAME = ATTR_NET_PEER_NAME;
19
18
  exports.ATTR_NET_PEER_PORT = ATTR_NET_PEER_PORT;
20
19
  exports.DB_SYSTEM_VALUE_MYSQL = DB_SYSTEM_VALUE_MYSQL;
21
- exports.METRIC_DB_CLIENT_CONNECTIONS_USAGE = METRIC_DB_CLIENT_CONNECTIONS_USAGE;
22
20
  //# sourceMappingURL=semconv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"semconv.js","sources":["../../../../../../src/integrations/tracing/mysql/vendored/semconv.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/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n\n/**\n * Deprecated, use `server.address`, `server.port` attributes instead.\n *\n * @example \"Server=(localdb)\\\\v11.0;Integrated Security=true;\"\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `server.address` and `server.port`.\n */\nexport const ATTR_DB_CONNECTION_STRING = 'db.connection_string' as const;\n\n/**\n * Deprecated, use `db.namespace` instead.\n *\n * @example customers\n * @example main\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `db.namespace`.\n */\nexport const ATTR_DB_NAME = 'db.name' as const;\n\n/**\n * The database statement being executed.\n *\n * @example SELECT * FROM wuser_table\n * @example SET mykey \"WuValue\"\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `db.query.text`.\n */\nexport const ATTR_DB_STATEMENT = 'db.statement' as const;\n\n/**\n * Deprecated, use `db.system.name` instead.\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `db.system.name`.\n */\nexport const ATTR_DB_SYSTEM = 'db.system' as const;\n\n/**\n * Deprecated, no replacement at this time.\n *\n * @example readonly_user\n * @example reporting_user\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Removed, no replacement at this time.\n */\nexport const ATTR_DB_USER = 'db.user' as const;\n\n/**\n * Deprecated, use `server.address` on client spans and `client.address` on server spans.\n *\n * @example example.com\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `server.address` on client spans and `client.address` on server spans.\n */\nexport const ATTR_NET_PEER_NAME = 'net.peer.name' as const;\n\n/**\n * Deprecated, use `server.port` on client spans and `client.port` on server spans.\n *\n * @example 8080\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `server.port` on client spans and `client.port` on server spans.\n */\nexport const ATTR_NET_PEER_PORT = 'net.peer.port' as const;\n\n/**\n * Enum value \"mysql\" for attribute {@link ATTR_DB_SYSTEM}.\n *\n * MySQL\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const DB_SYSTEM_VALUE_MYSQL = 'mysql' as const;\n\n/**\n * Deprecated, use `db.client.connection.count` instead.\n *\n * @experimental This metric is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `db.client.connection.count`.\n */\nexport const METRIC_DB_CLIENT_CONNECTIONS_USAGE = 'db.client.connections.usage' as const;\n"],"names":[],"mappings":";;AAyBO,MAAM,yBAAA,GAA4B;AAYlC,MAAM,YAAA,GAAe;AAYrB,MAAM,iBAAA,GAAoB;AAS1B,MAAM,cAAA,GAAiB;AAYvB,MAAM,YAAA,GAAe;AAWrB,MAAM,kBAAA,GAAqB;AAW3B,MAAM,kBAAA,GAAqB;AAS3B,MAAM,qBAAA,GAAwB;AAS9B,MAAM,kCAAA,GAAqC;;;;;;;;;;;;"}
1
+ {"version":3,"file":"semconv.js","sources":["../../../../../../src/integrations/tracing/mysql/vendored/semconv.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\n/*\n * This file contains a copy of unstable semantic convention definitions\n * used by this package.\n * @see https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n */\n\n/**\n * Deprecated, use `server.address`, `server.port` attributes instead.\n *\n * @example \"Server=(localdb)\\\\v11.0;Integrated Security=true;\"\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `server.address` and `server.port`.\n */\nexport const ATTR_DB_CONNECTION_STRING = 'db.connection_string' as const;\n\n/**\n * Deprecated, use `db.namespace` instead.\n *\n * @example customers\n * @example main\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `db.namespace`.\n */\nexport const ATTR_DB_NAME = 'db.name' as const;\n\n/**\n * The database statement being executed.\n *\n * @example SELECT * FROM wuser_table\n * @example SET mykey \"WuValue\"\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `db.query.text`.\n */\nexport const ATTR_DB_STATEMENT = 'db.statement' as const;\n\n/**\n * Deprecated, use `db.system.name` instead.\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `db.system.name`.\n */\nexport const ATTR_DB_SYSTEM = 'db.system' as const;\n\n/**\n * Deprecated, no replacement at this time.\n *\n * @example readonly_user\n * @example reporting_user\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Removed, no replacement at this time.\n */\nexport const ATTR_DB_USER = 'db.user' as const;\n\n/**\n * Deprecated, use `server.address` on client spans and `client.address` on server spans.\n *\n * @example example.com\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `server.address` on client spans and `client.address` on server spans.\n */\nexport const ATTR_NET_PEER_NAME = 'net.peer.name' as const;\n\n/**\n * Deprecated, use `server.port` on client spans and `client.port` on server spans.\n *\n * @example 8080\n *\n * @experimental This attribute is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n *\n * @deprecated Replaced by `server.port` on client spans and `client.port` on server spans.\n */\nexport const ATTR_NET_PEER_PORT = 'net.peer.port' as const;\n\n/**\n * Enum value \"mysql\" for attribute {@link ATTR_DB_SYSTEM}.\n *\n * MySQL\n *\n * @experimental This enum value is experimental and is subject to breaking changes in minor releases of `@opentelemetry/semantic-conventions`.\n */\nexport const DB_SYSTEM_VALUE_MYSQL = 'mysql' as const;\n"],"names":[],"mappings":";;AAwBO,MAAM,yBAAA,GAA4B;AAYlC,MAAM,YAAA,GAAe;AAYrB,MAAM,iBAAA,GAAoB;AAS1B,MAAM,cAAA,GAAiB;AAYvB,MAAM,YAAA,GAAe;AAWrB,MAAM,kBAAA,GAAqB;AAW3B,MAAM,kBAAA,GAAqB;AAS3B,MAAM,qBAAA,GAAwB;;;;;;;;;;;"}
@@ -1,7 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
 
3
3
  function getConfig(config) {
4
- const { host, port, database, user } = config && config.connectionConfig || config || {};
4
+ const resolved = config?.connectionConfig || config || {};
5
+ const { host, port, database, user } = resolved;
5
6
  return { host, port, database, user };
6
7
  }
7
8
  function getJDBCString(host, port, database) {
@@ -21,13 +22,6 @@ function getDbQueryText(query) {
21
22
  return query.sql;
22
23
  }
23
24
  }
24
- function getDbValues(query, values) {
25
- if (typeof query === "string") {
26
- return arrayStringifyHelper(values);
27
- } else {
28
- return arrayStringifyHelper(values || query.values);
29
- }
30
- }
31
25
  function getSpanName(query) {
32
26
  const rawQuery = typeof query === "object" ? query.sql : query;
33
27
  const firstSpace = rawQuery?.indexOf(" ");
@@ -36,28 +30,9 @@ function getSpanName(query) {
36
30
  }
37
31
  return rawQuery;
38
32
  }
39
- function arrayStringifyHelper(arr) {
40
- if (arr) return `[${arr.toString()}]`;
41
- return "";
42
- }
43
- function getPoolNameOld(pool) {
44
- const c = pool.config.connectionConfig;
45
- let poolName = "";
46
- poolName += c?.host ? `host: '${c.host}', ` : "";
47
- poolName += c?.port ? `port: ${c.port}, ` : "";
48
- poolName += c?.database ? `database: '${c.database}', ` : "";
49
- poolName += c?.user ? `user: '${c.user}'` : "";
50
- if (!c?.user) {
51
- poolName = poolName.substring(0, poolName.length - 2);
52
- }
53
- return poolName.trim();
54
- }
55
33
 
56
- exports.arrayStringifyHelper = arrayStringifyHelper;
57
34
  exports.getConfig = getConfig;
58
35
  exports.getDbQueryText = getDbQueryText;
59
- exports.getDbValues = getDbValues;
60
36
  exports.getJDBCString = getJDBCString;
61
- exports.getPoolNameOld = getPoolNameOld;
62
37
  exports.getSpanName = getSpanName;
63
38
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../src/integrations/tracing/mysql/vendored/utils.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 * - Types from the `mysql` package inlined as simplified interfaces\n */\n/* eslint-disable */\n\nimport type { Pool, Query, QueryOptions } from './mysql-types';\n\nexport function getConfig(config: any) {\n const { host, port, database, user } = (config && config.connectionConfig) || config || {};\n return { host, port, database, user };\n}\n\nexport function getJDBCString(host: string | undefined, port: number | undefined, database: string | undefined) {\n let jdbcString = `jdbc:mysql://${host || 'localhost'}`;\n\n if (typeof port === 'number') {\n jdbcString += `:${port}`;\n }\n\n if (typeof database === 'string') {\n jdbcString += `/${database}`;\n }\n\n return jdbcString;\n}\n\n/**\n * @returns the database query being executed.\n */\nexport function getDbQueryText(query: string | Query | QueryOptions): string {\n if (typeof query === 'string') {\n return query;\n } else {\n return query.sql;\n }\n}\n\nexport function getDbValues(query: string | Query | QueryOptions, values?: any[]): string {\n if (typeof query === 'string') {\n return arrayStringifyHelper(values);\n } else {\n // According to https://github.com/mysqljs/mysql#performing-queries\n // The values argument will override the values in the option object.\n return arrayStringifyHelper(values || query.values);\n }\n}\n\n/**\n * The span name SHOULD be set to a low cardinality value\n * representing the statement executed on the database.\n *\n * TODO: revisit span name based on https://github.com/open-telemetry/semantic-conventions/blob/v1.33.0/docs/database/database-spans.md#name\n *\n * @returns SQL statement without variable arguments or SQL verb\n */\nexport function getSpanName(query: string | Query | QueryOptions): string {\n const rawQuery = typeof query === 'object' ? query.sql : query;\n // Extract the SQL verb\n const firstSpace = rawQuery?.indexOf(' ');\n if (typeof firstSpace === 'number' && firstSpace !== -1) {\n return rawQuery?.substring(0, firstSpace);\n }\n return rawQuery;\n}\n\nexport function arrayStringifyHelper(arr: Array<unknown> | undefined): string {\n if (arr) return `[${arr.toString()}]`;\n return '';\n}\n\nexport function getPoolNameOld(pool: Pool): string {\n const c = pool.config.connectionConfig;\n let poolName = '';\n poolName += c?.host ? `host: '${c.host}', ` : '';\n poolName += c?.port ? `port: ${c.port}, ` : '';\n poolName += c?.database ? `database: '${c.database}', ` : '';\n poolName += c?.user ? `user: '${c.user}'` : '';\n if (!c?.user) {\n poolName = poolName.substring(0, poolName.length - 2); //omit last comma\n }\n return poolName.trim();\n}\n"],"names":[],"mappings":";;AAaO,SAAS,UAAU,MAAA,EAAa;AACrC,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,IAAA,KAAU,MAAA,IAAU,MAAA,CAAO,gBAAA,IAAqB,MAAA,IAAU,EAAC;AACzF,EAAA,OAAO,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,IAAA,EAAK;AACtC;AAEO,SAAS,aAAA,CAAc,IAAA,EAA0B,IAAA,EAA0B,QAAA,EAA8B;AAC9G,EAAA,IAAI,UAAA,GAAa,CAAA,aAAA,EAAgB,IAAA,IAAQ,WAAW,CAAA,CAAA;AAEpD,EAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC5B,IAAA,UAAA,IAAc,IAAI,IAAI,CAAA,CAAA;AAAA,EACxB;AAEA,EAAA,IAAI,OAAO,aAAa,QAAA,EAAU;AAChC,IAAA,UAAA,IAAc,IAAI,QAAQ,CAAA,CAAA;AAAA,EAC5B;AAEA,EAAA,OAAO,UAAA;AACT;AAKO,SAAS,eAAe,KAAA,EAA8C;AAC3E,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,IAAA,OAAO,KAAA;AAAA,EACT,CAAA,MAAO;AACL,IAAA,OAAO,KAAA,CAAM,GAAA;AAAA,EACf;AACF;AAEO,SAAS,WAAA,CAAY,OAAsC,MAAA,EAAwB;AACxF,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,IAAA,OAAO,qBAAqB,MAAM,CAAA;AAAA,EACpC,CAAA,MAAO;AAGL,IAAA,OAAO,oBAAA,CAAqB,MAAA,IAAU,KAAA,CAAM,MAAM,CAAA;AAAA,EACpD;AACF;AAUO,SAAS,YAAY,KAAA,EAA8C;AACxE,EAAA,MAAM,QAAA,GAAW,OAAO,KAAA,KAAU,QAAA,GAAW,MAAM,GAAA,GAAM,KAAA;AAEzD,EAAA,MAAM,UAAA,GAAa,QAAA,EAAU,OAAA,CAAQ,GAAG,CAAA;AACxC,EAAA,IAAI,OAAO,UAAA,KAAe,QAAA,IAAY,UAAA,KAAe,EAAA,EAAI;AACvD,IAAA,OAAO,QAAA,EAAU,SAAA,CAAU,CAAA,EAAG,UAAU,CAAA;AAAA,EAC1C;AACA,EAAA,OAAO,QAAA;AACT;AAEO,SAAS,qBAAqB,GAAA,EAAyC;AAC5E,EAAA,IAAI,GAAA,EAAK,OAAO,CAAA,CAAA,EAAI,GAAA,CAAI,UAAU,CAAA,CAAA,CAAA;AAClC,EAAA,OAAO,EAAA;AACT;AAEO,SAAS,eAAe,IAAA,EAAoB;AACjD,EAAA,MAAM,CAAA,GAAI,KAAK,MAAA,CAAO,gBAAA;AACtB,EAAA,IAAI,QAAA,GAAW,EAAA;AACf,EAAA,QAAA,IAAY,CAAA,EAAG,IAAA,GAAO,CAAA,OAAA,EAAU,CAAA,CAAE,IAAI,CAAA,GAAA,CAAA,GAAQ,EAAA;AAC9C,EAAA,QAAA,IAAY,CAAA,EAAG,IAAA,GAAO,CAAA,MAAA,EAAS,CAAA,CAAE,IAAI,CAAA,EAAA,CAAA,GAAO,EAAA;AAC5C,EAAA,QAAA,IAAY,CAAA,EAAG,QAAA,GAAW,CAAA,WAAA,EAAc,CAAA,CAAE,QAAQ,CAAA,GAAA,CAAA,GAAQ,EAAA;AAC1D,EAAA,QAAA,IAAY,CAAA,EAAG,IAAA,GAAO,CAAA,OAAA,EAAU,CAAA,CAAE,IAAI,CAAA,CAAA,CAAA,GAAM,EAAA;AAC5C,EAAA,IAAI,CAAC,GAAG,IAAA,EAAM;AACZ,IAAA,QAAA,GAAW,QAAA,CAAS,SAAA,CAAU,CAAA,EAAG,QAAA,CAAS,SAAS,CAAC,CAAA;AAAA,EACtD;AACA,EAAA,OAAO,SAAS,IAAA,EAAK;AACvB;;;;;;;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../src/integrations/tracing/mysql/vendored/utils.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 * - Types from the `mysql` package inlined as simplified interfaces\n */\n\nimport type { ConnectionConfig, PoolConfig, Query, QueryOptions } from './mysql-types';\n\nexport function getConfig(config: ConnectionConfig | PoolConfig | undefined) {\n const resolved = (config as PoolConfig | undefined)?.connectionConfig || config || {};\n const { host, port, database, user } = resolved;\n return { host, port, database, user };\n}\n\nexport function getJDBCString(host: string | undefined, port: number | undefined, database: string | undefined) {\n let jdbcString = `jdbc:mysql://${host || 'localhost'}`;\n\n if (typeof port === 'number') {\n jdbcString += `:${port}`;\n }\n\n if (typeof database === 'string') {\n jdbcString += `/${database}`;\n }\n\n return jdbcString;\n}\n\n/**\n * @returns the database query being executed.\n */\nexport function getDbQueryText(query: string | Query | QueryOptions): string {\n if (typeof query === 'string') {\n return query;\n } else {\n return query.sql;\n }\n}\n\n/**\n * The span name SHOULD be set to a low cardinality value\n * representing the statement executed on the database.\n *\n * TODO: revisit span name based on https://github.com/open-telemetry/semantic-conventions/blob/v1.33.0/docs/database/database-spans.md#name\n *\n * @returns SQL statement without variable arguments or SQL verb\n */\nexport function getSpanName(query: string | Query | QueryOptions): string {\n const rawQuery = typeof query === 'object' ? query.sql : query;\n // Extract the SQL verb\n const firstSpace = rawQuery?.indexOf(' ');\n if (typeof firstSpace === 'number' && firstSpace !== -1) {\n return rawQuery?.substring(0, firstSpace);\n }\n return rawQuery;\n}\n"],"names":[],"mappings":";;AAYO,SAAS,UAAU,MAAA,EAAmD;AAC3E,EAAA,MAAM,QAAA,GAAY,MAAA,EAAmC,gBAAA,IAAoB,MAAA,IAAU,EAAC;AACpF,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,MAAK,GAAI,QAAA;AACvC,EAAA,OAAO,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,IAAA,EAAK;AACtC;AAEO,SAAS,aAAA,CAAc,IAAA,EAA0B,IAAA,EAA0B,QAAA,EAA8B;AAC9G,EAAA,IAAI,UAAA,GAAa,CAAA,aAAA,EAAgB,IAAA,IAAQ,WAAW,CAAA,CAAA;AAEpD,EAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC5B,IAAA,UAAA,IAAc,IAAI,IAAI,CAAA,CAAA;AAAA,EACxB;AAEA,EAAA,IAAI,OAAO,aAAa,QAAA,EAAU;AAChC,IAAA,UAAA,IAAc,IAAI,QAAQ,CAAA,CAAA;AAAA,EAC5B;AAEA,EAAA,OAAO,UAAA;AACT;AAKO,SAAS,eAAe,KAAA,EAA8C;AAC3E,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC7B,IAAA,OAAO,KAAA;AAAA,EACT,CAAA,MAAO;AACL,IAAA,OAAO,KAAA,CAAM,GAAA;AAAA,EACf;AACF;AAUO,SAAS,YAAY,KAAA,EAA8C;AACxE,EAAA,MAAM,QAAA,GAAW,OAAO,KAAA,KAAU,QAAA,GAAW,MAAM,GAAA,GAAM,KAAA;AAEzD,EAAA,MAAM,UAAA,GAAa,QAAA,EAAU,OAAA,CAAQ,GAAG,CAAA;AACxC,EAAA,IAAI,OAAO,UAAA,KAAe,QAAA,IAAY,UAAA,KAAe,EAAA,EAAI;AACvD,IAAA,OAAO,QAAA,EAAU,SAAA,CAAU,CAAA,EAAG,UAAU,CAAA;AAAA,EAC1C;AACA,EAAA,OAAO,QAAA;AACT;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/mysql2/index.ts"],"sourcesContent":["import { MySQL2Instrumentation } from './vendored/instrumentation';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\n\nconst INTEGRATION_NAME = 'Mysql2';\n\nexport const instrumentMysql2 = generateInstrumentOnce(INTEGRATION_NAME, () => new MySQL2Instrumentation());\n\nconst _mysql2Integration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n instrumentMysql2();\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [mysql2](https://www.npmjs.com/package/mysql2) library.\n *\n * For more information, see the [`mysql2Integration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/mysql2/).\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.mysqlIntegration()],\n * });\n * ```\n */\nexport const mysql2Integration = defineIntegration(_mysql2Integration);\n"],"names":["generateInstrumentOnce","MySQL2Instrumentation","defineIntegration"],"mappings":";;;;;;AAKA,MAAM,gBAAA,GAAmB,QAAA;AAElB,MAAM,mBAAmBA,+BAAA,CAAuB,gBAAA,EAAkB,MAAM,IAAIC,uCAAuB;AAE1G,MAAM,sBAAsB,MAAM;AAChC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AACV,MAAA,gBAAA,EAAiB;AAAA,IACnB;AAAA,GACF;AACF,CAAA,CAAA;AAgBO,MAAM,iBAAA,GAAoBC,uBAAkB,kBAAkB;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/mysql2/index.ts"],"sourcesContent":["import { MySQL2Instrumentation } from './vendored/instrumentation';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\n\nconst INTEGRATION_NAME = 'Mysql2' as const;\n\nexport const instrumentMysql2 = generateInstrumentOnce(INTEGRATION_NAME, () => new MySQL2Instrumentation());\n\nconst _mysql2Integration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n instrumentMysql2();\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [mysql2](https://www.npmjs.com/package/mysql2) library.\n *\n * For more information, see the [`mysql2Integration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/mysql2/).\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.mysqlIntegration()],\n * });\n * ```\n */\nexport const mysql2Integration = defineIntegration(_mysql2Integration);\n"],"names":["generateInstrumentOnce","MySQL2Instrumentation","defineIntegration"],"mappings":";;;;;;AAKA,MAAM,gBAAA,GAAmB,QAAA;AAElB,MAAM,mBAAmBA,+BAAA,CAAuB,gBAAA,EAAkB,MAAM,IAAIC,uCAAuB;AAE1G,MAAM,sBAAsB,MAAM;AAChC,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AACV,MAAA,gBAAA,EAAiB;AAAA,IACnB;AAAA,GACF;AACF,CAAA,CAAA;AAgBO,MAAM,iBAAA,GAAoBC,uBAAkB,kBAAkB;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/postgres/index.ts"],"sourcesContent":["import { PgInstrumentation } from './vendored/instrumentation';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\n\ninterface PostgresIntegrationOptions {\n ignoreConnectSpans?: boolean;\n}\n\nconst INTEGRATION_NAME = 'Postgres';\n\nexport const instrumentPostgres = generateInstrumentOnce(\n INTEGRATION_NAME,\n PgInstrumentation,\n (options?: PostgresIntegrationOptions) => ({\n ignoreConnectSpans: options?.ignoreConnectSpans ?? false,\n }),\n);\n\nconst _postgresIntegration = ((options?: PostgresIntegrationOptions) => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n instrumentPostgres(options);\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [pg](https://www.npmjs.com/package/pg) library.\n *\n * For more information, see the [`postgresIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/postgres/).\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.postgresIntegration()],\n * });\n * ```\n */\nexport const postgresIntegration = defineIntegration(_postgresIntegration);\n"],"names":["generateInstrumentOnce","PgInstrumentation","defineIntegration"],"mappings":";;;;;;AASA,MAAM,gBAAA,GAAmB,UAAA;AAElB,MAAM,kBAAA,GAAqBA,+BAAA;AAAA,EAChC,gBAAA;AAAA,EACAC,iCAAA;AAAA,EACA,CAAC,OAAA,MAA0C;AAAA,IACzC,kBAAA,EAAoB,SAAS,kBAAA,IAAsB;AAAA,GACrD;AACF;AAEA,MAAM,oBAAA,IAAwB,CAAC,OAAA,KAAyC;AACtE,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AACV,MAAA,kBAAA,CAAmB,OAAO,CAAA;AAAA,IAC5B;AAAA,GACF;AACF,CAAA,CAAA;AAgBO,MAAM,mBAAA,GAAsBC,uBAAkB,oBAAoB;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/postgres/index.ts"],"sourcesContent":["import { PgInstrumentation } from './vendored/instrumentation';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\n\ninterface PostgresIntegrationOptions {\n ignoreConnectSpans?: boolean;\n}\n\nconst INTEGRATION_NAME = 'Postgres' as const;\n\nexport const instrumentPostgres = generateInstrumentOnce(\n INTEGRATION_NAME,\n PgInstrumentation,\n (options?: PostgresIntegrationOptions) => ({\n ignoreConnectSpans: options?.ignoreConnectSpans ?? false,\n }),\n);\n\nconst _postgresIntegration = ((options?: PostgresIntegrationOptions) => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n instrumentPostgres(options);\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [pg](https://www.npmjs.com/package/pg) library.\n *\n * For more information, see the [`postgresIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/postgres/).\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.postgresIntegration()],\n * });\n * ```\n */\nexport const postgresIntegration = defineIntegration(_postgresIntegration);\n"],"names":["generateInstrumentOnce","PgInstrumentation","defineIntegration"],"mappings":";;;;;;AASA,MAAM,gBAAA,GAAmB,UAAA;AAElB,MAAM,kBAAA,GAAqBA,+BAAA;AAAA,EAChC,gBAAA;AAAA,EACAC,iCAAA;AAAA,EACA,CAAC,OAAA,MAA0C;AAAA,IACzC,kBAAA,EAAoB,SAAS,kBAAA,IAAsB;AAAA,GACrD;AACF;AAEA,MAAM,oBAAA,IAAwB,CAAC,OAAA,KAAyC;AACtE,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AACV,MAAA,kBAAA,CAAmB,OAAO,CAAA;AAAA,IAC5B;AAAA,GACF;AACF,CAAA,CAAA;AAgBO,MAAM,mBAAA,GAAsBC,uBAAkB,oBAAoB;;;;;"}