pinpoint-node-agent
Version:
Pinpoint node agent provided by NAVER
31 lines (25 loc) • 968 B
JavaScript
/**
* Pinpoint Node.js Agent
* Copyright 2020-present NAVER Corp.
* Apache License v2.0
*/
const MethodDescriptorBuilder = require('../../../context/method-descriptor-builder')
const InstrumentMethod = require('../../instrument-method')
const MySQLGetConnectionInterceptor = require('./mysql-get-connection-interceptor')
class MySQLClusterOfInterceptor {
constructor(traceContext) {
this.methodDescriptorBuilder = new MethodDescriptorBuilder('of')
this.traceContext = traceContext
}
doInBeforeTrace(recorder, target, args) {
recorder.recordServiceType(require('./mysql-service-type'))
}
prepareAfterTrace(target, args, poolNamespace) {
if (!poolNamespace) {
return
}
InstrumentMethod.make(poolNamespace, 'getConnection', this.traceContext).addScopedInterceptor(new MySQLGetConnectionInterceptor(this.traceContext))
}
}
module.exports = MySQLClusterOfInterceptor