summary refs log tree commit diff
path: root/synapse/federation/sender/transaction_manager.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/federation/sender/transaction_manager.py')
-rw-r--r--synapse/federation/sender/transaction_manager.py31
1 files changed, 20 insertions, 11 deletions
diff --git a/synapse/federation/sender/transaction_manager.py b/synapse/federation/sender/transaction_manager.py

index 75081810fd..3f2c8bcfa1 100644 --- a/synapse/federation/sender/transaction_manager.py +++ b/synapse/federation/sender/transaction_manager.py
@@ -21,11 +21,13 @@ from synapse.api.errors import HttpResponseException from synapse.events import EventBase from synapse.federation.persistence import TransactionActions from synapse.federation.units import Edu, Transaction -from synapse.logging.opentracing import ( +from synapse.logging.tracing import ( + Link, + StatusCode, extract_text_map, - set_tag, - start_active_span_follows_from, - tags, + get_span_context_from_context, + set_status, + start_active_span, whitelisted_homeserver, ) from synapse.types import JsonDict @@ -79,7 +81,7 @@ class TransactionManager: edus: List of EDUs to send """ - # Make a transaction-sending opentracing span. This span follows on from + # Make a transaction-sending tracing span. This span follows on from # all the edus in that transaction. This needs to be done since there is # no active span here, so if the edus were not received by the remote the # span would have no causality and it would be forgotten. @@ -88,13 +90,20 @@ class TransactionManager: keep_destination = whitelisted_homeserver(destination) for edu in edus: - context = edu.get_context() - if context: - span_contexts.append(extract_text_map(json_decoder.decode(context))) + tracing_context_json = edu.get_tracing_context_json() + if tracing_context_json: + context = extract_text_map(json_decoder.decode(tracing_context_json)) + if context: + span_context = get_span_context_from_context(context) + if span_context: + span_contexts.append(span_context) if keep_destination: - edu.strip_context() + edu.strip_tracing_context() - with start_active_span_follows_from("send_transaction", span_contexts): + with start_active_span( + "send_transaction", + links=[Link(span_context) for span_context in span_contexts], + ): logger.debug("TX [%s] _attempt_new_transaction", destination) txn_id = str(self._next_txn_id) @@ -166,7 +175,7 @@ class TransactionManager: except HttpResponseException as e: code = e.code - set_tag(tags.ERROR, True) + set_status(StatusCode.ERROR, e) logger.info("TX [%s] {%s} got %d response", destination, txn_id, code) raise