@sentry/node 10.57.0 → 10.59.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 (523) hide show
  1. package/build/cjs/index.js +2 -0
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/cjs/integrations/fs/index.js +3 -84
  4. package/build/cjs/integrations/fs/index.js.map +1 -1
  5. package/build/cjs/integrations/fs/vendored/constants.js.map +1 -1
  6. package/build/cjs/integrations/fs/vendored/instrumentation.js +145 -175
  7. package/build/cjs/integrations/fs/vendored/instrumentation.js.map +1 -1
  8. package/build/cjs/integrations/fs/vendored/utils.js.map +1 -1
  9. package/build/cjs/integrations/node-fetch/vendored/undici.js.map +1 -1
  10. package/build/cjs/integrations/tracing/amqplib/vendored/amqplib.js.map +1 -1
  11. package/build/cjs/integrations/tracing/amqplib/vendored/semconv-obsolete.js.map +1 -1
  12. package/build/cjs/integrations/tracing/amqplib/vendored/semconv.js.map +1 -1
  13. package/build/cjs/integrations/tracing/amqplib/vendored/types.js.map +1 -1
  14. package/build/cjs/integrations/tracing/amqplib/vendored/utils.js.map +1 -1
  15. package/build/cjs/integrations/tracing/connect/index.js +0 -21
  16. package/build/cjs/integrations/tracing/connect/index.js.map +1 -1
  17. package/build/cjs/integrations/tracing/connect/vendored/enums/AttributeNames.js +0 -6
  18. package/build/cjs/integrations/tracing/connect/vendored/enums/AttributeNames.js.map +1 -1
  19. package/build/cjs/integrations/tracing/connect/vendored/instrumentation.js +33 -42
  20. package/build/cjs/integrations/tracing/connect/vendored/instrumentation.js.map +1 -1
  21. package/build/cjs/integrations/tracing/connect/vendored/internal-types.js.map +1 -1
  22. package/build/cjs/integrations/tracing/connect/vendored/utils.js +3 -2
  23. package/build/cjs/integrations/tracing/connect/vendored/utils.js.map +1 -1
  24. package/build/cjs/integrations/tracing/dataloader/index.js +2 -22
  25. package/build/cjs/integrations/tracing/dataloader/index.js.map +1 -1
  26. package/build/cjs/integrations/tracing/dataloader/vendored/instrumentation.js +93 -120
  27. package/build/cjs/integrations/tracing/dataloader/vendored/instrumentation.js.map +1 -1
  28. package/build/cjs/integrations/tracing/fastify/v3/instrumentation.js +1 -1
  29. package/build/cjs/integrations/tracing/fastify/v3/instrumentation.js.map +1 -1
  30. package/build/cjs/integrations/tracing/fastify/vendored/instrumentation.js.map +1 -1
  31. package/build/cjs/integrations/tracing/genericPool/index.js +1 -15
  32. package/build/cjs/integrations/tracing/genericPool/index.js.map +1 -1
  33. package/build/cjs/integrations/tracing/genericPool/vendored/instrumentation.js +37 -37
  34. package/build/cjs/integrations/tracing/genericPool/vendored/instrumentation.js.map +1 -1
  35. package/build/cjs/integrations/tracing/graphql/index.js +1 -51
  36. package/build/cjs/integrations/tracing/graphql/index.js.map +1 -1
  37. package/build/cjs/integrations/tracing/graphql/vendored/enum.js.map +1 -1
  38. package/build/cjs/integrations/tracing/graphql/vendored/enums/AttributeNames.js +0 -2
  39. package/build/cjs/integrations/tracing/graphql/vendored/enums/AttributeNames.js.map +1 -1
  40. package/build/cjs/integrations/tracing/graphql/vendored/instrumentation.js +67 -57
  41. package/build/cjs/integrations/tracing/graphql/vendored/instrumentation.js.map +1 -1
  42. package/build/cjs/integrations/tracing/graphql/vendored/internal-types.js.map +1 -1
  43. package/build/cjs/integrations/tracing/graphql/vendored/symbols.js.map +1 -1
  44. package/build/cjs/integrations/tracing/graphql/vendored/utils.js +28 -62
  45. package/build/cjs/integrations/tracing/graphql/vendored/utils.js.map +1 -1
  46. package/build/cjs/integrations/tracing/hapi/index.js +0 -17
  47. package/build/cjs/integrations/tracing/hapi/index.js.map +1 -1
  48. package/build/cjs/integrations/tracing/hapi/vendored/enums/AttributeNames.js.map +1 -1
  49. package/build/cjs/integrations/tracing/hapi/vendored/instrumentation.js +28 -45
  50. package/build/cjs/integrations/tracing/hapi/vendored/instrumentation.js.map +1 -1
  51. package/build/cjs/integrations/tracing/hapi/vendored/internal-types.js.map +1 -1
  52. package/build/cjs/integrations/tracing/hapi/vendored/semconv.js.map +1 -1
  53. package/build/cjs/integrations/tracing/hapi/vendored/utils.js +4 -9
  54. package/build/cjs/integrations/tracing/hapi/vendored/utils.js.map +1 -1
  55. package/build/cjs/integrations/tracing/index.js +1 -0
  56. package/build/cjs/integrations/tracing/index.js.map +1 -1
  57. package/build/cjs/integrations/tracing/kafka/vendored/instrumentation.js.map +1 -1
  58. package/build/cjs/integrations/tracing/kafka/vendored/internal-types.js.map +1 -1
  59. package/build/cjs/integrations/tracing/kafka/vendored/propagator.js.map +1 -1
  60. package/build/cjs/integrations/tracing/kafka/vendored/semconv.js.map +1 -1
  61. package/build/cjs/integrations/tracing/knex/index.js +2 -17
  62. package/build/cjs/integrations/tracing/knex/index.js.map +1 -1
  63. package/build/cjs/integrations/tracing/knex/vendored/instrumentation.js +65 -93
  64. package/build/cjs/integrations/tracing/knex/vendored/instrumentation.js.map +1 -1
  65. package/build/cjs/integrations/tracing/knex/vendored/semconv.js +2 -0
  66. package/build/cjs/integrations/tracing/knex/vendored/semconv.js.map +1 -1
  67. package/build/cjs/integrations/tracing/knex/vendored/utils.js +2 -15
  68. package/build/cjs/integrations/tracing/knex/vendored/utils.js.map +1 -1
  69. package/build/cjs/integrations/tracing/koa/index.js +1 -24
  70. package/build/cjs/integrations/tracing/koa/index.js.map +1 -1
  71. package/build/cjs/integrations/tracing/koa/vendored/enums/AttributeNames.js.map +1 -1
  72. package/build/cjs/integrations/tracing/koa/vendored/instrumentation.js +29 -41
  73. package/build/cjs/integrations/tracing/koa/vendored/instrumentation.js.map +1 -1
  74. package/build/cjs/integrations/tracing/koa/vendored/internal-types.js.map +1 -1
  75. package/build/cjs/integrations/tracing/koa/vendored/types.js.map +1 -1
  76. package/build/cjs/integrations/tracing/koa/vendored/utils.js.map +1 -1
  77. package/build/cjs/integrations/tracing/lrumemoizer/vendored/instrumentation.js.map +1 -1
  78. package/build/cjs/integrations/tracing/mongo/index.js +1 -42
  79. package/build/cjs/integrations/tracing/mongo/index.js.map +1 -1
  80. package/build/cjs/integrations/tracing/mongo/vendored/instrumentation.js +12 -562
  81. package/build/cjs/integrations/tracing/mongo/vendored/instrumentation.js.map +1 -1
  82. package/build/cjs/integrations/tracing/mongo/vendored/internal-types.js.map +1 -1
  83. package/build/cjs/integrations/tracing/mongo/vendored/patches.js +151 -0
  84. package/build/cjs/integrations/tracing/mongo/vendored/patches.js.map +1 -0
  85. package/build/cjs/integrations/tracing/mongo/vendored/semconv.js +0 -4
  86. package/build/cjs/integrations/tracing/mongo/vendored/semconv.js.map +1 -1
  87. package/build/cjs/integrations/tracing/mongo/vendored/utils.js +153 -0
  88. package/build/cjs/integrations/tracing/mongo/vendored/utils.js.map +1 -0
  89. package/build/cjs/integrations/tracing/mongoose/index.js +1 -8
  90. package/build/cjs/integrations/tracing/mongoose/index.js.map +1 -1
  91. package/build/cjs/integrations/tracing/mongoose/vendored/mongoose.js +56 -203
  92. package/build/cjs/integrations/tracing/mongoose/vendored/mongoose.js.map +1 -1
  93. package/build/cjs/integrations/tracing/mongoose/vendored/semconv.js +0 -4
  94. package/build/cjs/integrations/tracing/mongoose/vendored/semconv.js.map +1 -1
  95. package/build/cjs/integrations/tracing/mongoose/vendored/utils.js +19 -49
  96. package/build/cjs/integrations/tracing/mongoose/vendored/utils.js.map +1 -1
  97. package/build/cjs/integrations/tracing/mysql/vendored/AttributeNames.js.map +1 -1
  98. package/build/cjs/integrations/tracing/mysql/vendored/instrumentation.js.map +1 -1
  99. package/build/cjs/integrations/tracing/mysql/vendored/semconv.js.map +1 -1
  100. package/build/cjs/integrations/tracing/mysql/vendored/utils.js.map +1 -1
  101. package/build/cjs/integrations/tracing/mysql2/index.js +1 -8
  102. package/build/cjs/integrations/tracing/mysql2/index.js.map +1 -1
  103. package/build/cjs/integrations/tracing/mysql2/vendored/instrumentation.js +21 -59
  104. package/build/cjs/integrations/tracing/mysql2/vendored/instrumentation.js.map +1 -1
  105. package/build/cjs/integrations/tracing/mysql2/vendored/semconv.js.map +1 -1
  106. package/build/cjs/integrations/tracing/mysql2/vendored/utils.js +14 -33
  107. package/build/cjs/integrations/tracing/mysql2/vendored/utils.js.map +1 -1
  108. package/build/cjs/integrations/tracing/postgres/index.js +0 -4
  109. package/build/cjs/integrations/tracing/postgres/index.js.map +1 -1
  110. package/build/cjs/integrations/tracing/postgres/vendored/enums/AttributeNames.js +0 -1
  111. package/build/cjs/integrations/tracing/postgres/vendored/enums/AttributeNames.js.map +1 -1
  112. package/build/cjs/integrations/tracing/postgres/vendored/enums/SpanNames.js.map +1 -1
  113. package/build/cjs/integrations/tracing/postgres/vendored/instrumentation.js +51 -261
  114. package/build/cjs/integrations/tracing/postgres/vendored/instrumentation.js.map +1 -1
  115. package/build/cjs/integrations/tracing/postgres/vendored/semconv.js +0 -12
  116. package/build/cjs/integrations/tracing/postgres/vendored/semconv.js.map +1 -1
  117. package/build/cjs/integrations/tracing/postgres/vendored/utils.js +43 -167
  118. package/build/cjs/integrations/tracing/postgres/vendored/utils.js.map +1 -1
  119. package/build/cjs/integrations/tracing/prisma/vendored/active-tracing-helper.js.map +1 -1
  120. package/build/cjs/integrations/tracing/prisma/vendored/constants.js.map +1 -1
  121. package/build/cjs/integrations/tracing/prisma/vendored/global.js.map +1 -1
  122. package/build/cjs/integrations/tracing/prisma/vendored/instrumentation.js.map +1 -1
  123. package/build/cjs/integrations/tracing/redis/index.js +1 -1
  124. package/build/cjs/integrations/tracing/redis/index.js.map +1 -1
  125. package/build/cjs/integrations/tracing/redis/vendored/ioredis-instrumentation.js +89 -160
  126. package/build/cjs/integrations/tracing/redis/vendored/ioredis-instrumentation.js.map +1 -1
  127. package/build/cjs/integrations/tracing/redis/vendored/redis-common.js.map +1 -1
  128. package/build/cjs/integrations/tracing/redis/vendored/redis-instrumentation.js +92 -231
  129. package/build/cjs/integrations/tracing/redis/vendored/redis-instrumentation.js.map +1 -1
  130. package/build/cjs/integrations/tracing/redis/vendored/semconv.js +0 -2
  131. package/build/cjs/integrations/tracing/redis/vendored/semconv.js.map +1 -1
  132. package/build/cjs/integrations/tracing/tedious/index.js +1 -25
  133. package/build/cjs/integrations/tracing/tedious/index.js.map +1 -1
  134. package/build/cjs/integrations/tracing/tedious/vendored/instrumentation.js +25 -76
  135. package/build/cjs/integrations/tracing/tedious/vendored/instrumentation.js.map +1 -1
  136. package/build/cjs/integrations/tracing/tedious/vendored/semconv.js.map +1 -1
  137. package/build/cjs/integrations/tracing/tedious/vendored/utils.js.map +1 -1
  138. package/build/cjs/sdk/diagnosticsChannelInjection.js +21 -0
  139. package/build/cjs/sdk/diagnosticsChannelInjection.js.map +1 -0
  140. package/build/cjs/sdk/experimentalUseDiagnosticsChannelInjection.js +19 -0
  141. package/build/cjs/sdk/experimentalUseDiagnosticsChannelInjection.js.map +1 -0
  142. package/build/cjs/sdk/index.js +17 -1
  143. package/build/cjs/sdk/index.js.map +1 -1
  144. package/build/esm/index.js +1 -0
  145. package/build/esm/index.js.map +1 -1
  146. package/build/esm/integrations/fs/index.js +4 -85
  147. package/build/esm/integrations/fs/index.js.map +1 -1
  148. package/build/esm/integrations/fs/vendored/constants.js.map +1 -1
  149. package/build/esm/integrations/fs/vendored/instrumentation.js +147 -177
  150. package/build/esm/integrations/fs/vendored/instrumentation.js.map +1 -1
  151. package/build/esm/integrations/fs/vendored/utils.js.map +1 -1
  152. package/build/esm/integrations/node-fetch/vendored/undici.js.map +1 -1
  153. package/build/esm/integrations/tracing/amqplib/vendored/amqplib.js.map +1 -1
  154. package/build/esm/integrations/tracing/amqplib/vendored/semconv-obsolete.js.map +1 -1
  155. package/build/esm/integrations/tracing/amqplib/vendored/semconv.js.map +1 -1
  156. package/build/esm/integrations/tracing/amqplib/vendored/types.js.map +1 -1
  157. package/build/esm/integrations/tracing/amqplib/vendored/utils.js.map +1 -1
  158. package/build/esm/integrations/tracing/connect/index.js +1 -22
  159. package/build/esm/integrations/tracing/connect/index.js.map +1 -1
  160. package/build/esm/integrations/tracing/connect/vendored/enums/AttributeNames.js +1 -6
  161. package/build/esm/integrations/tracing/connect/vendored/enums/AttributeNames.js.map +1 -1
  162. package/build/esm/integrations/tracing/connect/vendored/instrumentation.js +36 -44
  163. package/build/esm/integrations/tracing/connect/vendored/instrumentation.js.map +1 -1
  164. package/build/esm/integrations/tracing/connect/vendored/internal-types.js.map +1 -1
  165. package/build/esm/integrations/tracing/connect/vendored/utils.js +3 -2
  166. package/build/esm/integrations/tracing/connect/vendored/utils.js.map +1 -1
  167. package/build/esm/integrations/tracing/dataloader/index.js +4 -24
  168. package/build/esm/integrations/tracing/dataloader/index.js.map +1 -1
  169. package/build/esm/integrations/tracing/dataloader/vendored/instrumentation.js +95 -122
  170. package/build/esm/integrations/tracing/dataloader/vendored/instrumentation.js.map +1 -1
  171. package/build/esm/integrations/tracing/fastify/v3/instrumentation.js +1 -1
  172. package/build/esm/integrations/tracing/fastify/v3/instrumentation.js.map +1 -1
  173. package/build/esm/integrations/tracing/fastify/vendored/instrumentation.js.map +1 -1
  174. package/build/esm/integrations/tracing/genericPool/index.js +3 -17
  175. package/build/esm/integrations/tracing/genericPool/index.js.map +1 -1
  176. package/build/esm/integrations/tracing/genericPool/vendored/instrumentation.js +38 -38
  177. package/build/esm/integrations/tracing/genericPool/vendored/instrumentation.js.map +1 -1
  178. package/build/esm/integrations/tracing/graphql/index.js +3 -53
  179. package/build/esm/integrations/tracing/graphql/index.js.map +1 -1
  180. package/build/esm/integrations/tracing/graphql/vendored/enum.js.map +1 -1
  181. package/build/esm/integrations/tracing/graphql/vendored/enums/AttributeNames.js +0 -2
  182. package/build/esm/integrations/tracing/graphql/vendored/enums/AttributeNames.js.map +1 -1
  183. package/build/esm/integrations/tracing/graphql/vendored/instrumentation.js +69 -59
  184. package/build/esm/integrations/tracing/graphql/vendored/instrumentation.js.map +1 -1
  185. package/build/esm/integrations/tracing/graphql/vendored/internal-types.js.map +1 -1
  186. package/build/esm/integrations/tracing/graphql/vendored/symbols.js.map +1 -1
  187. package/build/esm/integrations/tracing/graphql/vendored/utils.js +29 -62
  188. package/build/esm/integrations/tracing/graphql/vendored/utils.js.map +1 -1
  189. package/build/esm/integrations/tracing/hapi/index.js +1 -18
  190. package/build/esm/integrations/tracing/hapi/index.js.map +1 -1
  191. package/build/esm/integrations/tracing/hapi/vendored/enums/AttributeNames.js.map +1 -1
  192. package/build/esm/integrations/tracing/hapi/vendored/instrumentation.js +30 -47
  193. package/build/esm/integrations/tracing/hapi/vendored/instrumentation.js.map +1 -1
  194. package/build/esm/integrations/tracing/hapi/vendored/internal-types.js.map +1 -1
  195. package/build/esm/integrations/tracing/hapi/vendored/semconv.js.map +1 -1
  196. package/build/esm/integrations/tracing/hapi/vendored/utils.js +5 -10
  197. package/build/esm/integrations/tracing/hapi/vendored/utils.js.map +1 -1
  198. package/build/esm/integrations/tracing/index.js +1 -0
  199. package/build/esm/integrations/tracing/index.js.map +1 -1
  200. package/build/esm/integrations/tracing/kafka/vendored/instrumentation.js.map +1 -1
  201. package/build/esm/integrations/tracing/kafka/vendored/internal-types.js.map +1 -1
  202. package/build/esm/integrations/tracing/kafka/vendored/propagator.js.map +1 -1
  203. package/build/esm/integrations/tracing/kafka/vendored/semconv.js.map +1 -1
  204. package/build/esm/integrations/tracing/knex/index.js +4 -19
  205. package/build/esm/integrations/tracing/knex/index.js.map +1 -1
  206. package/build/esm/integrations/tracing/knex/vendored/instrumentation.js +66 -94
  207. package/build/esm/integrations/tracing/knex/vendored/instrumentation.js.map +1 -1
  208. package/build/esm/integrations/tracing/knex/vendored/semconv.js +2 -1
  209. package/build/esm/integrations/tracing/knex/vendored/semconv.js.map +1 -1
  210. package/build/esm/integrations/tracing/knex/vendored/utils.js +3 -15
  211. package/build/esm/integrations/tracing/knex/vendored/utils.js.map +1 -1
  212. package/build/esm/integrations/tracing/koa/index.js +3 -26
  213. package/build/esm/integrations/tracing/koa/index.js.map +1 -1
  214. package/build/esm/integrations/tracing/koa/vendored/enums/AttributeNames.js.map +1 -1
  215. package/build/esm/integrations/tracing/koa/vendored/instrumentation.js +31 -43
  216. package/build/esm/integrations/tracing/koa/vendored/instrumentation.js.map +1 -1
  217. package/build/esm/integrations/tracing/koa/vendored/internal-types.js.map +1 -1
  218. package/build/esm/integrations/tracing/koa/vendored/types.js.map +1 -1
  219. package/build/esm/integrations/tracing/koa/vendored/utils.js.map +1 -1
  220. package/build/esm/integrations/tracing/lrumemoizer/vendored/instrumentation.js.map +1 -1
  221. package/build/esm/integrations/tracing/mongo/index.js +3 -43
  222. package/build/esm/integrations/tracing/mongo/index.js.map +1 -1
  223. package/build/esm/integrations/tracing/mongo/vendored/instrumentation.js +13 -563
  224. package/build/esm/integrations/tracing/mongo/vendored/instrumentation.js.map +1 -1
  225. package/build/esm/integrations/tracing/mongo/vendored/internal-types.js.map +1 -1
  226. package/build/esm/integrations/tracing/mongo/vendored/patches.js +143 -0
  227. package/build/esm/integrations/tracing/mongo/vendored/patches.js.map +1 -0
  228. package/build/esm/integrations/tracing/mongo/vendored/semconv.js +1 -3
  229. package/build/esm/integrations/tracing/mongo/vendored/semconv.js.map +1 -1
  230. package/build/esm/integrations/tracing/mongo/vendored/utils.js +146 -0
  231. package/build/esm/integrations/tracing/mongo/vendored/utils.js.map +1 -0
  232. package/build/esm/integrations/tracing/mongoose/index.js +2 -9
  233. package/build/esm/integrations/tracing/mongoose/index.js.map +1 -1
  234. package/build/esm/integrations/tracing/mongoose/vendored/mongoose.js +59 -206
  235. package/build/esm/integrations/tracing/mongoose/vendored/mongoose.js.map +1 -1
  236. package/build/esm/integrations/tracing/mongoose/vendored/semconv.js +1 -3
  237. package/build/esm/integrations/tracing/mongoose/vendored/semconv.js.map +1 -1
  238. package/build/esm/integrations/tracing/mongoose/vendored/utils.js +20 -50
  239. package/build/esm/integrations/tracing/mongoose/vendored/utils.js.map +1 -1
  240. package/build/esm/integrations/tracing/mysql/vendored/AttributeNames.js.map +1 -1
  241. package/build/esm/integrations/tracing/mysql/vendored/instrumentation.js.map +1 -1
  242. package/build/esm/integrations/tracing/mysql/vendored/semconv.js.map +1 -1
  243. package/build/esm/integrations/tracing/mysql/vendored/utils.js.map +1 -1
  244. package/build/esm/integrations/tracing/mysql2/index.js +2 -9
  245. package/build/esm/integrations/tracing/mysql2/index.js.map +1 -1
  246. package/build/esm/integrations/tracing/mysql2/vendored/instrumentation.js +26 -64
  247. package/build/esm/integrations/tracing/mysql2/vendored/instrumentation.js.map +1 -1
  248. package/build/esm/integrations/tracing/mysql2/vendored/semconv.js.map +1 -1
  249. package/build/esm/integrations/tracing/mysql2/vendored/utils.js +15 -34
  250. package/build/esm/integrations/tracing/mysql2/vendored/utils.js.map +1 -1
  251. package/build/esm/integrations/tracing/postgres/index.js +1 -5
  252. package/build/esm/integrations/tracing/postgres/index.js.map +1 -1
  253. package/build/esm/integrations/tracing/postgres/vendored/enums/AttributeNames.js +0 -1
  254. package/build/esm/integrations/tracing/postgres/vendored/enums/AttributeNames.js.map +1 -1
  255. package/build/esm/integrations/tracing/postgres/vendored/enums/SpanNames.js.map +1 -1
  256. package/build/esm/integrations/tracing/postgres/vendored/instrumentation.js +52 -262
  257. package/build/esm/integrations/tracing/postgres/vendored/instrumentation.js.map +1 -1
  258. package/build/esm/integrations/tracing/postgres/vendored/semconv.js +1 -7
  259. package/build/esm/integrations/tracing/postgres/vendored/semconv.js.map +1 -1
  260. package/build/esm/integrations/tracing/postgres/vendored/utils.js +44 -165
  261. package/build/esm/integrations/tracing/postgres/vendored/utils.js.map +1 -1
  262. package/build/esm/integrations/tracing/prisma/vendored/active-tracing-helper.js.map +1 -1
  263. package/build/esm/integrations/tracing/prisma/vendored/constants.js.map +1 -1
  264. package/build/esm/integrations/tracing/prisma/vendored/global.js.map +1 -1
  265. package/build/esm/integrations/tracing/prisma/vendored/instrumentation.js.map +1 -1
  266. package/build/esm/integrations/tracing/redis/index.js +1 -1
  267. package/build/esm/integrations/tracing/redis/index.js.map +1 -1
  268. package/build/esm/integrations/tracing/redis/vendored/ioredis-instrumentation.js +92 -163
  269. package/build/esm/integrations/tracing/redis/vendored/ioredis-instrumentation.js.map +1 -1
  270. package/build/esm/integrations/tracing/redis/vendored/redis-common.js.map +1 -1
  271. package/build/esm/integrations/tracing/redis/vendored/redis-instrumentation.js +94 -233
  272. package/build/esm/integrations/tracing/redis/vendored/redis-instrumentation.js.map +1 -1
  273. package/build/esm/integrations/tracing/redis/vendored/semconv.js +1 -2
  274. package/build/esm/integrations/tracing/redis/vendored/semconv.js.map +1 -1
  275. package/build/esm/integrations/tracing/tedious/index.js +3 -27
  276. package/build/esm/integrations/tracing/tedious/index.js.map +1 -1
  277. package/build/esm/integrations/tracing/tedious/vendored/instrumentation.js +29 -79
  278. package/build/esm/integrations/tracing/tedious/vendored/instrumentation.js.map +1 -1
  279. package/build/esm/integrations/tracing/tedious/vendored/semconv.js.map +1 -1
  280. package/build/esm/integrations/tracing/tedious/vendored/utils.js.map +1 -1
  281. package/build/esm/package.json +1 -1
  282. package/build/esm/sdk/diagnosticsChannelInjection.js +17 -0
  283. package/build/esm/sdk/diagnosticsChannelInjection.js.map +1 -0
  284. package/build/esm/sdk/experimentalUseDiagnosticsChannelInjection.js +17 -0
  285. package/build/esm/sdk/experimentalUseDiagnosticsChannelInjection.js.map +1 -0
  286. package/build/esm/sdk/index.js +17 -1
  287. package/build/esm/sdk/index.js.map +1 -1
  288. package/build/import-hook.mjs +6 -0
  289. package/build/types/index.d.ts +1 -0
  290. package/build/types/index.d.ts.map +1 -1
  291. package/build/types/integrations/fs/index.d.ts.map +1 -1
  292. package/build/types/integrations/fs/vendored/constants.d.ts.map +1 -1
  293. package/build/types/integrations/fs/vendored/instrumentation.d.ts +6 -10
  294. package/build/types/integrations/fs/vendored/instrumentation.d.ts.map +1 -1
  295. package/build/types/integrations/fs/vendored/types.d.ts +10 -15
  296. package/build/types/integrations/fs/vendored/types.d.ts.map +1 -1
  297. package/build/types/integrations/fs/vendored/utils.d.ts +2 -2
  298. package/build/types/integrations/fs/vendored/utils.d.ts.map +1 -1
  299. package/build/types/integrations/node-fetch/vendored/internal-types.d.ts.map +1 -1
  300. package/build/types/integrations/node-fetch/vendored/types.d.ts.map +1 -1
  301. package/build/types/integrations/node-fetch/vendored/undici.d.ts.map +1 -1
  302. package/build/types/integrations/tracing/amqplib/vendored/amqplib.d.ts.map +1 -1
  303. package/build/types/integrations/tracing/amqplib/vendored/semconv-obsolete.d.ts.map +1 -1
  304. package/build/types/integrations/tracing/amqplib/vendored/semconv.d.ts.map +1 -1
  305. package/build/types/integrations/tracing/amqplib/vendored/types.d.ts.map +1 -1
  306. package/build/types/integrations/tracing/amqplib/vendored/utils.d.ts.map +1 -1
  307. package/build/types/integrations/tracing/connect/index.d.ts.map +1 -1
  308. package/build/types/integrations/tracing/connect/vendored/enums/AttributeNames.d.ts +0 -4
  309. package/build/types/integrations/tracing/connect/vendored/enums/AttributeNames.d.ts.map +1 -1
  310. package/build/types/integrations/tracing/connect/vendored/instrumentation.d.ts +5 -5
  311. package/build/types/integrations/tracing/connect/vendored/instrumentation.d.ts.map +1 -1
  312. package/build/types/integrations/tracing/connect/vendored/internal-types.d.ts +2 -2
  313. package/build/types/integrations/tracing/connect/vendored/internal-types.d.ts.map +1 -1
  314. package/build/types/integrations/tracing/connect/vendored/utils.d.ts +1 -1
  315. package/build/types/integrations/tracing/connect/vendored/utils.d.ts.map +1 -1
  316. package/build/types/integrations/tracing/dataloader/index.d.ts.map +1 -1
  317. package/build/types/integrations/tracing/dataloader/vendored/instrumentation.d.ts +2 -5
  318. package/build/types/integrations/tracing/dataloader/vendored/instrumentation.d.ts.map +1 -1
  319. package/build/types/integrations/tracing/dataloader/vendored/types.d.ts +20 -8
  320. package/build/types/integrations/tracing/dataloader/vendored/types.d.ts.map +1 -1
  321. package/build/types/integrations/tracing/fastify/vendored/instrumentation.d.ts.map +1 -1
  322. package/build/types/integrations/tracing/genericPool/index.d.ts.map +1 -1
  323. package/build/types/integrations/tracing/genericPool/vendored/generic-pool-types.d.ts +1 -1
  324. package/build/types/integrations/tracing/genericPool/vendored/generic-pool-types.d.ts.map +1 -1
  325. package/build/types/integrations/tracing/genericPool/vendored/instrumentation.d.ts +2 -1
  326. package/build/types/integrations/tracing/genericPool/vendored/instrumentation.d.ts.map +1 -1
  327. package/build/types/integrations/tracing/graphql/index.d.ts.map +1 -1
  328. package/build/types/integrations/tracing/graphql/vendored/enum.d.ts.map +1 -1
  329. package/build/types/integrations/tracing/graphql/vendored/enums/AttributeNames.d.ts +1 -3
  330. package/build/types/integrations/tracing/graphql/vendored/enums/AttributeNames.d.ts.map +1 -1
  331. package/build/types/integrations/tracing/graphql/vendored/instrumentation.d.ts +7 -2
  332. package/build/types/integrations/tracing/graphql/vendored/instrumentation.d.ts.map +1 -1
  333. package/build/types/integrations/tracing/graphql/vendored/internal-types.d.ts +4 -4
  334. package/build/types/integrations/tracing/graphql/vendored/internal-types.d.ts.map +1 -1
  335. package/build/types/integrations/tracing/graphql/vendored/symbols.d.ts.map +1 -1
  336. package/build/types/integrations/tracing/graphql/vendored/types.d.ts +5 -43
  337. package/build/types/integrations/tracing/graphql/vendored/types.d.ts.map +1 -1
  338. package/build/types/integrations/tracing/graphql/vendored/utils.d.ts +8 -11
  339. package/build/types/integrations/tracing/graphql/vendored/utils.d.ts.map +1 -1
  340. package/build/types/integrations/tracing/hapi/index.d.ts.map +1 -1
  341. package/build/types/integrations/tracing/hapi/vendored/enums/AttributeNames.d.ts.map +1 -1
  342. package/build/types/integrations/tracing/hapi/vendored/instrumentation.d.ts +2 -2
  343. package/build/types/integrations/tracing/hapi/vendored/instrumentation.d.ts.map +1 -1
  344. package/build/types/integrations/tracing/hapi/vendored/internal-types.d.ts.map +1 -1
  345. package/build/types/integrations/tracing/hapi/vendored/semconv.d.ts.map +1 -1
  346. package/build/types/integrations/tracing/hapi/vendored/utils.d.ts +3 -4
  347. package/build/types/integrations/tracing/hapi/vendored/utils.d.ts.map +1 -1
  348. package/build/types/integrations/tracing/index.d.ts.map +1 -1
  349. package/build/types/integrations/tracing/kafka/vendored/instrumentation.d.ts.map +1 -1
  350. package/build/types/integrations/tracing/kafka/vendored/internal-types.d.ts.map +1 -1
  351. package/build/types/integrations/tracing/kafka/vendored/propagator.d.ts.map +1 -1
  352. package/build/types/integrations/tracing/kafka/vendored/semconv.d.ts.map +1 -1
  353. package/build/types/integrations/tracing/kafka/vendored/types.d.ts.map +1 -1
  354. package/build/types/integrations/tracing/knex/index.d.ts.map +1 -1
  355. package/build/types/integrations/tracing/knex/vendored/instrumentation.d.ts +8 -10
  356. package/build/types/integrations/tracing/knex/vendored/instrumentation.d.ts.map +1 -1
  357. package/build/types/integrations/tracing/knex/vendored/semconv.d.ts +1 -0
  358. package/build/types/integrations/tracing/knex/vendored/semconv.d.ts.map +1 -1
  359. package/build/types/integrations/tracing/knex/vendored/utils.d.ts +0 -6
  360. package/build/types/integrations/tracing/knex/vendored/utils.d.ts.map +1 -1
  361. package/build/types/integrations/tracing/koa/index.d.ts.map +1 -1
  362. package/build/types/integrations/tracing/koa/vendored/enums/AttributeNames.d.ts.map +1 -1
  363. package/build/types/integrations/tracing/koa/vendored/instrumentation.d.ts +1 -1
  364. package/build/types/integrations/tracing/koa/vendored/instrumentation.d.ts.map +1 -1
  365. package/build/types/integrations/tracing/koa/vendored/internal-types.d.ts +4 -4
  366. package/build/types/integrations/tracing/koa/vendored/internal-types.d.ts.map +1 -1
  367. package/build/types/integrations/tracing/koa/vendored/types.d.ts +2 -39
  368. package/build/types/integrations/tracing/koa/vendored/types.d.ts.map +1 -1
  369. package/build/types/integrations/tracing/koa/vendored/utils.d.ts +3 -3
  370. package/build/types/integrations/tracing/koa/vendored/utils.d.ts.map +1 -1
  371. package/build/types/integrations/tracing/lrumemoizer/vendored/instrumentation.d.ts.map +1 -1
  372. package/build/types/integrations/tracing/mongo/index.d.ts +0 -4
  373. package/build/types/integrations/tracing/mongo/index.d.ts.map +1 -1
  374. package/build/types/integrations/tracing/mongo/vendored/instrumentation.d.ts +4 -72
  375. package/build/types/integrations/tracing/mongo/vendored/instrumentation.d.ts.map +1 -1
  376. package/build/types/integrations/tracing/mongo/vendored/internal-types.d.ts +0 -59
  377. package/build/types/integrations/tracing/mongo/vendored/internal-types.d.ts.map +1 -1
  378. package/build/types/integrations/tracing/mongo/vendored/patches.d.ts +15 -0
  379. package/build/types/integrations/tracing/mongo/vendored/patches.d.ts.map +1 -0
  380. package/build/types/integrations/tracing/mongo/vendored/semconv.d.ts +0 -54
  381. package/build/types/integrations/tracing/mongo/vendored/semconv.d.ts.map +1 -1
  382. package/build/types/integrations/tracing/mongo/vendored/utils.d.ts +24 -0
  383. package/build/types/integrations/tracing/mongo/vendored/utils.d.ts.map +1 -0
  384. package/build/types/integrations/tracing/mongoose/index.d.ts.map +1 -1
  385. package/build/types/integrations/tracing/mongoose/vendored/mongoose-types.d.ts +3 -0
  386. package/build/types/integrations/tracing/mongoose/vendored/mongoose-types.d.ts.map +1 -1
  387. package/build/types/integrations/tracing/mongoose/vendored/mongoose.d.ts +3 -8
  388. package/build/types/integrations/tracing/mongoose/vendored/mongoose.d.ts.map +1 -1
  389. package/build/types/integrations/tracing/mongoose/vendored/semconv.d.ts +0 -14
  390. package/build/types/integrations/tracing/mongoose/vendored/semconv.d.ts.map +1 -1
  391. package/build/types/integrations/tracing/mongoose/vendored/utils.d.ts +4 -6
  392. package/build/types/integrations/tracing/mongoose/vendored/utils.d.ts.map +1 -1
  393. package/build/types/integrations/tracing/mysql/vendored/AttributeNames.d.ts.map +1 -1
  394. package/build/types/integrations/tracing/mysql/vendored/instrumentation.d.ts.map +1 -1
  395. package/build/types/integrations/tracing/mysql/vendored/mysql-types.d.ts.map +1 -1
  396. package/build/types/integrations/tracing/mysql/vendored/semconv.d.ts.map +1 -1
  397. package/build/types/integrations/tracing/mysql/vendored/types.d.ts.map +1 -1
  398. package/build/types/integrations/tracing/mysql/vendored/utils.d.ts.map +1 -1
  399. package/build/types/integrations/tracing/mysql2/index.d.ts.map +1 -1
  400. package/build/types/integrations/tracing/mysql2/vendored/instrumentation.d.ts +3 -6
  401. package/build/types/integrations/tracing/mysql2/vendored/instrumentation.d.ts.map +1 -1
  402. package/build/types/integrations/tracing/mysql2/vendored/semconv.d.ts.map +1 -1
  403. package/build/types/integrations/tracing/mysql2/vendored/utils.d.ts +3 -5
  404. package/build/types/integrations/tracing/mysql2/vendored/utils.d.ts.map +1 -1
  405. package/build/types/integrations/tracing/postgres/index.d.ts.map +1 -1
  406. package/build/types/integrations/tracing/postgres/vendored/enums/AttributeNames.d.ts +0 -1
  407. package/build/types/integrations/tracing/postgres/vendored/enums/AttributeNames.d.ts.map +1 -1
  408. package/build/types/integrations/tracing/postgres/vendored/enums/SpanNames.d.ts.map +1 -1
  409. package/build/types/integrations/tracing/postgres/vendored/instrumentation.d.ts +1 -9
  410. package/build/types/integrations/tracing/postgres/vendored/instrumentation.d.ts.map +1 -1
  411. package/build/types/integrations/tracing/postgres/vendored/internal-types.d.ts +0 -2
  412. package/build/types/integrations/tracing/postgres/vendored/internal-types.d.ts.map +1 -1
  413. package/build/types/integrations/tracing/postgres/vendored/pg-pool-types.d.ts.map +1 -1
  414. package/build/types/integrations/tracing/postgres/vendored/pg-types.d.ts.map +1 -1
  415. package/build/types/integrations/tracing/postgres/vendored/semconv.d.ts +0 -50
  416. package/build/types/integrations/tracing/postgres/vendored/semconv.d.ts.map +1 -1
  417. package/build/types/integrations/tracing/postgres/vendored/types.d.ts +2 -56
  418. package/build/types/integrations/tracing/postgres/vendored/types.d.ts.map +1 -1
  419. package/build/types/integrations/tracing/postgres/vendored/utils.d.ts +13 -26
  420. package/build/types/integrations/tracing/postgres/vendored/utils.d.ts.map +1 -1
  421. package/build/types/integrations/tracing/prisma/vendored/active-tracing-helper.d.ts.map +1 -1
  422. package/build/types/integrations/tracing/prisma/vendored/constants.d.ts.map +1 -1
  423. package/build/types/integrations/tracing/prisma/vendored/global.d.ts.map +1 -1
  424. package/build/types/integrations/tracing/prisma/vendored/instrumentation.d.ts.map +1 -1
  425. package/build/types/integrations/tracing/prisma/vendored/types.d.ts.map +1 -1
  426. package/build/types/integrations/tracing/redis/index.d.ts.map +1 -1
  427. package/build/types/integrations/tracing/redis/vendored/ioredis-instrumentation.d.ts +3 -8
  428. package/build/types/integrations/tracing/redis/vendored/ioredis-instrumentation.d.ts.map +1 -1
  429. package/build/types/integrations/tracing/redis/vendored/redis-common.d.ts.map +1 -1
  430. package/build/types/integrations/tracing/redis/vendored/redis-instrumentation.d.ts.map +1 -1
  431. package/build/types/integrations/tracing/redis/vendored/semconv.d.ts.map +1 -1
  432. package/build/types/integrations/tracing/redis/vendored/types.d.ts +2 -36
  433. package/build/types/integrations/tracing/redis/vendored/types.d.ts.map +1 -1
  434. package/build/types/integrations/tracing/tedious/index.d.ts.map +1 -1
  435. package/build/types/integrations/tracing/tedious/vendored/instrumentation.d.ts +3 -14
  436. package/build/types/integrations/tracing/tedious/vendored/instrumentation.d.ts.map +1 -1
  437. package/build/types/integrations/tracing/tedious/vendored/semconv.d.ts.map +1 -1
  438. package/build/types/integrations/tracing/tedious/vendored/utils.d.ts.map +1 -1
  439. package/build/types/sdk/diagnosticsChannelInjection.d.ts +41 -0
  440. package/build/types/sdk/diagnosticsChannelInjection.d.ts.map +1 -0
  441. package/build/types/sdk/experimentalUseDiagnosticsChannelInjection.d.ts +34 -0
  442. package/build/types/sdk/experimentalUseDiagnosticsChannelInjection.d.ts.map +1 -0
  443. package/build/types/sdk/index.d.ts.map +1 -1
  444. package/build/types-ts3.8/index.d.ts +1 -0
  445. package/build/types-ts3.8/integrations/fs/vendored/instrumentation.d.ts +6 -10
  446. package/build/types-ts3.8/integrations/fs/vendored/types.d.ts +10 -15
  447. package/build/types-ts3.8/integrations/fs/vendored/utils.d.ts +2 -2
  448. package/build/types-ts3.8/integrations/tracing/connect/vendored/enums/AttributeNames.d.ts +0 -4
  449. package/build/types-ts3.8/integrations/tracing/connect/vendored/instrumentation.d.ts +4 -4
  450. package/build/types-ts3.8/integrations/tracing/connect/vendored/internal-types.d.ts +2 -2
  451. package/build/types-ts3.8/integrations/tracing/dataloader/vendored/instrumentation.d.ts +2 -5
  452. package/build/types-ts3.8/integrations/tracing/dataloader/vendored/types.d.ts +20 -8
  453. package/build/types-ts3.8/integrations/tracing/genericPool/vendored/generic-pool-types.d.ts +1 -1
  454. package/build/types-ts3.8/integrations/tracing/genericPool/vendored/instrumentation.d.ts +2 -1
  455. package/build/types-ts3.8/integrations/tracing/graphql/vendored/enums/AttributeNames.d.ts +1 -3
  456. package/build/types-ts3.8/integrations/tracing/graphql/vendored/instrumentation.d.ts +6 -1
  457. package/build/types-ts3.8/integrations/tracing/graphql/vendored/internal-types.d.ts +3 -3
  458. package/build/types-ts3.8/integrations/tracing/graphql/vendored/types.d.ts +4 -42
  459. package/build/types-ts3.8/integrations/tracing/graphql/vendored/utils.d.ts +6 -9
  460. package/build/types-ts3.8/integrations/tracing/hapi/vendored/instrumentation.d.ts +2 -2
  461. package/build/types-ts3.8/integrations/tracing/hapi/vendored/utils.d.ts +1 -2
  462. package/build/types-ts3.8/integrations/tracing/knex/vendored/instrumentation.d.ts +8 -10
  463. package/build/types-ts3.8/integrations/tracing/knex/vendored/semconv.d.ts +1 -0
  464. package/build/types-ts3.8/integrations/tracing/knex/vendored/utils.d.ts +0 -6
  465. package/build/types-ts3.8/integrations/tracing/koa/vendored/internal-types.d.ts +4 -4
  466. package/build/types-ts3.8/integrations/tracing/koa/vendored/types.d.ts +1 -38
  467. package/build/types-ts3.8/integrations/tracing/mongo/index.d.ts +0 -4
  468. package/build/types-ts3.8/integrations/tracing/mongo/vendored/instrumentation.d.ts +4 -72
  469. package/build/types-ts3.8/integrations/tracing/mongo/vendored/internal-types.d.ts +0 -59
  470. package/build/types-ts3.8/integrations/tracing/mongo/vendored/patches.d.ts +15 -0
  471. package/build/types-ts3.8/integrations/tracing/mongo/vendored/semconv.d.ts +0 -54
  472. package/build/types-ts3.8/integrations/tracing/mongo/vendored/utils.d.ts +24 -0
  473. package/build/types-ts3.8/integrations/tracing/mongoose/vendored/mongoose-types.d.ts +3 -0
  474. package/build/types-ts3.8/integrations/tracing/mongoose/vendored/mongoose.d.ts +3 -8
  475. package/build/types-ts3.8/integrations/tracing/mongoose/vendored/semconv.d.ts +0 -14
  476. package/build/types-ts3.8/integrations/tracing/mongoose/vendored/utils.d.ts +4 -6
  477. package/build/types-ts3.8/integrations/tracing/mysql2/vendored/instrumentation.d.ts +3 -6
  478. package/build/types-ts3.8/integrations/tracing/mysql2/vendored/utils.d.ts +3 -5
  479. package/build/types-ts3.8/integrations/tracing/postgres/vendored/enums/AttributeNames.d.ts +0 -1
  480. package/build/types-ts3.8/integrations/tracing/postgres/vendored/instrumentation.d.ts +0 -8
  481. package/build/types-ts3.8/integrations/tracing/postgres/vendored/internal-types.d.ts +0 -2
  482. package/build/types-ts3.8/integrations/tracing/postgres/vendored/semconv.d.ts +0 -50
  483. package/build/types-ts3.8/integrations/tracing/postgres/vendored/types.d.ts +1 -55
  484. package/build/types-ts3.8/integrations/tracing/postgres/vendored/utils.d.ts +13 -26
  485. package/build/types-ts3.8/integrations/tracing/redis/vendored/ioredis-instrumentation.d.ts +3 -8
  486. package/build/types-ts3.8/integrations/tracing/redis/vendored/types.d.ts +2 -36
  487. package/build/types-ts3.8/integrations/tracing/tedious/vendored/instrumentation.d.ts +3 -14
  488. package/build/types-ts3.8/sdk/diagnosticsChannelInjection.d.ts +41 -0
  489. package/build/types-ts3.8/sdk/experimentalUseDiagnosticsChannelInjection.d.ts +34 -0
  490. package/package.json +20 -6
  491. package/build/cjs/integrations/tracing/knex/vendored/constants.js +0 -16
  492. package/build/cjs/integrations/tracing/knex/vendored/constants.js.map +0 -1
  493. package/build/cjs/integrations/tracing/postgres/vendored/internal-types.js +0 -6
  494. package/build/cjs/integrations/tracing/postgres/vendored/internal-types.js.map +0 -1
  495. package/build/cjs/integrations/tracing/utils/sql-common.js +0 -43
  496. package/build/cjs/integrations/tracing/utils/sql-common.js.map +0 -1
  497. package/build/esm/integrations/tracing/knex/vendored/constants.js +0 -13
  498. package/build/esm/integrations/tracing/knex/vendored/constants.js.map +0 -1
  499. package/build/esm/integrations/tracing/postgres/vendored/internal-types.js +0 -4
  500. package/build/esm/integrations/tracing/postgres/vendored/internal-types.js.map +0 -1
  501. package/build/esm/integrations/tracing/utils/sql-common.js +0 -41
  502. package/build/esm/integrations/tracing/utils/sql-common.js.map +0 -1
  503. package/build/types/integrations/tracing/dataloader/vendored/dataloader-types.d.ts +0 -14
  504. package/build/types/integrations/tracing/dataloader/vendored/dataloader-types.d.ts.map +0 -1
  505. package/build/types/integrations/tracing/knex/vendored/constants.d.ts +0 -3
  506. package/build/types/integrations/tracing/knex/vendored/constants.d.ts.map +0 -1
  507. package/build/types/integrations/tracing/knex/vendored/types.d.ts +0 -8
  508. package/build/types/integrations/tracing/knex/vendored/types.d.ts.map +0 -1
  509. package/build/types/integrations/tracing/mongo/vendored/types.d.ts +0 -51
  510. package/build/types/integrations/tracing/mongo/vendored/types.d.ts.map +0 -1
  511. package/build/types/integrations/tracing/mongoose/vendored/types.d.ts +0 -36
  512. package/build/types/integrations/tracing/mongoose/vendored/types.d.ts.map +0 -1
  513. package/build/types/integrations/tracing/mysql2/vendored/types.d.ts +0 -18
  514. package/build/types/integrations/tracing/mysql2/vendored/types.d.ts.map +0 -1
  515. package/build/types/integrations/tracing/tedious/vendored/types.d.ts +0 -10
  516. package/build/types/integrations/tracing/tedious/vendored/types.d.ts.map +0 -1
  517. package/build/types-ts3.8/integrations/tracing/dataloader/vendored/dataloader-types.d.ts +0 -14
  518. package/build/types-ts3.8/integrations/tracing/knex/vendored/constants.d.ts +0 -3
  519. package/build/types-ts3.8/integrations/tracing/knex/vendored/types.d.ts +0 -8
  520. package/build/types-ts3.8/integrations/tracing/mongo/vendored/types.d.ts +0 -51
  521. package/build/types-ts3.8/integrations/tracing/mongoose/vendored/types.d.ts +0 -36
  522. package/build/types-ts3.8/integrations/tracing/mysql2/vendored/types.d.ts +0 -18
  523. package/build/types-ts3.8/integrations/tracing/tedious/vendored/types.d.ts +0 -10
@@ -1,51 +1,12 @@
1
- import { SpanStatusCode } from '@opentelemetry/api';
2
1
  import { GraphQLInstrumentation } from './vendored/instrumentation.js';
3
- import { spanToJSON, getRootSpan, defineIntegration } from '@sentry/core';
4
- import { generateInstrumentOnce, addOriginToSpan } from '@sentry/node-core';
5
- import { SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION } from '@sentry/opentelemetry';
2
+ import { defineIntegration } from '@sentry/core';
3
+ import { generateInstrumentOnce } from '@sentry/node-core';
6
4
 
7
5
  const INTEGRATION_NAME = "Graphql";
8
6
  const instrumentGraphql = generateInstrumentOnce(
9
7
  INTEGRATION_NAME,
10
8
  GraphQLInstrumentation,
11
- (_options) => {
12
- const options = getOptionsWithDefaults(_options);
13
- return {
14
- ...options,
15
- responseHook(span, result) {
16
- addOriginToSpan(span, "auto.graphql.otel.graphql");
17
- const resultWithMaybeError = result;
18
- if (resultWithMaybeError.errors?.length && !spanToJSON(span).status) {
19
- span.setStatus({ code: SpanStatusCode.ERROR });
20
- }
21
- const attributes = spanToJSON(span).data;
22
- const operationType = attributes["graphql.operation.type"];
23
- const operationName = attributes["graphql.operation.name"];
24
- if (options.useOperationNameForRootSpan && operationType) {
25
- const rootSpan = getRootSpan(span);
26
- const rootSpanAttributes = spanToJSON(rootSpan).data;
27
- const existingOperations = rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION] || [];
28
- const newOperation = operationName ? `${operationType} ${operationName}` : `${operationType}`;
29
- if (Array.isArray(existingOperations)) {
30
- existingOperations.push(newOperation);
31
- rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION, existingOperations);
32
- } else if (typeof existingOperations === "string") {
33
- rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION, [existingOperations, newOperation]);
34
- } else {
35
- rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION, newOperation);
36
- }
37
- if (!spanToJSON(rootSpan).data["original-description"]) {
38
- rootSpan.setAttribute("original-description", spanToJSON(rootSpan).description);
39
- }
40
- rootSpan.updateName(
41
- `${spanToJSON(rootSpan).data["original-description"]} (${getGraphqlOperationNamesFromAttribute(
42
- existingOperations
43
- )})`
44
- );
45
- }
46
- }
47
- };
48
- }
9
+ (_options) => getOptionsWithDefaults(_options)
49
10
  );
50
11
  const _graphqlIntegration = ((options = {}) => {
51
12
  return {
@@ -64,17 +25,6 @@ function getOptionsWithDefaults(options) {
64
25
  ...options
65
26
  };
66
27
  }
67
- function getGraphqlOperationNamesFromAttribute(attr) {
68
- if (Array.isArray(attr)) {
69
- const sorted = attr.slice().sort();
70
- if (sorted.length <= 5) {
71
- return sorted.join(", ");
72
- } else {
73
- return `${sorted.slice(0, 5).join(", ")}, +${sorted.length - 5}`;
74
- }
75
- }
76
- return `${attr}`;
77
- }
78
28
 
79
29
  export { graphqlIntegration, instrumentGraphql };
80
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/graphql/index.ts"],"sourcesContent":["import type { AttributeValue } from '@opentelemetry/api';\nimport { SpanStatusCode } from '@opentelemetry/api';\nimport { GraphQLInstrumentation } from './vendored/instrumentation';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration, getRootSpan, spanToJSON } from '@sentry/core';\nimport { addOriginToSpan, generateInstrumentOnce } from '@sentry/node-core';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION } from '@sentry/opentelemetry';\n\ninterface GraphqlOptions {\n /**\n * Do not create spans for resolvers.\n *\n * Defaults to true.\n */\n ignoreResolveSpans?: boolean;\n\n /**\n * Don't create spans for the execution of the default resolver on object properties.\n *\n * When a resolver function is not defined on the schema for a field, graphql will\n * use the default resolver which just looks for a property with that name on the object.\n * If the property is not a function, it's not very interesting to trace.\n * This option can reduce noise and number of spans created.\n *\n * Defaults to true.\n */\n ignoreTrivialResolveSpans?: boolean;\n\n /**\n * If this is enabled, a http.server root span containing this span will automatically be renamed to include the operation name.\n * Set this to `false` if you do not want this behavior, and want to keep the default http.server span name.\n *\n * Defaults to true.\n */\n useOperationNameForRootSpan?: boolean;\n}\n\nconst INTEGRATION_NAME = 'Graphql';\n\nexport const instrumentGraphql = generateInstrumentOnce(\n INTEGRATION_NAME,\n GraphQLInstrumentation,\n (_options: GraphqlOptions) => {\n const options = getOptionsWithDefaults(_options);\n\n return {\n ...options,\n responseHook(span, result) {\n addOriginToSpan(span, 'auto.graphql.otel.graphql');\n\n // We want to ensure spans are marked as errored if there are errors in the result\n // We only do that if the span is not already marked with a status\n const resultWithMaybeError = result as { errors?: { message: string }[] };\n if (resultWithMaybeError.errors?.length && !spanToJSON(span).status) {\n span.setStatus({ code: SpanStatusCode.ERROR });\n }\n\n const attributes = spanToJSON(span).data;\n\n // If operation.name is not set, we fall back to use operation.type only\n const operationType = attributes['graphql.operation.type'];\n const operationName = attributes['graphql.operation.name'];\n\n if (options.useOperationNameForRootSpan && operationType) {\n const rootSpan = getRootSpan(span);\n const rootSpanAttributes = spanToJSON(rootSpan).data;\n\n const existingOperations = rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION] || [];\n\n const newOperation = operationName ? `${operationType} ${operationName}` : `${operationType}`;\n\n // We keep track of each operation on the root span\n // This can either be a string, or an array of strings (if there are multiple operations)\n if (Array.isArray(existingOperations)) {\n (existingOperations as string[]).push(newOperation);\n rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION, existingOperations);\n } else if (typeof existingOperations === 'string') {\n rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION, [existingOperations, newOperation]);\n } else {\n rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION, newOperation);\n }\n\n if (!spanToJSON(rootSpan).data['original-description']) {\n rootSpan.setAttribute('original-description', spanToJSON(rootSpan).description);\n }\n // Important for e.g. @sentry/aws-serverless because this would otherwise overwrite the name again\n rootSpan.updateName(\n `${spanToJSON(rootSpan).data['original-description']} (${getGraphqlOperationNamesFromAttribute(\n existingOperations,\n )})`,\n );\n }\n },\n };\n },\n);\n\nconst _graphqlIntegration = ((options: GraphqlOptions = {}) => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n // We set defaults here, too, because otherwise we'd update the instrumentation config\n // to the config without defaults, as `generateInstrumentOnce` automatically calls `setConfig(options)`\n // when being called the second time\n instrumentGraphql(getOptionsWithDefaults(options));\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [graphql](https://www.npmjs.com/package/graphql) library.\n *\n * For more information, see the [`graphqlIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/graphql/).\n *\n * @param {GraphqlOptions} options Configuration options for the GraphQL integration.\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.graphqlIntegration()],\n * });\n */\nexport const graphqlIntegration = defineIntegration(_graphqlIntegration);\n\nfunction getOptionsWithDefaults(options?: GraphqlOptions): GraphqlOptions {\n return {\n ignoreResolveSpans: true,\n ignoreTrivialResolveSpans: true,\n useOperationNameForRootSpan: true,\n ...options,\n };\n}\n\n// copy from packages/opentelemetry/utils\nfunction getGraphqlOperationNamesFromAttribute(attr: AttributeValue): string {\n if (Array.isArray(attr)) {\n // oxlint-disable-next-line typescript/require-array-sort-compare\n const sorted = attr.slice().sort();\n\n // Up to 5 items, we just add all of them\n if (sorted.length <= 5) {\n return sorted.join(', ');\n } else {\n // Else, we add the first 5 and the diff of other operations\n return `${sorted.slice(0, 5).join(', ')}, +${sorted.length - 5}`;\n }\n }\n\n return `${attr}`;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/graphql/index.ts"],"sourcesContent":["import { GraphQLInstrumentation } from './vendored/instrumentation';\nimport type { IntegrationFn } from '@sentry/core';\nimport { defineIntegration } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\n\ninterface GraphqlOptions {\n /**\n * Do not create spans for resolvers.\n *\n * Defaults to true.\n */\n ignoreResolveSpans?: boolean;\n\n /**\n * Don't create spans for the execution of the default resolver on object properties.\n *\n * When a resolver function is not defined on the schema for a field, graphql will\n * use the default resolver which just looks for a property with that name on the object.\n * If the property is not a function, it's not very interesting to trace.\n * This option can reduce noise and number of spans created.\n *\n * Defaults to true.\n */\n ignoreTrivialResolveSpans?: boolean;\n\n /**\n * If this is enabled, a http.server root span containing this span will automatically be renamed to include the operation name.\n * Set this to `false` if you do not want this behavior, and want to keep the default http.server span name.\n *\n * Defaults to true.\n */\n useOperationNameForRootSpan?: boolean;\n}\n\nconst INTEGRATION_NAME = 'Graphql';\n\nexport const instrumentGraphql = generateInstrumentOnce(\n INTEGRATION_NAME,\n GraphQLInstrumentation,\n (_options: GraphqlOptions) => getOptionsWithDefaults(_options),\n);\n\nconst _graphqlIntegration = ((options: GraphqlOptions = {}) => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n // We set defaults here, too, because otherwise we'd update the instrumentation config\n // to the config without defaults, as `generateInstrumentOnce` automatically calls `setConfig(options)`\n // when being called the second time\n instrumentGraphql(getOptionsWithDefaults(options));\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for the [graphql](https://www.npmjs.com/package/graphql) library.\n *\n * For more information, see the [`graphqlIntegration` documentation](https://docs.sentry.io/platforms/javascript/guides/node/configuration/integrations/graphql/).\n *\n * @param {GraphqlOptions} options Configuration options for the GraphQL integration.\n *\n * @example\n * ```javascript\n * const Sentry = require('@sentry/node');\n *\n * Sentry.init({\n * integrations: [Sentry.graphqlIntegration()],\n * });\n */\nexport const graphqlIntegration = defineIntegration(_graphqlIntegration);\n\nfunction getOptionsWithDefaults(options?: GraphqlOptions): GraphqlOptions {\n return {\n ignoreResolveSpans: true,\n ignoreTrivialResolveSpans: true,\n useOperationNameForRootSpan: true,\n ...options,\n };\n}\n"],"names":[],"mappings":";;;;AAkCA,MAAM,gBAAA,GAAmB,SAAA;AAElB,MAAM,iBAAA,GAAoB,sBAAA;AAAA,EAC/B,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA,CAAC,QAAA,KAA6B,sBAAA,CAAuB,QAAQ;AAC/D;AAEA,MAAM,mBAAA,IAAuB,CAAC,OAAA,GAA0B,EAAC,KAAM;AAC7D,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,SAAA,GAAY;AAIV,MAAA,iBAAA,CAAkB,sBAAA,CAAuB,OAAO,CAAC,CAAA;AAAA,IACnD;AAAA,GACF;AACF,CAAA,CAAA;AAiBO,MAAM,kBAAA,GAAqB,kBAAkB,mBAAmB;AAEvE,SAAS,uBAAuB,OAAA,EAA0C;AACxE,EAAA,OAAO;AAAA,IACL,kBAAA,EAAoB,IAAA;AAAA,IACpB,yBAAA,EAA2B,IAAA;AAAA,IAC3B,2BAAA,EAA6B,IAAA;AAAA,IAC7B,GAAG;AAAA,GACL;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"enum.js","sources":["../../../../../../src/integrations/tracing/graphql/vendored/enum.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * NOTICE from the Sentry authors:\n * - Vendored from: https://github.com/open-telemetry/opentelemetry-js-contrib/tree/15ef7506553f631ea4181391e0c5725a56f0d082/packages/instrumentation-graphql\n * - Upstream version: @opentelemetry/instrumentation-graphql@0.66.0\n */\n/* eslint-disable */\n\nexport enum AllowedOperationTypes {\n QUERY = 'query',\n MUTATION = 'mutation',\n SUBSCRIPTION = 'subscription',\n}\n\nexport enum TokenKind {\n SOF = '<SOF>',\n EOF = '<EOF>',\n BANG = '!',\n DOLLAR = '$',\n AMP = '&',\n PAREN_L = '(',\n PAREN_R = ')',\n SPREAD = '...',\n COLON = ':',\n EQUALS = '=',\n AT = '@',\n BRACKET_L = '[',\n BRACKET_R = ']',\n BRACE_L = '{',\n PIPE = '|',\n BRACE_R = '}',\n NAME = 'Name',\n INT = 'Int',\n FLOAT = 'Float',\n STRING = 'String',\n BLOCK_STRING = 'BlockString',\n COMMENT = 'Comment',\n}\n\nexport enum SpanNames {\n EXECUTE = 'graphql.execute',\n PARSE = 'graphql.parse',\n RESOLVE = 'graphql.resolve',\n VALIDATE = 'graphql.validate',\n SCHEMA_VALIDATE = 'graphql.validateSchema',\n SCHEMA_PARSE = 'graphql.parseSchema',\n}\n"],"names":["AllowedOperationTypes","TokenKind","SpanNames"],"mappings":"AAqBO,IAAK,qBAAA,qBAAAA,sBAAAA,KAAL;AACL,EAAAA,uBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,uBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,uBAAA,cAAA,CAAA,GAAe,cAAA;AAHL,EAAA,OAAAA,sBAAAA;AAAA,CAAA,EAAA,qBAAA,IAAA,EAAA;AAML,IAAK,SAAA,qBAAAC,UAAAA,KAAL;AACL,EAAAA,WAAA,KAAA,CAAA,GAAM,OAAA;AACN,EAAAA,WAAA,KAAA,CAAA,GAAM,OAAA;AACN,EAAAA,WAAA,MAAA,CAAA,GAAO,GAAA;AACP,EAAAA,WAAA,QAAA,CAAA,GAAS,GAAA;AACT,EAAAA,WAAA,KAAA,CAAA,GAAM,GAAA;AACN,EAAAA,WAAA,SAAA,CAAA,GAAU,GAAA;AACV,EAAAA,WAAA,SAAA,CAAA,GAAU,GAAA;AACV,EAAAA,WAAA,QAAA,CAAA,GAAS,KAAA;AACT,EAAAA,WAAA,OAAA,CAAA,GAAQ,GAAA;AACR,EAAAA,WAAA,QAAA,CAAA,GAAS,GAAA;AACT,EAAAA,WAAA,IAAA,CAAA,GAAK,GAAA;AACL,EAAAA,WAAA,WAAA,CAAA,GAAY,GAAA;AACZ,EAAAA,WAAA,WAAA,CAAA,GAAY,GAAA;AACZ,EAAAA,WAAA,SAAA,CAAA,GAAU,GAAA;AACV,EAAAA,WAAA,MAAA,CAAA,GAAO,GAAA;AACP,EAAAA,WAAA,SAAA,CAAA,GAAU,GAAA;AACV,EAAAA,WAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,WAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,WAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,WAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,WAAA,cAAA,CAAA,GAAe,aAAA;AACf,EAAAA,WAAA,SAAA,CAAA,GAAU,SAAA;AAtBA,EAAA,OAAAA,UAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA;AAyBL,IAAK,SAAA,qBAAAC,UAAAA,KAAL;AACL,EAAAA,WAAA,SAAA,CAAA,GAAU,iBAAA;AACV,EAAAA,WAAA,OAAA,CAAA,GAAQ,eAAA;AACR,EAAAA,WAAA,SAAA,CAAA,GAAU,iBAAA;AACV,EAAAA,WAAA,UAAA,CAAA,GAAW,kBAAA;AACX,EAAAA,WAAA,iBAAA,CAAA,GAAkB,wBAAA;AAClB,EAAAA,WAAA,cAAA,CAAA,GAAe,qBAAA;AANL,EAAA,OAAAA,UAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA;;;;"}
1
+ {"version":3,"file":"enum.js","sources":["../../../../../../src/integrations/tracing/graphql/vendored/enum.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-graphql\n * - Upstream version: @opentelemetry/instrumentation-graphql@0.66.0\n */\n\nexport enum AllowedOperationTypes {\n QUERY = 'query',\n MUTATION = 'mutation',\n SUBSCRIPTION = 'subscription',\n}\n\nexport enum TokenKind {\n SOF = '<SOF>',\n EOF = '<EOF>',\n BANG = '!',\n DOLLAR = '$',\n AMP = '&',\n PAREN_L = '(',\n PAREN_R = ')',\n SPREAD = '...',\n COLON = ':',\n EQUALS = '=',\n AT = '@',\n BRACKET_L = '[',\n BRACKET_R = ']',\n BRACE_L = '{',\n PIPE = '|',\n BRACE_R = '}',\n NAME = 'Name',\n INT = 'Int',\n FLOAT = 'Float',\n STRING = 'String',\n BLOCK_STRING = 'BlockString',\n COMMENT = 'Comment',\n}\n\nexport enum SpanNames {\n EXECUTE = 'graphql.execute',\n PARSE = 'graphql.parse',\n RESOLVE = 'graphql.resolve',\n VALIDATE = 'graphql.validate',\n SCHEMA_VALIDATE = 'graphql.validateSchema',\n SCHEMA_PARSE = 'graphql.parseSchema',\n}\n"],"names":["AllowedOperationTypes","TokenKind","SpanNames"],"mappings":"AASO,IAAK,qBAAA,qBAAAA,sBAAAA,KAAL;AACL,EAAAA,uBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,uBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,uBAAA,cAAA,CAAA,GAAe,cAAA;AAHL,EAAA,OAAAA,sBAAAA;AAAA,CAAA,EAAA,qBAAA,IAAA,EAAA;AAML,IAAK,SAAA,qBAAAC,UAAAA,KAAL;AACL,EAAAA,WAAA,KAAA,CAAA,GAAM,OAAA;AACN,EAAAA,WAAA,KAAA,CAAA,GAAM,OAAA;AACN,EAAAA,WAAA,MAAA,CAAA,GAAO,GAAA;AACP,EAAAA,WAAA,QAAA,CAAA,GAAS,GAAA;AACT,EAAAA,WAAA,KAAA,CAAA,GAAM,GAAA;AACN,EAAAA,WAAA,SAAA,CAAA,GAAU,GAAA;AACV,EAAAA,WAAA,SAAA,CAAA,GAAU,GAAA;AACV,EAAAA,WAAA,QAAA,CAAA,GAAS,KAAA;AACT,EAAAA,WAAA,OAAA,CAAA,GAAQ,GAAA;AACR,EAAAA,WAAA,QAAA,CAAA,GAAS,GAAA;AACT,EAAAA,WAAA,IAAA,CAAA,GAAK,GAAA;AACL,EAAAA,WAAA,WAAA,CAAA,GAAY,GAAA;AACZ,EAAAA,WAAA,WAAA,CAAA,GAAY,GAAA;AACZ,EAAAA,WAAA,SAAA,CAAA,GAAU,GAAA;AACV,EAAAA,WAAA,MAAA,CAAA,GAAO,GAAA;AACP,EAAAA,WAAA,SAAA,CAAA,GAAU,GAAA;AACV,EAAAA,WAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,WAAA,KAAA,CAAA,GAAM,KAAA;AACN,EAAAA,WAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,WAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,WAAA,cAAA,CAAA,GAAe,aAAA;AACf,EAAAA,WAAA,SAAA,CAAA,GAAU,SAAA;AAtBA,EAAA,OAAAA,UAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA;AAyBL,IAAK,SAAA,qBAAAC,UAAAA,KAAL;AACL,EAAAA,WAAA,SAAA,CAAA,GAAU,iBAAA;AACV,EAAAA,WAAA,OAAA,CAAA,GAAQ,eAAA;AACR,EAAAA,WAAA,SAAA,CAAA,GAAU,iBAAA;AACV,EAAAA,WAAA,UAAA,CAAA,GAAW,kBAAA;AACX,EAAAA,WAAA,iBAAA,CAAA,GAAkB,wBAAA;AAClB,EAAAA,WAAA,cAAA,CAAA,GAAe,qBAAA;AANL,EAAA,OAAAA,UAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA;;;;"}
@@ -6,8 +6,6 @@ var AttributeNames = /* @__PURE__ */ ((AttributeNames2) => {
6
6
  AttributeNames2["PARENT_NAME"] = "graphql.parent.name";
7
7
  AttributeNames2["OPERATION_TYPE"] = "graphql.operation.type";
8
8
  AttributeNames2["OPERATION_NAME"] = "graphql.operation.name";
9
- AttributeNames2["VARIABLES"] = "graphql.variables.";
10
- AttributeNames2["ERROR_VALIDATION_NAME"] = "graphql.validation.error";
11
9
  return AttributeNames2;
12
10
  })(AttributeNames || {});
13
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeNames.js","sources":["../../../../../../../src/integrations/tracing/graphql/vendored/enums/AttributeNames.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * NOTICE from the Sentry authors:\n * - Vendored from: https://github.com/open-telemetry/opentelemetry-js-contrib/tree/15ef7506553f631ea4181391e0c5725a56f0d082/packages/instrumentation-graphql\n * - Upstream version: @opentelemetry/instrumentation-graphql@0.66.0\n */\n/* eslint-disable */\n\nexport enum AttributeNames {\n SOURCE = 'graphql.source',\n FIELD_NAME = 'graphql.field.name',\n FIELD_PATH = 'graphql.field.path',\n FIELD_TYPE = 'graphql.field.type',\n PARENT_NAME = 'graphql.parent.name',\n OPERATION_TYPE = 'graphql.operation.type',\n OPERATION_NAME = 'graphql.operation.name',\n VARIABLES = 'graphql.variables.',\n ERROR_VALIDATION_NAME = 'graphql.validation.error',\n}\n"],"names":["AttributeNames"],"mappings":"AAqBO,IAAK,cAAA,qBAAAA,eAAAA,KAAL;AACL,EAAAA,gBAAA,QAAA,CAAA,GAAS,gBAAA;AACT,EAAAA,gBAAA,YAAA,CAAA,GAAa,oBAAA;AACb,EAAAA,gBAAA,YAAA,CAAA,GAAa,oBAAA;AACb,EAAAA,gBAAA,YAAA,CAAA,GAAa,oBAAA;AACb,EAAAA,gBAAA,aAAA,CAAA,GAAc,qBAAA;AACd,EAAAA,gBAAA,gBAAA,CAAA,GAAiB,wBAAA;AACjB,EAAAA,gBAAA,gBAAA,CAAA,GAAiB,wBAAA;AACjB,EAAAA,gBAAA,WAAA,CAAA,GAAY,oBAAA;AACZ,EAAAA,gBAAA,uBAAA,CAAA,GAAwB,0BAAA;AATd,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;;;;"}
1
+ {"version":3,"file":"AttributeNames.js","sources":["../../../../../../../src/integrations/tracing/graphql/vendored/enums/AttributeNames.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n *\n * NOTICE from the Sentry authors:\n * - Vendored from: https://github.com/open-telemetry/opentelemetry-js-contrib/tree/15ef7506553f631ea4181391e0c5725a56f0d082/packages/instrumentation-graphql\n * - Upstream version: @opentelemetry/instrumentation-graphql@0.66.0\n */\n\nexport enum AttributeNames {\n SOURCE = 'graphql.source',\n FIELD_NAME = 'graphql.field.name',\n FIELD_PATH = 'graphql.field.path',\n FIELD_TYPE = 'graphql.field.type',\n PARENT_NAME = 'graphql.parent.name',\n OPERATION_TYPE = 'graphql.operation.type',\n OPERATION_NAME = 'graphql.operation.name',\n}\n"],"names":["AttributeNames"],"mappings":"AASO,IAAK,cAAA,qBAAAA,eAAAA,KAAL;AACL,EAAAA,gBAAA,QAAA,CAAA,GAAS,gBAAA;AACT,EAAAA,gBAAA,YAAA,CAAA,GAAa,oBAAA;AACb,EAAAA,gBAAA,YAAA,CAAA,GAAa,oBAAA;AACb,EAAAA,gBAAA,YAAA,CAAA,GAAa,oBAAA;AACb,EAAAA,gBAAA,aAAA,CAAA,GAAc,qBAAA;AACd,EAAAA,gBAAA,gBAAA,CAAA,GAAiB,wBAAA;AACjB,EAAAA,gBAAA,gBAAA,CAAA,GAAiB,wBAAA;AAPP,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;;;;"}
@@ -1,18 +1,16 @@
1
- import { context, trace } from '@opentelemetry/api';
2
1
  import { InstrumentationBase, InstrumentationNodeModuleDefinition, isWrapped, safeExecuteInTheMiddle } from '@opentelemetry/instrumentation';
3
2
  import { InstrumentationNodeModuleFile } from '../../InstrumentationNodeModuleFile.js';
4
3
  import { SpanNames } from './enum.js';
5
4
  import { AttributeNames } from './enums/AttributeNames.js';
6
5
  import { OTEL_GRAPHQL_DATA_SYMBOL } from './symbols.js';
7
6
  import { OPERATION_NOT_SUPPORTED } from './internal-types.js';
8
- import { getOperation, endSpan, isPromise, addSpanSource, addInputVariableAttributes, wrapFieldResolver, wrapFields } from './utils.js';
9
- import { SDK_VERSION } from '@sentry/core';
7
+ import { getOperation, endSpan, isPromise, addSpanSource, wrapFieldResolver, wrapFields } from './utils.js';
8
+ import { SDK_VERSION, withActiveSpan, spanToJSON, SPAN_STATUS_ERROR, getRootSpan, startInactiveSpan, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';
9
+ import { SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION } from '@sentry/opentelemetry';
10
10
 
11
11
  const PACKAGE_NAME = "@sentry/instrumentation-graphql";
12
+ const ORIGIN = "auto.graphql.otel.graphql";
12
13
  const DEFAULT_CONFIG = {
13
- mergeItems: false,
14
- depth: -1,
15
- allowValues: false,
16
14
  ignoreResolveSpans: false
17
15
  };
18
16
  const supportedVersions = [">=14.0.0 <17"];
@@ -125,7 +123,7 @@ class GraphQLInstrumentation extends InstrumentationBase {
125
123
  span,
126
124
  fields: {}
127
125
  };
128
- return context.with(trace.setSpan(context.active(), span), () => {
126
+ return withActiveSpan(span, () => {
129
127
  return safeExecuteInTheMiddle(
130
128
  () => {
131
129
  return original.apply(this, [processedArgs]);
@@ -139,7 +137,6 @@ class GraphQLInstrumentation extends InstrumentationBase {
139
137
  };
140
138
  }
141
139
  _handleExecutionResult(span, err, result) {
142
- const config = this.getConfig();
143
140
  if (result === void 0 || err) {
144
141
  endSpan(span, err);
145
142
  return;
@@ -147,40 +144,55 @@ class GraphQLInstrumentation extends InstrumentationBase {
147
144
  if (isPromise(result)) {
148
145
  result.then(
149
146
  (resultData) => {
150
- if (typeof config.responseHook !== "function") {
151
- endSpan(span);
152
- return;
153
- }
154
- this._executeResponseHook(span, resultData);
147
+ this._updateSpanFromResult(span, resultData);
148
+ endSpan(span);
155
149
  },
156
150
  (error) => {
157
151
  endSpan(span, error);
158
152
  }
159
153
  );
160
154
  } else {
161
- if (typeof config.responseHook !== "function") {
162
- endSpan(span);
163
- return;
164
- }
165
- this._executeResponseHook(span, result);
155
+ this._updateSpanFromResult(span, result);
156
+ endSpan(span);
166
157
  }
167
158
  }
168
- _executeResponseHook(span, result) {
169
- const { responseHook } = this.getConfig();
170
- if (!responseHook) {
159
+ /**
160
+ * Applies Sentry-specific span mutations based on the GraphQL execution result:
161
+ * - Marks the execute span as errored if the result contains errors (and no status was set yet)
162
+ * - Optionally renames the containing root span to include the GraphQL operation name(s)
163
+ */
164
+ _updateSpanFromResult(span, result) {
165
+ if (result.errors?.length && !spanToJSON(span).status) {
166
+ span.setStatus({ code: SPAN_STATUS_ERROR });
167
+ }
168
+ if (!this.getConfig().useOperationNameForRootSpan) {
171
169
  return;
172
170
  }
173
- safeExecuteInTheMiddle(
174
- () => {
175
- responseHook(span, result);
176
- },
177
- (err) => {
178
- if (err) {
179
- this._diag.error("Error running response hook", err);
180
- }
181
- endSpan(span, void 0);
182
- },
183
- true
171
+ const attributes = spanToJSON(span).data;
172
+ const operationType = attributes[AttributeNames.OPERATION_TYPE];
173
+ const operationName = attributes[AttributeNames.OPERATION_NAME];
174
+ if (!operationType) {
175
+ return;
176
+ }
177
+ const rootSpan = getRootSpan(span);
178
+ const rootSpanAttributes = spanToJSON(rootSpan).data;
179
+ const existingOperations = rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION] || [];
180
+ const newOperation = operationName ? `${operationType} ${operationName}` : `${operationType}`;
181
+ if (Array.isArray(existingOperations)) {
182
+ existingOperations.push(newOperation);
183
+ rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION, existingOperations);
184
+ } else if (typeof existingOperations === "string") {
185
+ rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION, [existingOperations, newOperation]);
186
+ } else {
187
+ rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION, newOperation);
188
+ }
189
+ if (!spanToJSON(rootSpan).data["original-description"]) {
190
+ rootSpan.setAttribute("original-description", spanToJSON(rootSpan).description);
191
+ }
192
+ rootSpan.updateName(
193
+ `${spanToJSON(rootSpan).data["original-description"]} (${getGraphqlOperationNamesFromAttribute(
194
+ existingOperations
195
+ )})`
184
196
  );
185
197
  }
186
198
  _patchParse() {
@@ -200,9 +212,8 @@ class GraphQLInstrumentation extends InstrumentationBase {
200
212
  };
201
213
  }
202
214
  _parse(obj, original, source, options) {
203
- const config = this.getConfig();
204
- const span = this.tracer.startSpan(SpanNames.PARSE);
205
- return context.with(trace.setSpan(context.active(), span), () => {
215
+ const span = startInactiveSpan({ name: SpanNames.PARSE });
216
+ return withActiveSpan(span, () => {
206
217
  return safeExecuteInTheMiddle(
207
218
  () => {
208
219
  return original.call(obj, source, options);
@@ -213,7 +224,7 @@ class GraphQLInstrumentation extends InstrumentationBase {
213
224
  if (!operation) {
214
225
  span.updateName(SpanNames.SCHEMA_PARSE);
215
226
  } else if (result.loc) {
216
- addSpanSource(span, result.loc, config.allowValues);
227
+ addSpanSource(span, result.loc);
217
228
  }
218
229
  }
219
230
  endSpan(span, err);
@@ -222,30 +233,26 @@ class GraphQLInstrumentation extends InstrumentationBase {
222
233
  });
223
234
  }
224
235
  _validate(obj, original, schema, documentAST, rules, typeInfo, options) {
225
- const span = this.tracer.startSpan(SpanNames.VALIDATE, {});
226
- return context.with(trace.setSpan(context.active(), span), () => {
236
+ const span = startInactiveSpan({ name: SpanNames.VALIDATE });
237
+ return withActiveSpan(span, () => {
227
238
  return safeExecuteInTheMiddle(
228
239
  () => {
229
240
  return original.call(obj, schema, documentAST, rules, options, typeInfo);
230
241
  },
231
- (err, errors) => {
242
+ (err, _errors) => {
232
243
  if (!documentAST.loc) {
233
244
  span.updateName(SpanNames.SCHEMA_VALIDATE);
234
245
  }
235
- if (errors && errors.length) {
236
- span.recordException({
237
- name: AttributeNames.ERROR_VALIDATION_NAME,
238
- message: JSON.stringify(errors)
239
- });
240
- }
241
246
  endSpan(span, err);
242
247
  }
243
248
  );
244
249
  });
245
250
  }
246
251
  _createExecuteSpan(operation, processedArgs) {
247
- const config = this.getConfig();
248
- const span = this.tracer.startSpan(SpanNames.EXECUTE, {});
252
+ const span = startInactiveSpan({
253
+ name: SpanNames.EXECUTE,
254
+ attributes: { [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN }
255
+ });
249
256
  if (operation) {
250
257
  const { operation: operationType, name: nameNode } = operation;
251
258
  span.setAttribute(AttributeNames.OPERATION_TYPE, operationType);
@@ -265,10 +272,7 @@ class GraphQLInstrumentation extends InstrumentationBase {
265
272
  span.setAttribute(AttributeNames.OPERATION_NAME, operationName);
266
273
  }
267
274
  if (processedArgs.document?.loc) {
268
- addSpanSource(span, processedArgs.document.loc, config.allowValues);
269
- }
270
- if (processedArgs.variableValues && config.allowValues) {
271
- addInputVariableAttributes(span, processedArgs.variableValues);
275
+ addSpanSource(span, processedArgs.document.loc);
272
276
  }
273
277
  return span;
274
278
  }
@@ -290,15 +294,10 @@ class GraphQLInstrumentation extends InstrumentationBase {
290
294
  }
291
295
  const isUsingDefaultResolver = fieldResolver == null;
292
296
  const fieldResolverForExecute = fieldResolver ?? defaultFieldResolved;
293
- fieldResolver = wrapFieldResolver(
294
- this.tracer,
295
- () => this.getConfig(),
296
- fieldResolverForExecute,
297
- isUsingDefaultResolver
298
- );
297
+ fieldResolver = wrapFieldResolver(() => this.getConfig(), fieldResolverForExecute, isUsingDefaultResolver);
299
298
  if (schema) {
300
- wrapFields(schema.getQueryType(), this.tracer, () => this.getConfig());
301
- wrapFields(schema.getMutationType(), this.tracer, () => this.getConfig());
299
+ wrapFields(schema.getQueryType(), () => this.getConfig());
300
+ wrapFields(schema.getMutationType(), () => this.getConfig());
302
301
  }
303
302
  return {
304
303
  schema,
@@ -312,6 +311,17 @@ class GraphQLInstrumentation extends InstrumentationBase {
312
311
  };
313
312
  }
314
313
  }
314
+ function getGraphqlOperationNamesFromAttribute(attr) {
315
+ if (Array.isArray(attr)) {
316
+ const sorted = attr.slice().sort();
317
+ if (sorted.length <= 5) {
318
+ return sorted.join(", ");
319
+ } else {
320
+ return `${sorted.slice(0, 5).join(", ")}, +${sorted.length - 5}`;
321
+ }
322
+ }
323
+ return `${attr}`;
324
+ }
315
325
 
316
326
  export { GraphQLInstrumentation };
317
327
  //# sourceMappingURL=instrumentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sources":["../../../../../../src/integrations/tracing/graphql/vendored/instrumentation.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * NOTICE from the Sentry authors:\n * - Vendored from: https://github.com/open-telemetry/opentelemetry-js-contrib/tree/15ef7506553f631ea4181391e0c5725a56f0d082/packages/instrumentation-graphql\n * - Upstream version: @opentelemetry/instrumentation-graphql@0.66.0\n * - Types from `graphql` package inlined as simplified interfaces\n * - Minor TypeScript strictness adjustments\n */\n/* eslint-disable */\n\nimport { context, trace } from '@opentelemetry/api';\nimport {\n isWrapped,\n InstrumentationBase,\n InstrumentationNodeModuleDefinition,\n safeExecuteInTheMiddle,\n} from '@opentelemetry/instrumentation';\nimport { InstrumentationNodeModuleFile } from '../../InstrumentationNodeModuleFile';\nimport type {\n DefinitionNode,\n DocumentNode,\n ExecutionArgs,\n ExecutionResult,\n GraphQLError,\n GraphQLFieldResolver,\n GraphQLSchema,\n GraphQLTypeResolver,\n OperationDefinitionNode,\n ParseOptions,\n PromiseOrValue,\n Source,\n TypeInfo,\n ValidationRule,\n} from './graphql-types';\nimport type { Maybe } from './graphql-types';\nimport { SpanNames } from './enum';\nimport { AttributeNames } from './enums/AttributeNames';\nimport { OTEL_GRAPHQL_DATA_SYMBOL } from './symbols';\n\nimport {\n executeFunctionWithObj,\n executeArgumentsArray,\n executeType,\n parseType,\n validateType,\n OtelExecutionArgs,\n ObjectWithGraphQLData,\n OPERATION_NOT_SUPPORTED,\n} from './internal-types';\nimport {\n addInputVariableAttributes,\n addSpanSource,\n endSpan,\n getOperation,\n isPromise,\n wrapFieldResolver,\n wrapFields,\n} from './utils';\n\nimport { SDK_VERSION } from '@sentry/core';\nimport * as api from '@opentelemetry/api';\nimport { GraphQLInstrumentationConfig, GraphQLInstrumentationParsedConfig } from './types';\n\nconst PACKAGE_NAME = '@sentry/instrumentation-graphql';\n\nconst DEFAULT_CONFIG: GraphQLInstrumentationParsedConfig = {\n mergeItems: false,\n depth: -1,\n allowValues: false,\n ignoreResolveSpans: false,\n};\n\nconst supportedVersions = ['>=14.0.0 <17'];\n\nexport class GraphQLInstrumentation extends InstrumentationBase<GraphQLInstrumentationParsedConfig> {\n constructor(config: GraphQLInstrumentationConfig = {}) {\n super(PACKAGE_NAME, SDK_VERSION, { ...DEFAULT_CONFIG, ...config });\n }\n\n override setConfig(config: GraphQLInstrumentationConfig = {}) {\n super.setConfig({ ...DEFAULT_CONFIG, ...config });\n }\n\n protected init() {\n const module = new InstrumentationNodeModuleDefinition('graphql', supportedVersions);\n module.files.push(this._addPatchingExecute());\n module.files.push(this._addPatchingParser());\n module.files.push(this._addPatchingValidate());\n\n return module;\n }\n\n private _addPatchingExecute(): InstrumentationNodeModuleFile {\n return new InstrumentationNodeModuleFile(\n 'graphql/execution/execute.js',\n supportedVersions,\n // cannot make it work with appropriate type as execute function has 2\n //types and/cannot import function but only types\n (moduleExports: any) => {\n if (isWrapped(moduleExports.execute)) {\n this._unwrap(moduleExports, 'execute');\n }\n this._wrap(moduleExports, 'execute', this._patchExecute(moduleExports.defaultFieldResolver));\n return moduleExports;\n },\n moduleExports => {\n if (moduleExports) {\n this._unwrap(moduleExports, 'execute');\n }\n },\n );\n }\n\n private _addPatchingParser(): InstrumentationNodeModuleFile {\n return new InstrumentationNodeModuleFile(\n 'graphql/language/parser.js',\n supportedVersions,\n (moduleExports: { parse: parseType; [key: string]: any }) => {\n if (isWrapped(moduleExports.parse)) {\n this._unwrap(moduleExports, 'parse');\n }\n this._wrap(moduleExports, 'parse', this._patchParse());\n return moduleExports;\n },\n (moduleExports: { parse: parseType; [key: string]: any }) => {\n if (moduleExports) {\n this._unwrap(moduleExports, 'parse');\n }\n },\n );\n }\n\n private _addPatchingValidate(): InstrumentationNodeModuleFile {\n return new InstrumentationNodeModuleFile(\n 'graphql/validation/validate.js',\n supportedVersions,\n moduleExports => {\n if (isWrapped(moduleExports.validate)) {\n this._unwrap(moduleExports, 'validate');\n }\n this._wrap(moduleExports, 'validate', this._patchValidate());\n return moduleExports;\n },\n moduleExports => {\n if (moduleExports) {\n this._unwrap(moduleExports, 'validate');\n }\n },\n );\n }\n\n private _patchExecute(defaultFieldResolved: GraphQLFieldResolver<any, any>): (original: executeType) => executeType {\n const instrumentation = this;\n return function execute(original) {\n return function patchExecute(this: executeType): PromiseOrValue<ExecutionResult> {\n let processedArgs: OtelExecutionArgs;\n\n // case when apollo server is used for example\n if (arguments.length >= 2) {\n const args = arguments as unknown as executeArgumentsArray;\n processedArgs = instrumentation._wrapExecuteArgs(\n args[0],\n args[1],\n args[2],\n args[3],\n args[4],\n args[5],\n args[6],\n args[7],\n defaultFieldResolved,\n );\n } else {\n const args = arguments[0] as ExecutionArgs;\n processedArgs = instrumentation._wrapExecuteArgs(\n args.schema,\n args.document,\n args.rootValue,\n args.contextValue,\n args.variableValues,\n args.operationName,\n args.fieldResolver,\n args.typeResolver,\n defaultFieldResolved,\n );\n }\n\n const operation = getOperation(processedArgs.document, processedArgs.operationName);\n\n const span = instrumentation._createExecuteSpan(operation, processedArgs);\n\n processedArgs.contextValue[OTEL_GRAPHQL_DATA_SYMBOL] = {\n source: processedArgs.document\n ? processedArgs.document || (processedArgs.document as ObjectWithGraphQLData)[OTEL_GRAPHQL_DATA_SYMBOL]\n : undefined,\n span,\n fields: {},\n };\n\n return context.with(trace.setSpan(context.active(), span), () => {\n return safeExecuteInTheMiddle<PromiseOrValue<ExecutionResult>>(\n () => {\n return (original as executeFunctionWithObj).apply(this, [processedArgs]);\n },\n (err, result) => {\n instrumentation._handleExecutionResult(span, err, result);\n },\n );\n });\n };\n };\n }\n\n private _handleExecutionResult(span: api.Span, err?: Error, result?: PromiseOrValue<ExecutionResult>) {\n const config = this.getConfig();\n if (result === undefined || err) {\n endSpan(span, err);\n return;\n }\n\n if (isPromise(result)) {\n (result as Promise<ExecutionResult>).then(\n resultData => {\n if (typeof config.responseHook !== 'function') {\n endSpan(span);\n return;\n }\n this._executeResponseHook(span, resultData);\n },\n error => {\n endSpan(span, error);\n },\n );\n } else {\n if (typeof config.responseHook !== 'function') {\n endSpan(span);\n return;\n }\n this._executeResponseHook(span, result as ExecutionResult);\n }\n }\n\n private _executeResponseHook(span: api.Span, result: ExecutionResult) {\n const { responseHook } = this.getConfig();\n if (!responseHook) {\n return;\n }\n\n safeExecuteInTheMiddle(\n () => {\n responseHook(span, result);\n },\n err => {\n if (err) {\n this._diag.error('Error running response hook', err);\n }\n\n endSpan(span, undefined);\n },\n true,\n );\n }\n\n private _patchParse(): (original: parseType) => parseType {\n const instrumentation = this;\n return function parse(original) {\n return function patchParse(this: parseType, source: string | Source, options?: ParseOptions): DocumentNode {\n return instrumentation._parse(this, original, source, options);\n };\n };\n }\n\n private _patchValidate(): (original: validateType) => validateType {\n const instrumentation = this;\n return function validate(original: validateType) {\n return function patchValidate(\n this: validateType,\n schema: GraphQLSchema,\n documentAST: DocumentNode,\n rules?: ReadonlyArray<ValidationRule>,\n options?: { maxErrors?: number },\n typeInfo?: TypeInfo,\n ): ReadonlyArray<GraphQLError> {\n return instrumentation._validate(this, original, schema, documentAST, rules, typeInfo, options);\n };\n };\n }\n\n private _parse(obj: parseType, original: parseType, source: string | Source, options?: ParseOptions): DocumentNode {\n const config = this.getConfig();\n const span = this.tracer.startSpan(SpanNames.PARSE);\n\n return context.with(trace.setSpan(context.active(), span), () => {\n return safeExecuteInTheMiddle<DocumentNode & ObjectWithGraphQLData>(\n () => {\n return original.call(obj, source, options);\n },\n (err, result) => {\n if (result) {\n const operation = getOperation(result);\n if (!operation) {\n span.updateName(SpanNames.SCHEMA_PARSE);\n } else if (result.loc) {\n addSpanSource(span, result.loc, config.allowValues);\n }\n }\n endSpan(span, err);\n },\n );\n });\n }\n\n private _validate(\n obj: validateType,\n original: validateType,\n schema: GraphQLSchema,\n documentAST: DocumentNode,\n rules?: ReadonlyArray<ValidationRule>,\n typeInfo?: TypeInfo,\n options?: { maxErrors?: number },\n ): ReadonlyArray<GraphQLError> {\n const span = this.tracer.startSpan(SpanNames.VALIDATE, {});\n\n return context.with(trace.setSpan(context.active(), span), () => {\n return safeExecuteInTheMiddle<ReadonlyArray<GraphQLError>>(\n () => {\n return original.call(obj, schema, documentAST, rules, options, typeInfo);\n },\n (err, errors) => {\n if (!documentAST.loc) {\n span.updateName(SpanNames.SCHEMA_VALIDATE);\n }\n if (errors && errors.length) {\n span.recordException({\n name: AttributeNames.ERROR_VALIDATION_NAME,\n message: JSON.stringify(errors),\n });\n }\n endSpan(span, err);\n },\n );\n });\n }\n\n private _createExecuteSpan(operation: DefinitionNode | undefined, processedArgs: ExecutionArgs): api.Span {\n const config = this.getConfig();\n\n const span = this.tracer.startSpan(SpanNames.EXECUTE, {});\n if (operation) {\n const { operation: operationType, name: nameNode } = operation as OperationDefinitionNode;\n\n span.setAttribute(AttributeNames.OPERATION_TYPE, operationType);\n\n const operationName = nameNode?.value;\n\n // https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/instrumentation/graphql/\n // > The span name MUST be of the format <graphql.operation.type> <graphql.operation.name> provided that graphql.operation.type and graphql.operation.name are available.\n // > If graphql.operation.name is not available, the span SHOULD be named <graphql.operation.type>.\n if (operationName) {\n span.setAttribute(AttributeNames.OPERATION_NAME, operationName);\n span.updateName(`${operationType} ${operationName}`);\n } else {\n span.updateName(operationType);\n }\n } else {\n let operationName = ' ';\n if (processedArgs.operationName) {\n operationName = ` \"${processedArgs.operationName}\" `;\n }\n operationName = OPERATION_NOT_SUPPORTED.replace('$operationName$', operationName);\n span.setAttribute(AttributeNames.OPERATION_NAME, operationName);\n }\n\n if (processedArgs.document?.loc) {\n addSpanSource(span, processedArgs.document.loc, config.allowValues);\n }\n\n if (processedArgs.variableValues && config.allowValues) {\n addInputVariableAttributes(span, processedArgs.variableValues);\n }\n\n return span;\n }\n\n private _wrapExecuteArgs(\n schema: GraphQLSchema,\n document: DocumentNode,\n rootValue: any,\n contextValue: any,\n variableValues: Maybe<{ [key: string]: any }>,\n operationName: Maybe<string>,\n fieldResolver: Maybe<GraphQLFieldResolver<any, any>>,\n typeResolver: Maybe<GraphQLTypeResolver<any, any>>,\n defaultFieldResolved: GraphQLFieldResolver<any, any>,\n ): OtelExecutionArgs {\n if (!contextValue) {\n contextValue = {};\n }\n\n if (contextValue[OTEL_GRAPHQL_DATA_SYMBOL] || this.getConfig().ignoreResolveSpans) {\n return {\n schema,\n document,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n };\n }\n\n const isUsingDefaultResolver = fieldResolver == null;\n // follows graphql implementation here:\n // https://github.com/graphql/graphql-js/blob/0b7daed9811731362c71900e12e5ea0d1ecc7f1f/src/execution/execute.ts#L494\n const fieldResolverForExecute = fieldResolver ?? defaultFieldResolved;\n fieldResolver = wrapFieldResolver(\n this.tracer,\n () => this.getConfig(),\n fieldResolverForExecute,\n isUsingDefaultResolver,\n );\n\n if (schema) {\n wrapFields(schema.getQueryType() as any, this.tracer, () => this.getConfig());\n wrapFields(schema.getMutationType() as any, this.tracer, () => this.getConfig());\n }\n\n return {\n schema,\n document,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n };\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instrumentation.js","sources":["../../../../../../src/integrations/tracing/graphql/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-graphql\n * - Upstream version: @opentelemetry/instrumentation-graphql@0.66.0\n * - Types from `graphql` package inlined as simplified interfaces\n * - Minor TypeScript strictness adjustments\n * - Span lifecycle migrated from the OpenTelemetry tracer to the @sentry/core span API\n * - `auto.graphql.otel.graphql` origin baked into the execute span (previously set via a Sentry responseHook)\n * - The generic `responseHook` config was removed; its Sentry-specific logic (error status + root span renaming\n * via `useOperationNameForRootSpan`) is now applied directly when the execution result is handled\n */\n\n/* oxlint-disable max-lines */\n\nimport {\n isWrapped,\n InstrumentationBase,\n InstrumentationNodeModuleDefinition,\n safeExecuteInTheMiddle,\n} from '@opentelemetry/instrumentation';\nimport { InstrumentationNodeModuleFile } from '../../InstrumentationNodeModuleFile';\nimport type {\n DefinitionNode,\n DocumentNode,\n ExecutionArgs,\n ExecutionResult,\n GraphQLError,\n GraphQLFieldResolver,\n GraphQLSchema,\n GraphQLTypeResolver,\n OperationDefinitionNode,\n ParseOptions,\n PromiseOrValue,\n Source,\n TypeInfo,\n ValidationRule,\n} from './graphql-types';\nimport type { Maybe } from './graphql-types';\nimport { SpanNames } from './enum';\nimport { AttributeNames } from './enums/AttributeNames';\nimport { OTEL_GRAPHQL_DATA_SYMBOL } from './symbols';\n\nimport {\n type executeFunctionWithObj,\n type executeArgumentsArray,\n type executeType,\n type parseType,\n type validateType,\n type OtelExecutionArgs,\n type ObjectWithGraphQLData,\n OPERATION_NOT_SUPPORTED,\n} from './internal-types';\nimport { addSpanSource, endSpan, getOperation, isPromise, wrapFieldResolver, wrapFields } from './utils';\n\nimport type { Span, SpanAttributeValue } from '@sentry/core';\nimport {\n getRootSpan,\n SDK_VERSION,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SPAN_STATUS_ERROR,\n spanToJSON,\n startInactiveSpan,\n withActiveSpan,\n} from '@sentry/core';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION } from '@sentry/opentelemetry';\nimport type { GraphQLInstrumentationConfig, GraphQLInstrumentationParsedConfig } from './types';\n\nconst PACKAGE_NAME = '@sentry/instrumentation-graphql';\n\nconst ORIGIN = 'auto.graphql.otel.graphql';\n\nconst DEFAULT_CONFIG: GraphQLInstrumentationParsedConfig = {\n ignoreResolveSpans: false,\n};\n\nconst supportedVersions = ['>=14.0.0 <17'];\n\nexport class GraphQLInstrumentation extends InstrumentationBase<GraphQLInstrumentationParsedConfig> {\n constructor(config: GraphQLInstrumentationConfig = {}) {\n super(PACKAGE_NAME, SDK_VERSION, { ...DEFAULT_CONFIG, ...config });\n }\n\n override setConfig(config: GraphQLInstrumentationConfig = {}) {\n super.setConfig({ ...DEFAULT_CONFIG, ...config });\n }\n\n protected init() {\n const module = new InstrumentationNodeModuleDefinition('graphql', supportedVersions);\n module.files.push(this._addPatchingExecute());\n module.files.push(this._addPatchingParser());\n module.files.push(this._addPatchingValidate());\n\n return module;\n }\n\n private _addPatchingExecute(): InstrumentationNodeModuleFile {\n return new InstrumentationNodeModuleFile(\n 'graphql/execution/execute.js',\n supportedVersions,\n // cannot make it work with appropriate type as execute function has 2\n //types and/cannot import function but only types\n (moduleExports: any) => {\n if (isWrapped(moduleExports.execute)) {\n this._unwrap(moduleExports, 'execute');\n }\n this._wrap(moduleExports, 'execute', this._patchExecute(moduleExports.defaultFieldResolver));\n return moduleExports;\n },\n moduleExports => {\n if (moduleExports) {\n this._unwrap(moduleExports, 'execute');\n }\n },\n );\n }\n\n private _addPatchingParser(): InstrumentationNodeModuleFile {\n return new InstrumentationNodeModuleFile(\n 'graphql/language/parser.js',\n supportedVersions,\n (moduleExports: { parse: parseType; [key: string]: any }) => {\n if (isWrapped(moduleExports.parse)) {\n this._unwrap(moduleExports, 'parse');\n }\n this._wrap(moduleExports, 'parse', this._patchParse());\n return moduleExports;\n },\n (moduleExports: { parse: parseType; [key: string]: any }) => {\n if (moduleExports) {\n this._unwrap(moduleExports, 'parse');\n }\n },\n );\n }\n\n private _addPatchingValidate(): InstrumentationNodeModuleFile {\n return new InstrumentationNodeModuleFile(\n 'graphql/validation/validate.js',\n supportedVersions,\n moduleExports => {\n if (isWrapped(moduleExports.validate)) {\n this._unwrap(moduleExports, 'validate');\n }\n this._wrap(moduleExports, 'validate', this._patchValidate());\n return moduleExports;\n },\n moduleExports => {\n if (moduleExports) {\n this._unwrap(moduleExports, 'validate');\n }\n },\n );\n }\n\n private _patchExecute(defaultFieldResolved: GraphQLFieldResolver<any, any>): (original: executeType) => executeType {\n const instrumentation = this;\n return function execute(original) {\n return function patchExecute(this: executeType): PromiseOrValue<ExecutionResult> {\n let processedArgs: OtelExecutionArgs;\n\n // case when apollo server is used for example\n if (arguments.length >= 2) {\n const args = arguments as unknown as executeArgumentsArray;\n processedArgs = instrumentation._wrapExecuteArgs(\n args[0],\n args[1],\n args[2],\n args[3],\n args[4],\n args[5],\n args[6],\n args[7],\n defaultFieldResolved,\n );\n } else {\n const args = arguments[0] as ExecutionArgs;\n processedArgs = instrumentation._wrapExecuteArgs(\n args.schema,\n args.document,\n args.rootValue,\n args.contextValue,\n args.variableValues,\n args.operationName,\n args.fieldResolver,\n args.typeResolver,\n defaultFieldResolved,\n );\n }\n\n const operation = getOperation(processedArgs.document, processedArgs.operationName);\n\n const span = instrumentation._createExecuteSpan(operation, processedArgs);\n\n processedArgs.contextValue[OTEL_GRAPHQL_DATA_SYMBOL] = {\n source: processedArgs.document\n ? processedArgs.document || (processedArgs.document as ObjectWithGraphQLData)[OTEL_GRAPHQL_DATA_SYMBOL]\n : undefined,\n span,\n fields: {},\n };\n\n return withActiveSpan(span, () => {\n return safeExecuteInTheMiddle<PromiseOrValue<ExecutionResult>>(\n () => {\n return (original as executeFunctionWithObj).apply(this, [processedArgs]);\n },\n (err, result) => {\n instrumentation._handleExecutionResult(span, err, result);\n },\n );\n });\n };\n };\n }\n\n private _handleExecutionResult(span: Span, err?: Error, result?: PromiseOrValue<ExecutionResult>) {\n if (result === undefined || err) {\n endSpan(span, err);\n return;\n }\n\n if (isPromise(result)) {\n result.then(\n resultData => {\n this._updateSpanFromResult(span, resultData);\n endSpan(span);\n },\n error => {\n endSpan(span, error);\n },\n );\n } else {\n this._updateSpanFromResult(span, result);\n endSpan(span);\n }\n }\n\n /**\n * Applies Sentry-specific span mutations based on the GraphQL execution result:\n * - Marks the execute span as errored if the result contains errors (and no status was set yet)\n * - Optionally renames the containing root span to include the GraphQL operation name(s)\n */\n private _updateSpanFromResult(span: Span, result: ExecutionResult): void {\n // We want to ensure spans are marked as errored if there are errors in the result\n // We only do that if the span is not already marked with a status\n if (result.errors?.length && !spanToJSON(span).status) {\n span.setStatus({ code: SPAN_STATUS_ERROR });\n }\n\n if (!this.getConfig().useOperationNameForRootSpan) {\n return;\n }\n\n const attributes = spanToJSON(span).data;\n\n // If operation.name is not set, we fall back to use operation.type only\n const operationType = attributes[AttributeNames.OPERATION_TYPE];\n const operationName = attributes[AttributeNames.OPERATION_NAME];\n\n if (!operationType) {\n return;\n }\n\n const rootSpan = getRootSpan(span);\n const rootSpanAttributes = spanToJSON(rootSpan).data;\n\n const existingOperations = rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION] || [];\n\n const newOperation = operationName ? `${operationType} ${operationName}` : `${operationType}`;\n\n // We keep track of each operation on the root span\n // This can either be a string, or an array of strings (if there are multiple operations)\n if (Array.isArray(existingOperations)) {\n (existingOperations as string[]).push(newOperation);\n rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION, existingOperations);\n } else if (typeof existingOperations === 'string') {\n rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION, [existingOperations, newOperation]);\n } else {\n rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_GRAPHQL_OPERATION, newOperation);\n }\n\n if (!spanToJSON(rootSpan).data['original-description']) {\n rootSpan.setAttribute('original-description', spanToJSON(rootSpan).description);\n }\n // Important for e.g. @sentry/aws-serverless because this would otherwise overwrite the name again\n rootSpan.updateName(\n `${spanToJSON(rootSpan).data['original-description']} (${getGraphqlOperationNamesFromAttribute(\n existingOperations,\n )})`,\n );\n }\n\n private _patchParse(): (original: parseType) => parseType {\n const instrumentation = this;\n return function parse(original) {\n return function patchParse(this: parseType, source: string | Source, options?: ParseOptions): DocumentNode {\n return instrumentation._parse(this, original, source, options);\n };\n };\n }\n\n private _patchValidate(): (original: validateType) => validateType {\n const instrumentation = this;\n return function validate(original: validateType) {\n return function patchValidate(\n this: validateType,\n schema: GraphQLSchema,\n documentAST: DocumentNode,\n rules?: ReadonlyArray<ValidationRule>,\n options?: { maxErrors?: number },\n typeInfo?: TypeInfo,\n ): ReadonlyArray<GraphQLError> {\n return instrumentation._validate(this, original, schema, documentAST, rules, typeInfo, options);\n };\n };\n }\n\n private _parse(obj: parseType, original: parseType, source: string | Source, options?: ParseOptions): DocumentNode {\n const span = startInactiveSpan({ name: SpanNames.PARSE });\n\n return withActiveSpan(span, () => {\n return safeExecuteInTheMiddle<DocumentNode & ObjectWithGraphQLData>(\n () => {\n return original.call(obj, source, options);\n },\n (err, result) => {\n if (result) {\n const operation = getOperation(result);\n if (!operation) {\n span.updateName(SpanNames.SCHEMA_PARSE);\n } else if (result.loc) {\n addSpanSource(span, result.loc);\n }\n }\n endSpan(span, err);\n },\n );\n });\n }\n\n private _validate(\n obj: validateType,\n original: validateType,\n schema: GraphQLSchema,\n documentAST: DocumentNode,\n rules?: ReadonlyArray<ValidationRule>,\n typeInfo?: TypeInfo,\n options?: { maxErrors?: number },\n ): ReadonlyArray<GraphQLError> {\n const span = startInactiveSpan({ name: SpanNames.VALIDATE });\n\n return withActiveSpan(span, () => {\n return safeExecuteInTheMiddle<ReadonlyArray<GraphQLError>>(\n () => {\n return original.call(obj, schema, documentAST, rules, options, typeInfo);\n },\n (err, _errors) => {\n if (!documentAST.loc) {\n span.updateName(SpanNames.SCHEMA_VALIDATE);\n }\n endSpan(span, err);\n },\n );\n });\n }\n\n private _createExecuteSpan(operation: DefinitionNode | undefined, processedArgs: ExecutionArgs): Span {\n const span = startInactiveSpan({\n name: SpanNames.EXECUTE,\n attributes: { [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: ORIGIN },\n });\n if (operation) {\n const { operation: operationType, name: nameNode } = operation as OperationDefinitionNode;\n\n span.setAttribute(AttributeNames.OPERATION_TYPE, operationType);\n\n const operationName = nameNode?.value;\n\n // https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/instrumentation/graphql/\n // > The span name MUST be of the format <graphql.operation.type> <graphql.operation.name> provided that graphql.operation.type and graphql.operation.name are available.\n // > If graphql.operation.name is not available, the span SHOULD be named <graphql.operation.type>.\n if (operationName) {\n span.setAttribute(AttributeNames.OPERATION_NAME, operationName);\n span.updateName(`${operationType} ${operationName}`);\n } else {\n span.updateName(operationType);\n }\n } else {\n let operationName = ' ';\n if (processedArgs.operationName) {\n operationName = ` \"${processedArgs.operationName}\" `;\n }\n operationName = OPERATION_NOT_SUPPORTED.replace('$operationName$', operationName);\n span.setAttribute(AttributeNames.OPERATION_NAME, operationName);\n }\n\n if (processedArgs.document?.loc) {\n addSpanSource(span, processedArgs.document.loc);\n }\n\n return span;\n }\n\n private _wrapExecuteArgs(\n schema: GraphQLSchema,\n document: DocumentNode,\n rootValue: any,\n contextValue: any,\n variableValues: Maybe<{ [key: string]: any }>,\n operationName: Maybe<string>,\n fieldResolver: Maybe<GraphQLFieldResolver<any, any>>,\n typeResolver: Maybe<GraphQLTypeResolver<any, any>>,\n defaultFieldResolved: GraphQLFieldResolver<any, any>,\n ): OtelExecutionArgs {\n if (!contextValue) {\n // oxlint-disable-next-line no-param-reassign\n contextValue = {};\n }\n\n if (contextValue[OTEL_GRAPHQL_DATA_SYMBOL] || this.getConfig().ignoreResolveSpans) {\n return {\n schema,\n document,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n };\n }\n\n const isUsingDefaultResolver = fieldResolver == null;\n // follows graphql implementation here:\n // https://github.com/graphql/graphql-js/blob/0b7daed9811731362c71900e12e5ea0d1ecc7f1f/src/execution/execute.ts#L494\n const fieldResolverForExecute = fieldResolver ?? defaultFieldResolved;\n // oxlint-disable-next-line no-param-reassign\n fieldResolver = wrapFieldResolver(() => this.getConfig(), fieldResolverForExecute, isUsingDefaultResolver);\n\n if (schema) {\n wrapFields(schema.getQueryType() as any, () => this.getConfig());\n wrapFields(schema.getMutationType() as any, () => this.getConfig());\n }\n\n return {\n schema,\n document,\n rootValue,\n contextValue,\n variableValues,\n operationName,\n fieldResolver,\n typeResolver,\n };\n }\n}\n\n// copy from packages/opentelemetry/utils\nfunction getGraphqlOperationNamesFromAttribute(attr: SpanAttributeValue): string {\n if (Array.isArray(attr)) {\n // oxlint-disable-next-line typescript/require-array-sort-compare\n const sorted = attr.slice().sort();\n\n // Up to 5 items, we just add all of them\n if (sorted.length <= 5) {\n return sorted.join(', ');\n } else {\n // Else, we add the first 5 and the diff of other operations\n return `${sorted.slice(0, 5).join(', ')}, +${sorted.length - 5}`;\n }\n }\n\n return `${attr}`;\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"internal-types.js","sources":["../../../../../../src/integrations/tracing/graphql/vendored/internal-types.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * NOTICE from the Sentry authors:\n * - Vendored from: https://github.com/open-telemetry/opentelemetry-js-contrib/tree/15ef7506553f631ea4181391e0c5725a56f0d082/packages/instrumentation-graphql\n * - Upstream version: @opentelemetry/instrumentation-graphql@0.66.0\n * - Types from `graphql` package inlined as simplified interfaces\n * - Minor TypeScript strictness adjustments\n */\n/* eslint-disable */\n\nimport type * as api from '@opentelemetry/api';\nimport type {\n DocumentNode,\n ExecutionArgs,\n ExecutionResult,\n GraphQLError,\n GraphQLFieldResolver,\n GraphQLSchema,\n GraphQLTypeResolver,\n Maybe,\n ParseOptions,\n PromiseOrValue,\n Source,\n TypeInfo,\n ValidationRule,\n} from './graphql-types';\nimport { OTEL_GRAPHQL_DATA_SYMBOL, OTEL_PATCHED_SYMBOL } from './symbols';\n\nexport type { Maybe } from './graphql-types';\n\nexport const OPERATION_NOT_SUPPORTED = 'Operation$operationName$not' + ' supported';\n\nexport type executeFunctionWithObj = (args: ExecutionArgs) => PromiseOrValue<ExecutionResult>;\n\nexport type executeArgumentsArray = [\n GraphQLSchema,\n DocumentNode,\n any,\n any,\n Maybe<{ [key: string]: any }>,\n Maybe<string>,\n Maybe<GraphQLFieldResolver<any, any>>,\n Maybe<GraphQLTypeResolver<any, any>>,\n];\n\nexport type executeFunctionWithArgs = (\n schema: GraphQLSchema,\n document: DocumentNode,\n rootValue?: any,\n contextValue?: any,\n variableValues?: Maybe<{ [key: string]: any }>,\n operationName?: Maybe<string>,\n fieldResolver?: Maybe<GraphQLFieldResolver<any, any>>,\n typeResolver?: Maybe<GraphQLTypeResolver<any, any>>,\n) => PromiseOrValue<ExecutionResult>;\n\nexport interface OtelExecutionArgs {\n schema: GraphQLSchema;\n document: DocumentNode & ObjectWithGraphQLData;\n rootValue?: any;\n contextValue?: any & ObjectWithGraphQLData;\n variableValues?: Maybe<{ [key: string]: any }>;\n operationName?: Maybe<string>;\n fieldResolver?: Maybe<GraphQLFieldResolver<any, any> & OtelPatched>;\n typeResolver?: Maybe<GraphQLTypeResolver<any, any>>;\n}\n\nexport type executeType = executeFunctionWithObj | executeFunctionWithArgs;\n\nexport type parseType = (source: string | Source, options?: ParseOptions) => DocumentNode;\n\nexport type validateType = (\n schema: GraphQLSchema,\n documentAST: DocumentNode,\n rules?: ReadonlyArray<ValidationRule>,\n options?: { maxErrors?: number },\n typeInfo?: TypeInfo,\n) => ReadonlyArray<GraphQLError>;\n\nexport interface GraphQLField {\n span: api.Span;\n}\n\ninterface OtelGraphQLData {\n source?: any;\n span: api.Span;\n fields: { [key: string]: GraphQLField };\n}\n\nexport interface ObjectWithGraphQLData {\n [OTEL_GRAPHQL_DATA_SYMBOL]?: OtelGraphQLData;\n}\n\nexport interface OtelPatched {\n [OTEL_PATCHED_SYMBOL]?: boolean;\n}\n\nexport interface GraphQLPath {\n prev: GraphQLPath | undefined;\n key: string | number;\n /**\n * optional as it didn't exist yet in ver 14\n */\n typename?: string | undefined;\n}\n"],"names":[],"mappings":"AA2CO,MAAM,uBAAA,GAA0B;;;;"}
1
+ {"version":3,"file":"internal-types.js","sources":["../../../../../../src/integrations/tracing/graphql/vendored/internal-types.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-graphql\n * - Upstream version: @opentelemetry/instrumentation-graphql@0.66.0\n * - Types from `graphql` package inlined as simplified interfaces\n * - Minor TypeScript strictness adjustments\n */\n\nimport type { Span } from '@sentry/core';\nimport type {\n DocumentNode,\n ExecutionArgs,\n ExecutionResult,\n GraphQLError,\n GraphQLFieldResolver,\n GraphQLSchema,\n GraphQLTypeResolver,\n Maybe,\n ParseOptions,\n PromiseOrValue,\n Source,\n TypeInfo,\n ValidationRule,\n} from './graphql-types';\nimport type { OTEL_GRAPHQL_DATA_SYMBOL, OTEL_PATCHED_SYMBOL } from './symbols';\n\nexport type { Maybe } from './graphql-types';\n\nexport const OPERATION_NOT_SUPPORTED = 'Operation$operationName$not' + ' supported';\n\nexport type executeFunctionWithObj = (args: ExecutionArgs) => PromiseOrValue<ExecutionResult>;\n\nexport type executeArgumentsArray = [\n GraphQLSchema,\n DocumentNode,\n any,\n any,\n Maybe<{ [key: string]: any }>,\n Maybe<string>,\n Maybe<GraphQLFieldResolver<any, any>>,\n Maybe<GraphQLTypeResolver<any, any>>,\n];\n\nexport type executeFunctionWithArgs = (\n schema: GraphQLSchema,\n document: DocumentNode,\n rootValue?: any,\n contextValue?: any,\n variableValues?: Maybe<{ [key: string]: any }>,\n operationName?: Maybe<string>,\n fieldResolver?: Maybe<GraphQLFieldResolver<any, any>>,\n typeResolver?: Maybe<GraphQLTypeResolver<any, any>>,\n) => PromiseOrValue<ExecutionResult>;\n\nexport interface OtelExecutionArgs {\n schema: GraphQLSchema;\n document: DocumentNode & ObjectWithGraphQLData;\n rootValue?: any;\n contextValue?: any & ObjectWithGraphQLData;\n variableValues?: Maybe<{ [key: string]: any }>;\n operationName?: Maybe<string>;\n fieldResolver?: Maybe<GraphQLFieldResolver<any, any> & OtelPatched>;\n typeResolver?: Maybe<GraphQLTypeResolver<any, any>>;\n}\n\nexport type executeType = executeFunctionWithObj | executeFunctionWithArgs;\n\nexport type parseType = (source: string | Source, options?: ParseOptions) => DocumentNode;\n\nexport type validateType = (\n schema: GraphQLSchema,\n documentAST: DocumentNode,\n rules?: ReadonlyArray<ValidationRule>,\n options?: { maxErrors?: number },\n typeInfo?: TypeInfo,\n) => ReadonlyArray<GraphQLError>;\n\nexport interface GraphQLField {\n span: Span;\n}\n\ninterface OtelGraphQLData {\n source?: any;\n span: Span;\n fields: { [key: string]: GraphQLField };\n}\n\nexport interface ObjectWithGraphQLData {\n [OTEL_GRAPHQL_DATA_SYMBOL]?: OtelGraphQLData;\n}\n\nexport interface OtelPatched {\n [OTEL_PATCHED_SYMBOL]?: boolean;\n}\n\nexport interface GraphQLPath {\n prev: GraphQLPath | undefined;\n key: string | number;\n /**\n * optional as it didn't exist yet in ver 14\n */\n typename?: string | undefined;\n}\n"],"names":[],"mappings":"AA+BO,MAAM,uBAAA,GAA0B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.js","sources":["../../../../../../src/integrations/tracing/graphql/vendored/symbols.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * NOTICE from the Sentry authors:\n * - Vendored from: https://github.com/open-telemetry/opentelemetry-js-contrib/tree/15ef7506553f631ea4181391e0c5725a56f0d082/packages/instrumentation-graphql\n * - Upstream version: @opentelemetry/instrumentation-graphql@0.66.0\n */\n/* eslint-disable */\n\nexport const OTEL_PATCHED_SYMBOL = Symbol.for('opentelemetry.patched');\n\nexport const OTEL_GRAPHQL_DATA_SYMBOL = Symbol.for('opentelemetry.graphql_data');\n"],"names":[],"mappings":"AAqBO,MAAM,mBAAA,mBAAsB,MAAA,CAAO,GAAA,CAAI,uBAAuB;AAE9D,MAAM,wBAAA,mBAA2B,MAAA,CAAO,GAAA,CAAI,4BAA4B;;;;"}
1
+ {"version":3,"file":"symbols.js","sources":["../../../../../../src/integrations/tracing/graphql/vendored/symbols.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-graphql\n * - Upstream version: @opentelemetry/instrumentation-graphql@0.66.0\n */\n\nexport const OTEL_PATCHED_SYMBOL = Symbol.for('opentelemetry.patched');\n\nexport const OTEL_GRAPHQL_DATA_SYMBOL = Symbol.for('opentelemetry.graphql_data');\n"],"names":[],"mappings":"AASO,MAAM,mBAAA,mBAAsB,MAAA,CAAO,GAAA,CAAI,uBAAuB;AAE9D,MAAM,wBAAA,mBAA2B,MAAA,CAAO,GAAA,CAAI,4BAA4B;;;;"}