UNPKG

dd-trace

Version:

Datadog APM tracing client for JavaScript

38 lines (30 loc) 1.02 kB
'use strict' const ProducerPlugin = require('../../dd-trace/src/plugins/producer') const { CLIENT_PORT_KEY } = require('../../dd-trace/src/constants') const { getAddress, getShortName } = require('./util') class Amqp10ProducerPlugin extends ProducerPlugin { static id = 'amqp10' static operation = 'send' static system = 'amqp' bindStart (ctx) { const { link } = ctx const address = getAddress(link) const target = getShortName(link) this.startSpan({ resource: ['send', target].filter(Boolean).join(' '), meta: { 'amqp.link.target.address': target, 'amqp.link.role': 'sender', 'out.host': address.host, [CLIENT_PORT_KEY]: address.port, '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 = Amqp10ProducerPlugin