diff options
author | David Robertson <davidr@element.io> | 2023-01-31 12:43:20 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-31 12:43:20 +0000 |
commit | 3b8574b4f250bac1e4d4cfbf6b1ceec83bc0bac2 (patch) | |
tree | 4dac0f4334467979a26d3bd0c153746edc463e6e | |
parent | Fix "Re-starting finished log context" spam when creating events (#14947) (diff) | |
download | synapse-3b8574b4f250bac1e4d4cfbf6b1ceec83bc0bac2.tar.xz |
Tag /send_join responses to detect faster joins (#14950)
* Tag /send_join responses to detect faster joins * Changelog * Define a proper SynapseTag * isort
Diffstat (limited to '')
-rw-r--r-- | changelog.d/14950.misc | 1 | ||||
-rw-r--r-- | synapse/federation/federation_server.py | 6 | ||||
-rw-r--r-- | synapse/logging/opentracing.py | 5 |
3 files changed, 12 insertions, 0 deletions
diff --git a/changelog.d/14950.misc b/changelog.d/14950.misc new file mode 100644 index 0000000000..6602776b3f --- /dev/null +++ b/changelog.d/14950.misc @@ -0,0 +1 @@ +Faster joins: tag `v2/send_join/` requests to indicate if they served a partial join response. diff --git a/synapse/federation/federation_server.py b/synapse/federation/federation_server.py index 3197939a36..c9a6dfd1a4 100644 --- a/synapse/federation/federation_server.py +++ b/synapse/federation/federation_server.py @@ -62,7 +62,9 @@ from synapse.logging.context import ( run_in_background, ) from synapse.logging.opentracing import ( + SynapseTags, log_kv, + set_tag, start_active_span_from_edu, tag_args, trace, @@ -678,6 +680,10 @@ class FederationServer(FederationBase): room_id: str, caller_supports_partial_state: bool = False, ) -> Dict[str, Any]: + set_tag( + SynapseTags.SEND_JOIN_RESPONSE_IS_PARTIAL_STATE, + caller_supports_partial_state, + ) await self._room_member_handler._join_rate_per_room_limiter.ratelimit( # type: ignore[has-type] requester=None, key=room_id, diff --git a/synapse/logging/opentracing.py b/synapse/logging/opentracing.py index a705af8356..8ef9a0dda8 100644 --- a/synapse/logging/opentracing.py +++ b/synapse/logging/opentracing.py @@ -322,6 +322,11 @@ class SynapseTags: # The name of the external cache CACHE_NAME = "cache.name" + # Boolean. Present on /v2/send_join requests, omitted from all others. + # True iff partial state was requested and we provided (or intended to provide) + # partial state in the response. + SEND_JOIN_RESPONSE_IS_PARTIAL_STATE = "send_join.partial_state_response" + # Used to tag function arguments # # Tag a named arg. The name of the argument should be appended to this prefix. |