Add more instance stats APIs (#6125)

* Add GET /api/v1/instance/peers API to reveal known domains

* Add GET /api/v1/instance/activity API

* Make new APIs disableable, exclude private statuses from activity stats

* Fix code style issue

* Fix week timestamps
This commit is contained in:
Eugen Rochko
2017-12-29 19:52:04 +01:00
committed by GitHub
parent 511c6f9625
commit 38fc1b498d
14 changed files with 144 additions and 8 deletions

View File

@ -0,0 +1,31 @@
# frozen_string_literal: true
class ActivityTracker
EXPIRE_AFTER = 90.days.seconds
class << self
def increment(prefix)
key = [prefix, current_week].join(':')
redis.incrby(key, 1)
redis.expire(key, EXPIRE_AFTER)
end
def record(prefix, value)
key = [prefix, current_week].join(':')
redis.pfadd(key, value)
redis.expire(key, value)
end
private
def redis
Redis.current
end
def current_week
Time.zone.today.cweek
end
end
end