elastic-apm-node
Version:
The official Elastic APM agent for Node.js
24 lines (18 loc) • 688 B
JavaScript
const semver = require('semver')
const shimmer = require('../shimmer')
module.exports = function (apolloServerCore, agent, { version, enabled }) {
if (!enabled) return apolloServerCore
if (!semver.satisfies(version, '^2.0.2')) {
agent.logger.debug('apollo-server-core version %s not supported - aborting...', version)
return apolloServerCore
}
shimmer.wrap(apolloServerCore, 'runHttpQuery', function (runHttpQuery) {
return function wrappedRunHttpQuery () {
var trans = agent._instrumentation.currentTransaction
if (trans) trans._graphqlRoute = true
return runHttpQuery.apply(this, arguments)
}
})
return apolloServerCore
}