summary refs log tree commit diff
path: root/synapse/federation/sender/transaction_manager.py
diff options
context:
space:
mode:
authorJorik Schellekens <joriks@matrix.org>2019-09-05 17:10:10 +0100
committerJorik Schellekens <joriks@matrix.org>2019-09-05 17:10:10 +0100
commitba95fe64fafff8705e977a17319851773b5fa41e (patch)
tree54c916363c38e089431ca60c8bd7a875dc38ae48 /synapse/federation/sender/transaction_manager.py
parentNicer replication send trace name (diff)
parentMerge pull request #5984 from matrix-org/joriks/opentracing_link_send_to_edu_... (diff)
downloadsynapse-ba95fe64fafff8705e977a17319851773b5fa41e.tar.xz
Merge remote-tracking branch 'origin/develop' into joriks/opentracing_trace_sendtime github/joriks/opentracing_trace_sendtime joriks/opentracing_trace_sendtime
Diffstat (limited to 'synapse/federation/sender/transaction_manager.py')
-rw-r--r--synapse/federation/sender/transaction_manager.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/synapse/federation/sender/transaction_manager.py b/synapse/federation/sender/transaction_manager.py

index 62ca6a3e87..5b6c79c51a 100644 --- a/synapse/federation/sender/transaction_manager.py +++ b/synapse/federation/sender/transaction_manager.py
@@ -26,6 +26,7 @@ from synapse.logging.opentracing import ( set_tag, start_active_span_follows_from, tags, + whitelisted_homeserver, ) from synapse.util.metrics import measure_func @@ -59,9 +60,15 @@ class TransactionManager(object): # The span_contexts is a generator so that it won't be evaluated if # opentracing is disabled. (Yay speed!) - span_contexts = ( - extract_text_map(json.loads(edu.get_context())) for edu in pending_edus - ) + span_contexts = [] + keep_destination = whitelisted_homeserver(destination) + + for edu in pending_edus: + context = edu.get_context() + if context: + span_contexts.append(extract_text_map(json.loads(context))) + if keep_destination: + edu.strip_context() with start_active_span_follows_from("send_transaction", span_contexts):