Presence metrics. Change def of small delta
This commit is contained in:
parent
aa6fab0cc2
commit
a7ff5a1770
|
@ -50,6 +50,9 @@ timers_fired_counter = metrics.register_counter("timers_fired")
|
|||
federation_presence_counter = metrics.register_counter("federation_presence")
|
||||
bump_active_time_counter = metrics.register_counter("bump_active_time")
|
||||
|
||||
full_update_presence_counter = metrics.register_counter("full_update_presence")
|
||||
partial_update_presence_counter = metrics.register_counter("partial_update_presence")
|
||||
|
||||
|
||||
# If a user was last active in the last LAST_ACTIVE_GRANULARITY, consider them
|
||||
# "currently_active"
|
||||
|
@ -974,13 +977,13 @@ class PresenceEventSource(object):
|
|||
|
||||
user_ids_changed = set()
|
||||
changed = None
|
||||
if from_key and max_token - from_key < 100:
|
||||
# For small deltas, its quicker to get all changes and then
|
||||
# work out if we share a room or they're in our presence list
|
||||
if from_key:
|
||||
changed = stream_change_cache.get_all_entities_changed(from_key)
|
||||
|
||||
# get_all_entities_changed can return None
|
||||
if changed is not None:
|
||||
if changed is not None and len(changed) < 100:
|
||||
# For small deltas, its quicker to get all changes and then
|
||||
# work out if we share a room or they're in our presence list
|
||||
partial_update_presence_counter.inc()
|
||||
for other_user_id in changed:
|
||||
if other_user_id in friends:
|
||||
user_ids_changed.add(other_user_id)
|
||||
|
@ -992,6 +995,8 @@ class PresenceEventSource(object):
|
|||
else:
|
||||
# Too many possible updates. Find all users we can see and check
|
||||
# if any of them have changed.
|
||||
full_update_presence_counter.inc()
|
||||
|
||||
user_ids_to_check = set()
|
||||
for room_id in room_ids:
|
||||
users = yield self.store.get_users_in_room(room_id)
|
||||
|
|
Loading…
Reference in New Issue