Por que nossa verificação de saldo registrou uma cobrança real no dia errado

Ler o original em inglês

alertingmonitoringcostverification

Imagem de capa: Por que nossa verificação de saldo registrou uma cobrança real no dia errado

Duas cobranças reais passaram pelo nosso alarme em sequência, e as duas noites pareceram noites tranquilas. Esse era o problema todo.

Criamos o alarme por um único motivo: avisar a gente no momento em que um teste gratuito terminasse e as cobranças reais começassem. Um trabalho simples. Uma verificação de saldo, uma comparação com a verificação anterior e uma mensagem se algo mudasse sem que devesse. Cada falha teve uma causa diferente, e nenhuma delas parecia uma falha.

O aviso que silenciou a cobrança errada

O alerta tinha uma configuração para impedir que o mesmo aviso se repetisse a cada poucos minutos. Isso é normal em qualquer sistema de notificação. O problema era que dois tipos diferentes de alerta dividiam esse mesmo limitador de repetição.

Quando o primeiro alerta disparou, ele consumiu a janela de silêncio. Depois, uma segunda cobrança real, sem relação com a primeira, caiu dentro dessa mesma janela e foi tratada como repetição de algo que já tinha sido avisado. Não era repetição. Era dinheiro saindo sem que ninguém soubesse, porque a ferramenta presumiu que um silêncio significava “já avisei” sem verificar o que estava de fato silenciando.

A cobrança registrada no dia errado

A segunda falha tinha a ver com relógios. O sistema que a gente monitorava zera e mede o dia em um fuso horário. Nosso alarme verificava “isso aconteceu hoje?” com base em outro: o fuso da máquina onde ele rodava.

Uma cobrança que caiu bem perto dessa fronteira foi registrada no dia errado. A comparação de um dia para o outro a descartou como se nada tivesse mudado. Esse único erro apagou uma cobrança real, grande o bastante para importar.

Por que nenhuma das duas fez barulho

Os dois erros têm o mesmo formato. Algo que parecia um fato simples e único, uma janela de repetição ou um dia, estava no lugar de duas coisas diferentes que precisavam ser distinguidas. Nada na configuração obrigava a fazer essa distinção.

Nenhum dos erros derrubou algo nem gerou uma mensagem de erro que alguém pudesse ver. Cada um concordou que nada tinha acontecido, que é a pior forma de um alerta falhar. Um alarme que dispara demais é notado e corrigido rápido. Um alarme que fica em silêncio justamente na hora errada é idêntico a um dia normal e sem novidades, até você ir atrás dos recibos.

O que encontrou os erros

Já tínhamos lido o código com cuidado uma vez, e isso não pegou nenhum dos dois. O que pegou foi se recusar a confiar no código até que ele provasse que funcionava. Forçamos a condição exata que deveria disparar um alerta real e verificamos diretamente se uma mensagem aparecia onde uma pessoa a veria. Depois forçamos a condição oposta e confirmamos que nada disparava quando não devia.

Se você depende de alguma ferramenta para avisar quando algo importante muda, seja gasto, contagem de estoque ou uma verificação de segurança, faça o mesmo. Faça o alerta disparar de propósito e observe se uma notificação real chega onde uma pessoa a veria. No nosso caso, esse teste expôs o limitador de repetição compartilhado e a comparação com o fuso horário errado.

Receba a próxima história de IA no dia a dia

Histórias em linguagem simples sobre usar IA para facilitar o trabalho do dia a dia. Um e-mail curto quando sair uma nova, sem jargão.