1
0

store ua in user_daily_visits table and make population optional

This commit is contained in:
Neil Johnson
2019-01-04 16:33:39 +00:00
parent 27128145e6
commit 2af5440cec
3 changed files with 10 additions and 7 deletions

View File

@@ -500,11 +500,11 @@ def run(hs):
"generate_user_daily_visits",
hs.get_datastore().generate_user_daily_visits,
)
# Rather than update on per session basis, batch up the requests.
# If you increase the loop period, the accuracy of user_daily_visits
# table will decrease
clock.looping_call(generate_user_daily_visit_stats, 5 * 60 * 1000)
if hs.config.store_user_daily_visits:
# Rather than update on per session basis, batch up the requests.
# If you increase the loop period, the accuracy of user_daily_visits
# table will decrease
clock.looping_call(generate_user_daily_visit_stats, 5 * 60 * 1000)
# monthly active user limiting functionality
def reap_monthly_active_users():

View File

@@ -97,6 +97,9 @@ class ServerConfig(Config):
self.hs_disabled_message = config.get("hs_disabled_message", "")
self.hs_disabled_limit_type = config.get("hs_disabled_limit_type", "")
# User stats
self.store_user_daily_visits = config.get("store_user_daily_visits", False)
# Admin uri to direct users at should their instance become blocked
# due to resource constraints
self.admin_contact = config.get("admin_contact", None)

View File

@@ -372,8 +372,8 @@ class DataStore(RoomMemberStore, RoomStore,
now = self.clock.time_msec()
sql = """
INSERT INTO user_daily_visits (user_id, device_id, timestamp)
SELECT u.user_id, u.device_id, ?
INSERT INTO user_daily_visits (user_id, device_id, timestamp, user_agent)
SELECT u.user_id, u.device_id, ?, u.user_agent
FROM user_ips AS u
LEFT JOIN (
SELECT user_id, device_id, timestamp FROM user_daily_visits