public void ScopeManager_ActivatesWithFinishOnDispose() { var ddScopeManager = ((IDatadogTracer)_datadogTracer).ScopeManager; OpenTracingScopeManager otScopeManager = new OpenTracingScopeManager(ddScopeManager); var tracer = new OpenTracingTracer(_datadogTracer, otScopeManager); Span parentSpan = null; Span childSpan = null; using (IScope parentScope = tracer.BuildSpan("parent").StartActive(finishSpanOnDispose: true)) { parentSpan = ((OpenTracingSpan)parentScope.Span).Span; using (IScope childScope = tracer.BuildSpan("child").StartActive(finishSpanOnDispose: true)) { childSpan = ((OpenTracingSpan)childScope.Span).Span; Assert.True(childSpan.Context.ParentId == parentSpan.SpanId); Assert.False(childSpan.IsFinished); } Assert.True(childSpan.IsFinished); Assert.False(parentSpan.IsFinished); } Assert.True(parentSpan.IsFinished); }
public void NewScopeManager_FromExistingDDScopeManager() { var ddScopeManager = ((IDatadogTracer)_datadogTracer).ScopeManager; OpenTracingScopeManager otScopeManager = new OpenTracingScopeManager(ddScopeManager); Assert.True(ddScopeManager == otScopeManager.ScopeManager); }