mirror of
https://github.com/zulip/zulip.git
synced 2025-11-09 16:37:23 +00:00
push-bouncer: Exclude LoggingCountStats with partial data.
LoggingCountStats with a daily duration and that are directly stored on the RealmCount table (not via aggregation in process_count_stat), can be in a state, after the hourly cron job to update analytics counts, where the logged value will be live-updated later, because the end time for the stat is still in the future. As these logging counts are designed to be used on the self-hosted installation for either debugging or rate limiting, sending these partial/incomplete counts to the bouncer has low value.
This commit is contained in:
committed by
Tim Abbott
parent
cba4b8141e
commit
cf82d3316b
@@ -9,6 +9,7 @@ from django.db.models import QuerySet
|
||||
from django.utils.translation import gettext as _
|
||||
from pydantic import UUID4, BaseModel, ConfigDict, Field, Json, field_validator
|
||||
|
||||
from analytics.lib.counts import LOGGING_COUNT_STAT_PROPERTIES_NOT_SENT_TO_BOUNCER
|
||||
from analytics.models import InstallationCount, RealmCount
|
||||
from version import API_FEATURE_LEVEL, ZULIP_VERSION
|
||||
from zerver.actions.realm_settings import (
|
||||
@@ -364,8 +365,10 @@ def send_server_data_to_push_bouncer(consider_usage_statistics: bool = True) ->
|
||||
# uploading such statistics enabled.
|
||||
installation_count_query = InstallationCount.objects.filter(
|
||||
id__gt=last_acked_installation_count_id
|
||||
).exclude(property__in=LOGGING_COUNT_STAT_PROPERTIES_NOT_SENT_TO_BOUNCER)
|
||||
realm_count_query = RealmCount.objects.filter(id__gt=last_acked_realm_count_id).exclude(
|
||||
property__in=LOGGING_COUNT_STAT_PROPERTIES_NOT_SENT_TO_BOUNCER
|
||||
)
|
||||
realm_count_query = RealmCount.objects.filter(id__gt=last_acked_realm_count_id)
|
||||
else:
|
||||
installation_count_query = InstallationCount.objects.none()
|
||||
realm_count_query = RealmCount.objects.none()
|
||||
|
||||
Reference in New Issue
Block a user