Skip to content

Commit 519224b

Browse files
committed
fix mysql2 3.11.5 support (#4962)
1 parent 9b9bf14 commit 519224b

File tree

1 file changed

+13
-8
lines changed
  • packages/datadog-instrumentations/src

1 file changed

+13
-8
lines changed

packages/datadog-instrumentations/src/mysql2.js

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const {
88
const shimmer = require('../../datadog-shimmer')
99
const semver = require('semver')
1010

11-
addHook({ name: 'mysql2', file: 'lib/connection.js', versions: ['>=1'] }, (Connection, version) => {
11+
function wrapConnection (Connection, version) {
1212
const startCh = channel('apm:mysql2:query:start')
1313
const finishCh = channel('apm:mysql2:query:finish')
1414
const errorCh = channel('apm:mysql2:query:error')
@@ -151,9 +151,8 @@ addHook({ name: 'mysql2', file: 'lib/connection.js', versions: ['>=1'] }, (Conne
151151
}
152152
}, cmd))
153153
}
154-
})
155-
156-
addHook({ name: 'mysql2', file: 'lib/pool.js', versions: ['>=1'] }, (Pool, version) => {
154+
}
155+
function wrapPool (Pool, version) {
157156
const startOuterQueryCh = channel('datadog:mysql2:outerquery:start')
158157
const shouldEmitEndAfterQueryAbort = semver.intersects(version, '>=1.3.3')
159158

@@ -221,10 +220,9 @@ addHook({ name: 'mysql2', file: 'lib/pool.js', versions: ['>=1'] }, (Pool, versi
221220
})
222221

223222
return Pool
224-
})
223+
}
225224

226-
// PoolNamespace.prototype.query does not exist in mysql2<2.3.0
227-
addHook({ name: 'mysql2', file: 'lib/pool_cluster.js', versions: ['>=2.3.0'] }, PoolCluster => {
225+
function wrapPoolCluster (PoolCluster) {
228226
const startOuterQueryCh = channel('datadog:mysql2:outerquery:start')
229227
const wrappedPoolNamespaces = new WeakSet()
230228

@@ -297,4 +295,11 @@ addHook({ name: 'mysql2', file: 'lib/pool_cluster.js', versions: ['>=2.3.0'] },
297295
})
298296

299297
return PoolCluster
300-
})
298+
}
299+
300+
addHook({ name: 'mysql2', file: 'lib/base/connection.js', versions: ['>=3.11.5'] }, wrapConnection)
301+
addHook({ name: 'mysql2', file: 'lib/connection.js', versions: ['1 - 3.11.4'] }, wrapConnection)
302+
addHook({ name: 'mysql2', file: 'lib/pool.js', versions: ['1 - 3.11.4'] }, wrapPool)
303+
304+
// PoolNamespace.prototype.query does not exist in mysql2<2.3.0
305+
addHook({ name: 'mysql2', file: 'lib/pool_cluster.js', versions: ['2.3.0 - 3.11.4'] }, wrapPoolCluster)

0 commit comments

Comments
 (0)