Skip to content

Commit

Permalink
[pinpoint-apm#86] express error case condition
Browse files Browse the repository at this point in the history
  • Loading branch information
feelform committed Sep 12, 2023
1 parent 3a34868 commit 3620c57
Showing 1 changed file with 24 additions and 1 deletion.
25 changes: 24 additions & 1 deletion lib/instrumentation/module/express.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

'use strict'

const util = require('util')
const shimmer = require('shimmer')
const ServiceTypeCode = require('../../constant/service-type').ServiceTypeCode
const log = require('../../utils/logger')
Expand All @@ -17,7 +18,8 @@ const ExpressMethodDescriptorBuilder = require('../../context/express-method-des
const semver = require('semver')

const parameterizedLayerPathSymbol = Symbol('PinpointParameterizedLayerPathSymbol')
const layerPatchedSymbol = Symbol('layer-patched')
const layerPatchedSymbol = Symbol('PinpointLayerPatched')
const errorReportedSymbol = Symbol('PinpointErrorReported')

// https://github.com/elastic/apm-agent-nodejs/blob/master/lib/instrumentation/modules/express.js
module.exports = function (agent, version, express) {
Expand Down Expand Up @@ -98,6 +100,9 @@ module.exports = function (agent, version, express) {
}
} else {
handle = function (err, req, res, next) {
if (shouldReport(err)) {

}
return origin.apply(this, arguments)
}
}
Expand Down Expand Up @@ -131,6 +136,24 @@ module.exports = function (agent, version, express) {
obj[prop].push(value)
}

function shouldReport(error) {
if (typeof error === 'string') {
return true
}
if (isError(error) && !error[errorReportedSymbol]) {
error[errorReportedSymbol] = true
return true
}
return false
}

function isError(error) {
if (!util.types) {
return util.isError(error)
}
return util.types.isNativeError(error)
}

function recordHandle(original, objectName, layerName, appAllMethodDescriptor, handlerMethodDescriptor, layerPath) {
return function (req) {
const trace = agent.traceContext.currentTraceObject()
Expand Down

0 comments on commit 3620c57

Please sign in to comment.