mirror of
https://github.com/neocities/neocities.git
synced 2026-05-26 05:34:53 +00:00
faster stats parsing
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
Sequel.migration do
|
||||
change do
|
||||
alter_table(:stats) { add_index [:site_id, :created_at], name: :stats_site_date_idx }
|
||||
end
|
||||
end
|
||||
+3
-2
@@ -1,6 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
require 'resolv'
|
||||
require 'zlib'
|
||||
require 'set'
|
||||
|
||||
class Stat < Sequel::Model
|
||||
FREE_RETAINMENT_DAYS = 30
|
||||
@@ -50,7 +51,7 @@ class Stat < Sequel::Model
|
||||
hits: 0,
|
||||
views: 0,
|
||||
bandwidth: 0,
|
||||
view_ips: [],
|
||||
view_ips: Set.new,
|
||||
referrers: {},
|
||||
paths: {}
|
||||
} unless site_logs[log_time][username]
|
||||
@@ -72,7 +73,7 @@ class Stat < Sequel::Model
|
||||
|
||||
total_site_stats[log_time][:views] += 1
|
||||
|
||||
site_logs[log_time][username][:view_ips] << ip
|
||||
site_logs[log_time][username][:view_ips].add(ip)
|
||||
|
||||
if referrer != '-' && !referrer.nil?
|
||||
site_logs[log_time][username][:referrers][referrer] ||= 0
|
||||
|
||||
Reference in New Issue
Block a user