summary refs log tree commit diff
path: root/synapse/handlers
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/handlers')
-rw-r--r--synapse/handlers/device.py32
-rw-r--r--synapse/handlers/devicemessage.py12
-rw-r--r--synapse/handlers/e2e_keys.py26
-rw-r--r--synapse/handlers/e2e_room_keys.py2
-rw-r--r--synapse/handlers/federation.py6
-rw-r--r--synapse/handlers/federation_event.py34
-rw-r--r--synapse/handlers/message.py6
-rw-r--r--synapse/handlers/pagination.py2
-rw-r--r--synapse/handlers/relations.py2
-rw-r--r--synapse/handlers/room_member.py6
-rw-r--r--synapse/handlers/sync.py23
11 files changed, 78 insertions, 73 deletions
diff --git a/synapse/handlers/device.py b/synapse/handlers/device.py

index 1a8379854c..659ee0ef5e 100644 --- a/synapse/handlers/device.py +++ b/synapse/handlers/device.py
@@ -36,7 +36,7 @@ from synapse.api.errors import ( RequestSendFailed, SynapseError, ) -from synapse.logging.opentracing import log_kv, set_tag, trace +from synapse.logging.tracing import log_kv, set_attribute, trace from synapse.metrics.background_process_metrics import ( run_as_background_process, wrap_as_background_process, @@ -86,7 +86,7 @@ class DeviceWorkerHandler: info on each device """ - set_tag("user_id", user_id) + set_attribute("user_id", user_id) device_map = await self.store.get_devices_by_user(user_id) ips = await self.store.get_last_client_ip_by_device(user_id, device_id=None) @@ -118,8 +118,8 @@ class DeviceWorkerHandler: ips = await self.store.get_last_client_ip_by_device(user_id, device_id) _update_device_from_client_ips(device, ips) - set_tag("device", str(device)) - set_tag("ips", str(ips)) + set_attribute("device", str(device)) + set_attribute("ips", str(ips)) return device @@ -169,8 +169,8 @@ class DeviceWorkerHandler: joined a room, that `user_id` may be interested in. """ - set_tag("user_id", user_id) - set_tag("from_token", str(from_token)) + set_attribute("user_id", user_id) + set_attribute("from_token", str(from_token)) now_room_key = self.store.get_room_max_token() room_ids = await self.store.get_rooms_for_user(user_id) @@ -461,8 +461,8 @@ class DeviceHandler(DeviceWorkerHandler): except errors.StoreError as e: if e.code == 404: # no match - set_tag("error", True) - set_tag("reason", "User doesn't have that device id.") + set_attribute("error", True) + set_attribute("reason", "User doesn't have that device id.") else: raise @@ -688,7 +688,7 @@ class DeviceHandler(DeviceWorkerHandler): else: return - for user_id, device_id, room_id, stream_id, opentracing_context in rows: + for user_id, device_id, room_id, stream_id, tracing_context in rows: hosts = set() # Ignore any users that aren't ours @@ -707,7 +707,7 @@ class DeviceHandler(DeviceWorkerHandler): room_id=room_id, stream_id=stream_id, hosts=hosts, - context=opentracing_context, + context=tracing_context, ) # Notify replication that we've updated the device list stream. @@ -794,8 +794,8 @@ class DeviceListUpdater: for parsing the EDU and adding to pending updates list. """ - set_tag("origin", origin) - set_tag("edu_content", str(edu_content)) + set_attribute("origin", origin) + set_attribute("edu_content", str(edu_content)) user_id = edu_content.pop("user_id") device_id = edu_content.pop("device_id") stream_id = str(edu_content.pop("stream_id")) # They may come as ints @@ -815,7 +815,7 @@ class DeviceListUpdater: origin, ) - set_tag("error", True) + set_attribute("error", True) log_kv( { "message": "Got a device list update edu from a user and " @@ -830,7 +830,7 @@ class DeviceListUpdater: if not room_ids: # We don't share any rooms with this user. Ignore update, as we # probably won't get any further updates. - set_tag("error", True) + set_attribute("error", True) log_kv( { "message": "Got an update from a user for which " @@ -1027,12 +1027,12 @@ class DeviceListUpdater: # eventually become consistent. return None except FederationDeniedError as e: - set_tag("error", True) + set_attribute("error", True) log_kv({"reason": "FederationDeniedError"}) logger.info(e) return None except Exception as e: - set_tag("error", True) + set_attribute("error", True) log_kv( {"message": "Exception raised by federation request", "exception": e} ) diff --git a/synapse/handlers/devicemessage.py b/synapse/handlers/devicemessage.py
index 444c08bc2e..9c9da0cb63 100644 --- a/synapse/handlers/devicemessage.py +++ b/synapse/handlers/devicemessage.py
@@ -15,15 +15,15 @@ import logging from typing import TYPE_CHECKING, Any, Dict -from synapse.api.constants import EduTypes, ToDeviceEventTypes +from synapse.api.constants import EduTypes, EventContentFields, ToDeviceEventTypes from synapse.api.errors import SynapseError from synapse.api.ratelimiting import Ratelimiter from synapse.logging.context import run_in_background -from synapse.logging.opentracing import ( +from synapse.logging.tracing import ( SynapseTags, get_active_span_text_map, log_kv, - set_tag, + set_attribute, ) from synapse.replication.http.devices import ReplicationUserDevicesResyncRestServlet from synapse.types import JsonDict, Requester, StreamKeyType, UserID, get_domain_from_id @@ -217,10 +217,10 @@ class DeviceMessageHandler: sender_user_id = requester.user.to_string() message_id = random_string(16) - set_tag(SynapseTags.TO_DEVICE_MESSAGE_ID, message_id) + set_attribute(SynapseTags.TO_DEVICE_MESSAGE_ID, message_id) log_kv({"number_of_to_device_messages": len(messages)}) - set_tag("sender", sender_user_id) + set_attribute("sender", sender_user_id) local_messages = {} remote_messages: Dict[str, Dict[str, Dict[str, JsonDict]]] = {} for user_id, by_device in messages.items(): @@ -273,7 +273,7 @@ class DeviceMessageHandler: "sender": sender_user_id, "type": message_type, "message_id": message_id, - "org.matrix.opentracing_context": json_encoder.encode(context), + EventContentFields.TRACING_CONTEXT: json_encoder.encode(context), } # Add messages to the database. diff --git a/synapse/handlers/e2e_keys.py b/synapse/handlers/e2e_keys.py
index c938339ddd..a3692f00d9 100644 --- a/synapse/handlers/e2e_keys.py +++ b/synapse/handlers/e2e_keys.py
@@ -28,7 +28,7 @@ from twisted.internet import defer from synapse.api.constants import EduTypes from synapse.api.errors import CodeMessageException, Codes, NotFoundError, SynapseError from synapse.logging.context import make_deferred_yieldable, run_in_background -from synapse.logging.opentracing import log_kv, set_tag, tag_args, trace +from synapse.logging.tracing import log_kv, set_attribute, tag_args, trace from synapse.replication.http.devices import ReplicationUserDevicesResyncRestServlet from synapse.types import ( JsonDict, @@ -138,8 +138,8 @@ class E2eKeysHandler: else: remote_queries[user_id] = device_ids - set_tag("local_key_query", str(local_query)) - set_tag("remote_key_query", str(remote_queries)) + set_attribute("local_key_query", str(local_query)) + set_attribute("remote_key_query", str(remote_queries)) # First get local devices. # A map of destination -> failure response. @@ -342,8 +342,8 @@ class E2eKeysHandler: except Exception as e: failure = _exception_to_failure(e) failures[destination] = failure - set_tag("error", True) - set_tag("reason", str(failure)) + set_attribute("error", True) + set_attribute("reason", str(failure)) return @@ -405,7 +405,7 @@ class E2eKeysHandler: Returns: A map from user_id -> device_id -> device details """ - set_tag("local_query", str(query)) + set_attribute("local_query", str(query)) local_query: List[Tuple[str, Optional[str]]] = [] result_dict: Dict[str, Dict[str, dict]] = {} @@ -420,7 +420,7 @@ class E2eKeysHandler: "user_id": user_id, } ) - set_tag("error", True) + set_attribute("error", True) raise SynapseError(400, "Not a user here") if not device_ids: @@ -477,8 +477,8 @@ class E2eKeysHandler: domain = get_domain_from_id(user_id) remote_queries.setdefault(domain, {})[user_id] = one_time_keys - set_tag("local_key_query", str(local_query)) - set_tag("remote_key_query", str(remote_queries)) + set_attribute("local_key_query", str(local_query)) + set_attribute("remote_key_query", str(remote_queries)) results = await self.store.claim_e2e_one_time_keys(local_query) @@ -494,7 +494,7 @@ class E2eKeysHandler: @trace async def claim_client_keys(destination: str) -> None: - set_tag("destination", destination) + set_attribute("destination", destination) device_keys = remote_queries[destination] try: remote_result = await self.federation.claim_client_keys( @@ -507,8 +507,8 @@ class E2eKeysHandler: except Exception as e: failure = _exception_to_failure(e) failures[destination] = failure - set_tag("error", True) - set_tag("reason", str(failure)) + set_attribute("error", True) + set_attribute("reason", str(failure)) await make_deferred_yieldable( defer.gatherResults( @@ -611,7 +611,7 @@ class E2eKeysHandler: result = await self.store.count_e2e_one_time_keys(user_id, device_id) - set_tag("one_time_key_counts", str(result)) + set_attribute("one_time_key_counts", str(result)) return {"one_time_key_counts": result} async def _upload_one_time_keys_for_user( diff --git a/synapse/handlers/e2e_room_keys.py b/synapse/handlers/e2e_room_keys.py
index 28dc08c22a..8786534e54 100644 --- a/synapse/handlers/e2e_room_keys.py +++ b/synapse/handlers/e2e_room_keys.py
@@ -25,7 +25,7 @@ from synapse.api.errors import ( StoreError, SynapseError, ) -from synapse.logging.opentracing import log_kv, trace +from synapse.logging.tracing import log_kv, trace from synapse.storage.databases.main.e2e_room_keys import RoomKey from synapse.types import JsonDict from synapse.util.async_helpers import Linearizer diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index a09eaa4379..8dfc424807 100644 --- a/synapse/handlers/federation.py +++ b/synapse/handlers/federation.py
@@ -60,7 +60,7 @@ from synapse.events.validator import EventValidator from synapse.federation.federation_client import InvalidResponseError from synapse.http.servlet import assert_params_in_dict from synapse.logging.context import nested_logging_context -from synapse.logging.opentracing import SynapseTags, set_tag, tag_args, trace +from synapse.logging.tracing import SynapseTags, set_attribute, tag_args, trace from synapse.metrics.background_process_metrics import run_as_background_process from synapse.module_api import NOT_SPAM from synapse.replication.http.federation import ( @@ -417,11 +417,11 @@ class FederationHandler: logger.debug( "_maybe_backfill_inner: extremities_to_request %s", extremities_to_request ) - set_tag( + set_attribute( SynapseTags.RESULT_PREFIX + "extremities_to_request", str(extremities_to_request), ) - set_tag( + set_attribute( SynapseTags.RESULT_PREFIX + "extremities_to_request.length", str(len(extremities_to_request)), ) diff --git a/synapse/handlers/federation_event.py b/synapse/handlers/federation_event.py
index f40b071a74..a3bd04b712 100644 --- a/synapse/handlers/federation_event.py +++ b/synapse/handlers/federation_event.py
@@ -59,9 +59,9 @@ from synapse.events import EventBase from synapse.events.snapshot import EventContext from synapse.federation.federation_client import InvalidResponseError from synapse.logging.context import nested_logging_context -from synapse.logging.opentracing import ( +from synapse.logging.tracing import ( SynapseTags, - set_tag, + set_attribute, start_active_span, tag_args, trace, @@ -758,15 +758,15 @@ class FederationEventHandler: backfilled: True if this is part of a historical batch of events (inhibits notification to clients, and validation of device keys.) """ - set_tag( + set_attribute( SynapseTags.FUNC_ARG_PREFIX + "event_ids", str([event.event_id for event in events]), ) - set_tag( + set_attribute( SynapseTags.FUNC_ARG_PREFIX + "event_ids.length", str(len(events)), ) - set_tag(SynapseTags.FUNC_ARG_PREFIX + "backfilled", str(backfilled)) + set_attribute(SynapseTags.FUNC_ARG_PREFIX + "backfilled", str(backfilled)) logger.debug( "processing pulled backfilled=%s events=%s", backfilled, @@ -1073,19 +1073,19 @@ class FederationEventHandler: missing_event_ids = missing_desired_event_ids | missing_auth_event_ids - set_tag( + set_attribute( SynapseTags.RESULT_PREFIX + "missing_auth_event_ids", str(missing_auth_event_ids), ) - set_tag( + set_attribute( SynapseTags.RESULT_PREFIX + "missing_auth_event_ids.length", str(len(missing_auth_event_ids)), ) - set_tag( + set_attribute( SynapseTags.RESULT_PREFIX + "missing_desired_event_ids", str(missing_desired_event_ids), ) - set_tag( + set_attribute( SynapseTags.RESULT_PREFIX + "missing_desired_event_ids.length", str(len(missing_desired_event_ids)), ) @@ -1162,11 +1162,11 @@ class FederationEventHandler: event_id, failed_to_fetch, ) - set_tag( + set_attribute( SynapseTags.RESULT_PREFIX + "failed_to_fetch", str(failed_to_fetch), ) - set_tag( + set_attribute( SynapseTags.RESULT_PREFIX + "failed_to_fetch.length", str(len(failed_to_fetch)), ) @@ -1551,11 +1551,11 @@ class FederationEventHandler: event_map = {event.event_id: event for event in events} event_ids = event_map.keys() - set_tag( + set_attribute( SynapseTags.FUNC_ARG_PREFIX + "event_ids", str(event_ids), ) - set_tag( + set_attribute( SynapseTags.FUNC_ARG_PREFIX + "event_ids.length", str(len(event_ids)), ) @@ -1715,11 +1715,11 @@ class FederationEventHandler: claimed_auth_events = await self._load_or_fetch_auth_events_for_event( origin, event ) - set_tag( + set_attribute( SynapseTags.RESULT_PREFIX + "claimed_auth_events", str([ev.event_id for ev in claimed_auth_events]), ) - set_tag( + set_attribute( SynapseTags.RESULT_PREFIX + "claimed_auth_events.length", str(len(claimed_auth_events)), ) @@ -2168,11 +2168,11 @@ class FederationEventHandler: if not backfilled: # Never notify for backfilled events with start_active_span("notify_persisted_events"): - set_tag( + set_attribute( SynapseTags.RESULT_PREFIX + "event_ids", str([ev.event_id for ev in events]), ) - set_tag( + set_attribute( SynapseTags.RESULT_PREFIX + "event_ids.length", str(len(events)), ) diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py
index 8f29ee9a87..a7af04f6f3 100644 --- a/synapse/handlers/message.py +++ b/synapse/handlers/message.py
@@ -52,7 +52,7 @@ from synapse.events.builder import EventBuilder from synapse.events.snapshot import EventContext from synapse.events.validator import EventValidator from synapse.handlers.directory import DirectoryHandler -from synapse.logging import opentracing +from synapse.logging import tracing from synapse.logging.context import make_deferred_yieldable, run_in_background from synapse.metrics.background_process_metrics import run_as_background_process from synapse.replication.http.send_event import ReplicationSendEventRestServlet @@ -1379,7 +1379,7 @@ class EventCreationHandler: # and `state_groups` because they have `prev_events` that aren't persisted yet # (historical messages persisted in reverse-chronological order). if not event.internal_metadata.is_historical(): - with opentracing.start_active_span("calculate_push_actions"): + with tracing.start_active_span("calculate_push_actions"): await self._bulk_push_rule_evaluator.action_for_event_by_user( event, context ) @@ -1469,7 +1469,7 @@ class EventCreationHandler: state = await state_entry.get_state( self._storage_controllers.state, StateFilter.all() ) - with opentracing.start_active_span("get_joined_hosts"): + with tracing.start_active_span("get_joined_hosts"): joined_hosts = await self.store.get_joined_hosts( event.room_id, state, state_entry ) diff --git a/synapse/handlers/pagination.py b/synapse/handlers/pagination.py
index e1e34e3b16..14ba19d4f8 100644 --- a/synapse/handlers/pagination.py +++ b/synapse/handlers/pagination.py
@@ -24,7 +24,7 @@ from synapse.api.errors import SynapseError from synapse.api.filtering import Filter from synapse.events.utils import SerializeEventConfig from synapse.handlers.room import ShutdownRoomResponse -from synapse.logging.opentracing import trace +from synapse.logging.tracing import trace from synapse.metrics.background_process_metrics import run_as_background_process from synapse.storage.state import StateFilter from synapse.streams.config import PaginationConfig diff --git a/synapse/handlers/relations.py b/synapse/handlers/relations.py
index 72d25df8c8..41c64d62c8 100644 --- a/synapse/handlers/relations.py +++ b/synapse/handlers/relations.py
@@ -19,7 +19,7 @@ import attr from synapse.api.constants import RelationTypes from synapse.api.errors import SynapseError from synapse.events import EventBase, relation_from_event -from synapse.logging.opentracing import trace +from synapse.logging.tracing import trace from synapse.storage.databases.main.relations import _RelatedEvent from synapse.types import JsonDict, Requester, StreamToken, UserID from synapse.visibility import filter_events_for_client diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py
index 70dc69c809..0f95d4127e 100644 --- a/synapse/handlers/room_member.py +++ b/synapse/handlers/room_member.py
@@ -32,7 +32,7 @@ from synapse.event_auth import get_named_level, get_power_level_event from synapse.events import EventBase from synapse.events.snapshot import EventContext from synapse.handlers.profile import MAX_AVATAR_URL_LEN, MAX_DISPLAYNAME_LEN -from synapse.logging import opentracing +from synapse.logging import tracing from synapse.module_api import NOT_SPAM from synapse.storage.state import StateFilter from synapse.types import ( @@ -429,7 +429,7 @@ class RoomMemberHandler(metaclass=abc.ABCMeta): await self._join_rate_per_room_limiter.ratelimit( requester, key=room_id, update=False ) - with opentracing.start_active_span("handle_new_client_event"): + with tracing.start_active_span("handle_new_client_event"): result_event = await self.event_creation_handler.handle_new_client_event( requester, event, @@ -565,7 +565,7 @@ class RoomMemberHandler(metaclass=abc.ABCMeta): # by application services), and then by room ID. async with self.member_as_limiter.queue(as_id): async with self.member_linearizer.queue(key): - with opentracing.start_active_span("update_membership_locked"): + with tracing.start_active_span("update_membership_locked"): result = await self.update_membership_locked( requester, target, diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py
index b4d3f3958c..2991967226 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py
@@ -37,7 +37,12 @@ from synapse.api.room_versions import KNOWN_ROOM_VERSIONS from synapse.events import EventBase from synapse.handlers.relations import BundledAggregations from synapse.logging.context import current_context -from synapse.logging.opentracing import SynapseTags, log_kv, set_tag, start_active_span +from synapse.logging.tracing import ( + SynapseTags, + log_kv, + set_attribute, + start_active_span, +) from synapse.push.clientformat import format_push_rules_for_user from synapse.storage.databases.main.event_push_actions import NotifCounts from synapse.storage.roommember import MemberSummary @@ -403,12 +408,12 @@ class SyncHandler: indoctrination. """ with start_active_span("sync.current_sync_for_user"): - log_kv({"since_token": since_token}) + log_kv({"since_token": str(since_token)}) sync_result = await self.generate_sync_result( sync_config, since_token, full_state ) - set_tag(SynapseTags.SYNC_RESULT, bool(sync_result)) + set_attribute(SynapseTags.SYNC_RESULT, bool(sync_result)) return sync_result async def push_rules_for_user(self, user: UserID) -> Dict[str, Dict[str, list]]: @@ -1302,7 +1307,7 @@ class SyncHandler: # to query up to a given point. # Always use the `now_token` in `SyncResultBuilder` now_token = self.event_sources.get_current_token() - log_kv({"now_token": now_token}) + log_kv({"now_token": str(now_token)}) logger.debug( "Calculating sync response for %r between %s and %s", @@ -1555,7 +1560,7 @@ class SyncHandler: # `/sync` message_id = message.pop("message_id", None) if message_id: - set_tag(SynapseTags.TO_DEVICE_MESSAGE_ID, message_id) + set_attribute(SynapseTags.TO_DEVICE_MESSAGE_ID, message_id) logger.debug( "Returning %d to-device messages between %d and %d (current token: %d)", @@ -2223,13 +2228,13 @@ class SyncHandler: upto_token = room_builder.upto_token with start_active_span("sync.generate_room_entry"): - set_tag("room_id", room_id) + set_attribute("room_id", room_id) log_kv({"events": len(events or ())}) log_kv( { - "since_token": since_token, - "upto_token": upto_token, + "since_token": str(since_token), + "upto_token": str(upto_token), } ) @@ -2244,7 +2249,7 @@ class SyncHandler: log_kv( { "batch_events": len(batch.events), - "prev_batch": batch.prev_batch, + "prev_batch": str(batch.prev_batch), "batch_limited": batch.limited, } )