dd-trace
Version:
Datadog APM tracing client for JavaScript
35 lines (27 loc) • 874 B
JavaScript
const ConsumerPlugin = require('../../dd-trace/src/plugins/consumer')
const { getAddress, getShortName } = require('./util')
class Amqp10ConsumerPlugin extends ConsumerPlugin {
static id = 'amqp10'
static system = 'amqp'
bindStart (ctx) {
const { link } = ctx
const source = getShortName(link)
const address = getAddress(link)
this.startSpan({
resource: ['receive', source].filter(Boolean).join(' '),
type: 'worker',
meta: {
'amqp.link.source.address': source,
'amqp.link.role': 'receiver',
'amqp.link.name': link.name,
'amqp.link.handle': link.handle,
'amqp.connection.host': address.host,
'amqp.connection.port': address.port,
'amqp.connection.user': address.user
}
}, ctx)
return ctx.currentStore
}
}
module.exports = Amqp10ConsumerPlugin