newrelic 13.3.3 → 13.5.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 (169) hide show
  1. package/NEWS.md +54 -0
  2. package/THIRD_PARTY_NOTICES.md +11 -11
  3. package/api.js +1 -1
  4. package/esm-loader.mjs +2 -2
  5. package/lib/agent.js +2 -2
  6. package/lib/aggregators/event-aggregator.js +0 -2
  7. package/lib/attributes.js +6 -6
  8. package/lib/collector/api.js +1 -1
  9. package/lib/collector/facts.js +1 -1
  10. package/lib/collector/http-agents.js +2 -2
  11. package/lib/collector/parse-response.js +9 -12
  12. package/lib/collector/remote-method.js +4 -5
  13. package/lib/collector/serverless.js +1 -1
  14. package/lib/config/build-instrumentation-config.js +13 -3
  15. package/lib/config/default.js +21 -10
  16. package/lib/config/formatters.js +5 -6
  17. package/lib/config/index.js +37 -24
  18. package/lib/harvester.js +1 -1
  19. package/lib/header-processing.js +3 -3
  20. package/lib/health-reporter.js +2 -2
  21. package/lib/instrumentation/@node-redis/client.js +1 -1
  22. package/lib/instrumentation/@prisma/client.js +1 -1
  23. package/lib/instrumentation/aws-sdk/util.js +3 -3
  24. package/lib/instrumentation/aws-sdk/v2/instrumentation-helper.js +2 -2
  25. package/lib/instrumentation/aws-sdk/v3/bedrock.js +5 -5
  26. package/lib/instrumentation/aws-sdk/v3/common.js +14 -14
  27. package/lib/instrumentation/aws-sdk/v3/dynamodb.js +13 -13
  28. package/lib/instrumentation/aws-sdk/v3/lambda.js +3 -3
  29. package/lib/instrumentation/aws-sdk/v3/sns.js +12 -12
  30. package/lib/instrumentation/aws-sdk/v3/sqs.js +9 -9
  31. package/lib/instrumentation/core/http-outbound.js +1 -2
  32. package/lib/instrumentation/fastify/spec-builders.js +9 -29
  33. package/lib/instrumentation/fastify.js +23 -94
  34. package/lib/instrumentation/kafkajs/consumer.js +1 -1
  35. package/lib/instrumentation/koa/instrumentation.js +1 -1
  36. package/lib/instrumentation/langchain/runnable.js +1 -1
  37. package/lib/instrumentation/memcached.js +4 -4
  38. package/lib/instrumentation/mongodb.js +2 -2
  39. package/lib/instrumentation/nextjs/next-server.js +1 -3
  40. package/lib/instrumentation/nextjs/utils.js +2 -2
  41. package/lib/instrumentation/restify.js +2 -2
  42. package/lib/instrumentation/when/contextualizer.js +1 -1
  43. package/lib/instrumentation-descriptor.js +2 -11
  44. package/lib/instrumentations.js +1 -20
  45. package/lib/llm-events/aws-bedrock/bedrock-response.js +6 -6
  46. package/lib/llm-events/aws-bedrock/chat-completion-summary.js +2 -1
  47. package/lib/llm-events/aws-bedrock/converse-stream-handler.js +1 -1
  48. package/lib/llm-events/aws-bedrock/stream-handler.js +4 -4
  49. package/lib/metrics/index.js +2 -2
  50. package/lib/metrics/normalizer/rule.js +1 -1
  51. package/lib/metrics/normalizer.js +4 -5
  52. package/lib/metrics/recorders/database-operation.js +2 -3
  53. package/lib/metrics/recorders/message-transaction.js +3 -3
  54. package/lib/metrics/recorders/middleware.js +1 -2
  55. package/lib/otel/context-manager.js +4 -4
  56. package/lib/otel/trace-propagator.js +1 -1
  57. package/lib/otel/traces/segments/database.js +1 -1
  58. package/lib/otel/traces/utils.js +9 -9
  59. package/lib/prioritized-attributes.js +2 -2
  60. package/lib/{adaptive-sampler.js → samplers/adaptive-sampler.js} +8 -0
  61. package/lib/serverless/aws-lambda.js +4 -4
  62. package/lib/shim/datastore-shim.js +2 -2
  63. package/lib/shim/message-shim/consume.js +4 -4
  64. package/lib/shim/message-shim/subscribe-consume.js +1 -2
  65. package/lib/shim/promise-shim.js +1 -4
  66. package/lib/shim/shim.js +14 -29
  67. package/lib/shim/specs/class.js +3 -3
  68. package/lib/shim/specs/middleware-mounter.js +2 -2
  69. package/lib/shim/specs/middleware.js +3 -3
  70. package/lib/shim/specs/query.js +1 -1
  71. package/lib/shim/specs/recorder.js +1 -1
  72. package/lib/shim/specs/wrap.js +2 -2
  73. package/lib/shim/transaction-shim.js +0 -1
  74. package/lib/shim/webframework-shim/common.js +2 -4
  75. package/lib/shim/webframework-shim/index.js +10 -1
  76. package/lib/shim/webframework-shim/middleware.js +17 -21
  77. package/lib/shimmer.js +56 -103
  78. package/lib/spans/span-context.js +1 -1
  79. package/lib/spans/span-event-aggregator.js +2 -2
  80. package/lib/spans/span-event.js +6 -5
  81. package/lib/spans/streaming-span-attributes.js +1 -1
  82. package/lib/spans/streaming-span-event-aggregator.js +5 -3
  83. package/lib/spans/streaming-span-event.js +1 -1
  84. package/lib/stats/index.js +1 -1
  85. package/lib/subscriber-configs.js +6 -1
  86. package/lib/subscribers/amqplib/accept-message.js +14 -0
  87. package/lib/subscribers/amqplib/callback-model.js +39 -0
  88. package/lib/subscribers/amqplib/channel-model.js +39 -0
  89. package/lib/subscribers/amqplib/config.js +697 -0
  90. package/lib/subscribers/amqplib/connect.js +74 -0
  91. package/lib/subscribers/amqplib/consume.js +54 -0
  92. package/lib/subscribers/amqplib/get-cb.js +16 -0
  93. package/lib/subscribers/amqplib/get.js +50 -0
  94. package/lib/subscribers/amqplib/purge-queue-cb.js +16 -0
  95. package/lib/subscribers/amqplib/purge-queue.js +37 -0
  96. package/lib/subscribers/amqplib/send-message.js +44 -0
  97. package/lib/subscribers/amqplib/send-or-enqueue.js +18 -0
  98. package/lib/subscribers/amqplib/utils.js +53 -0
  99. package/lib/subscribers/application-logs.js +1 -1
  100. package/lib/subscribers/base.js +113 -29
  101. package/lib/subscribers/cassandra-driver/client-batch.js +49 -0
  102. package/lib/subscribers/cassandra-driver/client-connect.js +35 -0
  103. package/lib/subscribers/cassandra-driver/client-each-row.js +36 -0
  104. package/lib/subscribers/cassandra-driver/client-execute.js +36 -0
  105. package/lib/subscribers/cassandra-driver/client-shutdown.js +32 -0
  106. package/lib/subscribers/cassandra-driver/config.js +145 -0
  107. package/lib/subscribers/cassandra-driver/legacy-client-batch.js +22 -0
  108. package/lib/subscribers/cassandra-driver/legacy-client-connect.js +22 -0
  109. package/lib/subscribers/cassandra-driver/legacy-client-each-row.js +22 -0
  110. package/lib/subscribers/cassandra-driver/legacy-client-execute.js +21 -0
  111. package/lib/subscribers/cassandra-driver/legacy-client-shutdown.js +32 -0
  112. package/lib/subscribers/create-config.js +4 -6
  113. package/lib/subscribers/db-operation.js +12 -0
  114. package/lib/subscribers/db-query.js +5 -1
  115. package/lib/subscribers/dc-base.js +89 -0
  116. package/lib/subscribers/fastify/add-hook.js +46 -0
  117. package/lib/subscribers/fastify/common.js +121 -0
  118. package/lib/subscribers/fastify/config.js +39 -0
  119. package/lib/subscribers/fastify/decorate.js +35 -0
  120. package/lib/subscribers/fastify/index.js +31 -0
  121. package/lib/subscribers/mcp-sdk/client-request.js +1 -1
  122. package/lib/subscribers/mcp-sdk/config.js +2 -0
  123. package/lib/subscribers/message-consumer.js +146 -0
  124. package/lib/subscribers/message-producer.js +60 -0
  125. package/lib/subscribers/meta-subscriber.js +69 -0
  126. package/lib/subscribers/openai/base.js +27 -1
  127. package/lib/subscribers/openai/chat.js +0 -27
  128. package/lib/subscribers/openai/config.js +3 -3
  129. package/lib/subscribers/openai/utils.js +10 -11
  130. package/lib/subscribers/pg/config.js +91 -0
  131. package/lib/subscribers/pg/connect.js +28 -0
  132. package/lib/subscribers/pg/native-connect.js +25 -0
  133. package/lib/subscribers/pg/native-query.js +22 -0
  134. package/lib/subscribers/pg/query.js +66 -0
  135. package/lib/subscribers/pino/index.js +2 -2
  136. package/lib/subscribers/propagation.js +23 -0
  137. package/lib/subscribers/undici/config.js +11 -0
  138. package/lib/subscribers/undici/index.js +195 -0
  139. package/lib/synthetics.js +4 -4
  140. package/lib/timer.js +1 -1
  141. package/lib/tracking-packages.js +25 -0
  142. package/lib/transaction/dt-payload.js +1 -1
  143. package/lib/transaction/handle.js +8 -9
  144. package/lib/transaction/index.js +25 -21
  145. package/lib/transaction/name-state.js +11 -11
  146. package/lib/transaction/trace/segment.js +3 -4
  147. package/lib/transaction/tracer/index.js +1 -1
  148. package/lib/util/attribute-types.js +1 -1
  149. package/lib/util/byte-limit.js +1 -1
  150. package/lib/util/cat.js +13 -13
  151. package/lib/util/flatten.js +2 -3
  152. package/lib/util/is-absolute-path.js +1 -1
  153. package/lib/util/is-string.js +15 -0
  154. package/lib/util/llm-utils.js +3 -3
  155. package/lib/util/logger.js +8 -8
  156. package/lib/util/stream-sink.js +1 -1
  157. package/lib/utilization/docker-info.js +4 -3
  158. package/lib/utilization/ecs-info.js +1 -1
  159. package/lib/w3c/traceparent.js +3 -3
  160. package/lib/w3c/tracestate.js +1 -1
  161. package/package.json +2 -2
  162. package/lib/instrumentation/amqplib/amqplib.js +0 -122
  163. package/lib/instrumentation/amqplib/channel-model.js +0 -124
  164. package/lib/instrumentation/amqplib/channel.js +0 -72
  165. package/lib/instrumentation/amqplib/nr-hooks.js +0 -21
  166. package/lib/instrumentation/amqplib/utils.js +0 -143
  167. package/lib/instrumentation/cassandra-driver.js +0 -131
  168. package/lib/instrumentation/pg.js +0 -137
  169. package/lib/instrumentation/undici.js +0 -229
@@ -0,0 +1,697 @@
1
+ /*
2
+ * Copyright 2025 New Relic Corporation. All rights reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ module.exports = {
7
+ // only here to properly track when using callback API
8
+ 'amqplib/callback_api': [],
9
+ amqplib: [
10
+ {
11
+ path: './amqplib/connect.js',
12
+ instrumentations: [
13
+ {
14
+ channelName: 'nr_connect',
15
+ module: { name: 'amqplib', versionRange: '>=0.5.0', filePath: 'lib/connect.js' },
16
+ functionQuery: {
17
+ functionName: 'connect',
18
+ kind: 'Sync'
19
+ }
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ path: './amqplib/send-message.js',
25
+ instrumentations: [
26
+ {
27
+ channelName: 'nr_sendMessage',
28
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/channel.js' },
29
+ functionQuery: {
30
+ className: 'Channel',
31
+ methodName: 'sendMessage',
32
+ kind: 'Sync'
33
+ }
34
+ },
35
+ {
36
+ channelName: 'nr_sendMessage',
37
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/channel.js' },
38
+ functionQuery: {
39
+ expressionName: 'sendMessage',
40
+ kind: 'Sync'
41
+ }
42
+ }
43
+ ]
44
+ },
45
+ {
46
+ path: './amqplib/consume.js',
47
+ instrumentations: [
48
+ {
49
+ channelName: 'nr_consume',
50
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
51
+ functionQuery: {
52
+ className: 'Channel',
53
+ methodName: 'consume',
54
+ kind: 'Sync'
55
+ }
56
+ },
57
+ {
58
+ channelName: 'nr_consume',
59
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
60
+ functionQuery: {
61
+ className: 'Channel',
62
+ methodName: 'consume',
63
+ kind: 'Sync'
64
+ }
65
+ },
66
+ {
67
+ channelName: 'nr_consume',
68
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
69
+ functionQuery: {
70
+ expressionName: 'consume',
71
+ kind: 'Sync'
72
+ }
73
+ },
74
+ {
75
+ channelName: 'nr_consume',
76
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
77
+ functionQuery: {
78
+ expressionName: 'consume',
79
+ kind: 'Sync'
80
+ }
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ path: './amqplib/purge-queue.js',
86
+ instrumentations: [
87
+ {
88
+ channelName: 'nr_purgeQueue',
89
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
90
+ functionQuery: {
91
+ className: 'Channel',
92
+ methodName: 'purgeQueue',
93
+ kind: 'Async'
94
+ }
95
+ },
96
+ {
97
+ channelName: 'nr_purgeQueue',
98
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
99
+ functionQuery: {
100
+ expressionName: 'purgeQueue',
101
+ kind: 'Async'
102
+ }
103
+ }
104
+ ]
105
+ },
106
+ {
107
+ path: './amqplib/purge-queue-cb.js',
108
+ instrumentations: [
109
+ {
110
+ channelName: 'cb_purgeQueue',
111
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
112
+ functionQuery: {
113
+ className: 'Channel',
114
+ methodName: 'purgeQueue',
115
+ kind: 'Sync'
116
+ }
117
+ },
118
+ {
119
+ channelName: 'cb_purgeQueue',
120
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
121
+ functionQuery: {
122
+ expressionName: 'purgeQueue',
123
+ kind: 'Sync'
124
+ }
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ path: './amqplib/get.js',
130
+ instrumentations: [
131
+ {
132
+ channelName: 'nr_get',
133
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
134
+ functionQuery: {
135
+ className: 'Channel',
136
+ methodName: 'get',
137
+ kind: 'Async'
138
+ }
139
+ },
140
+ {
141
+ channelName: 'nr_get',
142
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
143
+ functionQuery: {
144
+ expressionName: 'get',
145
+ kind: 'Async'
146
+ }
147
+ }
148
+ ]
149
+ },
150
+ {
151
+ path: './amqplib/get-cb.js',
152
+ instrumentations: [
153
+ {
154
+ channelName: 'cb_get',
155
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
156
+ functionQuery: {
157
+ className: 'Channel',
158
+ methodName: 'get',
159
+ kind: 'Sync'
160
+ }
161
+ },
162
+ {
163
+ channelName: 'cb_get',
164
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
165
+ functionQuery: {
166
+ expressionName: 'get',
167
+ kind: 'Sync'
168
+ }
169
+ }
170
+ ]
171
+ },
172
+ {
173
+ path: './amqplib/channel-model.js',
174
+ instrumentations: [
175
+ {
176
+ channelName: 'nr_assertExchange',
177
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
178
+ functionQuery: {
179
+ className: 'Channel',
180
+ methodName: 'assertExchange',
181
+ kind: 'Async'
182
+ }
183
+ },
184
+ {
185
+ channelName: 'nr_assertQueue',
186
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
187
+ functionQuery: {
188
+ className: 'Channel',
189
+ methodName: 'assertQueue',
190
+ kind: 'Async'
191
+ }
192
+ },
193
+ {
194
+ channelName: 'nr_close',
195
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
196
+ functionQuery: {
197
+ className: 'Channel',
198
+ methodName: 'close',
199
+ kind: 'Async'
200
+ }
201
+ },
202
+ {
203
+ channelName: 'nr_open',
204
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
205
+ functionQuery: {
206
+ className: 'Channel',
207
+ methodName: 'open',
208
+ kind: 'Async'
209
+ }
210
+ },
211
+ {
212
+ channelName: 'nr_bindQueue',
213
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
214
+ functionQuery: {
215
+ className: 'Channel',
216
+ methodName: 'bindQueue',
217
+ kind: 'Async'
218
+ }
219
+ },
220
+ {
221
+ channelName: 'nr_checkQueue',
222
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
223
+ functionQuery: {
224
+ className: 'Channel',
225
+ methodName: 'checkQueue',
226
+ kind: 'Async'
227
+ }
228
+ },
229
+ {
230
+ channelName: 'nr_unbindQueue',
231
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
232
+ functionQuery: {
233
+ className: 'Channel',
234
+ methodName: 'unbindQueue',
235
+ kind: 'Async'
236
+ }
237
+ },
238
+ {
239
+ channelName: 'nr_checkExchange',
240
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
241
+ functionQuery: {
242
+ className: 'Channel',
243
+ methodName: 'checkExchange',
244
+ kind: 'Async'
245
+ }
246
+ },
247
+ {
248
+ channelName: 'nr_deleteExchange',
249
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
250
+ functionQuery: {
251
+ className: 'Channel',
252
+ methodName: 'deleteExchange',
253
+ kind: 'Async'
254
+ }
255
+ },
256
+ {
257
+ channelName: 'nr_bindExchange',
258
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
259
+ functionQuery: {
260
+ className: 'Channel',
261
+ methodName: 'bindExchange',
262
+ kind: 'Async'
263
+ }
264
+ },
265
+ {
266
+ channelName: 'nr_unbindExchange',
267
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
268
+ functionQuery: {
269
+ className: 'Channel',
270
+ methodName: 'unbindExchange',
271
+ kind: 'Async'
272
+ }
273
+ },
274
+ {
275
+ channelName: 'nr_cancel',
276
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
277
+ functionQuery: {
278
+ className: 'Channel',
279
+ methodName: 'cancel',
280
+ kind: 'Async'
281
+ }
282
+ },
283
+ {
284
+ channelName: 'nr_prefetch',
285
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
286
+ functionQuery: {
287
+ className: 'Channel',
288
+ // Note: method name is not `prefetch` as `qos` is mapped to it
289
+ methodName: 'qos',
290
+ kind: 'Async'
291
+ }
292
+ },
293
+ {
294
+ channelName: 'nr_recover',
295
+ module: { name: 'amqplib', versionRange: '>=0.9.0', filePath: 'lib/channel_model.js' },
296
+ functionQuery: {
297
+ className: 'Channel',
298
+ methodName: 'recover',
299
+ kind: 'Async'
300
+ }
301
+ },
302
+ {
303
+ channelName: 'nr_assertExchange',
304
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
305
+ functionQuery: {
306
+ expressionName: 'assertExchange',
307
+ kind: 'Async'
308
+ }
309
+ },
310
+ {
311
+ channelName: 'nr_assertQueue',
312
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
313
+ functionQuery: {
314
+ expressionName: 'assertQueue',
315
+ kind: 'Async'
316
+ }
317
+ },
318
+ {
319
+ channelName: 'nr_close',
320
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
321
+ functionQuery: {
322
+ expressionName: 'close',
323
+ kind: 'Async'
324
+ }
325
+ },
326
+ {
327
+ channelName: 'nr_open',
328
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
329
+ functionQuery: {
330
+ expressionName: 'open',
331
+ kind: 'Async'
332
+ }
333
+ },
334
+ {
335
+ channelName: 'nr_bindQueue',
336
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
337
+ functionQuery: {
338
+ expressionName: 'bindQueue',
339
+ kind: 'Async'
340
+ }
341
+ },
342
+ {
343
+ channelName: 'nr_checkQueue',
344
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
345
+ functionQuery: {
346
+ expressionName: 'checkQueue',
347
+ kind: 'Async'
348
+ }
349
+ },
350
+ {
351
+ channelName: 'nr_unbindQueue',
352
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
353
+ functionQuery: {
354
+ expressionName: 'unbindQueue',
355
+ kind: 'Async'
356
+ }
357
+ },
358
+ {
359
+ channelName: 'nr_checkExchange',
360
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
361
+ functionQuery: {
362
+ expressionName: 'checkExchange',
363
+ kind: 'Async'
364
+ }
365
+ },
366
+ {
367
+ channelName: 'nr_deleteExchange',
368
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
369
+ functionQuery: {
370
+ expressionName: 'deleteExchange',
371
+ kind: 'Async'
372
+ }
373
+ },
374
+ {
375
+ channelName: 'nr_bindExchange',
376
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
377
+ functionQuery: {
378
+ expressionName: 'bindExchange',
379
+ kind: 'Async'
380
+ }
381
+ },
382
+ {
383
+ channelName: 'nr_unbindExchange',
384
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
385
+ functionQuery: {
386
+ expressionName: 'unbindExchange',
387
+ kind: 'Async'
388
+ }
389
+ },
390
+ {
391
+ channelName: 'nr_cancel',
392
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
393
+ functionQuery: {
394
+ expressionName: 'cancel',
395
+ kind: 'Async'
396
+ }
397
+ },
398
+ {
399
+ channelName: 'nr_prefetch',
400
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
401
+ functionQuery: {
402
+ // Note: method name is not `prefetch` as `qos` is mapped to it
403
+ expressionName: 'qos',
404
+ kind: 'Async'
405
+ }
406
+ },
407
+ {
408
+ channelName: 'nr_recover',
409
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.9.0', filePath: 'lib/channel_model.js' },
410
+ functionQuery: {
411
+ expressionName: 'recover',
412
+ kind: 'Async'
413
+ }
414
+ }
415
+ ]
416
+ },
417
+ {
418
+ path: './amqplib/send-or-enqueue.js',
419
+ instrumentations: [
420
+ {
421
+ channelName: 'nr_sendOrEnqueue',
422
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/channel.js' },
423
+ functionQuery: {
424
+ className: 'Channel',
425
+ methodName: 'sendOrEnqueue',
426
+ kind: 'Sync'
427
+ }
428
+ },
429
+ {
430
+ channelName: 'nr_sendOrEnqueue',
431
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/channel.js' },
432
+ functionQuery: {
433
+ expressionName: 'sendOrEnqueue',
434
+ kind: 'Sync'
435
+ }
436
+ }
437
+ ]
438
+ },
439
+ {
440
+ path: './amqplib/accept-message.js',
441
+ instrumentations: [
442
+ {
443
+ channelName: 'nr_acceptMessage',
444
+ module: { name: 'amqplib', versionRange: '>=0.5.0', filePath: 'lib/channel.js' },
445
+ functionQuery: {
446
+ functionName: 'acceptMessage',
447
+ kind: 'Sync'
448
+ }
449
+ }
450
+ ]
451
+ },
452
+ {
453
+ path: './amqplib/callback-model.js',
454
+ instrumentations: [
455
+ {
456
+ channelName: 'cb_assertExchange',
457
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
458
+ functionQuery: {
459
+ className: 'Channel',
460
+ methodName: 'assertExchange',
461
+ kind: 'Sync'
462
+ }
463
+ },
464
+ {
465
+ channelName: 'cb_assertQueue',
466
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
467
+ functionQuery: {
468
+ className: 'Channel',
469
+ methodName: 'assertQueue',
470
+ kind: 'Sync'
471
+ }
472
+ },
473
+ {
474
+ channelName: 'cb_close',
475
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
476
+ functionQuery: {
477
+ className: 'Channel',
478
+ methodName: 'close',
479
+ kind: 'Sync'
480
+ }
481
+ },
482
+ {
483
+ channelName: 'cb_open',
484
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
485
+ functionQuery: {
486
+ className: 'Channel',
487
+ methodName: 'open',
488
+ kind: 'Sync'
489
+ }
490
+ },
491
+ {
492
+ channelName: 'cb_bindQueue',
493
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
494
+ functionQuery: {
495
+ className: 'Channel',
496
+ methodName: 'bindQueue',
497
+ kind: 'Sync'
498
+ }
499
+ },
500
+ {
501
+ channelName: 'cb_checkQueue',
502
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
503
+ functionQuery: {
504
+ className: 'Channel',
505
+ methodName: 'checkQueue',
506
+ kind: 'Sync'
507
+ }
508
+ },
509
+ {
510
+ channelName: 'cb_unbindQueue',
511
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
512
+ functionQuery: {
513
+ className: 'Channel',
514
+ methodName: 'unbindQueue',
515
+ kind: 'Sync'
516
+ }
517
+ },
518
+ {
519
+ channelName: 'cb_checkExchange',
520
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
521
+ functionQuery: {
522
+ className: 'Channel',
523
+ methodName: 'checkExchange',
524
+ kind: 'Sync'
525
+ }
526
+ },
527
+ {
528
+ channelName: 'cb_deleteExchange',
529
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
530
+ functionQuery: {
531
+ className: 'Channel',
532
+ methodName: 'deleteExchange',
533
+ kind: 'Sync'
534
+ }
535
+ },
536
+ {
537
+ channelName: 'cb_bindExchange',
538
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
539
+ functionQuery: {
540
+ className: 'Channel',
541
+ methodName: 'bindExchange',
542
+ kind: 'Sync'
543
+ }
544
+ },
545
+ {
546
+ channelName: 'cb_unbindExchange',
547
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
548
+ functionQuery: {
549
+ className: 'Channel',
550
+ methodName: 'unbindExchange',
551
+ kind: 'Sync'
552
+ }
553
+ },
554
+ {
555
+ channelName: 'cb_cancel',
556
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
557
+ functionQuery: {
558
+ className: 'Channel',
559
+ methodName: 'cancel',
560
+ kind: 'Sync'
561
+ }
562
+ },
563
+ {
564
+ channelName: 'cb_prefetch',
565
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
566
+ functionQuery: {
567
+ className: 'Channel',
568
+ methodName: 'prefetch',
569
+ kind: 'Ssync'
570
+ }
571
+ },
572
+ {
573
+ channelName: 'cb_recover',
574
+ module: { name: 'amqplib', versionRange: '>=0.10.4', filePath: 'lib/callback_model.js' },
575
+ functionQuery: {
576
+ className: 'Channel',
577
+ methodName: 'recover',
578
+ kind: 'Sync'
579
+ }
580
+ },
581
+ {
582
+ channelName: 'cb_assertExchange',
583
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
584
+ functionQuery: {
585
+ expressionName: 'assertExchange',
586
+ kind: 'Sync'
587
+ }
588
+ },
589
+ {
590
+ channelName: 'cb_assertQueue',
591
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
592
+ functionQuery: {
593
+
594
+ expressionName: 'assertQueue',
595
+ kind: 'Sync'
596
+ }
597
+ },
598
+ {
599
+ channelName: 'cb_close',
600
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
601
+ functionQuery: {
602
+ expressionName: 'close',
603
+ kind: 'Sync'
604
+ }
605
+ },
606
+ {
607
+ channelName: 'cb_open',
608
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
609
+ functionQuery: {
610
+ expressionName: 'open',
611
+ kind: 'Sync'
612
+ }
613
+ },
614
+ {
615
+ channelName: 'cb_bindQueue',
616
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
617
+ functionQuery: {
618
+ expressionName: 'bindQueue',
619
+ kind: 'Sync'
620
+ }
621
+ },
622
+ {
623
+ channelName: 'cb_checkQueue',
624
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
625
+ functionQuery: {
626
+ expressionName: 'checkQueue',
627
+ kind: 'Sync'
628
+ }
629
+ },
630
+ {
631
+ channelName: 'cb_unbindQueue',
632
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
633
+ functionQuery: {
634
+ expressionName: 'unbindQueue',
635
+ kind: 'Sync'
636
+ }
637
+ },
638
+ {
639
+ channelName: 'cb_checkExchange',
640
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
641
+ functionQuery: {
642
+ expressionName: 'checkExchange',
643
+ kind: 'Sync'
644
+ }
645
+ },
646
+ {
647
+ channelName: 'cb_deleteExchange',
648
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
649
+ functionQuery: {
650
+ expressionName: 'deleteExchange',
651
+ kind: 'Sync'
652
+ }
653
+ },
654
+ {
655
+ channelName: 'cb_bindExchange',
656
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
657
+ functionQuery: {
658
+ expressionName: 'bindExchange',
659
+ kind: 'Sync'
660
+ }
661
+ },
662
+ {
663
+ channelName: 'cb_unbindExchange',
664
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
665
+ functionQuery: {
666
+ expressionName: 'unbindExchange',
667
+ kind: 'Sync'
668
+ }
669
+ },
670
+ {
671
+ channelName: 'cb_cancel',
672
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
673
+ functionQuery: {
674
+ expressionName: 'cancel',
675
+ kind: 'Sync'
676
+ }
677
+ },
678
+ {
679
+ channelName: 'cb_prefetch',
680
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
681
+ functionQuery: {
682
+ expressionName: 'prefetch',
683
+ kind: 'Sync'
684
+ }
685
+ },
686
+ {
687
+ channelName: 'cb_recover',
688
+ module: { name: 'amqplib', versionRange: '>=0.5.0 <0.10.4', filePath: 'lib/callback_model.js' },
689
+ functionQuery: {
690
+ expressionName: 'recover',
691
+ kind: 'Sync'
692
+ }
693
+ }
694
+ ]
695
+ }
696
+ ]
697
+ }