forked from MirrorHub/synapse
Add some tracing spans to give insight into local joins (#13439)
This commit is contained in:
parent
92d21faf12
commit
a648a06d52
3 changed files with 40 additions and 33 deletions
1
changelog.d/13439.misc
Normal file
1
changelog.d/13439.misc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Add some tracing to give more insight into local room joins.
|
|
@ -52,6 +52,7 @@ from synapse.events.builder import EventBuilder
|
||||||
from synapse.events.snapshot import EventContext
|
from synapse.events.snapshot import EventContext
|
||||||
from synapse.events.validator import EventValidator
|
from synapse.events.validator import EventValidator
|
||||||
from synapse.handlers.directory import DirectoryHandler
|
from synapse.handlers.directory import DirectoryHandler
|
||||||
|
from synapse.logging import opentracing
|
||||||
from synapse.logging.context import make_deferred_yieldable, run_in_background
|
from synapse.logging.context import make_deferred_yieldable, run_in_background
|
||||||
from synapse.metrics.background_process_metrics import run_as_background_process
|
from synapse.metrics.background_process_metrics import run_as_background_process
|
||||||
from synapse.replication.http.send_event import ReplicationSendEventRestServlet
|
from synapse.replication.http.send_event import ReplicationSendEventRestServlet
|
||||||
|
@ -1374,6 +1375,7 @@ class EventCreationHandler:
|
||||||
# and `state_groups` because they have `prev_events` that aren't persisted yet
|
# and `state_groups` because they have `prev_events` that aren't persisted yet
|
||||||
# (historical messages persisted in reverse-chronological order).
|
# (historical messages persisted in reverse-chronological order).
|
||||||
if not event.internal_metadata.is_historical():
|
if not event.internal_metadata.is_historical():
|
||||||
|
with opentracing.start_active_span("calculate_push_actions"):
|
||||||
await self._bulk_push_rule_evaluator.action_for_event_by_user(
|
await self._bulk_push_rule_evaluator.action_for_event_by_user(
|
||||||
event, context
|
event, context
|
||||||
)
|
)
|
||||||
|
@ -1463,6 +1465,7 @@ class EventCreationHandler:
|
||||||
state = await state_entry.get_state(
|
state = await state_entry.get_state(
|
||||||
self._storage_controllers.state, StateFilter.all()
|
self._storage_controllers.state, StateFilter.all()
|
||||||
)
|
)
|
||||||
|
with opentracing.start_active_span("get_joined_hosts"):
|
||||||
joined_hosts = await self.store.get_joined_hosts(
|
joined_hosts = await self.store.get_joined_hosts(
|
||||||
event.room_id, state, state_entry
|
event.room_id, state, state_entry
|
||||||
)
|
)
|
||||||
|
|
|
@ -32,6 +32,7 @@ from synapse.event_auth import get_named_level, get_power_level_event
|
||||||
from synapse.events import EventBase
|
from synapse.events import EventBase
|
||||||
from synapse.events.snapshot import EventContext
|
from synapse.events.snapshot import EventContext
|
||||||
from synapse.handlers.profile import MAX_AVATAR_URL_LEN, MAX_DISPLAYNAME_LEN
|
from synapse.handlers.profile import MAX_AVATAR_URL_LEN, MAX_DISPLAYNAME_LEN
|
||||||
|
from synapse.logging import opentracing
|
||||||
from synapse.module_api import NOT_SPAM
|
from synapse.module_api import NOT_SPAM
|
||||||
from synapse.storage.state import StateFilter
|
from synapse.storage.state import StateFilter
|
||||||
from synapse.types import (
|
from synapse.types import (
|
||||||
|
@ -428,7 +429,7 @@ class RoomMemberHandler(metaclass=abc.ABCMeta):
|
||||||
await self._join_rate_per_room_limiter.ratelimit(
|
await self._join_rate_per_room_limiter.ratelimit(
|
||||||
requester, key=room_id, update=False
|
requester, key=room_id, update=False
|
||||||
)
|
)
|
||||||
|
with opentracing.start_active_span("handle_new_client_event"):
|
||||||
result_event = await self.event_creation_handler.handle_new_client_event(
|
result_event = await self.event_creation_handler.handle_new_client_event(
|
||||||
requester,
|
requester,
|
||||||
event,
|
event,
|
||||||
|
@ -564,6 +565,7 @@ class RoomMemberHandler(metaclass=abc.ABCMeta):
|
||||||
# by application services), and then by room ID.
|
# by application services), and then by room ID.
|
||||||
async with self.member_as_limiter.queue(as_id):
|
async with self.member_as_limiter.queue(as_id):
|
||||||
async with self.member_linearizer.queue(key):
|
async with self.member_linearizer.queue(key):
|
||||||
|
with opentracing.start_active_span("update_membership_locked"):
|
||||||
result = await self.update_membership_locked(
|
result = await self.update_membership_locked(
|
||||||
requester,
|
requester,
|
||||||
target,
|
target,
|
||||||
|
@ -649,6 +651,7 @@ class RoomMemberHandler(metaclass=abc.ABCMeta):
|
||||||
Returns:
|
Returns:
|
||||||
A tuple of the new event ID and stream ID.
|
A tuple of the new event ID and stream ID.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
content_specified = bool(content)
|
content_specified = bool(content)
|
||||||
if content is None:
|
if content is None:
|
||||||
content = {}
|
content = {}
|
||||||
|
|
Loading…
Reference in a new issue