Yao Yue defende, em uma sessão apresentada no QCon San Francisco, uma revisão da forma como os dados de medição dos sistemas são exibidos. O gráfico de linhas, que se tornou o formato padrão da maioria dos painéis de monitoramento, pode ser adequado para dados limpos e contínuos, mas se torna menos útil quando as séries temporais se multiplicam, o ruído aumenta ou a questão em discussão não está relacionada principalmente ao tempo.
Yue baseia-se em 15 anos de operação de sistemas de grande escala, incluindo sete anos trabalhando em regime de plantão para um serviço de nível um, e em sua experiência anterior no Twitter, onde liderou a equipe de cache e depois criou a equipe de desempenho. Após novembro de 2022, ela participou da fundação da IOP Systems, uma empresa que trabalha para melhorar a eficiência e a confiabilidade do software por meio da engenharia de desempenho inteligente.
O problema não está na linha em si
Yue explica que o gráfico de linhas não exibe apenas os pontos de medição, mas também traça linhas entre cada dois pontos consecutivos. Isso significa adicionar elementos visuais que não existem efetivamente nos dados, ou o que ela descreve como extrapolation, isto é, a interpolação entre as medições. Isso pode ser útil quando os dados são regulares, mas pode sugerir a existência de uma trajetória entre duas medições sobre a qual não temos informações diretas, especialmente no caso de métricas em que não sabemos o que aconteceu entre elas.
O problema se agrava em sistemas que incluem um grande número de instâncias ou séries temporais. A quantidade de linhas e cores pode dar ao painel de monitoramento uma aparência rica, mas não torna mais claras as respostas a perguntas como “a taxa de produção mudou?” ou “a nova implantação causou uma degradação perceptível?”. Em muitos casos, apenas um engenheiro experiente consegue interpretar o gráfico, passando muito tempo examinando os detalhes, um padrão que Yue considera inadequado para uma engenharia confiável.
Escolher o formato de acordo com a natureza da medição
A palestrante propõe começar com três considerações: o formato dos dados, o tipo de medição e o que a equipe quer descobrir com eles. Quando os dados estão sobrecarregados, é possível usar médias em janelas de tempo ou calcular os valores mínimo, máximo e médio para reduzir o ruído e destacar as tendências. No entanto, essa transformação deve atender à questão apresentada, e não ser apenas uma forma de embelezar o gráfico.
Yue alerta que resumir os dados pode ocultar diferenças importantes. Ela cita a ideia do “Datasaurus”, segundo a qual conjuntos de dados podem compartilhar a mesma média e o mesmo desvio-padrão, apesar de suas formas serem radicalmente diferentes quando os valores brutos são plotados. Portanto, exibir os pontos sem linhas pode ser mais fiel em alguns casos, pois mostra as medições reais e não adiciona uma trajetória visual incerta.
De acordo com a apresentação, a maioria dos dados de medição se divide em três tipos principais: contadores, medidores instantâneos e histogramas. Contadores que aumentam com o tempo podem ser adequados para linhas, mas o que geralmente é exibido em aplicações de monitoramento não é o contador bruto, e sim a diferença entre dois valores consecutivos, como a taxa de solicitações ou de erros. Yue considera que representar essa diferença como segmentos ou barras pode mostrar com mais precisão a mudança acumulada e a variação.
Já os medidores instantâneos não garantem nada sobre o período entre duas leituras. O valor pode subir ou cair entre as medições sem que isso apareça nos dados. Por isso, a palestrante prefere exibir os pontos como são, com o mínimo possível de extrapolação. Quanto ao tempo de resposta, ela enfatiza que um único valor não é suficiente, porque ele representa uma distribuição, não um número isolado. Os histogramas são uma maneira melhor de preservar as informações da cauda, como P99 e P99.9, em vez de reduzi-las a uma única linha.
O que muda na prática?
A principal proposta da apresentação não é substituir todos os gráficos de linhas, mas relacionar a visualização à questão operacional. Se a pergunta for sobre o efeito da carga no acordo de nível de serviço, os dados podem ser agrupados de acordo com faixas de carga, como faixas de 500 ou 5000 solicitações por segundo, e então relacionados às distribuições do tempo de resposta. Assim, o gráfico passa a mostrar uma relação direta entre carga e tempo de resposta, em vez de examinar dias diferentes em busca do momento em que a carga atingiu o pico.
Da mesma forma, ao comparar duas versões do software, as medições podem ser agrupadas por versão e então as distribuições ou os percentis podem ser comparados sem fazer do tempo o eixo principal da análise. Ao escolher o tipo de hardware, a ideia propõe combinar os dados de desempenho com outras informações, como o tipo de instância e o preço, para chegar a uma tabela que compare o que realmente importa para a decisão de dimensionamento.
Leitura da certi.news
Essa visão revela uma limitação na arquitetura das ferramentas de monitoramento tanto quanto revela um problema de design visual. Os sistemas de armazenamento de métricas geralmente são estruturados em torno do nome da métrica e de seus atributos, de um lado, e dos valores e carimbos de data e hora, de outro. Isso torna as consultas relacionadas ao valor ao longo do tempo relativamente fáceis, mas dificulta relacionar os valores de uma métrica aos valores de outra, como associar o tempo de resposta à carga ou comparar o desempenho por versão do software.
Na prática, isso significa que melhorar um painel de monitoramento nem sempre começa pela escolha de uma cor ou de um novo gráfico, mas pela definição da decisão que ele deve ajudar a tomar. As equipes podem precisar reagrupar os dados ou combinar fontes externas ao banco de dados de séries temporais. Ao mesmo tempo, a sessão não apresenta uma receita única válida para todos; ela enfatiza que o tipo e o formato da medição e a questão apresentada determinam a representação mais adequada, e que a fonte não comprova que toda ferramenta de monitoramento atual ofereça essas transformações automaticamente. Portanto, a possibilidade de experimentar, o acesso aos dados brutos e a compreensão dos limites de cada resumo continuam sendo questões práticas em aberto para as equipes de confiabilidade e engenharia de desempenho.