Um monitor do Datadog que chama alguém às duas da manhã por causa de um rollout detecta a regressão, mas não age sobre ela. A pessoa chamada ainda precisa achar o rollout e revertê-lo na mão. O rollback automático com métricas do Datadog fecha essa distância: o mesmo número que o seu time acompanha no Datadog chega a um guardrail do rollfuse, e o guardrail aborta o rollout sozinho quando o número passa de um limite.
O rollfuse não tem integração nativa com o Datadog. Ele não chama a API do Datadog e não lê os seus monitores. O que ele faz é agir sobre valores de métrica que você envia. Esta página mostra os dois jeitos de levar uma métrica do Datadog para o rollfuse e o que acontece quando ela chega.
O que o guardrail faz com a métrica
Um guardrail pertence a um rollout e observa uma definição de métrica. Enquanto o rollout está ativo, o rollfuse calcula de tempos em tempos a média das observações recebidas para essa métrica dentro da janela de avaliação do guardrail e compara essa média com o seu limite. Cada checagem fica registrada com o valor da métrica, o limite e a ação tomada.
Quando a média viola o limite, o rollfuse aborta o rollout pelo mesmo caminho do abort manual. A flag volta a servir a variação padrão para 100% daquele ambiente. Não há novo deploy: o código continua no ar, só para de receber tráfego enquanto alguém investiga.
A definição de métrica é criada uma vez por projeto, com nome, chave, tipo de agregação e unidade. Depois, criar o guardrail pede quatro campos obrigatórios:
{
"metric_definition_id": "<id da sua definição de métrica>",
"comparison_operator": "gt",
"threshold": 0.02,
"evaluation_window_seconds": 600
}
Esse corpo vai para POST /v1/rollouts/{rollout_id}/guardrails. comparison_operator é um de gt, gte, lt ou lte, e a janela precisa ser positiva. Leia como "aborte se a média dos últimos 10 minutos passar de 0,02", por exemplo uma taxa de erro acima de 2%.
Caminho 1: um job seu envia a métrica ao rollfuse
Um job agendado que você já roda (um cron, um worker, um passo da sua ferramenta de deploy) consulta o Datadog com as suas próprias credenciais do Datadog e envia cada valor ao rollfuse:
{
"observations": [
{ "value": 0.013, "occurred_at": "2026-10-11T12:00:00Z" },
{ "value": 0.015, "occurred_at": "2026-10-11T12:01:00Z" }
]
}
Esse corpo vai para POST /v1/environments/{environment_id}/metric-definitions/{metric_definition_id}/observations, autenticado com uma Service Credential daquele ambiente que tenha o escopo metrics:write. value e occurred_at são obrigatórios em cada observação. Se qualquer observação do lote estiver malformada, o lote inteiro é recusado e nada é salvo.
Nesse caminho você controla a frequência de envio, e as chaves do Datadog nunca saem da sua infraestrutura.
Caminho 2: um conector busca de um endpoint que você expõe
Um conector do rollfuse faz um GET via HTTPS numa URL fixa, com o cabeçalho Authorization: Bearer <segredo>, lê a resposta em JSON e registra cada item como uma observação. Ele sincroniza de forma agendada, e você também pode disparar uma sincronização na hora.
O conector não consegue pedir ao Datadog "os últimos dez minutos" sozinho. O endpoint de consulta de séries temporais do Datadog, GET /api/v1/query, exige from e to como timestamps Unix em toda chamada (referência da API do Datadog, consultada em 11/10/2026), e o conector pede sempre a mesma URL fixa. Então a janela de tempo móvel precisa vir de um código seu: um endpoint pequeno que consulta o Datadog para a janela recente e devolve os valores em JSON. O tutorial de conectores mostra como testar o mapeamento, criar o conector e forçar uma sincronização.
Limites que vale saber antes de configurar
- O limite mora no rollfuse. O monitor do Datadog e o guardrail são duas definições separadas. Se ajustar um, ajuste o outro.
- Sem dado, sem abort. Se nenhuma observação chegar dentro da janela, a checagem fica registrada como dado insuficiente e o rollout não é abortado. Dá para configurar o guardrail para pausar o rollout depois de um tempo sem dados (
pause_after_uncertain_seconds). - Guardrails existem em todos os planos, com um limite de quantos cada plano permite. No Growth e no Enterprise, são ilimitados.
Quem está de plantão continua recebendo o alerta do Datadog, se o monitor estiver configurado assim. A diferença é que o rollback não espera ninguém ler o alerta. Para testar num rollout de verdade, comece pelo tutorial de rollback automático.