def test_span_context(self): ev = Event() span = Span('', '', '', ev) span.add_context_field("some", "value") span.add_context({"another": "value"}) self.assertDictEqual({ "some": "value", "another": "value" }, ev.fields()) span.remove_context_field("another") self.assertDictEqual({ "some": "value", }, ev.fields())
def test_run_hooks_and_send_adds_trace_fields(self): ''' ensure trace fields are propagated backwards ''' m_client = Mock() tracer = SynchronousTracer(m_client) m_span = Mock() m_span.event = Event() m_span.event.start_time = datetime.datetime.now() # set an existing trace field m_span.event.add_field('app.a', 1) m_span.rollup_fields = defaultdict(float) with patch('beeline.trace._should_sample') as m_sample_fn: m_sample_fn.return_value = True # add some trace fields tracer.add_trace_field('a', 0) tracer.add_trace_field('b', 2) tracer.add_trace_field('c', 3) tracer.finish_span(m_span) # ensure we only added fields b and c and did not try to overwrite a self.assertDictContainsSubset({ 'app.a': 1, 'app.b': 2, 'app.c': 3 }, m_span.event.fields())
def test_run_hooks_and_send_adds_trace_fields(self): ''' ensure trace fields are propagated backwards ''' m_client = Mock() tracer = SynchronousTracer(m_client) tracer.start_trace() m_span = Mock() m_span.event = Event() m_span.event.start_time = datetime.datetime.now() # set an existing trace field m_span.event.add_field('app.a', 1) m_span.rollup_fields = defaultdict(float) with patch('beeline.trace._should_sample') as m_sample_fn: m_sample_fn.return_value = True # add some trace fields tracer.add_trace_field('a', 0) tracer.add_trace_field('b', 2) tracer.add_trace_field('c', 3) tracer.finish_span(m_span) # Check that the new, unique fields were successfully added self.assertIn("app.b", m_span.event.fields()) self.assertIn("app.c", m_span.event.fields()) # Check that a was not overwritten with the new value of 0. self.assertEqual(m_span.event.fields()["app.a"], 1)