UNPKG

lightstep-tracer

Version:

> ❗ **This instrumentation is no longer recommended**. Please review [documentation on setting up and configuring the OpenTelemetry Node.js Launcher](https://github.com/lightstep/otel-launcher-node) or [OpenTelemetry JS (Browser)](https://github.com/open-

110 lines (95 loc) 3.48 kB
describe("Span", function() { describe("Span#tracer", function() { it("should return an object", function() { var span = Tracer.startSpan('test'); var tracer = span.tracer() expect(tracer).to.be.an('object'); expect(tracer).to.not.eq(null); span.finish(); }); }); describe("Span#setOperationName", function() { it("supports setOperationName", function() { var span = Tracer.startSpan('test'); span.setOperationName('another_name'); span.finish(); }); }); describe("Span#setTag", function() { it("supports setTag", function() { var span = Tracer.startSpan('test'); span.setTag('my_tag', 'my_value'); span.finish(); }); it("supports setTag with boolean values", function() { var span = Tracer.startSpan('test'); span.setTag('my_tag', true); span.finish(); }); it("supports setTag with number values", function() { var span = Tracer.startSpan('test'); span.setTag('my_tag', 42); span.finish(); }); }); describe("Span#setBaggageItem", function() { it("sets the baggage item in the context", function() { var span = Tracer.startSpan('test'); span.setBaggageItem('my_baggage', 'my_value'); span.finish(); expect(span.context().getBaggageItem('my_baggage')).to.equal('my_value'); }); }); describe("Span#getBaggageItem", function() { it("gets the baggage item from the context", function() { var span = Tracer.startSpan('test'); span.context().setBaggageItem('my_baggage', 'my_value'); span.finish(); expect(span.getBaggageItem('my_baggage')).to.equal('my_value'); }); }); describe("Span#addTags", function() { it("supports addTags", function() { var span = Tracer.startSpan('test'); span.addTags({ my_tag : 'my_value', bool_tag : true, number_tag : 42, }); span.finish(); }); }); describe("Span#log", function() { it("is a method", function() { var span = Tracer.startSpan('test'); expect(span.log).to.be.a("function"); span.finish(); }); it("should safely log circular data structures", function () { var a = { b : null }; var b = { a : a }; a.b = b; var span = Tracer.startSpan("test_operation"); span.logEvent("info", a); span.finish(); Tracer.flush(); }); it("should not throw an exception on lots of logs and spans", function () { this.timeout(20000); for (var i = 0; i < 10000; i++) { var span = Tracer.startSpan("test_operation"); var subspan = Tracer.startSpan("test_subspan", { childOf : span }); subspan.finish(); span.finish(); } Tracer.flush(); }); }); describe("Span#logEvent", function() { it("is a method", function() { var span = Tracer.startSpan('test'); expect(span.logEvent).to.be.a("function"); span.finish(); }); }); });