test('#startSpan() - not sampled', setup(function (t) { const agent = getAgent() agent._conf.transactionSampleRate = 0 const tracer = new Tracer(agent) const span1 = tracer.startSpan() t.ok(span1, 'should return span') t.ok(span1._span, 'should hold reference to span/transaction') t.equal(span1._isTransaction, true, 'first span should be a transaction') t.equal(span1._span.sampled, false) const span2 = tracer.startSpan() t.ok(span2 instanceof UnsampledSpan) agent._conf.transactionSampleRate = 1 t.end() }))
test('#inject(noop, http, {})', setup(function (t) { const agent = getAgent() agent._conf.transactionSampleRate = 0 const tracer = new Tracer(agent) const span1 = tracer.startSpan('foo') t.equal(span1._isTransaction, true) t.equal(span1._span.sampled, false) const span2 = tracer.startSpan('foo') t.ok(span2 instanceof UnsampledSpan) const carrier = {} tracer.inject(span2, opentracing.FORMAT_HTTP_HEADERS, carrier) t.equal(carrier['elastic-apm-traceparent'], span1.context().toString()) agent._conf.transactionSampleRate = 1 t.end() }))