newrelic
Version:
New Relic agent
47 lines (39 loc) • 1.08 kB
JavaScript
/*
* Copyright 2020 New Relic Corporation. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
var NAMES = require('../../metrics/names.js')
function recordMessageTransaction(segment, scope) {
var tx = segment.transaction
if (tx.type !== 'message' || tx.baseSegment !== segment) {
return
}
var duration = segment.getDurationInMillis()
var exclusive = segment.getExclusiveDurationInMillis()
var totalTime = segment.transaction.trace.getTotalTimeDurationInMillis()
var tx = segment.transaction
if (scope) {
tx.measure(scope, null, duration, exclusive)
tx.measure(
NAMES.MESSAGE_TRANSACTION.TOTAL_TIME + '/' + tx.getName(),
null,
totalTime,
exclusive
)
}
tx.measure(
NAMES.MESSAGE_TRANSACTION.RESPONSE_TIME + '/all',
null,
duration,
exclusive
)
tx.measure(
NAMES.OTHER_TRANSACTION.RESPONSE_TIME + '/all',
null,
duration,
exclusive
)
tx.measure(NAMES.OTHER_TRANSACTION.TOTAL_TIME, null, totalTime, exclusive)
}
module.exports = recordMessageTransaction