Pular para o conteúdo
← Voltar ao overview do Cosmos DB
Killer #6

Throttling Root Cause Analyzer

Quando bate 429, o DBA precisa saber QUAL query QUAL partition QUAL hora causou. Hoje é detetive manual cruzando Azure Monitor + Log Analytics. O RCA pega cada burst de 429s e correlaciona com queries executadas ±N minutos da janela (vindo do Query Cost Inspector), ranqueia suspects por RU cumulativo e gera confidence score + rationale textual.

Onde ele fica no app: Tools → Cosmos DB → Throttling Root Cause Analyzer

O que ele faz

  • Puxa eventos 429 do MetricsBridge (Azure Monitor ou CloudWatch).
  • Para cada burst, busca queries no Query Cost Inspector dentro de ±N minutos (configurável).
  • Agrupa por shape e ranqueia por RU cumulativo.
  • Confidence score = participação do RU do top shape sobre o RU total da janela.
  • Rationale automático: high-frequency vs single-expensive vs many-shapes coincidem.

Passo a passo

  1. 1

    Abra o pane

    Tools → Cosmos DB → Throttling Root Cause Analyzer.

  2. 2

    Ajuste a janela

    Default 5 min. Aumente para 10-15 se workload tem padrões longos; diminua para 2 se quiser correlation cirúrgica.

  3. 3

    Refresh / aguarde o polling

    A cada 60s puxa os 429s. Logo aparece a tabela com as top 20 janelas com 429s.

  4. 4

    Investigue os suspeitos

    A coluna "Why" traz um rationale curto. A coluna "Confidence" diz quão certo está. >70% em vermelho = quase certeza.

  5. 5

    Aja

    Top suspect shape → leve para o WHAT-IF Lab → teste índice → aplique.

Casos de uso reais

Detecção de bug às 4h

Alert do PagerDuty às 4am: spike de 429. DBA abre o RCA, vê janela 04:02-04:07 com 187 throttles + shape `find({orgId, status: "pending"})` 87% confidence. Bug no batch job. Fix em 20 min.

Pronto para ver isso na sua conta Cosmos?Baixar NoSqlStudioPróximo → Diagnostic Logs (KQL)