@sentry/node 10.60.0 → 10.62.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 (182) 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 +8 -17
  4. package/build/cjs/integrations/fs/index.js.map +1 -1
  5. package/build/cjs/integrations/fs/vendored/instrumentation.js +110 -161
  6. package/build/cjs/integrations/fs/vendored/instrumentation.js.map +1 -1
  7. package/build/cjs/integrations/node-fetch/vendored/undici.js +1 -2
  8. package/build/cjs/integrations/node-fetch/vendored/undici.js.map +1 -1
  9. package/build/cjs/integrations/tracing/amqplib/index.js +2 -10
  10. package/build/cjs/integrations/tracing/amqplib/index.js.map +1 -1
  11. package/build/cjs/integrations/tracing/amqplib/vendored/instrumentation.js +117 -0
  12. package/build/cjs/integrations/tracing/amqplib/vendored/instrumentation.js.map +1 -0
  13. package/build/cjs/integrations/tracing/amqplib/vendored/patches.js +185 -0
  14. package/build/cjs/integrations/tracing/amqplib/vendored/patches.js.map +1 -0
  15. package/build/cjs/integrations/tracing/amqplib/vendored/semconv.js +21 -1
  16. package/build/cjs/integrations/tracing/amqplib/vendored/semconv.js.map +1 -1
  17. package/build/cjs/integrations/tracing/amqplib/vendored/types.js +0 -6
  18. package/build/cjs/integrations/tracing/amqplib/vendored/types.js.map +1 -1
  19. package/build/cjs/integrations/tracing/amqplib/vendored/utils.js +71 -80
  20. package/build/cjs/integrations/tracing/amqplib/vendored/utils.js.map +1 -1
  21. package/build/cjs/integrations/tracing/dataloader/vendored/instrumentation.js +5 -6
  22. package/build/cjs/integrations/tracing/dataloader/vendored/instrumentation.js.map +1 -1
  23. package/build/cjs/integrations/tracing/firebase/firebase.js +1 -24
  24. package/build/cjs/integrations/tracing/firebase/firebase.js.map +1 -1
  25. package/build/cjs/integrations/tracing/firebase/otel/firebaseInstrumentation.js +3 -11
  26. package/build/cjs/integrations/tracing/firebase/otel/firebaseInstrumentation.js.map +1 -1
  27. package/build/cjs/integrations/tracing/firebase/otel/patches/firestore.js +33 -72
  28. package/build/cjs/integrations/tracing/firebase/otel/patches/firestore.js.map +1 -1
  29. package/build/cjs/integrations/tracing/firebase/otel/patches/functions.js +46 -105
  30. package/build/cjs/integrations/tracing/firebase/otel/patches/functions.js.map +1 -1
  31. package/build/cjs/integrations/tracing/kafka/vendored/utils.js +2 -2
  32. package/build/cjs/integrations/tracing/kafka/vendored/utils.js.map +1 -1
  33. package/build/cjs/integrations/tracing/knex/vendored/instrumentation.js +1 -2
  34. package/build/cjs/integrations/tracing/knex/vendored/instrumentation.js.map +1 -1
  35. package/build/cjs/integrations/tracing/mongo/vendored/utils.js +1 -2
  36. package/build/cjs/integrations/tracing/mongo/vendored/utils.js.map +1 -1
  37. package/build/cjs/integrations/tracing/mongoose/vendored/mongoose.js +1 -2
  38. package/build/cjs/integrations/tracing/mongoose/vendored/mongoose.js.map +1 -1
  39. package/build/cjs/integrations/tracing/mysql2/vendored/instrumentation.js +1 -2
  40. package/build/cjs/integrations/tracing/mysql2/vendored/instrumentation.js.map +1 -1
  41. package/build/cjs/integrations/tracing/postgres/vendored/instrumentation.js +2 -3
  42. package/build/cjs/integrations/tracing/postgres/vendored/instrumentation.js.map +1 -1
  43. package/build/cjs/integrations/tracing/postgres/vendored/utils.js +1 -2
  44. package/build/cjs/integrations/tracing/postgres/vendored/utils.js.map +1 -1
  45. package/build/cjs/integrations/tracing/redis/index.js +6 -2
  46. package/build/cjs/integrations/tracing/redis/index.js.map +1 -1
  47. package/build/cjs/integrations/tracing/redis/vendored/ioredis-instrumentation.js +2 -3
  48. package/build/cjs/integrations/tracing/redis/vendored/ioredis-instrumentation.js.map +1 -1
  49. package/build/cjs/integrations/tracing/redis/vendored/redis-instrumentation.js +3 -4
  50. package/build/cjs/integrations/tracing/redis/vendored/redis-instrumentation.js.map +1 -1
  51. package/build/cjs/integrations/tracing/tedious/vendored/instrumentation.js +1 -2
  52. package/build/cjs/integrations/tracing/tedious/vendored/instrumentation.js.map +1 -1
  53. package/build/cjs/integrations/tracing/vercelai/index.js +3 -0
  54. package/build/cjs/integrations/tracing/vercelai/index.js.map +1 -1
  55. package/build/esm/index.js +1 -1
  56. package/build/esm/integrations/fs/index.js +9 -18
  57. package/build/esm/integrations/fs/index.js.map +1 -1
  58. package/build/esm/integrations/fs/vendored/instrumentation.js +111 -162
  59. package/build/esm/integrations/fs/vendored/instrumentation.js.map +1 -1
  60. package/build/esm/integrations/node-fetch/vendored/undici.js +2 -3
  61. package/build/esm/integrations/node-fetch/vendored/undici.js.map +1 -1
  62. package/build/esm/integrations/tracing/amqplib/index.js +3 -11
  63. package/build/esm/integrations/tracing/amqplib/index.js.map +1 -1
  64. package/build/esm/integrations/tracing/amqplib/vendored/instrumentation.js +115 -0
  65. package/build/esm/integrations/tracing/amqplib/vendored/instrumentation.js.map +1 -0
  66. package/build/esm/integrations/tracing/amqplib/vendored/patches.js +177 -0
  67. package/build/esm/integrations/tracing/amqplib/vendored/patches.js.map +1 -0
  68. package/build/esm/integrations/tracing/amqplib/vendored/semconv.js +12 -2
  69. package/build/esm/integrations/tracing/amqplib/vendored/semconv.js.map +1 -1
  70. package/build/esm/integrations/tracing/amqplib/vendored/types.js +1 -6
  71. package/build/esm/integrations/tracing/amqplib/vendored/types.js.map +1 -1
  72. package/build/esm/integrations/tracing/amqplib/vendored/utils.js +68 -78
  73. package/build/esm/integrations/tracing/amqplib/vendored/utils.js.map +1 -1
  74. package/build/esm/integrations/tracing/dataloader/vendored/instrumentation.js +6 -7
  75. package/build/esm/integrations/tracing/dataloader/vendored/instrumentation.js.map +1 -1
  76. package/build/esm/integrations/tracing/firebase/firebase.js +3 -26
  77. package/build/esm/integrations/tracing/firebase/firebase.js.map +1 -1
  78. package/build/esm/integrations/tracing/firebase/otel/firebaseInstrumentation.js +3 -11
  79. package/build/esm/integrations/tracing/firebase/otel/firebaseInstrumentation.js.map +1 -1
  80. package/build/esm/integrations/tracing/firebase/otel/patches/firestore.js +34 -73
  81. package/build/esm/integrations/tracing/firebase/otel/patches/firestore.js.map +1 -1
  82. package/build/esm/integrations/tracing/firebase/otel/patches/functions.js +47 -106
  83. package/build/esm/integrations/tracing/firebase/otel/patches/functions.js.map +1 -1
  84. package/build/esm/integrations/tracing/kafka/vendored/utils.js +4 -4
  85. package/build/esm/integrations/tracing/kafka/vendored/utils.js.map +1 -1
  86. package/build/esm/integrations/tracing/knex/vendored/instrumentation.js +2 -3
  87. package/build/esm/integrations/tracing/knex/vendored/instrumentation.js.map +1 -1
  88. package/build/esm/integrations/tracing/mongo/vendored/utils.js +2 -3
  89. package/build/esm/integrations/tracing/mongo/vendored/utils.js.map +1 -1
  90. package/build/esm/integrations/tracing/mongoose/vendored/mongoose.js +2 -3
  91. package/build/esm/integrations/tracing/mongoose/vendored/mongoose.js.map +1 -1
  92. package/build/esm/integrations/tracing/mysql2/vendored/instrumentation.js +2 -3
  93. package/build/esm/integrations/tracing/mysql2/vendored/instrumentation.js.map +1 -1
  94. package/build/esm/integrations/tracing/postgres/vendored/instrumentation.js +3 -4
  95. package/build/esm/integrations/tracing/postgres/vendored/instrumentation.js.map +1 -1
  96. package/build/esm/integrations/tracing/postgres/vendored/utils.js +2 -3
  97. package/build/esm/integrations/tracing/postgres/vendored/utils.js.map +1 -1
  98. package/build/esm/integrations/tracing/redis/index.js +6 -2
  99. package/build/esm/integrations/tracing/redis/index.js.map +1 -1
  100. package/build/esm/integrations/tracing/redis/vendored/ioredis-instrumentation.js +3 -4
  101. package/build/esm/integrations/tracing/redis/vendored/ioredis-instrumentation.js.map +1 -1
  102. package/build/esm/integrations/tracing/redis/vendored/redis-instrumentation.js +4 -5
  103. package/build/esm/integrations/tracing/redis/vendored/redis-instrumentation.js.map +1 -1
  104. package/build/esm/integrations/tracing/tedious/vendored/instrumentation.js +2 -3
  105. package/build/esm/integrations/tracing/tedious/vendored/instrumentation.js.map +1 -1
  106. package/build/esm/integrations/tracing/vercelai/index.js +3 -0
  107. package/build/esm/integrations/tracing/vercelai/index.js.map +1 -1
  108. package/build/esm/package.json +1 -1
  109. package/build/types/index.d.ts +1 -1
  110. package/build/types/index.d.ts.map +1 -1
  111. package/build/types/integrations/fs/index.d.ts +2 -14
  112. package/build/types/integrations/fs/index.d.ts.map +1 -1
  113. package/build/types/integrations/fs/vendored/instrumentation.d.ts +2 -10
  114. package/build/types/integrations/fs/vendored/instrumentation.d.ts.map +1 -1
  115. package/build/types/integrations/fs/vendored/types.d.ts +1 -2
  116. package/build/types/integrations/fs/vendored/types.d.ts.map +1 -1
  117. package/build/types/integrations/node-fetch/vendored/undici.d.ts.map +1 -1
  118. package/build/types/integrations/tracing/amqplib/index.d.ts +1 -1
  119. package/build/types/integrations/tracing/amqplib/index.d.ts.map +1 -1
  120. package/build/types/integrations/tracing/amqplib/vendored/instrumentation.d.ts +11 -0
  121. package/build/types/integrations/tracing/amqplib/vendored/instrumentation.d.ts.map +1 -0
  122. package/build/types/integrations/tracing/amqplib/vendored/patches.d.ts +11 -0
  123. package/build/types/integrations/tracing/amqplib/vendored/patches.d.ts.map +1 -0
  124. package/build/types/integrations/tracing/amqplib/vendored/semconv.d.ts +25 -37
  125. package/build/types/integrations/tracing/amqplib/vendored/semconv.d.ts.map +1 -1
  126. package/build/types/integrations/tracing/amqplib/vendored/types.d.ts +0 -81
  127. package/build/types/integrations/tracing/amqplib/vendored/types.d.ts.map +1 -1
  128. package/build/types/integrations/tracing/amqplib/vendored/utils.d.ts +16 -9
  129. package/build/types/integrations/tracing/amqplib/vendored/utils.d.ts.map +1 -1
  130. package/build/types/integrations/tracing/dataloader/vendored/instrumentation.d.ts.map +1 -1
  131. package/build/types/integrations/tracing/firebase/firebase.d.ts.map +1 -1
  132. package/build/types/integrations/tracing/firebase/otel/firebaseInstrumentation.d.ts +4 -9
  133. package/build/types/integrations/tracing/firebase/otel/firebaseInstrumentation.d.ts.map +1 -1
  134. package/build/types/integrations/tracing/firebase/otel/patches/firestore.d.ts +2 -5
  135. package/build/types/integrations/tracing/firebase/otel/patches/firestore.d.ts.map +1 -1
  136. package/build/types/integrations/tracing/firebase/otel/patches/functions.d.ts +3 -8
  137. package/build/types/integrations/tracing/firebase/otel/patches/functions.d.ts.map +1 -1
  138. package/build/types/integrations/tracing/firebase/otel/types.d.ts +0 -20
  139. package/build/types/integrations/tracing/firebase/otel/types.d.ts.map +1 -1
  140. package/build/types/integrations/tracing/kafka/vendored/utils.d.ts.map +1 -1
  141. package/build/types/integrations/tracing/knex/vendored/instrumentation.d.ts.map +1 -1
  142. package/build/types/integrations/tracing/mongo/vendored/utils.d.ts.map +1 -1
  143. package/build/types/integrations/tracing/mongoose/vendored/mongoose.d.ts.map +1 -1
  144. package/build/types/integrations/tracing/mysql2/vendored/instrumentation.d.ts.map +1 -1
  145. package/build/types/integrations/tracing/postgres/vendored/instrumentation.d.ts.map +1 -1
  146. package/build/types/integrations/tracing/postgres/vendored/utils.d.ts.map +1 -1
  147. package/build/types/integrations/tracing/redis/index.d.ts.map +1 -1
  148. package/build/types/integrations/tracing/redis/vendored/ioredis-instrumentation.d.ts.map +1 -1
  149. package/build/types/integrations/tracing/redis/vendored/redis-instrumentation.d.ts.map +1 -1
  150. package/build/types/integrations/tracing/tedious/vendored/instrumentation.d.ts.map +1 -1
  151. package/build/types/integrations/tracing/vercelai/index.d.ts +0 -1
  152. package/build/types/integrations/tracing/vercelai/index.d.ts.map +1 -1
  153. package/build/types-ts3.8/index.d.ts +1 -1
  154. package/build/types-ts3.8/integrations/fs/index.d.ts +2 -14
  155. package/build/types-ts3.8/integrations/fs/vendored/instrumentation.d.ts +2 -10
  156. package/build/types-ts3.8/integrations/fs/vendored/types.d.ts +1 -2
  157. package/build/types-ts3.8/integrations/tracing/amqplib/index.d.ts +1 -1
  158. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/instrumentation.d.ts +11 -0
  159. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/patches.d.ts +11 -0
  160. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/semconv.d.ts +25 -37
  161. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/types.d.ts +0 -81
  162. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/utils.d.ts +16 -9
  163. package/build/types-ts3.8/integrations/tracing/firebase/otel/firebaseInstrumentation.d.ts +4 -9
  164. package/build/types-ts3.8/integrations/tracing/firebase/otel/patches/firestore.d.ts +2 -5
  165. package/build/types-ts3.8/integrations/tracing/firebase/otel/patches/functions.d.ts +3 -8
  166. package/build/types-ts3.8/integrations/tracing/firebase/otel/types.d.ts +0 -20
  167. package/build/types-ts3.8/integrations/tracing/vercelai/index.d.ts +0 -1
  168. package/package.json +5 -5
  169. package/build/cjs/integrations/tracing/amqplib/vendored/amqplib.js +0 -452
  170. package/build/cjs/integrations/tracing/amqplib/vendored/amqplib.js.map +0 -1
  171. package/build/cjs/integrations/tracing/amqplib/vendored/semconv-obsolete.js +0 -24
  172. package/build/cjs/integrations/tracing/amqplib/vendored/semconv-obsolete.js.map +0 -1
  173. package/build/esm/integrations/tracing/amqplib/vendored/amqplib.js +0 -450
  174. package/build/esm/integrations/tracing/amqplib/vendored/amqplib.js.map +0 -1
  175. package/build/esm/integrations/tracing/amqplib/vendored/semconv-obsolete.js +0 -13
  176. package/build/esm/integrations/tracing/amqplib/vendored/semconv-obsolete.js.map +0 -1
  177. package/build/types/integrations/tracing/amqplib/vendored/amqplib.d.ts +0 -26
  178. package/build/types/integrations/tracing/amqplib/vendored/amqplib.d.ts.map +0 -1
  179. package/build/types/integrations/tracing/amqplib/vendored/semconv-obsolete.d.ts +0 -63
  180. package/build/types/integrations/tracing/amqplib/vendored/semconv-obsolete.d.ts.map +0 -1
  181. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/amqplib.d.ts +0 -26
  182. package/build/types-ts3.8/integrations/tracing/amqplib/vendored/semconv-obsolete.d.ts +0 -63
@@ -1,450 +0,0 @@
1
- import { diag, context, trace, SpanKind, propagation, SpanStatusCode, ROOT_CONTEXT } from '@opentelemetry/api';
2
- import { SDK_VERSION, timestampInSeconds } from '@sentry/core';
3
- import { InstrumentationBase, semconvStabilityFromStr, InstrumentationNodeModuleDefinition, isWrapped, safeExecuteInTheMiddle } from '@opentelemetry/instrumentation';
4
- import { InstrumentationNodeModuleFile } from '../../InstrumentationNodeModuleFile.js';
5
- import { ATTR_MESSAGING_OPERATION } from './semconv.js';
6
- import { MESSAGING_DESTINATION_KIND_VALUE_TOPIC, ATTR_MESSAGING_CONVERSATION_ID, OLD_ATTR_MESSAGING_MESSAGE_ID, ATTR_MESSAGING_RABBITMQ_ROUTING_KEY, ATTR_MESSAGING_DESTINATION_KIND, ATTR_MESSAGING_DESTINATION, MESSAGING_OPERATION_VALUE_PROCESS } from './semconv-obsolete.js';
7
- import { DEFAULT_CONFIG, EndOperation } from './types.js';
8
- import { getConnectionAttributesFromUrl, getConnectionAttributesFromServer, CONNECTION_ATTRIBUTES, CHANNEL_CONSUME_TIMEOUT_TIMER, CHANNEL_SPANS_NOT_ENDED, markConfirmChannelTracing, unmarkConfirmChannelTracing, isConfirmChannelTracing, MESSAGE_STORED_SPAN, normalizeExchange } from './utils.js';
9
-
10
- const PACKAGE_NAME = "@sentry/instrumentation-amqplib";
11
- const supportedVersions = [">=0.5.5 <2"];
12
- class AmqplibInstrumentation extends InstrumentationBase {
13
- constructor(config = {}) {
14
- super(PACKAGE_NAME, SDK_VERSION, { ...DEFAULT_CONFIG, ...config });
15
- this._setSemconvStabilityFromEnv();
16
- }
17
- // Used for testing.
18
- _setSemconvStabilityFromEnv() {
19
- this._netSemconvStability = semconvStabilityFromStr("http", process.env.OTEL_SEMCONV_STABILITY_OPT_IN);
20
- }
21
- setConfig(config = {}) {
22
- super.setConfig({ ...DEFAULT_CONFIG, ...config });
23
- }
24
- init() {
25
- const channelModelModuleFile = new InstrumentationNodeModuleFile(
26
- "amqplib/lib/channel_model.js",
27
- supportedVersions,
28
- this.patchChannelModel.bind(this),
29
- this.unpatchChannelModel.bind(this)
30
- );
31
- const callbackModelModuleFile = new InstrumentationNodeModuleFile(
32
- "amqplib/lib/callback_model.js",
33
- supportedVersions,
34
- this.patchChannelModel.bind(this),
35
- this.unpatchChannelModel.bind(this)
36
- );
37
- const connectModuleFile = new InstrumentationNodeModuleFile(
38
- "amqplib/lib/connect.js",
39
- supportedVersions,
40
- this.patchConnect.bind(this),
41
- this.unpatchConnect.bind(this)
42
- );
43
- const module = new InstrumentationNodeModuleDefinition("amqplib", supportedVersions, void 0, void 0, [
44
- channelModelModuleFile,
45
- connectModuleFile,
46
- callbackModelModuleFile
47
- ]);
48
- return module;
49
- }
50
- patchConnect(moduleExports) {
51
- moduleExports = this.unpatchConnect(moduleExports);
52
- if (!isWrapped(moduleExports.connect)) {
53
- this._wrap(moduleExports, "connect", this.getConnectPatch.bind(this));
54
- }
55
- return moduleExports;
56
- }
57
- unpatchConnect(moduleExports) {
58
- if (isWrapped(moduleExports.connect)) {
59
- this._unwrap(moduleExports, "connect");
60
- }
61
- return moduleExports;
62
- }
63
- patchChannelModel(moduleExports, moduleVersion) {
64
- if (!isWrapped(moduleExports.Channel.prototype.publish)) {
65
- this._wrap(moduleExports.Channel.prototype, "publish", this.getPublishPatch.bind(this, moduleVersion));
66
- }
67
- if (!isWrapped(moduleExports.Channel.prototype.consume)) {
68
- this._wrap(moduleExports.Channel.prototype, "consume", this.getConsumePatch.bind(this, moduleVersion));
69
- }
70
- if (!isWrapped(moduleExports.Channel.prototype.ack)) {
71
- this._wrap(moduleExports.Channel.prototype, "ack", this.getAckPatch.bind(this, false, EndOperation.Ack));
72
- }
73
- if (!isWrapped(moduleExports.Channel.prototype.nack)) {
74
- this._wrap(moduleExports.Channel.prototype, "nack", this.getAckPatch.bind(this, true, EndOperation.Nack));
75
- }
76
- if (!isWrapped(moduleExports.Channel.prototype.reject)) {
77
- this._wrap(moduleExports.Channel.prototype, "reject", this.getAckPatch.bind(this, true, EndOperation.Reject));
78
- }
79
- if (!isWrapped(moduleExports.Channel.prototype.ackAll)) {
80
- this._wrap(moduleExports.Channel.prototype, "ackAll", this.getAckAllPatch.bind(this, false, EndOperation.AckAll));
81
- }
82
- if (!isWrapped(moduleExports.Channel.prototype.nackAll)) {
83
- this._wrap(
84
- moduleExports.Channel.prototype,
85
- "nackAll",
86
- this.getAckAllPatch.bind(this, true, EndOperation.NackAll)
87
- );
88
- }
89
- if (!isWrapped(moduleExports.Channel.prototype.emit)) {
90
- this._wrap(moduleExports.Channel.prototype, "emit", this.getChannelEmitPatch.bind(this));
91
- }
92
- if (!isWrapped(moduleExports.ConfirmChannel.prototype.publish)) {
93
- this._wrap(
94
- moduleExports.ConfirmChannel.prototype,
95
- "publish",
96
- this.getConfirmedPublishPatch.bind(this, moduleVersion)
97
- );
98
- }
99
- return moduleExports;
100
- }
101
- unpatchChannelModel(moduleExports) {
102
- if (isWrapped(moduleExports.Channel.prototype.publish)) {
103
- this._unwrap(moduleExports.Channel.prototype, "publish");
104
- }
105
- if (isWrapped(moduleExports.Channel.prototype.consume)) {
106
- this._unwrap(moduleExports.Channel.prototype, "consume");
107
- }
108
- if (isWrapped(moduleExports.Channel.prototype.ack)) {
109
- this._unwrap(moduleExports.Channel.prototype, "ack");
110
- }
111
- if (isWrapped(moduleExports.Channel.prototype.nack)) {
112
- this._unwrap(moduleExports.Channel.prototype, "nack");
113
- }
114
- if (isWrapped(moduleExports.Channel.prototype.reject)) {
115
- this._unwrap(moduleExports.Channel.prototype, "reject");
116
- }
117
- if (isWrapped(moduleExports.Channel.prototype.ackAll)) {
118
- this._unwrap(moduleExports.Channel.prototype, "ackAll");
119
- }
120
- if (isWrapped(moduleExports.Channel.prototype.nackAll)) {
121
- this._unwrap(moduleExports.Channel.prototype, "nackAll");
122
- }
123
- if (isWrapped(moduleExports.Channel.prototype.emit)) {
124
- this._unwrap(moduleExports.Channel.prototype, "emit");
125
- }
126
- if (isWrapped(moduleExports.ConfirmChannel.prototype.publish)) {
127
- this._unwrap(moduleExports.ConfirmChannel.prototype, "publish");
128
- }
129
- return moduleExports;
130
- }
131
- getConnectPatch(original) {
132
- const self = this;
133
- return function patchedConnect(url, socketOptions, openCallback) {
134
- return original.call(
135
- this,
136
- url,
137
- socketOptions,
138
- function(err, conn) {
139
- if (err == null) {
140
- const urlAttributes = getConnectionAttributesFromUrl(url, self._netSemconvStability);
141
- const serverAttributes = getConnectionAttributesFromServer(conn);
142
- conn[CONNECTION_ATTRIBUTES] = {
143
- ...urlAttributes,
144
- ...serverAttributes
145
- };
146
- }
147
- openCallback.apply(this, arguments);
148
- }
149
- );
150
- };
151
- }
152
- getChannelEmitPatch(original) {
153
- const self = this;
154
- return function emit(eventName) {
155
- if (eventName === "close") {
156
- self.endAllSpansOnChannel(this, true, EndOperation.ChannelClosed, void 0);
157
- const activeTimer = this[CHANNEL_CONSUME_TIMEOUT_TIMER];
158
- if (activeTimer) {
159
- clearInterval(activeTimer);
160
- }
161
- this[CHANNEL_CONSUME_TIMEOUT_TIMER] = void 0;
162
- } else if (eventName === "error") {
163
- self.endAllSpansOnChannel(this, true, EndOperation.ChannelError, void 0);
164
- }
165
- return original.apply(this, arguments);
166
- };
167
- }
168
- getAckAllPatch(isRejected, endOperation, original) {
169
- const self = this;
170
- return function ackAll(requeueOrEmpty) {
171
- self.endAllSpansOnChannel(this, isRejected, endOperation, requeueOrEmpty);
172
- return original.apply(this, arguments);
173
- };
174
- }
175
- getAckPatch(isRejected, endOperation, original) {
176
- const self = this;
177
- return function ack(message, allUpToOrRequeue, requeue) {
178
- const channel = this;
179
- const requeueResolved = endOperation === EndOperation.Reject ? allUpToOrRequeue : requeue;
180
- const spansNotEnded = channel[CHANNEL_SPANS_NOT_ENDED] ?? [];
181
- const msgIndex = spansNotEnded.findIndex((msgDetails) => msgDetails.msg === message);
182
- if (msgIndex < 0) {
183
- self.endConsumerSpan(message, isRejected, endOperation, requeueResolved);
184
- } else if (endOperation !== EndOperation.Reject && allUpToOrRequeue) {
185
- for (let i = 0; i <= msgIndex; i++) {
186
- self.endConsumerSpan(spansNotEnded[i].msg, isRejected, endOperation, requeueResolved);
187
- }
188
- spansNotEnded.splice(0, msgIndex + 1);
189
- } else {
190
- self.endConsumerSpan(message, isRejected, endOperation, requeueResolved);
191
- spansNotEnded.splice(msgIndex, 1);
192
- }
193
- return original.apply(this, arguments);
194
- };
195
- }
196
- getConsumePatch(moduleVersion, original) {
197
- const self = this;
198
- return function consume(queue, onMessage, options) {
199
- const channel = this;
200
- if (!Object.prototype.hasOwnProperty.call(channel, CHANNEL_SPANS_NOT_ENDED)) {
201
- const { consumeTimeoutMs } = self.getConfig();
202
- if (consumeTimeoutMs) {
203
- const timer = setInterval(() => {
204
- self.checkConsumeTimeoutOnChannel(channel);
205
- }, consumeTimeoutMs);
206
- timer.unref();
207
- channel[CHANNEL_CONSUME_TIMEOUT_TIMER] = timer;
208
- }
209
- channel[CHANNEL_SPANS_NOT_ENDED] = [];
210
- }
211
- const patchedOnMessage = function(msg) {
212
- if (!msg) {
213
- return onMessage.call(this, msg);
214
- }
215
- const headers = msg.properties.headers ?? {};
216
- let parentContext = propagation.extract(ROOT_CONTEXT, headers);
217
- const exchange = msg.fields?.exchange;
218
- let links;
219
- if (self._config.useLinksForConsume) {
220
- const parentSpanContext = parentContext ? trace.getSpan(parentContext)?.spanContext() : void 0;
221
- parentContext = void 0;
222
- if (parentSpanContext) {
223
- links = [
224
- {
225
- context: parentSpanContext
226
- }
227
- ];
228
- }
229
- }
230
- const span = self.tracer.startSpan(
231
- `${queue} process`,
232
- {
233
- kind: SpanKind.CONSUMER,
234
- attributes: {
235
- ...channel?.connection?.[CONNECTION_ATTRIBUTES],
236
- [ATTR_MESSAGING_DESTINATION]: exchange,
237
- [ATTR_MESSAGING_DESTINATION_KIND]: MESSAGING_DESTINATION_KIND_VALUE_TOPIC,
238
- [ATTR_MESSAGING_RABBITMQ_ROUTING_KEY]: msg.fields?.routingKey,
239
- [ATTR_MESSAGING_OPERATION]: MESSAGING_OPERATION_VALUE_PROCESS,
240
- [OLD_ATTR_MESSAGING_MESSAGE_ID]: msg?.properties.messageId,
241
- [ATTR_MESSAGING_CONVERSATION_ID]: msg?.properties.correlationId
242
- },
243
- links
244
- },
245
- parentContext
246
- );
247
- const { consumeHook } = self.getConfig();
248
- if (consumeHook) {
249
- safeExecuteInTheMiddle(
250
- () => consumeHook(span, { moduleVersion, msg }),
251
- (e) => {
252
- if (e) {
253
- diag.error("amqplib instrumentation: consumerHook error", e);
254
- }
255
- },
256
- true
257
- );
258
- }
259
- if (!options?.noAck) {
260
- channel[CHANNEL_SPANS_NOT_ENDED].push({
261
- msg,
262
- timeOfConsume: timestampInSeconds()
263
- });
264
- msg[MESSAGE_STORED_SPAN] = span;
265
- }
266
- const setContext = parentContext ? parentContext : ROOT_CONTEXT;
267
- context.with(trace.setSpan(setContext, span), () => {
268
- onMessage.call(this, msg);
269
- });
270
- if (options?.noAck) {
271
- self.callConsumeEndHook(span, msg, false, EndOperation.AutoAck);
272
- span.end();
273
- }
274
- };
275
- arguments[1] = patchedOnMessage;
276
- return original.apply(this, arguments);
277
- };
278
- }
279
- getConfirmedPublishPatch(moduleVersion, original) {
280
- const self = this;
281
- return function confirmedPublish(exchange, routingKey, content, options, callback) {
282
- const channel = this;
283
- const { span, modifiedOptions } = self.createPublishSpan(self, exchange, routingKey, channel, options);
284
- const { publishHook } = self.getConfig();
285
- if (publishHook) {
286
- safeExecuteInTheMiddle(
287
- () => publishHook(span, {
288
- moduleVersion,
289
- exchange,
290
- routingKey,
291
- content,
292
- options: modifiedOptions,
293
- isConfirmChannel: true
294
- }),
295
- (e) => {
296
- if (e) {
297
- diag.error("amqplib instrumentation: publishHook error", e);
298
- }
299
- },
300
- true
301
- );
302
- }
303
- const patchedOnConfirm = function(err, ok) {
304
- try {
305
- callback?.call(this, err, ok);
306
- } finally {
307
- const { publishConfirmHook } = self.getConfig();
308
- if (publishConfirmHook) {
309
- safeExecuteInTheMiddle(
310
- () => publishConfirmHook(span, {
311
- moduleVersion,
312
- exchange,
313
- routingKey,
314
- content,
315
- options,
316
- isConfirmChannel: true,
317
- confirmError: err
318
- }),
319
- (e) => {
320
- if (e) {
321
- diag.error("amqplib instrumentation: publishConfirmHook error", e);
322
- }
323
- },
324
- true
325
- );
326
- }
327
- if (err) {
328
- span.setStatus({
329
- code: SpanStatusCode.ERROR,
330
- message: "message confirmation has been nack'ed"
331
- });
332
- }
333
- span.end();
334
- }
335
- };
336
- const markedContext = markConfirmChannelTracing(context.active());
337
- const argumentsCopy = [...arguments];
338
- argumentsCopy[3] = modifiedOptions;
339
- argumentsCopy[4] = context.bind(
340
- unmarkConfirmChannelTracing(trace.setSpan(markedContext, span)),
341
- patchedOnConfirm
342
- );
343
- return context.with(markedContext, original.bind(this, ...argumentsCopy));
344
- };
345
- }
346
- getPublishPatch(moduleVersion, original) {
347
- const self = this;
348
- return function publish(exchange, routingKey, content, options) {
349
- if (isConfirmChannelTracing(context.active())) {
350
- return original.apply(this, arguments);
351
- } else {
352
- const channel = this;
353
- const { span, modifiedOptions } = self.createPublishSpan(self, exchange, routingKey, channel, options);
354
- const { publishHook } = self.getConfig();
355
- if (publishHook) {
356
- safeExecuteInTheMiddle(
357
- () => publishHook(span, {
358
- moduleVersion,
359
- exchange,
360
- routingKey,
361
- content,
362
- options: modifiedOptions,
363
- isConfirmChannel: false
364
- }),
365
- (e) => {
366
- if (e) {
367
- diag.error("amqplib instrumentation: publishHook error", e);
368
- }
369
- },
370
- true
371
- );
372
- }
373
- const argumentsCopy = [...arguments];
374
- argumentsCopy[3] = modifiedOptions;
375
- const originalRes = original.apply(this, argumentsCopy);
376
- span.end();
377
- return originalRes;
378
- }
379
- };
380
- }
381
- createPublishSpan(self, exchange, routingKey, channel, options) {
382
- const normalizedExchange = normalizeExchange(exchange);
383
- const span = self.tracer.startSpan(`publish ${normalizedExchange}`, {
384
- kind: SpanKind.PRODUCER,
385
- attributes: {
386
- ...channel.connection[CONNECTION_ATTRIBUTES],
387
- [ATTR_MESSAGING_DESTINATION]: exchange,
388
- [ATTR_MESSAGING_DESTINATION_KIND]: MESSAGING_DESTINATION_KIND_VALUE_TOPIC,
389
- [ATTR_MESSAGING_RABBITMQ_ROUTING_KEY]: routingKey,
390
- [OLD_ATTR_MESSAGING_MESSAGE_ID]: options?.messageId,
391
- [ATTR_MESSAGING_CONVERSATION_ID]: options?.correlationId
392
- }
393
- });
394
- const modifiedOptions = options ?? {};
395
- modifiedOptions.headers = modifiedOptions.headers ?? {};
396
- propagation.inject(trace.setSpan(context.active(), span), modifiedOptions.headers);
397
- return { span, modifiedOptions };
398
- }
399
- endConsumerSpan(message, isRejected, operation, requeue) {
400
- const storedSpan = message[MESSAGE_STORED_SPAN];
401
- if (!storedSpan) return;
402
- if (isRejected !== false) {
403
- storedSpan.setStatus({
404
- code: SpanStatusCode.ERROR,
405
- message: operation !== EndOperation.ChannelClosed && operation !== EndOperation.ChannelError ? `${operation} called on message${requeue === true ? " with requeue" : requeue === false ? " without requeue" : ""}` : operation
406
- });
407
- }
408
- this.callConsumeEndHook(storedSpan, message, isRejected, operation);
409
- storedSpan.end();
410
- message[MESSAGE_STORED_SPAN] = void 0;
411
- }
412
- endAllSpansOnChannel(channel, isRejected, operation, requeue) {
413
- const spansNotEnded = channel[CHANNEL_SPANS_NOT_ENDED] ?? [];
414
- spansNotEnded.forEach((msgDetails) => {
415
- this.endConsumerSpan(msgDetails.msg, isRejected, operation, requeue);
416
- });
417
- channel[CHANNEL_SPANS_NOT_ENDED] = [];
418
- }
419
- callConsumeEndHook(span, msg, rejected, endOperation) {
420
- const { consumeEndHook } = this.getConfig();
421
- if (!consumeEndHook) return;
422
- safeExecuteInTheMiddle(
423
- () => consumeEndHook(span, { msg, rejected, endOperation }),
424
- (e) => {
425
- if (e) {
426
- diag.error("amqplib instrumentation: consumerEndHook error", e);
427
- }
428
- },
429
- true
430
- );
431
- }
432
- checkConsumeTimeoutOnChannel(channel) {
433
- const currentTime = timestampInSeconds();
434
- const spansNotEnded = channel[CHANNEL_SPANS_NOT_ENDED] ?? [];
435
- let i;
436
- const { consumeTimeoutMs } = this.getConfig();
437
- for (i = 0; i < spansNotEnded.length; i++) {
438
- const currMessage = spansNotEnded[i];
439
- const timeFromConsumeMs = (currentTime - currMessage.timeOfConsume) * 1e3;
440
- if (timeFromConsumeMs < consumeTimeoutMs) {
441
- break;
442
- }
443
- this.endConsumerSpan(currMessage.msg, null, EndOperation.InstrumentationTimeout, true);
444
- }
445
- spansNotEnded.splice(0, i);
446
- }
447
- }
448
-
449
- export { AmqplibInstrumentation };
450
- //# sourceMappingURL=amqplib.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"amqplib.js","sources":["../../../../../../src/integrations/tracing/amqplib/vendored/amqplib.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-amqplib\n * - Upstream version: @opentelemetry/instrumentation-amqplib@0.65.0\n */\n/* eslint-disable */\n\nimport {\n context,\n diag,\n propagation,\n trace,\n Span,\n SpanKind,\n SpanStatusCode,\n ROOT_CONTEXT,\n Link,\n Context,\n} from '@opentelemetry/api';\nimport { timestampInSeconds } from '@sentry/core';\nimport {\n InstrumentationBase,\n InstrumentationNodeModuleDefinition,\n isWrapped,\n safeExecuteInTheMiddle,\n SemconvStability,\n semconvStabilityFromStr,\n} from '@opentelemetry/instrumentation';\nimport { InstrumentationNodeModuleFile } from '../../InstrumentationNodeModuleFile';\nimport { ATTR_MESSAGING_OPERATION } from './semconv';\nimport {\n ATTR_MESSAGING_DESTINATION,\n ATTR_MESSAGING_DESTINATION_KIND,\n ATTR_MESSAGING_RABBITMQ_ROUTING_KEY,\n MESSAGING_DESTINATION_KIND_VALUE_TOPIC,\n MESSAGING_OPERATION_VALUE_PROCESS,\n OLD_ATTR_MESSAGING_MESSAGE_ID,\n ATTR_MESSAGING_CONVERSATION_ID,\n} from './semconv-obsolete';\nimport type { Connection, Options, Replies } from './amqplib-types';\nimport { AmqplibInstrumentationConfig, DEFAULT_CONFIG, EndOperation, type ConsumeMessage, type Message } from './types';\nimport {\n CHANNEL_CONSUME_TIMEOUT_TIMER,\n CHANNEL_SPANS_NOT_ENDED,\n CONNECTION_ATTRIBUTES,\n getConnectionAttributesFromServer,\n getConnectionAttributesFromUrl,\n InstrumentationConnection,\n InstrumentationConsumeChannel,\n InstrumentationConsumeMessage,\n InstrumentationMessage,\n InstrumentationPublishChannel,\n isConfirmChannelTracing,\n markConfirmChannelTracing,\n MESSAGE_STORED_SPAN,\n normalizeExchange,\n unmarkConfirmChannelTracing,\n} from './utils';\n\nimport { SDK_VERSION } from '@sentry/core';\n\nconst PACKAGE_NAME = '@sentry/instrumentation-amqplib';\nconst supportedVersions = ['>=0.5.5 <2'];\n\nexport class AmqplibInstrumentation extends InstrumentationBase<AmqplibInstrumentationConfig> {\n private _netSemconvStability!: SemconvStability;\n\n constructor(config: AmqplibInstrumentationConfig = {}) {\n super(PACKAGE_NAME, SDK_VERSION, { ...DEFAULT_CONFIG, ...config });\n this._setSemconvStabilityFromEnv();\n }\n\n // Used for testing.\n private _setSemconvStabilityFromEnv() {\n this._netSemconvStability = semconvStabilityFromStr('http', process.env.OTEL_SEMCONV_STABILITY_OPT_IN);\n }\n\n override setConfig(config: AmqplibInstrumentationConfig = {}) {\n super.setConfig({ ...DEFAULT_CONFIG, ...config });\n }\n\n protected init() {\n const channelModelModuleFile = new InstrumentationNodeModuleFile(\n 'amqplib/lib/channel_model.js',\n supportedVersions,\n this.patchChannelModel.bind(this),\n this.unpatchChannelModel.bind(this),\n );\n\n const callbackModelModuleFile = new InstrumentationNodeModuleFile(\n 'amqplib/lib/callback_model.js',\n supportedVersions,\n this.patchChannelModel.bind(this),\n this.unpatchChannelModel.bind(this),\n );\n\n const connectModuleFile = new InstrumentationNodeModuleFile(\n 'amqplib/lib/connect.js',\n supportedVersions,\n this.patchConnect.bind(this),\n this.unpatchConnect.bind(this),\n );\n\n const module = new InstrumentationNodeModuleDefinition('amqplib', supportedVersions, undefined, undefined, [\n channelModelModuleFile,\n connectModuleFile,\n callbackModelModuleFile,\n ]);\n return module;\n }\n\n private patchConnect(moduleExports: any) {\n moduleExports = this.unpatchConnect(moduleExports);\n if (!isWrapped(moduleExports.connect)) {\n this._wrap(moduleExports, 'connect', this.getConnectPatch.bind(this));\n }\n return moduleExports;\n }\n\n private unpatchConnect(moduleExports: any) {\n if (isWrapped(moduleExports.connect)) {\n this._unwrap(moduleExports, 'connect');\n }\n return moduleExports;\n }\n\n private patchChannelModel(moduleExports: any, moduleVersion: string | undefined) {\n if (!isWrapped(moduleExports.Channel.prototype.publish)) {\n this._wrap(moduleExports.Channel.prototype, 'publish', this.getPublishPatch.bind(this, moduleVersion));\n }\n if (!isWrapped(moduleExports.Channel.prototype.consume)) {\n this._wrap(moduleExports.Channel.prototype, 'consume', this.getConsumePatch.bind(this, moduleVersion));\n }\n if (!isWrapped(moduleExports.Channel.prototype.ack)) {\n this._wrap(moduleExports.Channel.prototype, 'ack', this.getAckPatch.bind(this, false, EndOperation.Ack));\n }\n if (!isWrapped(moduleExports.Channel.prototype.nack)) {\n this._wrap(moduleExports.Channel.prototype, 'nack', this.getAckPatch.bind(this, true, EndOperation.Nack));\n }\n if (!isWrapped(moduleExports.Channel.prototype.reject)) {\n this._wrap(moduleExports.Channel.prototype, 'reject', this.getAckPatch.bind(this, true, EndOperation.Reject));\n }\n if (!isWrapped(moduleExports.Channel.prototype.ackAll)) {\n this._wrap(moduleExports.Channel.prototype, 'ackAll', this.getAckAllPatch.bind(this, false, EndOperation.AckAll));\n }\n if (!isWrapped(moduleExports.Channel.prototype.nackAll)) {\n this._wrap(\n moduleExports.Channel.prototype,\n 'nackAll',\n this.getAckAllPatch.bind(this, true, EndOperation.NackAll),\n );\n }\n if (!isWrapped(moduleExports.Channel.prototype.emit)) {\n this._wrap(moduleExports.Channel.prototype, 'emit', this.getChannelEmitPatch.bind(this));\n }\n if (!isWrapped(moduleExports.ConfirmChannel.prototype.publish)) {\n this._wrap(\n moduleExports.ConfirmChannel.prototype,\n 'publish',\n this.getConfirmedPublishPatch.bind(this, moduleVersion),\n );\n }\n return moduleExports;\n }\n\n private unpatchChannelModel(moduleExports: any) {\n if (isWrapped(moduleExports.Channel.prototype.publish)) {\n this._unwrap(moduleExports.Channel.prototype, 'publish');\n }\n if (isWrapped(moduleExports.Channel.prototype.consume)) {\n this._unwrap(moduleExports.Channel.prototype, 'consume');\n }\n if (isWrapped(moduleExports.Channel.prototype.ack)) {\n this._unwrap(moduleExports.Channel.prototype, 'ack');\n }\n if (isWrapped(moduleExports.Channel.prototype.nack)) {\n this._unwrap(moduleExports.Channel.prototype, 'nack');\n }\n if (isWrapped(moduleExports.Channel.prototype.reject)) {\n this._unwrap(moduleExports.Channel.prototype, 'reject');\n }\n if (isWrapped(moduleExports.Channel.prototype.ackAll)) {\n this._unwrap(moduleExports.Channel.prototype, 'ackAll');\n }\n if (isWrapped(moduleExports.Channel.prototype.nackAll)) {\n this._unwrap(moduleExports.Channel.prototype, 'nackAll');\n }\n if (isWrapped(moduleExports.Channel.prototype.emit)) {\n this._unwrap(moduleExports.Channel.prototype, 'emit');\n }\n if (isWrapped(moduleExports.ConfirmChannel.prototype.publish)) {\n this._unwrap(moduleExports.ConfirmChannel.prototype, 'publish');\n }\n return moduleExports;\n }\n\n private getConnectPatch(\n original: (\n url: string | Options.Connect,\n socketOptions: any,\n openCallback: (err: any, connection: Connection) => void,\n ) => Connection,\n ) {\n const self = this;\n return function patchedConnect(\n this: unknown,\n url: string | Options.Connect,\n socketOptions: any,\n openCallback: Function,\n ) {\n return original.call(\n this,\n url,\n socketOptions,\n function (this: unknown, err: any, conn: InstrumentationConnection) {\n if (err == null) {\n const urlAttributes = getConnectionAttributesFromUrl(url, self._netSemconvStability);\n const serverAttributes = getConnectionAttributesFromServer(conn);\n conn[CONNECTION_ATTRIBUTES] = {\n ...urlAttributes,\n ...serverAttributes,\n };\n }\n openCallback.apply(this, arguments);\n },\n );\n };\n }\n\n private getChannelEmitPatch(original: Function) {\n const self = this;\n return function emit(this: InstrumentationConsumeChannel, eventName: string) {\n if (eventName === 'close') {\n self.endAllSpansOnChannel(this, true, EndOperation.ChannelClosed, undefined);\n const activeTimer = this[CHANNEL_CONSUME_TIMEOUT_TIMER];\n if (activeTimer) {\n clearInterval(activeTimer);\n }\n this[CHANNEL_CONSUME_TIMEOUT_TIMER] = undefined;\n } else if (eventName === 'error') {\n self.endAllSpansOnChannel(this, true, EndOperation.ChannelError, undefined);\n }\n return original.apply(this, arguments);\n };\n }\n\n private getAckAllPatch(isRejected: boolean, endOperation: EndOperation, original: Function) {\n const self = this;\n return function ackAll(this: InstrumentationConsumeChannel, requeueOrEmpty?: boolean): void {\n self.endAllSpansOnChannel(this, isRejected, endOperation, requeueOrEmpty);\n return original.apply(this, arguments);\n };\n }\n\n private getAckPatch(isRejected: boolean, endOperation: EndOperation, original: Function) {\n const self = this;\n return function ack(\n this: InstrumentationConsumeChannel,\n message: Message,\n allUpToOrRequeue?: boolean,\n requeue?: boolean,\n ): void {\n const channel = this;\n // we use this patch in reject function as well, but it has different signature\n const requeueResolved = endOperation === EndOperation.Reject ? allUpToOrRequeue : requeue;\n\n const spansNotEnded: { msg: Message }[] = channel[CHANNEL_SPANS_NOT_ENDED] ?? [];\n const msgIndex = spansNotEnded.findIndex(msgDetails => msgDetails.msg === message);\n if (msgIndex < 0) {\n // should not happen in happy flow\n // but possible if user is calling the api function ack twice with same message\n self.endConsumerSpan(message, isRejected, endOperation, requeueResolved);\n } else if (endOperation !== EndOperation.Reject && allUpToOrRequeue) {\n for (let i = 0; i <= msgIndex; i++) {\n self.endConsumerSpan(spansNotEnded[i]!.msg, isRejected, endOperation, requeueResolved);\n }\n spansNotEnded.splice(0, msgIndex + 1);\n } else {\n self.endConsumerSpan(message, isRejected, endOperation, requeueResolved);\n spansNotEnded.splice(msgIndex, 1);\n }\n return original.apply(this, arguments);\n };\n }\n\n private getConsumePatch(moduleVersion: string | undefined, original: Function) {\n const self = this;\n return function consume(\n this: InstrumentationConsumeChannel,\n queue: string,\n onMessage: (msg: ConsumeMessage | null) => void,\n options?: Options.Consume,\n ): Promise<Replies.Consume> {\n const channel = this;\n if (!Object.prototype.hasOwnProperty.call(channel, CHANNEL_SPANS_NOT_ENDED)) {\n const { consumeTimeoutMs } = self.getConfig();\n if (consumeTimeoutMs) {\n const timer = setInterval(() => {\n self.checkConsumeTimeoutOnChannel(channel);\n }, consumeTimeoutMs);\n timer.unref();\n channel[CHANNEL_CONSUME_TIMEOUT_TIMER] = timer;\n }\n channel[CHANNEL_SPANS_NOT_ENDED] = [];\n }\n\n const patchedOnMessage = function (this: unknown, msg: InstrumentationConsumeMessage | null) {\n // msg is expected to be null for signaling consumer cancel notification\n // https://www.rabbitmq.com/consumer-cancel.html\n // in this case, we do not start a span, as this is not a real message.\n if (!msg) {\n return onMessage.call(this, msg);\n }\n\n const headers = msg.properties.headers ?? {};\n let parentContext: Context | undefined = propagation.extract(ROOT_CONTEXT, headers);\n const exchange = msg.fields?.exchange;\n let links: Link[] | undefined;\n if (self._config.useLinksForConsume) {\n const parentSpanContext = parentContext ? trace.getSpan(parentContext)?.spanContext() : undefined;\n parentContext = undefined;\n if (parentSpanContext) {\n links = [\n {\n context: parentSpanContext,\n },\n ];\n }\n }\n const span = self.tracer.startSpan(\n `${queue} process`,\n {\n kind: SpanKind.CONSUMER,\n attributes: {\n ...channel?.connection?.[CONNECTION_ATTRIBUTES],\n [ATTR_MESSAGING_DESTINATION]: exchange,\n [ATTR_MESSAGING_DESTINATION_KIND]: MESSAGING_DESTINATION_KIND_VALUE_TOPIC,\n [ATTR_MESSAGING_RABBITMQ_ROUTING_KEY]: msg.fields?.routingKey,\n [ATTR_MESSAGING_OPERATION]: MESSAGING_OPERATION_VALUE_PROCESS,\n [OLD_ATTR_MESSAGING_MESSAGE_ID]: msg?.properties.messageId,\n [ATTR_MESSAGING_CONVERSATION_ID]: msg?.properties.correlationId,\n },\n links,\n },\n parentContext,\n );\n\n const { consumeHook } = self.getConfig();\n if (consumeHook) {\n safeExecuteInTheMiddle(\n () => consumeHook(span, { moduleVersion, msg }),\n e => {\n if (e) {\n diag.error('amqplib instrumentation: consumerHook error', e);\n }\n },\n true,\n );\n }\n\n if (!options?.noAck) {\n // store the message on the channel so we can close the span on ackAll etc\n channel[CHANNEL_SPANS_NOT_ENDED]!.push({\n msg,\n timeOfConsume: timestampInSeconds(),\n });\n\n // store the span on the message, so we can end it when user call 'ack' on it\n msg[MESSAGE_STORED_SPAN] = span;\n }\n const setContext: Context = parentContext ? parentContext : ROOT_CONTEXT;\n context.with(trace.setSpan(setContext, span), () => {\n onMessage.call(this, msg);\n });\n\n if (options?.noAck) {\n self.callConsumeEndHook(span, msg, false, EndOperation.AutoAck);\n span.end();\n }\n };\n arguments[1] = patchedOnMessage;\n return original.apply(this, arguments);\n };\n }\n\n private getConfirmedPublishPatch(moduleVersion: string | undefined, original: Function) {\n const self = this;\n return function confirmedPublish(\n this: InstrumentationConsumeChannel,\n exchange: string,\n routingKey: string,\n content: Buffer,\n options?: Options.Publish,\n callback?: (err: any, ok: Replies.Empty) => void,\n ): boolean {\n const channel = this;\n const { span, modifiedOptions } = self.createPublishSpan(self, exchange, routingKey, channel, options);\n\n const { publishHook } = self.getConfig();\n if (publishHook) {\n safeExecuteInTheMiddle(\n () =>\n publishHook(span, {\n moduleVersion,\n exchange,\n routingKey,\n content,\n options: modifiedOptions,\n isConfirmChannel: true,\n }),\n e => {\n if (e) {\n diag.error('amqplib instrumentation: publishHook error', e);\n }\n },\n true,\n );\n }\n\n const patchedOnConfirm = function (this: unknown, err: any, ok: Replies.Empty) {\n try {\n callback?.call(this, err, ok);\n } finally {\n const { publishConfirmHook } = self.getConfig();\n if (publishConfirmHook) {\n safeExecuteInTheMiddle(\n () =>\n publishConfirmHook(span, {\n moduleVersion,\n exchange,\n routingKey,\n content,\n options,\n isConfirmChannel: true,\n confirmError: err,\n }),\n e => {\n if (e) {\n diag.error('amqplib instrumentation: publishConfirmHook error', e);\n }\n },\n true,\n );\n }\n\n if (err) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: \"message confirmation has been nack'ed\",\n });\n }\n span.end();\n }\n };\n\n // calling confirm channel publish function is storing the message in queue and registering the callback for broker confirm.\n // span ends in the patched callback.\n const markedContext = markConfirmChannelTracing(context.active());\n const argumentsCopy = [...arguments];\n argumentsCopy[3] = modifiedOptions;\n argumentsCopy[4] = context.bind(\n unmarkConfirmChannelTracing(trace.setSpan(markedContext, span)),\n patchedOnConfirm,\n );\n return context.with(markedContext, original.bind(this, ...argumentsCopy));\n };\n }\n\n private getPublishPatch(moduleVersion: string | undefined, original: Function) {\n const self = this;\n return function publish(\n this: InstrumentationPublishChannel,\n exchange: string,\n routingKey: string,\n content: Buffer,\n options?: Options.Publish,\n ): boolean {\n if (isConfirmChannelTracing(context.active())) {\n // work already done\n return original.apply(this, arguments);\n } else {\n const channel = this;\n const { span, modifiedOptions } = self.createPublishSpan(self, exchange, routingKey, channel, options);\n\n const { publishHook } = self.getConfig();\n if (publishHook) {\n safeExecuteInTheMiddle(\n () =>\n publishHook(span, {\n moduleVersion,\n exchange,\n routingKey,\n content,\n options: modifiedOptions,\n isConfirmChannel: false,\n }),\n e => {\n if (e) {\n diag.error('amqplib instrumentation: publishHook error', e);\n }\n },\n true,\n );\n }\n\n // calling normal channel publish function is only storing the message in queue.\n // it does not send it and waits for an ack, so the span duration is expected to be very short.\n const argumentsCopy = [...arguments];\n argumentsCopy[3] = modifiedOptions;\n const originalRes = original.apply(this, argumentsCopy as any);\n span.end();\n return originalRes;\n }\n };\n }\n\n private createPublishSpan(\n self: this,\n exchange: string,\n routingKey: string,\n channel: InstrumentationPublishChannel,\n options?: Options.Publish,\n ) {\n const normalizedExchange = normalizeExchange(exchange);\n\n const span = self.tracer.startSpan(`publish ${normalizedExchange}`, {\n kind: SpanKind.PRODUCER,\n attributes: {\n ...channel.connection[CONNECTION_ATTRIBUTES],\n [ATTR_MESSAGING_DESTINATION]: exchange,\n [ATTR_MESSAGING_DESTINATION_KIND]: MESSAGING_DESTINATION_KIND_VALUE_TOPIC,\n\n [ATTR_MESSAGING_RABBITMQ_ROUTING_KEY]: routingKey,\n [OLD_ATTR_MESSAGING_MESSAGE_ID]: options?.messageId,\n [ATTR_MESSAGING_CONVERSATION_ID]: options?.correlationId,\n },\n });\n const modifiedOptions = options ?? {};\n modifiedOptions.headers = modifiedOptions.headers ?? {};\n\n propagation.inject(trace.setSpan(context.active(), span), modifiedOptions.headers);\n\n return { span, modifiedOptions };\n }\n\n private endConsumerSpan(\n message: InstrumentationMessage,\n isRejected: boolean | null,\n operation: EndOperation,\n requeue: boolean | undefined,\n ) {\n const storedSpan: Span | undefined = message[MESSAGE_STORED_SPAN];\n if (!storedSpan) return;\n if (isRejected !== false) {\n storedSpan.setStatus({\n code: SpanStatusCode.ERROR,\n message:\n operation !== EndOperation.ChannelClosed && operation !== EndOperation.ChannelError\n ? `${operation} called on message${\n requeue === true ? ' with requeue' : requeue === false ? ' without requeue' : ''\n }`\n : operation,\n });\n }\n this.callConsumeEndHook(storedSpan, message, isRejected, operation);\n storedSpan.end();\n message[MESSAGE_STORED_SPAN] = undefined;\n }\n\n private endAllSpansOnChannel(\n channel: InstrumentationConsumeChannel,\n isRejected: boolean,\n operation: EndOperation,\n requeue: boolean | undefined,\n ) {\n const spansNotEnded: { msg: Message }[] = channel[CHANNEL_SPANS_NOT_ENDED] ?? [];\n spansNotEnded.forEach(msgDetails => {\n this.endConsumerSpan(msgDetails.msg, isRejected, operation, requeue);\n });\n channel[CHANNEL_SPANS_NOT_ENDED] = [];\n }\n\n private callConsumeEndHook(\n span: Span,\n msg: InstrumentationMessage,\n rejected: boolean | null,\n endOperation: EndOperation,\n ) {\n const { consumeEndHook } = this.getConfig();\n if (!consumeEndHook) return;\n\n safeExecuteInTheMiddle(\n () => consumeEndHook(span, { msg, rejected, endOperation }),\n e => {\n if (e) {\n diag.error('amqplib instrumentation: consumerEndHook error', e);\n }\n },\n true,\n );\n }\n\n private checkConsumeTimeoutOnChannel(channel: InstrumentationConsumeChannel) {\n const currentTime = timestampInSeconds();\n const spansNotEnded = channel[CHANNEL_SPANS_NOT_ENDED] ?? [];\n let i: number;\n const { consumeTimeoutMs } = this.getConfig();\n for (i = 0; i < spansNotEnded.length; i++) {\n const currMessage = spansNotEnded[i]!;\n const timeFromConsumeMs = (currentTime - currMessage.timeOfConsume) * 1000;\n if (timeFromConsumeMs < consumeTimeoutMs!) {\n break;\n }\n this.endConsumerSpan(currMessage.msg, null, EndOperation.InstrumentationTimeout, true);\n }\n spansNotEnded.splice(0, i);\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- const ATTR_MESSAGING_DESTINATION = "messaging.destination";
2
- const ATTR_MESSAGING_DESTINATION_KIND = "messaging.destination_kind";
3
- const ATTR_MESSAGING_RABBITMQ_ROUTING_KEY = "messaging.rabbitmq.routing_key";
4
- const MESSAGING_OPERATION_VALUE_PROCESS = "process";
5
- const ATTR_MESSAGING_PROTOCOL = "messaging.protocol";
6
- const ATTR_MESSAGING_PROTOCOL_VERSION = "messaging.protocol_version";
7
- const ATTR_MESSAGING_URL = "messaging.url";
8
- const MESSAGING_DESTINATION_KIND_VALUE_TOPIC = "topic";
9
- const OLD_ATTR_MESSAGING_MESSAGE_ID = "messaging.message_id";
10
- const ATTR_MESSAGING_CONVERSATION_ID = "messaging.conversation_id";
11
-
12
- export { ATTR_MESSAGING_CONVERSATION_ID, ATTR_MESSAGING_DESTINATION, ATTR_MESSAGING_DESTINATION_KIND, ATTR_MESSAGING_PROTOCOL, ATTR_MESSAGING_PROTOCOL_VERSION, ATTR_MESSAGING_RABBITMQ_ROUTING_KEY, ATTR_MESSAGING_URL, MESSAGING_DESTINATION_KIND_VALUE_TOPIC, MESSAGING_OPERATION_VALUE_PROCESS, OLD_ATTR_MESSAGING_MESSAGE_ID };
13
- //# sourceMappingURL=semconv-obsolete.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semconv-obsolete.js","sources":["../../../../../../src/integrations/tracing/amqplib/vendored/semconv-obsolete.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-amqplib\n * - Upstream version: @opentelemetry/instrumentation-amqplib@0.65.0\n */\n/* eslint-disable */\n\n/*\n * This file contains constants for values that where replaced/removed from\n * Semantic Conventions long enough ago that they do not have `ATTR_*`\n * constants in the `@opentelemetry/semantic-conventions` package. Eventually\n * it is expected that this instrumention will be updated to emit telemetry\n * using modern Semantic Conventions, dropping the need for the constants in\n * this file.\n */\n\n/**\n * The message destination name. This might be equal to the span name but is required nevertheless.\n *\n * @deprecated Use ATTR_MESSAGING_DESTINATION_NAME in [incubating entry-point]({@link https://github.com/open-telemetry/opentelemetry-js/blob/main/semantic-conventions/README.md#unstable-semconv}).\n */\nexport const ATTR_MESSAGING_DESTINATION = 'messaging.destination' as const;\n\n/**\n * The kind of message destination.\n *\n * @deprecated Removed in semconv v1.20.0.\n */\nexport const ATTR_MESSAGING_DESTINATION_KIND = 'messaging.destination_kind' as const;\n\n/**\n * RabbitMQ message routing key.\n *\n * @deprecated Use ATTR_MESSAGING_RABBITMQ_DESTINATION_ROUTING_KEY in [incubating entry-point]({@link https://github.com/open-telemetry/opentelemetry-js/blob/main/semantic-conventions/README.md#unstable-semconv}).\n */\nexport const ATTR_MESSAGING_RABBITMQ_ROUTING_KEY = 'messaging.rabbitmq.routing_key' as const;\n\n/**\n * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is &#34;send&#34;, this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case.\n *\n * @deprecated Use MESSAGING_OPERATION_TYPE_VALUE_PROCESS in [incubating entry-point]({@link https://github.com/open-telemetry/opentelemetry-js/blob/main/semantic-conventions/README.md#unstable-semconv}).\n */\nexport const MESSAGING_OPERATION_VALUE_PROCESS = 'process' as const;\n\n/**\n * The name of the transport protocol.\n *\n * @deprecated Use ATTR_NETWORK_PROTOCOL_NAME.\n */\nexport const ATTR_MESSAGING_PROTOCOL = 'messaging.protocol' as const;\n\n/**\n * The version of the transport protocol.\n *\n * @deprecated Use ATTR_NETWORK_PROTOCOL_VERSION.\n */\nexport const ATTR_MESSAGING_PROTOCOL_VERSION = 'messaging.protocol_version' as const;\n\n/**\n * Connection string.\n *\n * @deprecated Removed in semconv v1.17.0.\n */\nexport const ATTR_MESSAGING_URL = 'messaging.url' as const;\n\n/**\n * The kind of message destination.\n *\n * @deprecated Removed in semconv v1.20.0.\n */\nexport const MESSAGING_DESTINATION_KIND_VALUE_TOPIC = 'topic' as const;\n\n/**\n * A value used by the messaging system as an identifier for the message, represented as a string.\n *\n * @deprecated Use ATTR_MESSAGING_MESSAGE_ID in [incubating entry-point]({@link https://github.com/open-telemetry/opentelemetry-js/blob/main/semantic-conventions/README.md#unstable-semconv}).\n *\n * Note: changing to `ATTR_MESSAGING_MESSAGE_ID` means a change in value from `messaging.message_id` to `messaging.message.id`.\n */\nexport const OLD_ATTR_MESSAGING_MESSAGE_ID = 'messaging.message_id' as const;\n\n/**\n * The [conversation ID](#conversations) identifying the conversation to which the message belongs, represented as a string. Sometimes called &#34;Correlation ID&#34;.\n *\n * @deprecated Use ATTR_MESSAGING_MESSAGE_CONVERSATION_ID in [incubating entry-point]({@link https://github.com/open-telemetry/opentelemetry-js/blob/main/semantic-conventions/README.md#unstable-semconv}).\n */\nexport const ATTR_MESSAGING_CONVERSATION_ID = 'messaging.conversation_id' as const;\n"],"names":[],"mappings":"AAwBO,MAAM,0BAAA,GAA6B;AAOnC,MAAM,+BAAA,GAAkC;AAOxC,MAAM,mCAAA,GAAsC;AAO5C,MAAM,iCAAA,GAAoC;AAO1C,MAAM,uBAAA,GAA0B;AAOhC,MAAM,+BAAA,GAAkC;AAOxC,MAAM,kBAAA,GAAqB;AAO3B,MAAM,sCAAA,GAAyC;AAS/C,MAAM,6BAAA,GAAgC;AAOtC,MAAM,8BAAA,GAAiC;;;;"}
@@ -1,26 +0,0 @@
1
- import { InstrumentationBase, InstrumentationNodeModuleDefinition } from '@opentelemetry/instrumentation';
2
- import { AmqplibInstrumentationConfig } from './types';
3
- export declare class AmqplibInstrumentation extends InstrumentationBase<AmqplibInstrumentationConfig> {
4
- private _netSemconvStability;
5
- constructor(config?: AmqplibInstrumentationConfig);
6
- private _setSemconvStabilityFromEnv;
7
- setConfig(config?: AmqplibInstrumentationConfig): void;
8
- protected init(): InstrumentationNodeModuleDefinition;
9
- private patchConnect;
10
- private unpatchConnect;
11
- private patchChannelModel;
12
- private unpatchChannelModel;
13
- private getConnectPatch;
14
- private getChannelEmitPatch;
15
- private getAckAllPatch;
16
- private getAckPatch;
17
- private getConsumePatch;
18
- private getConfirmedPublishPatch;
19
- private getPublishPatch;
20
- private createPublishSpan;
21
- private endConsumerSpan;
22
- private endAllSpansOnChannel;
23
- private callConsumeEndHook;
24
- private checkConsumeTimeoutOnChannel;
25
- }
26
- //# sourceMappingURL=amqplib.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"amqplib.d.ts","sourceRoot":"","sources":["../../../../../../src/integrations/tracing/amqplib/vendored/amqplib.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,mBAAmB,EACnB,mCAAmC,EAKpC,MAAM,gCAAgC,CAAC;AAaxC,OAAO,EAAE,4BAA4B,EAAmE,MAAM,SAAS,CAAC;AAwBxH,qBAAa,sBAAuB,SAAQ,mBAAmB,CAAC,4BAA4B,CAAC;IAC3F,OAAO,CAAC,oBAAoB,CAAoB;gBAEpC,MAAM,GAAE,4BAAiC;IAMrD,OAAO,CAAC,2BAA2B;IAI1B,SAAS,CAAC,MAAM,GAAE,4BAAiC;IAI5D,SAAS,CAAC,IAAI;IA8Bd,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,iBAAiB;IAuCzB,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,WAAW;IA+BnB,OAAO,CAAC,eAAe;IAoGvB,OAAO,CAAC,wBAAwB;IAmFhC,OAAO,CAAC,eAAe;IAgDvB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,4BAA4B;CAerC"}
@@ -1,63 +0,0 @@
1
- /**
2
- * The message destination name. This might be equal to the span name but is required nevertheless.
3
- *
4
- * @deprecated Use ATTR_MESSAGING_DESTINATION_NAME in [incubating entry-point]({@link https://github.com/open-telemetry/opentelemetry-js/blob/main/semantic-conventions/README.md#unstable-semconv}).
5
- */
6
- export declare const ATTR_MESSAGING_DESTINATION: "messaging.destination";
7
- /**
8
- * The kind of message destination.
9
- *
10
- * @deprecated Removed in semconv v1.20.0.
11
- */
12
- export declare const ATTR_MESSAGING_DESTINATION_KIND: "messaging.destination_kind";
13
- /**
14
- * RabbitMQ message routing key.
15
- *
16
- * @deprecated Use ATTR_MESSAGING_RABBITMQ_DESTINATION_ROUTING_KEY in [incubating entry-point]({@link https://github.com/open-telemetry/opentelemetry-js/blob/main/semantic-conventions/README.md#unstable-semconv}).
17
- */
18
- export declare const ATTR_MESSAGING_RABBITMQ_ROUTING_KEY: "messaging.rabbitmq.routing_key";
19
- /**
20
- * A string identifying the kind of message consumption as defined in the [Operation names](#operation-names) section above. If the operation is &#34;send&#34;, this attribute MUST NOT be set, since the operation can be inferred from the span kind in that case.
21
- *
22
- * @deprecated Use MESSAGING_OPERATION_TYPE_VALUE_PROCESS in [incubating entry-point]({@link https://github.com/open-telemetry/opentelemetry-js/blob/main/semantic-conventions/README.md#unstable-semconv}).
23
- */
24
- export declare const MESSAGING_OPERATION_VALUE_PROCESS: "process";
25
- /**
26
- * The name of the transport protocol.
27
- *
28
- * @deprecated Use ATTR_NETWORK_PROTOCOL_NAME.
29
- */
30
- export declare const ATTR_MESSAGING_PROTOCOL: "messaging.protocol";
31
- /**
32
- * The version of the transport protocol.
33
- *
34
- * @deprecated Use ATTR_NETWORK_PROTOCOL_VERSION.
35
- */
36
- export declare const ATTR_MESSAGING_PROTOCOL_VERSION: "messaging.protocol_version";
37
- /**
38
- * Connection string.
39
- *
40
- * @deprecated Removed in semconv v1.17.0.
41
- */
42
- export declare const ATTR_MESSAGING_URL: "messaging.url";
43
- /**
44
- * The kind of message destination.
45
- *
46
- * @deprecated Removed in semconv v1.20.0.
47
- */
48
- export declare const MESSAGING_DESTINATION_KIND_VALUE_TOPIC: "topic";
49
- /**
50
- * A value used by the messaging system as an identifier for the message, represented as a string.
51
- *
52
- * @deprecated Use ATTR_MESSAGING_MESSAGE_ID in [incubating entry-point]({@link https://github.com/open-telemetry/opentelemetry-js/blob/main/semantic-conventions/README.md#unstable-semconv}).
53
- *
54
- * Note: changing to `ATTR_MESSAGING_MESSAGE_ID` means a change in value from `messaging.message_id` to `messaging.message.id`.
55
- */
56
- export declare const OLD_ATTR_MESSAGING_MESSAGE_ID: "messaging.message_id";
57
- /**
58
- * The [conversation ID](#conversations) identifying the conversation to which the message belongs, represented as a string. Sometimes called &#34;Correlation ID&#34;.
59
- *
60
- * @deprecated Use ATTR_MESSAGING_MESSAGE_CONVERSATION_ID in [incubating entry-point]({@link https://github.com/open-telemetry/opentelemetry-js/blob/main/semantic-conventions/README.md#unstable-semconv}).
61
- */
62
- export declare const ATTR_MESSAGING_CONVERSATION_ID: "messaging.conversation_id";
63
- //# sourceMappingURL=semconv-obsolete.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"semconv-obsolete.d.ts","sourceRoot":"","sources":["../../../../../../src/integrations/tracing/amqplib/vendored/semconv-obsolete.ts"],"names":[],"mappings":"AAmBA;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAG,uBAAgC,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAG,4BAAqC,CAAC;AAErF;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,EAAG,gCAAyC,CAAC;AAE7F;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,EAAG,SAAkB,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAG,oBAA6B,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAG,4BAAqC,CAAC;AAErF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAG,eAAwB,CAAC;AAE3D;;;;GAIG;AACH,eAAO,MAAM,sCAAsC,EAAG,OAAgB,CAAC;AAEvE;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,EAAG,sBAA+B,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAG,2BAAoC,CAAC"}