Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
constructor (config) {
super()
EventEmitter.call(this)
const service = config.service
const endpoint = config.endpoint
const hostname = config.hostname || 'localhost'
const port = config.port || 8126
const protocol = config.protocol || 'http'
this._service = service
this._endpoint = new Endpoint(endpoint || `${protocol}://${hostname}:${port}`)
this._propagators = {
[opentracing.FORMAT_TEXT_MAP]: new TextMapPropagator(),
[opentracing.FORMAT_HTTP_HEADERS]: new TextMapPropagator(),
[opentracing.FORMAT_BINARY]: new BinaryPropagator()
}
}
tags: fields.tags,
startTime: fields.startTime
})
}
_inject (spanContext, format, carrier) {
this._propagators[format].inject(spanContext, carrier)
return this
}
_extract (format, carrier) {
return this._propagators[format].extract(carrier)
}
}
Object.assign(DatadogTracer.prototype, EventEmitter.prototype)
function getParent (references) {
let parent = null
if (references) {
for (let i = 0; i < references.length; i++) {
const ref = references[i]
if (ref.type() === opentracing.REFERENCE_CHILD_OF) {
parent = ref.referencedContext()
break
} else if (ref.type() === opentracing.REFERENCE_FOLLOWS_FROM) {
if (!parent) {
parent = ref.referencedContext()
}
}
}