mirror of
https://github.com/mastodon/mastodon.git
synced 2025-09-05 17:31:12 +00:00
Merge cb92313c46
into 14cb5ff881
This commit is contained in:
commit
4679fedb71
|
@ -37,7 +37,7 @@ class Admin::Metrics::Measure::InstanceAccountsMeasure < Admin::Metrics::Measure
|
||||||
WITH new_accounts AS (
|
WITH new_accounts AS (
|
||||||
SELECT accounts.id
|
SELECT accounts.id
|
||||||
FROM accounts
|
FROM accounts
|
||||||
WHERE date_trunc('day', accounts.created_at)::date = axis.period
|
WHERE #{matching_day(Account, :created_at)}
|
||||||
AND #{account_domain_sql(params[:include_subdomains])}
|
AND #{account_domain_sql(params[:include_subdomains])}
|
||||||
)
|
)
|
||||||
SELECT count(*) FROM new_accounts
|
SELECT count(*) FROM new_accounts
|
||||||
|
|
|
@ -38,7 +38,7 @@ class Admin::Metrics::Measure::InstanceFollowersMeasure < Admin::Metrics::Measur
|
||||||
SELECT follows.id
|
SELECT follows.id
|
||||||
FROM follows
|
FROM follows
|
||||||
INNER JOIN accounts ON follows.account_id = accounts.id
|
INNER JOIN accounts ON follows.account_id = accounts.id
|
||||||
WHERE date_trunc('day', follows.created_at)::date = axis.period
|
WHERE #{matching_day(Follow, :created_at)}
|
||||||
AND #{account_domain_sql(params[:include_subdomains])}
|
AND #{account_domain_sql(params[:include_subdomains])}
|
||||||
)
|
)
|
||||||
SELECT count(*) FROM new_followers
|
SELECT count(*) FROM new_followers
|
||||||
|
|
|
@ -38,7 +38,7 @@ class Admin::Metrics::Measure::InstanceFollowsMeasure < Admin::Metrics::Measure:
|
||||||
SELECT follows.id
|
SELECT follows.id
|
||||||
FROM follows
|
FROM follows
|
||||||
INNER JOIN accounts ON follows.target_account_id = accounts.id
|
INNER JOIN accounts ON follows.target_account_id = accounts.id
|
||||||
WHERE date_trunc('day', follows.created_at)::date = axis.period
|
WHERE #{matching_day(Follow, :created_at)}
|
||||||
AND #{account_domain_sql(params[:include_subdomains])}
|
AND #{account_domain_sql(params[:include_subdomains])}
|
||||||
)
|
)
|
||||||
SELECT count(*) FROM new_follows
|
SELECT count(*) FROM new_follows
|
||||||
|
|
|
@ -47,7 +47,7 @@ class Admin::Metrics::Measure::InstanceMediaAttachmentsMeasure < Admin::Metrics:
|
||||||
SELECT #{media_size_total} AS size
|
SELECT #{media_size_total} AS size
|
||||||
FROM media_attachments
|
FROM media_attachments
|
||||||
INNER JOIN accounts ON accounts.id = media_attachments.account_id
|
INNER JOIN accounts ON accounts.id = media_attachments.account_id
|
||||||
WHERE date_trunc('day', media_attachments.created_at)::date = axis.period
|
WHERE #{matching_day(MediaAttachment, :created_at)}
|
||||||
AND #{account_domain_sql(params[:include_subdomains])}
|
AND #{account_domain_sql(params[:include_subdomains])}
|
||||||
)
|
)
|
||||||
SELECT COALESCE(SUM(size), 0) FROM new_media_attachments
|
SELECT COALESCE(SUM(size), 0) FROM new_media_attachments
|
||||||
|
|
|
@ -38,7 +38,7 @@ class Admin::Metrics::Measure::InstanceReportsMeasure < Admin::Metrics::Measure:
|
||||||
SELECT reports.id
|
SELECT reports.id
|
||||||
FROM reports
|
FROM reports
|
||||||
INNER JOIN accounts ON accounts.id = reports.target_account_id
|
INNER JOIN accounts ON accounts.id = reports.target_account_id
|
||||||
WHERE date_trunc('day', reports.created_at)::date = axis.period
|
WHERE #{matching_day(Report, :created_at)}
|
||||||
AND #{account_domain_sql(params[:include_subdomains])}
|
AND #{account_domain_sql(params[:include_subdomains])}
|
||||||
)
|
)
|
||||||
SELECT count(*) FROM new_reports
|
SELECT count(*) FROM new_reports
|
||||||
|
|
|
@ -40,7 +40,7 @@ class Admin::Metrics::Measure::InstanceStatusesMeasure < Admin::Metrics::Measure
|
||||||
INNER JOIN accounts ON accounts.id = statuses.account_id
|
INNER JOIN accounts ON accounts.id = statuses.account_id
|
||||||
WHERE statuses.id BETWEEN :earliest_status_id AND :latest_status_id
|
WHERE statuses.id BETWEEN :earliest_status_id AND :latest_status_id
|
||||||
AND #{account_domain_sql(params[:include_subdomains])}
|
AND #{account_domain_sql(params[:include_subdomains])}
|
||||||
AND date_trunc('day', statuses.created_at)::date = axis.period
|
AND #{matching_day(Status, :created_at)}
|
||||||
)
|
)
|
||||||
SELECT count(*) FROM new_statuses
|
SELECT count(*) FROM new_statuses
|
||||||
) AS value
|
) AS value
|
||||||
|
|
|
@ -27,7 +27,7 @@ class Admin::Metrics::Measure::NewUsersMeasure < Admin::Metrics::Measure::BaseMe
|
||||||
WITH new_users AS (
|
WITH new_users AS (
|
||||||
SELECT users.id
|
SELECT users.id
|
||||||
FROM users
|
FROM users
|
||||||
WHERE date_trunc('day', users.created_at)::date = axis.period
|
WHERE #{matching_day(User, :created_at)}
|
||||||
)
|
)
|
||||||
SELECT count(*) FROM new_users
|
SELECT count(*) FROM new_users
|
||||||
) AS value
|
) AS value
|
||||||
|
|
|
@ -27,7 +27,7 @@ class Admin::Metrics::Measure::OpenedReportsMeasure < Admin::Metrics::Measure::B
|
||||||
WITH new_reports AS (
|
WITH new_reports AS (
|
||||||
SELECT reports.id
|
SELECT reports.id
|
||||||
FROM reports
|
FROM reports
|
||||||
WHERE date_trunc('day', reports.created_at)::date = axis.period
|
WHERE #{matching_day(Report, :created_at)}
|
||||||
)
|
)
|
||||||
SELECT count(*) FROM new_reports
|
SELECT count(*) FROM new_reports
|
||||||
) AS value
|
) AS value
|
||||||
|
|
|
@ -23,6 +23,12 @@ module Admin::Metrics::Measure::QueryHelper
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def matching_day(model, column)
|
||||||
|
<<~SQL.squish
|
||||||
|
DATE_TRUNC('day', #{model.table_name}.#{column})::date = axis.period
|
||||||
|
SQL
|
||||||
|
end
|
||||||
|
|
||||||
def account_domain_sql(include_subdomains)
|
def account_domain_sql(include_subdomains)
|
||||||
if include_subdomains
|
if include_subdomains
|
||||||
"accounts.domain IN (SELECT domain FROM instances WHERE reverse('.' || domain) LIKE reverse('.' || :domain::text))"
|
"accounts.domain IN (SELECT domain FROM instances WHERE reverse('.' || domain) LIKE reverse('.' || :domain::text))"
|
||||||
|
|
|
@ -27,7 +27,7 @@ class Admin::Metrics::Measure::ResolvedReportsMeasure < Admin::Metrics::Measure:
|
||||||
WITH resolved_reports AS (
|
WITH resolved_reports AS (
|
||||||
SELECT reports.id
|
SELECT reports.id
|
||||||
FROM reports
|
FROM reports
|
||||||
WHERE date_trunc('day', reports.action_taken_at)::date = axis.period
|
WHERE #{matching_day(Report, :action_taken_at)}
|
||||||
)
|
)
|
||||||
SELECT count(*) FROM resolved_reports
|
SELECT count(*) FROM resolved_reports
|
||||||
) AS value
|
) AS value
|
||||||
|
|
|
@ -35,7 +35,7 @@ class Admin::Metrics::Measure::TagServersMeasure < Admin::Metrics::Measure::Base
|
||||||
INNER JOIN accounts ON statuses.account_id = accounts.id
|
INNER JOIN accounts ON statuses.account_id = accounts.id
|
||||||
WHERE statuses_tags.tag_id = :tag_id
|
WHERE statuses_tags.tag_id = :tag_id
|
||||||
AND statuses.id BETWEEN :earliest_status_id AND :latest_status_id
|
AND statuses.id BETWEEN :earliest_status_id AND :latest_status_id
|
||||||
AND date_trunc('day', statuses.created_at)::date = axis.period
|
AND #{matching_day(Status, :created_at)}
|
||||||
)
|
)
|
||||||
SELECT COUNT(*) FROM tag_servers
|
SELECT COUNT(*) FROM tag_servers
|
||||||
) AS value
|
) AS value
|
||||||
|
|
Loading…
Reference in New Issue
Block a user