20 lines
972 B
SQL
20 lines
972 B
SQL
select 'seen_1h' as metric, count(*)::text as value from cars where last_seen_at >= now() - interval '1 hour'
|
|
union all
|
|
select 'seen_24h', count(*)::text from cars where last_seen_at >= now() - interval '24 hours'
|
|
union all
|
|
select 'old_rows_touched_24h', count(*)::text from cars where last_seen_at >= now() - interval '24 hours' and id <= (select greatest(max(id) - 5000, 0) from cars)
|
|
union all
|
|
select 'min_recent_id_1h', coalesce(min(id)::text, 'null') from cars where last_seen_at >= now() - interval '1 hour'
|
|
union all
|
|
select 'max_recent_id_1h', coalesce(max(id)::text, 'null') from cars where last_seen_at >= now() - interval '1 hour'
|
|
union all
|
|
select 'top_5_recent_old_ids_24h', coalesce(string_agg(id::text, ', ' order by last_seen_at desc), 'none')
|
|
from (
|
|
select id, last_seen_at
|
|
from cars
|
|
where last_seen_at >= now() - interval '24 hours'
|
|
and id <= (select greatest(max(id) - 5000, 0) from cars)
|
|
order by last_seen_at desc
|
|
limit 5
|
|
) t;
|