def __init__(self, environ=None, tracer_to_use=None): if environ is None: environ = {} self.orig_tracer = OpenCensusSpan.get_current_tracer() self.orig_current_span = OpenCensusSpan.get_current_span() self.os_env = mock.patch.dict(os.environ, environ) self.tracer_to_use = tracer_to_use
def __init__(self, environ={}, tracer_to_use=None, should_only_propagate=None): self.orig_tracer = OpenCensusSpan.get_current_tracer() self.orig_current_span = OpenCensusSpan.get_current_span() self.orig_sdk_context_span = tracing_context.current_span.get() self.os_env = mock.patch.dict(os.environ, environ) self.tracer_to_use = tracer_to_use self.should_only_propagate = should_only_propagate
def test_no_span_passed_in_with_no_environ(self): with ContextHelper() as ctx: tracer = OpenCensusSpan.get_current_tracer() wrapped_span = OpenCensusSpan() assert wrapped_span.span_instance.name == "span" assert wrapped_span.span_instance.context_tracer.span_context.trace_id == tracer.span_context.trace_id assert ctx.orig_tracer == tracer wrapped_span.finish()
def __enter__(self): self.orig_tracer = OpenCensusSpan.get_current_tracer() self.orig_current_span = OpenCensusSpan.get_current_span() execution_context.clear() if self.tracer_to_use is not None: settings.tracing_implementation.set_value(self.tracer_to_use) self.os_env.start() execution_context.clear() return self
def __enter__(self): self.orig_tracer = OpenCensusSpan.get_current_tracer() self.orig_current_span = OpenCensusSpan.get_current_span() self.orig_sdk_context_span = tracing_context.current_span.get() if self.tracer_to_use is not None: settings.tracing_implementation.set_value(self.tracer_to_use) if self.should_only_propagate is not None: settings.tracing_should_only_propagate.set_value( self.should_only_propagate) self.os_env.start() return self
def test_span(self): exporter = MockExporter() with ContextHelper() as ctx: tracer = tracer_module.Tracer(sampler=AlwaysOnSampler(), exporter=exporter) assert OpenCensusSpan.get_current_tracer() is tracer wrapped_class = OpenCensusSpan() assert tracer.current_span() == wrapped_class.span_instance child = wrapped_class.span() assert tracer.current_span() == child.span_instance assert child.span_instance.name == "span" assert child.span_instance.context_tracer.trace_id == tracer.span_context.trace_id assert child.span_instance.parent_span is wrapped_class.span_instance tracer.finish() exporter.build_tree() parent = exporter.root assert len(parent.children) == 1 assert parent.children[0].span_data.span_id == child.span_instance.span_id