- Navios
- 23 de setembro de 2026 às 13:48 UTC
- Autor
- Kamo
- Enviar
- 41e4a00
pg stat statements: `SELECT COunt(c) From CommitLog c WHE c.project IN (:~33 projectos públicos) [E c.commitTypeId = :t]` correu ~140K vezes por dia a 100-200 ms cada (medidas na produção antes desta alteração) — cada página de lista (page(), address()/sitemap) e cada /changelog/public/stats call, em endpoints que não requerem autenticação. commit logs tem ~ 19K linhas em 38 projetos; a contagem em si é barata, mas correu em cada pedido. create commit log ledger.sql adiciona o mesmo total + forma diária create lead intake legger.sql usa: commit log conunts (um total por (projeto, tipo de commit)) mais um anexo-only commit log count deltas diário que uma linha dispara em commit logs escreve no mesmo transação como uma inserção, uma atualização de projeto/tipo de mudança, ou uma exclusão. Aplicado à mão como o proprietário e recheado; DaemonService agora dobra e conta (commit separado, perf( changelog): fold and report the public changelog's commit-log bookger, implantado primeiro). **************************** E agora lêem: total + diário em uma instrução nativa em vez de um JPQL COUNT(c) — novos métodos em PublicChangelogService (seu cabeçalho já explica por que um filtro/consulta a página pública precisa vive aqui e não na biblioteca-compartilhada-kamo) em vez do CommitLogRepository, por isso isto não precisava lançamento bibliotecário compartilhado. hojeCount() é intocado: é uma contagem de janela de tempo limitada suportada por ix commit logs date uid, não o padrão ~140K-call. Verificado em relação à produção antes da comutação: total do registro correspondeu a COUNT(*) exatamente ao longo todos os 264 pares (projeto, tipo de commit) (0 incompatibilidades) após o preenchimento, e os três registros dispara fogo corretamente (provado dentro de uma transação rolada como kamo app, o próprio aplicativo credencial).
