databases: db1: dsn: env:POSTGRES_URL metrics: repos_fully_indexed: type: gauge description: Repositories fully indexed repos_seen: type: gauge description: Repositories seen repos_failed: type: gauge description: Repositories that we failed to index # posts_lang: # type: summary # description: Posts by language # labels: [uk, lt, et, lv, pl, ga, fi, sv, # en, jp, de, fr, pt, es, nl, ko, tr, zh, ru] queries: query1: interval: 30 databases: [db1] metrics: [repos_fully_indexed] sql: > select count(*) as repos_fully_indexed from repos left join pds on repos.pds = pds.id where failed_attempts < 3 and last_indexed_rev <> '' and (last_indexed_rev >= first_rev_since_reset or first_rev_since_reset is null or first_rev_since_reset = '') and (repos.first_cursor_since_reset >= pds.first_cursor_since_reset or repos.first_cursor_since_reset is null or repos.first_cursor_since_reset = 0); query2: interval: 30 databases: [db1] metrics: [repos_seen] sql: select count(*) as repos_seen from repos; query3: interval: 30 databases: [db1] metrics: [repos_failed] sql: select count(*) as repos_failed from repos where failed_attempts >= 3; # query4: # interval: 300 # databases: [db1] # metrics: [posts_lang] # sql: select count(*) as uk from records where collection in ('app.bsky.feed.post') and content::text like '%"langs": ["uk"]%';