def test_get_trace_parent_header(elasticapm_client): trace_parent = TraceParent.from_string( "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-03") transaction = elasticapm_client.begin_transaction( "test", trace_parent=trace_parent) assert transaction.trace_parent.to_string( ) == elasticapm.get_trace_parent_header()
def _start_trace(self, event_name: str) -> Optional[str]: if self.apm_client: if event_name is None: raise ValueError("Must set event name when using with apm client") # Get trace parent from the context if exists # This will correlate this MQ with the trigger request traceparent_string = elasticapm.get_trace_parent_header() if traceparent_string: parent = elasticapm.trace_parent_from_string(traceparent_string) else: parent = None self.apm_client.begin_transaction( transaction_type="RabbitMQ", trace_parent=parent ) traceparent_string = elasticapm.get_trace_parent_header() else: traceparent_string = None return traceparent_string