mirror of https://github.com/zulip/zulip.git
remote-activity: Show remote realm mobile user and push data.
Updates the main query and logic for building the remote activity table to use remote server mobile user/push data for server rows and remote realm mobile user/push data for realm rows.
This commit is contained in:
parent
bd83dbfb42
commit
44a25e00b7
|
@ -29,20 +29,20 @@ def get_remote_server_activity(request: HttpRequest) -> HttpResponse:
|
||||||
|
|
||||||
query = SQL(
|
query = SQL(
|
||||||
"""
|
"""
|
||||||
with mobile_push_forwarded_count as (
|
with remote_server_push_forwarded_count as (
|
||||||
select
|
select
|
||||||
server_id,
|
server_id,
|
||||||
sum(coalesce(value, 0)) as push_forwarded_count
|
sum(coalesce(value, 0)) as server_push_forwarded_count
|
||||||
from zilencer_remoteinstallationcount
|
from zilencer_remoteinstallationcount
|
||||||
where
|
where
|
||||||
property = 'mobile_pushes_forwarded::day'
|
property = 'mobile_pushes_forwarded::day'
|
||||||
and end_time >= current_timestamp(0) - interval '7 days'
|
and end_time >= current_timestamp(0) - interval '7 days'
|
||||||
group by server_id
|
group by server_id
|
||||||
),
|
),
|
||||||
remote_push_devices as (
|
remote_server_push_devices as (
|
||||||
select
|
select
|
||||||
server_id,
|
server_id,
|
||||||
count(distinct(user_id, user_uuid)) as push_user_count
|
count(distinct(user_id, user_uuid)) as server_push_user_count
|
||||||
from zilencer_remotepushdevicetoken
|
from zilencer_remotepushdevicetoken
|
||||||
group by server_id
|
group by server_id
|
||||||
),
|
),
|
||||||
|
@ -68,6 +68,23 @@ def get_remote_server_activity(request: HttpRequest) -> HttpResponse:
|
||||||
is_system_bot_realm = False
|
is_system_bot_realm = False
|
||||||
and realm_deactivated = False
|
and realm_deactivated = False
|
||||||
group by server_id, id, name, org_type
|
group by server_id, id, name, org_type
|
||||||
|
),
|
||||||
|
remote_realm_push_devices as (
|
||||||
|
select
|
||||||
|
remote_realm_id,
|
||||||
|
count(distinct(user_id, user_uuid)) as realm_push_user_count
|
||||||
|
from zilencer_remotepushdevicetoken
|
||||||
|
group by remote_realm_id
|
||||||
|
),
|
||||||
|
remote_realm_push_forwarded_count as (
|
||||||
|
select
|
||||||
|
remote_realm_id,
|
||||||
|
sum(coalesce(value, 0)) as realm_push_forwarded_count
|
||||||
|
from zilencer_remoterealmcount
|
||||||
|
where
|
||||||
|
property = 'mobile_pushes_forwarded::day'
|
||||||
|
and end_time >= current_timestamp(0) - interval '7 days'
|
||||||
|
group by remote_realm_id
|
||||||
)
|
)
|
||||||
select
|
select
|
||||||
rserver.id,
|
rserver.id,
|
||||||
|
@ -80,16 +97,20 @@ def get_remote_server_activity(request: HttpRequest) -> HttpResponse:
|
||||||
rserver.contact_email,
|
rserver.contact_email,
|
||||||
rserver.last_version,
|
rserver.last_version,
|
||||||
rserver.last_audit_log_update,
|
rserver.last_audit_log_update,
|
||||||
push_user_count,
|
server_push_user_count,
|
||||||
push_forwarded_count,
|
realm_push_user_count,
|
||||||
|
server_push_forwarded_count,
|
||||||
|
realm_push_forwarded_count,
|
||||||
realm_type
|
realm_type
|
||||||
from zilencer_remotezulipserver rserver
|
from zilencer_remotezulipserver rserver
|
||||||
left join mobile_push_forwarded_count on mobile_push_forwarded_count.server_id = rserver.id
|
left join remote_server_push_forwarded_count on remote_server_push_forwarded_count.server_id = rserver.id
|
||||||
left join remote_push_devices on remote_push_devices.server_id = rserver.id
|
left join remote_server_push_devices on remote_server_push_devices.server_id = rserver.id
|
||||||
left join remote_realms on remote_realms.server_id = rserver.id
|
left join remote_realms on remote_realms.server_id = rserver.id
|
||||||
left join remote_server_audit_log on remote_server_audit_log.server_id = rserver.id
|
left join remote_server_audit_log on remote_server_audit_log.server_id = rserver.id
|
||||||
|
left join remote_realm_push_devices on remote_realm_push_devices.remote_realm_id = realm_id
|
||||||
|
left join remote_realm_push_forwarded_count on remote_realm_push_forwarded_count.remote_realm_id = realm_id
|
||||||
where not deactivated
|
where not deactivated
|
||||||
order by push_user_count DESC NULLS LAST
|
order by server_push_user_count DESC NULLS LAST
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -102,8 +123,8 @@ def get_remote_server_activity(request: HttpRequest) -> HttpResponse:
|
||||||
"Server contact email",
|
"Server contact email",
|
||||||
"Server Zulip version",
|
"Server Zulip version",
|
||||||
"Server last audit log update (UTC)",
|
"Server last audit log update (UTC)",
|
||||||
"Server mobile users",
|
"Mobile users",
|
||||||
"Server mobile pushes",
|
"Mobile pushes",
|
||||||
"Realm organization type",
|
"Realm organization type",
|
||||||
"Plan name",
|
"Plan name",
|
||||||
"Plan status",
|
"Plan status",
|
||||||
|
@ -120,6 +141,10 @@ def get_remote_server_activity(request: HttpRequest) -> HttpResponse:
|
||||||
REALM_CREATED = 2
|
REALM_CREATED = 2
|
||||||
SERVER_HOST = 3
|
SERVER_HOST = 3
|
||||||
REALM_HOST = 4
|
REALM_HOST = 4
|
||||||
|
SERVER_PUSH_USER_COUNT = 9
|
||||||
|
REALM_PUSH_USER_COUNT = 10
|
||||||
|
SERVER_PUSH_FORWARDED = 11
|
||||||
|
REALM_PUSH_FORWARDED = 12
|
||||||
|
|
||||||
# Column constants:
|
# Column constants:
|
||||||
DATE_CREATED = 2
|
DATE_CREATED = 2
|
||||||
|
@ -153,12 +178,16 @@ def get_remote_server_activity(request: HttpRequest) -> HttpResponse:
|
||||||
ids_string = f"{server_id}"
|
ids_string = f"{server_id}"
|
||||||
row.insert(SERVER_AND_REALM_IDS, ids_string)
|
row.insert(SERVER_AND_REALM_IDS, ids_string)
|
||||||
|
|
||||||
# Set date created data
|
# Remove extra mobile user/push data and set created date
|
||||||
# For remote realm row, remove server created value;
|
# For remote realm row, remove server push data and created date;
|
||||||
# for remote server row, remove realm created value
|
# for remote server row, remove realm push data and created date.
|
||||||
if realm_id is not None:
|
if realm_id is not None:
|
||||||
|
row.pop(SERVER_PUSH_FORWARDED)
|
||||||
|
row.pop(SERVER_PUSH_USER_COUNT)
|
||||||
row.pop(SERVER_CREATED)
|
row.pop(SERVER_CREATED)
|
||||||
else:
|
else:
|
||||||
|
row.pop(REALM_PUSH_FORWARDED)
|
||||||
|
row.pop(REALM_PUSH_USER_COUNT)
|
||||||
row.pop(REALM_CREATED)
|
row.pop(REALM_CREATED)
|
||||||
|
|
||||||
# Get server_host for support link
|
# Get server_host for support link
|
||||||
|
|
Loading…
Reference in New Issue