dd-trace 5.101.0 → 5.103.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 (235) hide show
  1. package/ext/exporters.js +1 -0
  2. package/package.json +20 -17
  3. package/packages/datadog-esbuild/src/utils.js +2 -2
  4. package/packages/datadog-instrumentations/src/aerospike.js +2 -2
  5. package/packages/datadog-instrumentations/src/ai.js +9 -9
  6. package/packages/datadog-instrumentations/src/amqplib.js +6 -7
  7. package/packages/datadog-instrumentations/src/anthropic.js +10 -10
  8. package/packages/datadog-instrumentations/src/apollo-server-core.js +3 -3
  9. package/packages/datadog-instrumentations/src/apollo-server.js +5 -5
  10. package/packages/datadog-instrumentations/src/avsc.js +6 -6
  11. package/packages/datadog-instrumentations/src/aws-sdk.js +151 -67
  12. package/packages/datadog-instrumentations/src/azure-durable-functions.js +8 -8
  13. package/packages/datadog-instrumentations/src/bluebird.js +2 -2
  14. package/packages/datadog-instrumentations/src/body-parser.js +2 -2
  15. package/packages/datadog-instrumentations/src/cassandra-driver.js +7 -7
  16. package/packages/datadog-instrumentations/src/child_process.js +12 -12
  17. package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +41 -24
  18. package/packages/datadog-instrumentations/src/connect.js +7 -7
  19. package/packages/datadog-instrumentations/src/cookie-parser.js +4 -4
  20. package/packages/datadog-instrumentations/src/cookie.js +2 -2
  21. package/packages/datadog-instrumentations/src/couchbase.js +73 -238
  22. package/packages/datadog-instrumentations/src/crypto.js +4 -4
  23. package/packages/datadog-instrumentations/src/cucumber.js +78 -17
  24. package/packages/datadog-instrumentations/src/dns.js +0 -3
  25. package/packages/datadog-instrumentations/src/elasticsearch.js +8 -11
  26. package/packages/datadog-instrumentations/src/electron/preload.js +42 -0
  27. package/packages/datadog-instrumentations/src/electron.js +240 -0
  28. package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +6 -6
  29. package/packages/datadog-instrumentations/src/express-session.js +4 -4
  30. package/packages/datadog-instrumentations/src/express.js +10 -11
  31. package/packages/datadog-instrumentations/src/fastify.js +2 -2
  32. package/packages/datadog-instrumentations/src/fetch.js +5 -5
  33. package/packages/datadog-instrumentations/src/fs.js +14 -14
  34. package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +5 -7
  35. package/packages/datadog-instrumentations/src/google-genai.js +4 -4
  36. package/packages/datadog-instrumentations/src/graphql.js +13 -12
  37. package/packages/datadog-instrumentations/src/grpc/server.js +2 -2
  38. package/packages/datadog-instrumentations/src/hapi.js +2 -2
  39. package/packages/datadog-instrumentations/src/helpers/callback-instrumentor.js +9 -9
  40. package/packages/datadog-instrumentations/src/helpers/hook.js +4 -1
  41. package/packages/datadog-instrumentations/src/helpers/hooks.js +1 -0
  42. package/packages/datadog-instrumentations/src/helpers/instrument.js +2 -2
  43. package/packages/datadog-instrumentations/src/helpers/kafka.js +41 -0
  44. package/packages/datadog-instrumentations/src/helpers/promise.js +2 -2
  45. package/packages/datadog-instrumentations/src/hono.js +2 -2
  46. package/packages/datadog-instrumentations/src/http/client.js +6 -6
  47. package/packages/datadog-instrumentations/src/http/server.js +9 -9
  48. package/packages/datadog-instrumentations/src/ioredis.js +16 -12
  49. package/packages/datadog-instrumentations/src/jest.js +382 -81
  50. package/packages/datadog-instrumentations/src/kafkajs.js +165 -174
  51. package/packages/datadog-instrumentations/src/knex.js +17 -17
  52. package/packages/datadog-instrumentations/src/koa.js +12 -12
  53. package/packages/datadog-instrumentations/src/ldapjs.js +5 -5
  54. package/packages/datadog-instrumentations/src/light-my-request.js +2 -2
  55. package/packages/datadog-instrumentations/src/limitd-client.js +4 -4
  56. package/packages/datadog-instrumentations/src/lodash.js +4 -4
  57. package/packages/datadog-instrumentations/src/mariadb.js +13 -13
  58. package/packages/datadog-instrumentations/src/memcached.js +2 -2
  59. package/packages/datadog-instrumentations/src/microgateway-core.js +2 -2
  60. package/packages/datadog-instrumentations/src/mocha/common.js +3 -3
  61. package/packages/datadog-instrumentations/src/mocha/main.js +85 -11
  62. package/packages/datadog-instrumentations/src/mocha/utils.js +133 -16
  63. package/packages/datadog-instrumentations/src/mocha/worker.js +7 -5
  64. package/packages/datadog-instrumentations/src/mongodb-core.js +42 -30
  65. package/packages/datadog-instrumentations/src/mongodb.js +5 -5
  66. package/packages/datadog-instrumentations/src/mongoose.js +21 -21
  67. package/packages/datadog-instrumentations/src/mquery.js +5 -5
  68. package/packages/datadog-instrumentations/src/multer.js +4 -4
  69. package/packages/datadog-instrumentations/src/mysql.js +16 -16
  70. package/packages/datadog-instrumentations/src/mysql2.js +4 -4
  71. package/packages/datadog-instrumentations/src/net.js +14 -8
  72. package/packages/datadog-instrumentations/src/nyc.js +5 -5
  73. package/packages/datadog-instrumentations/src/openai.js +19 -19
  74. package/packages/datadog-instrumentations/src/oracledb.js +6 -6
  75. package/packages/datadog-instrumentations/src/passport-utils.js +5 -5
  76. package/packages/datadog-instrumentations/src/pg.js +39 -25
  77. package/packages/datadog-instrumentations/src/pino.js +6 -10
  78. package/packages/datadog-instrumentations/src/playwright.js +445 -68
  79. package/packages/datadog-instrumentations/src/protobufjs.js +16 -16
  80. package/packages/datadog-instrumentations/src/redis.js +20 -12
  81. package/packages/datadog-instrumentations/src/restify.js +2 -2
  82. package/packages/datadog-instrumentations/src/router.js +12 -12
  83. package/packages/datadog-instrumentations/src/stripe.js +12 -12
  84. package/packages/datadog-instrumentations/src/vitest.js +107 -26
  85. package/packages/datadog-instrumentations/src/winston.js +4 -4
  86. package/packages/datadog-instrumentations/src/ws.js +7 -7
  87. package/packages/datadog-plugin-apollo/src/gateway/request.js +1 -21
  88. package/packages/datadog-plugin-aws-sdk/src/base.js +70 -28
  89. package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +1 -1
  90. package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +20 -13
  91. package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +46 -36
  92. package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +34 -23
  93. package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +1 -1
  94. package/packages/datadog-plugin-aws-sdk/src/services/s3.js +1 -1
  95. package/packages/datadog-plugin-aws-sdk/src/services/sns.js +14 -15
  96. package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +74 -55
  97. package/packages/datadog-plugin-aws-sdk/src/services/stepfunctions.js +20 -18
  98. package/packages/datadog-plugin-aws-sdk/src/util.js +22 -0
  99. package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +6 -6
  100. package/packages/datadog-plugin-couchbase/src/index.js +58 -52
  101. package/packages/datadog-plugin-cucumber/src/index.js +5 -0
  102. package/packages/datadog-plugin-cypress/src/cypress-plugin.js +215 -26
  103. package/packages/datadog-plugin-cypress/src/support.js +13 -1
  104. package/packages/datadog-plugin-electron/src/index.js +17 -0
  105. package/packages/datadog-plugin-electron/src/ipc.js +143 -0
  106. package/packages/datadog-plugin-electron/src/net.js +82 -0
  107. package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +1 -5
  108. package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +27 -18
  109. package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +3 -1
  110. package/packages/datadog-plugin-graphql/src/execute.js +6 -28
  111. package/packages/datadog-plugin-graphql/src/resolve.js +30 -35
  112. package/packages/datadog-plugin-graphql/src/tools/signature.js +32 -7
  113. package/packages/datadog-plugin-graphql/src/tools/transforms.js +118 -100
  114. package/packages/datadog-plugin-graphql/src/utils.js +29 -0
  115. package/packages/datadog-plugin-grpc/src/client.js +6 -7
  116. package/packages/datadog-plugin-grpc/src/util.js +57 -22
  117. package/packages/datadog-plugin-http/src/client.js +3 -7
  118. package/packages/datadog-plugin-jest/src/index.js +92 -50
  119. package/packages/datadog-plugin-jest/src/util.js +1 -2
  120. package/packages/datadog-plugin-mocha/src/index.js +5 -0
  121. package/packages/datadog-plugin-mongodb-core/src/index.js +36 -69
  122. package/packages/datadog-plugin-mysql/src/index.js +1 -1
  123. package/packages/datadog-plugin-openai/src/services.js +2 -1
  124. package/packages/datadog-plugin-openai/src/tracing.js +12 -23
  125. package/packages/datadog-plugin-pg/src/index.js +3 -3
  126. package/packages/datadog-plugin-playwright/src/index.js +5 -1
  127. package/packages/datadog-plugin-redis/src/index.js +18 -23
  128. package/packages/datadog-plugin-vitest/src/index.js +8 -1
  129. package/packages/datadog-shimmer/src/shimmer.js +7 -1
  130. package/packages/dd-trace/src/aiguard/index.js +3 -1
  131. package/packages/dd-trace/src/aiguard/sdk.js +36 -30
  132. package/packages/dd-trace/src/aiguard/tags.js +20 -11
  133. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +1 -1
  134. package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +81 -81
  135. package/packages/dd-trace/src/appsec/iast/security-controls/index.js +2 -2
  136. package/packages/dd-trace/src/appsec/iast/taint-tracking/plugins/kafka.js +2 -2
  137. package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +4 -4
  138. package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +2 -2
  139. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +2 -0
  140. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +1 -3
  141. package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +83 -48
  142. package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +1 -1
  143. package/packages/dd-trace/src/appsec/index.js +21 -24
  144. package/packages/dd-trace/src/appsec/reporter.js +3 -1
  145. package/packages/dd-trace/src/appsec/rule_manager.js +4 -2
  146. package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +31 -16
  147. package/packages/dd-trace/src/azure_metadata.js +17 -6
  148. package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +4 -4
  149. package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +4 -2
  150. package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +6 -4
  151. package/packages/dd-trace/src/ci-visibility/requests/fs-cache.js +1 -1
  152. package/packages/dd-trace/src/config/defaults.js +3 -14
  153. package/packages/dd-trace/src/config/generated-config-types.d.ts +3 -1
  154. package/packages/dd-trace/src/config/git_properties.js +2 -2
  155. package/packages/dd-trace/src/config/helper.js +4 -0
  156. package/packages/dd-trace/src/config/index.js +2 -2
  157. package/packages/dd-trace/src/config/major-overrides.js +98 -0
  158. package/packages/dd-trace/src/config/parsers.js +7 -1
  159. package/packages/dd-trace/src/config/supported-configurations.json +51 -38
  160. package/packages/dd-trace/src/datastreams/checkpointer.js +2 -2
  161. package/packages/dd-trace/src/datastreams/index.js +2 -1
  162. package/packages/dd-trace/src/datastreams/manager.js +1 -1
  163. package/packages/dd-trace/src/datastreams/processor.js +3 -4
  164. package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +2 -2
  165. package/packages/dd-trace/src/debugger/devtools_client/snapshot-pruner.js +1 -0
  166. package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +1 -1
  167. package/packages/dd-trace/src/debugger/devtools_client/state.js +2 -1
  168. package/packages/dd-trace/src/debugger/index.js +7 -7
  169. package/packages/dd-trace/src/dogstatsd.js +2 -2
  170. package/packages/dd-trace/src/encode/0.4.js +748 -232
  171. package/packages/dd-trace/src/encode/0.5.js +47 -10
  172. package/packages/dd-trace/src/encode/agentless-json.js +1 -1
  173. package/packages/dd-trace/src/exporter.js +2 -0
  174. package/packages/dd-trace/src/exporters/agent/index.js +2 -1
  175. package/packages/dd-trace/src/exporters/agentless/index.js +3 -2
  176. package/packages/dd-trace/src/exporters/agentless/writer.js +2 -2
  177. package/packages/dd-trace/src/exporters/common/buffering-exporter.js +2 -1
  178. package/packages/dd-trace/src/exporters/common/request.js +1 -1
  179. package/packages/dd-trace/src/exporters/electron/index.js +49 -0
  180. package/packages/dd-trace/src/external-logger/src/index.js +2 -1
  181. package/packages/dd-trace/src/git_metadata.js +10 -8
  182. package/packages/dd-trace/src/lambda/handler-paths.js +52 -0
  183. package/packages/dd-trace/src/lambda/index.js +62 -14
  184. package/packages/dd-trace/src/lambda/runtime/patch.js +21 -46
  185. package/packages/dd-trace/src/llmobs/index.js +13 -2
  186. package/packages/dd-trace/src/llmobs/plugins/ai/util.js +1 -2
  187. package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +45 -15
  188. package/packages/dd-trace/src/llmobs/plugins/genai/util.js +6 -3
  189. package/packages/dd-trace/src/llmobs/sdk.js +24 -26
  190. package/packages/dd-trace/src/llmobs/span_processor.js +25 -5
  191. package/packages/dd-trace/src/llmobs/util.js +1 -0
  192. package/packages/dd-trace/src/llmobs/writers/base.js +2 -1
  193. package/packages/dd-trace/src/msgpack/chunk.js +6 -3
  194. package/packages/dd-trace/src/openfeature/noop.js +40 -36
  195. package/packages/dd-trace/src/openfeature/writers/base.js +2 -1
  196. package/packages/dd-trace/src/openfeature/writers/exposures.js +33 -52
  197. package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +2 -1
  198. package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +1 -2
  199. package/packages/dd-trace/src/opentelemetry/tracer.js +0 -22
  200. package/packages/dd-trace/src/opentracing/propagation/text_map.js +20 -9
  201. package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +2 -11
  202. package/packages/dd-trace/src/payload-tagging/config/index.js +2 -2
  203. package/packages/dd-trace/src/plugins/ci_plugin.js +49 -4
  204. package/packages/dd-trace/src/plugins/database.js +54 -12
  205. package/packages/dd-trace/src/plugins/index.js +1 -0
  206. package/packages/dd-trace/src/plugins/plugin.js +2 -4
  207. package/packages/dd-trace/src/plugins/util/ci.js +9 -9
  208. package/packages/dd-trace/src/plugins/util/git-cache.js +23 -23
  209. package/packages/dd-trace/src/plugins/util/stacktrace.js +2 -2
  210. package/packages/dd-trace/src/plugins/util/test.js +56 -12
  211. package/packages/dd-trace/src/plugins/util/url.js +1 -3
  212. package/packages/dd-trace/src/plugins/util/user-provided-git.js +18 -16
  213. package/packages/dd-trace/src/plugins/util/web.js +5 -7
  214. package/packages/dd-trace/src/priority_sampler.js +1 -1
  215. package/packages/dd-trace/src/profiling/profiler.js +1 -1
  216. package/packages/dd-trace/src/profiling/profilers/events.js +3 -23
  217. package/packages/dd-trace/src/profiling/profilers/wall.js +5 -6
  218. package/packages/dd-trace/src/profiling/ssi-heuristics.js +1 -1
  219. package/packages/dd-trace/src/rate_limiter.js +1 -1
  220. package/packages/dd-trace/src/remote_config/scheduler.js +1 -1
  221. package/packages/dd-trace/src/ritm.js +2 -1
  222. package/packages/dd-trace/src/runtime_metrics/index.js +2 -2
  223. package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +5 -8
  224. package/packages/dd-trace/src/scope.js +3 -10
  225. package/packages/dd-trace/src/serverless.js +6 -6
  226. package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +27 -1
  227. package/packages/dd-trace/src/service-naming/schemas/v0/web.js +4 -0
  228. package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +24 -0
  229. package/packages/dd-trace/src/service-naming/schemas/v1/web.js +4 -0
  230. package/packages/dd-trace/src/span_stats.js +1 -1
  231. package/packages/dd-trace/src/telemetry/dependencies.js +1 -1
  232. package/packages/dd-trace/src/telemetry/endpoints.js +1 -1
  233. package/packages/dd-trace/src/telemetry/telemetry.js +2 -2
  234. package/packages/dd-trace/src/tracer.js +7 -7
  235. package/packages/dd-trace/src/lambda/runtime/ritm.js +0 -133
@@ -137,21 +137,21 @@ addHook({ name: 'oracledb', versions: ['>=5'], file: 'lib/oracledb.js' }, oracle
137
137
  }
138
138
  })
139
139
  shimmer.wrap(oracledb.Pool.prototype, 'getConnection', getConnection => {
140
- return function wrappedGetConnection () {
140
+ return function wrappedGetConnection (...args) {
141
141
  let callback
142
- if (typeof arguments[arguments.length - 1] === 'function') {
143
- callback = arguments[arguments.length - 1]
142
+ if (typeof args[args.length - 1] === 'function') {
143
+ callback = args[args.length - 1]
144
144
  }
145
145
  if (callback) {
146
- arguments[arguments.length - 1] = shimmer.wrapFunction(callback, callback => (err, connection) => {
146
+ args[args.length - 1] = shimmer.wrapFunction(callback, callback => (err, connection) => {
147
147
  if (connection) {
148
148
  connectionAttributes.set(connection, poolAttributes.get(this))
149
149
  }
150
150
  callback(err, connection)
151
151
  })
152
- getConnection.apply(this, arguments)
152
+ getConnection.apply(this, args)
153
153
  } else {
154
- return getConnection.apply(this, arguments).then((connection) => {
154
+ return getConnection.apply(this, args).then((connection) => {
155
155
  connectionAttributes.set(connection, poolAttributes.get(this))
156
156
  return connection
157
157
  })
@@ -40,15 +40,15 @@ function wrapVerify (verify) {
40
40
  }
41
41
 
42
42
  function wrapStrategy (Strategy) {
43
- return function wrappedStrategy () {
43
+ return function wrappedStrategy (...args) {
44
44
  // verify function can be either the first or second argument
45
- if (typeof arguments[0] === 'function') {
46
- arguments[0] = wrapVerify(arguments[0])
45
+ if (typeof args[0] === 'function') {
46
+ args[0] = wrapVerify(args[0])
47
47
  } else {
48
- arguments[1] = wrapVerify(arguments[1])
48
+ args[1] = wrapVerify(args[1])
49
49
  }
50
50
 
51
- return Strategy.apply(this, arguments)
51
+ return Strategy.apply(this, args)
52
52
  }
53
53
  }
54
54
 
@@ -15,6 +15,10 @@ const errorCh = channel('apm:pg:query:error')
15
15
  const startPoolQueryCh = channel('datadog:pg:pool:query:start')
16
16
  const finishPoolQueryCh = channel('datadog:pg:pool:query:finish')
17
17
 
18
+ // Drivers like pg-promise reuse the same prepared-statement query object across executions; cache
19
+ // the un-injected `text` so the wrap doesn't capture a previous DBM injection as the new original.
20
+ const originalTextCache = new WeakMap()
21
+
18
22
  addHook({ name: 'pg', versions: ['>=8.0.3'], file: 'lib/native/client.js' }, Client => {
19
23
  shimmer.wrap(Client.prototype, 'query', query => wrapQuery(query))
20
24
  return Client
@@ -31,32 +35,26 @@ addHook({ name: 'pg', versions: ['>=8.0.3'] }, pg => {
31
35
  })
32
36
 
33
37
  function wrapQuery (query) {
34
- return function () {
38
+ return function (...args) {
35
39
  if (!startCh.hasSubscribers) {
36
- return query.apply(this, arguments)
40
+ return query.apply(this, args)
37
41
  }
38
42
 
39
43
  const processId = this.processID
40
44
 
41
- const pgQuery = arguments[0] !== null && typeof arguments[0] === 'object'
42
- ? arguments[0]
43
- : { text: arguments[0] }
45
+ const pgQuery = args[0] !== null && typeof args[0] === 'object'
46
+ ? args[0]
47
+ : { text: args[0] }
44
48
 
45
49
  const textPropObj = pgQuery.cursor ?? pgQuery
46
- const textProp = Object.getOwnPropertyDescriptor(textPropObj, 'text')
47
50
  const stream = typeof textPropObj.read === 'function'
48
51
 
49
- // Only alter `text` property if safe to do so. Initially, it's a property, not a getter.
50
- let originalText
51
- if (!textProp || textProp.configurable) {
52
+ let originalText = originalTextCache.get(textPropObj)
53
+ if (originalText === undefined) {
52
54
  originalText = textPropObj.text
53
-
54
- Object.defineProperty(textPropObj, 'text', {
55
- get () {
56
- return this?.__ddInjectableQuery || originalText
57
- },
58
- })
55
+ originalTextCache.set(textPropObj, originalText)
59
56
  }
57
+
60
58
  const abortController = new AbortController()
61
59
  const ctx = {
62
60
  params: this.connectionParameters,
@@ -80,7 +78,7 @@ function wrapQuery (query) {
80
78
 
81
79
  // Based on: https://github.com/brianc/node-postgres/blob/54eb0fa216aaccd727765641e7d1cf5da2bc483d/packages/pg/lib/client.js#L510
82
80
  const reusingQuery = typeof pgQuery.submit === 'function'
83
- const callback = arguments[arguments.length - 1]
81
+ const callback = args[args.length - 1]
84
82
 
85
83
  finish(error)
86
84
 
@@ -109,9 +107,25 @@ function wrapQuery (query) {
109
107
  return Promise.reject(error)
110
108
  }
111
109
 
112
- arguments[0] = pgQuery
110
+ const injected = ctx.injected
111
+ if (injected !== undefined) {
112
+ // Skip the per-read getter trampoline when `text` is a configurable, writable data
113
+ // property (the pg / pg-cursor common shape). Accessor descriptors and read-only data
114
+ // still go through `defineProperty(get)` so `get text ()` query objects keep working.
115
+ const textProp = Object.getOwnPropertyDescriptor(textPropObj, 'text')
116
+ if (textProp?.configurable === true && textProp.writable === true) {
117
+ textPropObj.text = injected
118
+ } else if (textProp === undefined || textProp.configurable === true) {
119
+ Object.defineProperty(textPropObj, 'text', {
120
+ configurable: true,
121
+ get () { return injected },
122
+ })
123
+ }
124
+ }
125
+
126
+ args[0] = pgQuery
113
127
 
114
- const retval = query.apply(this, arguments)
128
+ const retval = query.apply(this, args)
115
129
 
116
130
  const deperecated = Object.hasOwn(this, '_activeQuery')
117
131
  const queryQueue = deperecated ? this._queryQueue : this.queryQueue
@@ -153,18 +167,18 @@ const finish = (ctx) => {
153
167
  finishPoolQueryCh.publish(ctx)
154
168
  }
155
169
  function wrapPoolQuery (query) {
156
- return function () {
170
+ return function (...args) {
157
171
  if (!startPoolQueryCh.hasSubscribers) {
158
- return query.apply(this, arguments)
172
+ return query.apply(this, args)
159
173
  }
160
174
 
161
- const pgQuery = arguments[0] !== null && typeof arguments[0] === 'object' ? arguments[0] : { text: arguments[0] }
175
+ const pgQuery = args[0] !== null && typeof args[0] === 'object' ? args[0] : { text: args[0] }
162
176
  const abortController = new AbortController()
163
177
 
164
178
  const ctx = { query: pgQuery, abortController }
165
179
 
166
180
  return startPoolQueryCh.runStores(ctx, () => {
167
- const cb = arguments[arguments.length - 1]
181
+ const cb = args[args.length - 1]
168
182
 
169
183
  if (abortController.signal.aborted) {
170
184
  const error = abortController.signal.reason || new Error('Aborted')
@@ -179,13 +193,13 @@ function wrapPoolQuery (query) {
179
193
  }
180
194
 
181
195
  if (typeof cb === 'function') {
182
- arguments[arguments.length - 1] = shimmer.wrapFunction(cb, cb => function () {
196
+ args[args.length - 1] = shimmer.wrapFunction(cb, cb => function (...args) {
183
197
  finish(ctx)
184
- return cb.apply(this, arguments)
198
+ return cb.apply(this, args)
185
199
  })
186
200
  }
187
201
 
188
- const retval = query.apply(this, arguments)
202
+ const retval = query.apply(this, args)
189
203
 
190
204
  if (retval?.then) {
191
205
  retval.then(() => {
@@ -7,8 +7,8 @@ const {
7
7
  } = require('./helpers/instrument')
8
8
 
9
9
  function wrapPino (symbol, wrapper, pino) {
10
- return function pinoWithTrace () {
11
- const instance = pino.apply(this, arguments)
10
+ return function pinoWithTrace (...args) {
11
+ const instance = pino.apply(this, args)
12
12
 
13
13
  Object.defineProperty(instance, symbol, {
14
14
  configurable: true,
@@ -46,8 +46,8 @@ function wrapPrettifyObject (prettifyObject) {
46
46
 
47
47
  function wrapPrettyFactory (prettyFactory) {
48
48
  const ch = channel('apm:pino:log')
49
- return function prettyFactoryWithTrace () {
50
- const pretty = prettyFactory.apply(this, arguments)
49
+ return function prettyFactoryWithTrace (...args) {
50
+ const pretty = prettyFactory.apply(this, args)
51
51
  return function prettyWithTrace (obj) {
52
52
  const payload = { message: obj }
53
53
  ch.publish(payload)
@@ -60,17 +60,13 @@ function wrapPrettyFactory (prettyFactory) {
60
60
  addHook({ name: 'pino', versions: ['2 - 3', '4'], patchDefault: true }, (pino) => {
61
61
  const asJsonSym = (pino.symbols && pino.symbols.asJsonSym) || 'asJson'
62
62
 
63
- const wrapped = shimmer.wrapFunction(pino, pino => wrapPino(asJsonSym, wrapAsJson, pino))
64
-
65
- return wrapped
63
+ return shimmer.wrapFunction(pino, pino => wrapPino(asJsonSym, wrapAsJson, pino))
66
64
  })
67
65
 
68
66
  addHook({ name: 'pino', versions: ['>=5 <6.8.0'], patchDefault: true }, (pino) => {
69
67
  const asJsonSym = ((pino.default || pino)?.symbols.asJsonSym) || 'asJson'
70
68
 
71
- const wrapped = shimmer.wrapFunction(pino, pino => wrapPino(asJsonSym, wrapAsJson, pino.default || pino))
72
-
73
- return wrapped
69
+ return shimmer.wrapFunction(pino, pino => wrapPino(asJsonSym, wrapAsJson, pino.default || pino))
74
70
  })
75
71
 
76
72
  addHook({ name: 'pino', versions: ['>=6.8.0'], patchDefault: false }, (pino) => {