mirror of
https://mau.dev/maunium/synapse.git
synced 2024-08-26 12:16:12 +00:00
Include user agent in user daily visits table (#8503)
Include user agent in user daily visits table.
This commit is contained in:
parent
4433d01519
commit
1f39155071
1
changelog.d/8503.misc
Normal file
1
changelog.d/8503.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Add user agent to user_daily_visits table.
|
@ -281,9 +281,14 @@ class ServerMetricsStore(EventPushActionsWorkerStore, SQLBaseStore):
|
|||||||
a_day_in_milliseconds = 24 * 60 * 60 * 1000
|
a_day_in_milliseconds = 24 * 60 * 60 * 1000
|
||||||
now = self._clock.time_msec()
|
now = self._clock.time_msec()
|
||||||
|
|
||||||
|
# A note on user_agent. Technically a given device can have multiple
|
||||||
|
# user agents, so we need to decide which one to pick. We could have handled this
|
||||||
|
# in number of ways, but given that we don't _that_ much have gone for MAX()
|
||||||
|
# For more details of the other options considered see
|
||||||
|
# https://github.com/matrix-org/synapse/pull/8503#discussion_r502306111
|
||||||
sql = """
|
sql = """
|
||||||
INSERT INTO user_daily_visits (user_id, device_id, timestamp)
|
INSERT INTO user_daily_visits (user_id, device_id, timestamp, user_agent)
|
||||||
SELECT u.user_id, u.device_id, ?
|
SELECT u.user_id, u.device_id, ?, MAX(u.user_agent)
|
||||||
FROM user_ips AS u
|
FROM user_ips AS u
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT user_id, device_id, timestamp FROM user_daily_visits
|
SELECT user_id, device_id, timestamp FROM user_daily_visits
|
||||||
@ -294,7 +299,7 @@ class ServerMetricsStore(EventPushActionsWorkerStore, SQLBaseStore):
|
|||||||
WHERE last_seen > ? AND last_seen <= ?
|
WHERE last_seen > ? AND last_seen <= ?
|
||||||
AND udv.timestamp IS NULL AND users.is_guest=0
|
AND udv.timestamp IS NULL AND users.is_guest=0
|
||||||
AND users.appservice_id IS NULL
|
AND users.appservice_id IS NULL
|
||||||
GROUP BY u.user_id, u.device_id
|
GROUP BY u.user_id, u.device_id, u.user_agent
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# This means that the day has rolled over but there could still
|
# This means that the day has rolled over but there could still
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
/* Copyright 2020 The Matrix.org Foundation C.I.C.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
-- Add new column to user_daily_visits to track user agent
|
||||||
|
ALTER TABLE user_daily_visits
|
||||||
|
ADD COLUMN user_agent TEXT;
|
Loading…
Reference in New Issue
Block a user