Query Cost Inspector
Toda query rodada pelo NoSqlStudio captura o RU cost (header x-ms-request-charge) e empilha num ring buffer de 500 entries. O workspace agrupa por shape, mostra total/avg/p95/avg-ms e classifica cada shape como expensive (>100 RU), moderate (>20 RU) ou cheap. Surface as queries que estão sangrando dinheiro em segundos.
Where it lives in the app: Tools → Cosmos DB → Query Cost Inspector
What it does
- Captura automática de RU + duração toda vez que você roda find / aggregate / insert / update / delete.
- Group by query shape (com placeholders pra valores) — mesmas queries com valores diferentes viram a mesma linha.
- Métricas: count, total RU, average, p95, average ms.
- Classification badge: expensive (>100 RU), moderate (>20), cheap.
- Filter inline por ns ou shape.
- Botão "Clear" pra zerar a sessão e medir só o impacto de uma mudança específica.
Step-by-step
- 1
Conecte e rode queries normalmente
Toda query que passa pelo bridge do NoSqlStudio (Aggregations workspace, Documents tab, etc) é automaticamente capturada.
- 2
Abra Tools → Cosmos DB → Query Cost Inspector
A tab abre populada com as queries da sessão atual. Filtre por namespace ou parte do shape.
- 3
Identifique as expensive shapes
Sort pela coluna "Total RU" descending. Top 3-5 shapes geralmente concentram 60-80% do consumo. Foque ali.
- 4
Aja: cria índice, refatora, ou roda WHAT-IF
Pega o shape expensive → vai pro WHAT-IF Lab → testa "add-index" → mede o delta antes de aplicar.
Real use cases
Pareto descoberto em 5 min
DBA descobriu que 1 query do tipo `find({tenantId, status})` consumia 47% do RU diário. Adicionou índice composite via Killer #8. RU caiu 38% imediatamente.
Catch regression em PR review
Engenheiro PR-revisava feature nova rodando em dev contra prod-like data. Query Cost Inspector mostrou nova query custando 280 RU vs queries similares ~5 RU. Bloqueou merge.
FAQ
Funciona pra queries fora do NoSqlStudio?
Pra capturar app queries, configure diagnostic logs e use o Killer #7 (KQL templates) — query "Top 20 RU-expensive queries (today)".
Quantas queries cabem no buffer?
500 mais recentes. Configurável via prefs (próxima release).