Comparar perfis

O Cloud Profiler permite comparar visualmente dois perfis do mesmo tipo, extraídos do mesmo serviço em um projeto. É possível comparar perfis com diferenças em:

  • Horário de término: o serviço é executado mais rapidamente em determinados horários? Houve uma melhora ou piora gradual ao longo do tempo?
  • Zonas: o serviço é executado mais rapidamente em algumas zonas do que em outras?
  • Versões de serviço: as versões mais recentes são muito diferentes das antigas? Como?
  • Peso: como os perfis capturados durante períodos de alto consumo diferem dos perfis comuns?

Configurar uma comparação

Ao configurar uma comparação, você especifica os parâmetros para um perfil original e um perfil comparado. Esses dois perfis compartilham todos os parâmetros de configuração, exceto o definido pelo campo Comparar com.

Para configurar uma comparação, faça o seguinte:

  1. Defina o tipo de comparação selecionando uma opção no menu Comparar com:

    Selecionar uma dessas opções resulta em um novo campo de configuração. O nome do campo tem a palavra Comparado e o tipo de comparação. Por exemplo, se você selecionar Versão, um campo Versão comparada será exibido ao lado do campo Comparar com.

  2. Especifique o perfil comparado selecionando uma opção no menu Comparado.

Por exemplo, a captura de tela ilustra as configurações para comparar duas versões de docdemo-service:

Comparação de dois perfis de tempo de CPU.

As configurações para os campos a seguir se aplicam ao perfil original e ao perfil comparado:

  • Período: 7 days
  • Horário de término: 10/24/19, 8:35 AM
  • Serviço: docdemo-service
  • Tipo de perfil: CPU time
  • Zona: All zones
  • Peso: All

Para o perfil original, a Versão é 1.75.0. Para o perfil comparado, a Versão é 1.25.0.

Noções básicas sobre gráficos de comparação

O gráfico resultante de uma comparação é diferente do gráfico padrão das seguintes maneiras:

  • Significado das cores
  • Significado do tamanho do bloco de função
  • Informações métricas exibidas pela dica
  • Conteúdo da lista de foco

Significado das cores

Em um gráfico de chama padrão, você pode especificar o modo de cor do gráfico. Saiba mais em Modo de cor.

Em um gráfico de chama de comparação, as cores representam a diferença entre o consumo métrico total da função no perfil original e no perfil comparado:

  • Cinza: há pouca ou nenhuma diferença.
  • Vermelho: a diferença é positiva.
  • Azul: a diferença é negativa.

Quanto maior for a diferença nos valores de consumo entre os dois perfis comparados, mais saturada será a cor.

Por exemplo, na figura anterior, a pilha de chamadas foo1 é azul, indicando que o perfil original consumiu menos CPU do que o perfil comparado. O frame foo1 é um azul mais claro que o frame filho bar, indicando que há uma diferença maior no consumo de métricas para a função foo1 do que para a função bar. Por fim, a pilha de chamadas foo2 está vermelha, indicando que o perfil original consumiu mais CPU do que o perfil comparado.

Significado do tamanho do bloco

Em um gráfico em degradê padrão, o tamanho dos blocos de função ilustra o consumo relativo da métrica analisada.

Em um gráfico em degradê de comparação, o tamanho dos blocos de função ilustra o consumo médio relativo da métrica analisada. Ao calcular a média dos valores dos dois perfis, um bloco que existe apenas em um ainda aparece no gráfico de comparação com a metade do tamanho de antes da comparação.

Valores de métrica exibidos

Em um gráfico em degradê padrão, as métricas exibidas pela dica são compostas de duas cláusulas: total e própria. Em ambas as cláusulas, o valor absoluto é exibido junto com uma porcentagem:

     total: 1.01 s, 28.8%; self: 1.01 s, 28.8%

Em um gráfico de chama de comparação, como dois perfis estão sendo comparados, a dica exibe os valores de métrica para os dois perfis:

Valores exibidos em uma comparação de perfis.

Conforme mostrado na figura, as cláusulas total e própria têm o formato a seguir:

     [ABS_ORIGINAL] vs. [ABS_COMPARED] ([ABS_DIFF]), [REL_ORIGINAL] vs. [REL_COMPARED] ([REL_DIFF])

Nesta expressão, ABS_ significa o valor absoluto e REL_ significa a porcentagem relativa. Portanto, [ABS_ORIGINAL] é o valor absoluto do perfil original, e [ABS_COMPARED] é o valor absoluto do perfil comparado. O campo [ABS_DIFF], definido como [ABS_ORIGINAL] - [ABS_COMPARED], é a diferença absoluta entre os dois perfis. Quando a diferença absoluta é zero, nenhuma alteração é exibida.

A porcentagem é computada para cada perfil como a proporção do valor bruto de uma função para o valor bruto da raiz. Por exemplo, no perfil original, foo1 levou 4,67 segundos e root levou 10,03 segundos. Portanto, [REL_ORIGINAL] é de cerca de 46%. Um cálculo semelhante é realizado para o perfil comparado. Por fim, o campo [REL_DIFF], definido como a diferença entre essas porcentagens, é a diferença relativa entre os dois perfis. Quando essa diferença é zero, nenhuma alteração é exibida.

Para o exemplo anterior, a cláusula total mostra que a função foo1 no perfil original é executada em 4,67 segundos. A diferença absoluta de -2,24 segundos indica que foo1 é executado cerca de 2,41 segundos mais rápido no perfil original do que no perfil comparado:

     total: 4.67 s vs. 6.91 s (-2.24 s), 46.6% vs 69% (-22.4%)

Incluir foco em uma comparação

Em um gráfico de chama padrão, cada linha na lista Foco contém um nome de função, os valores de consumo próprio e total da métrica e a contagem de pilhas de chamadas nessa função.

No gráfico de chama de comparação, cada linha da Lista de foco contém um nome de função, os valores de consumo de métricas próprios e totais e a contagem de pilhas de chamadas para essa função para o perfil original.profiler. Para um gráfico de chama de comparação, a lista de foco também inclui duas colunas Diferença , um botão Diferença relativa e um botão Diferença absoluta. Saiba mais sobre a diferença relativa e a diferença absoluta em Valores de métrica exibidos.

Por padrão, a cor do gráfico de chama de comparação é determinada pelas diferenças absolutas entre os perfis original e comparado. Por padrão, a lista de foco exibe as diferenças relativas entre os dois perfis que estão sendo comparados:

Lista de focos mostrando a diferença relativa entre dois perfis.

A tabela no exemplo mostra que a função foo1 leva cerca de 4,67 segundos para ser executada no perfil original. O tempo de 4,67 segundos corresponde a cerca de 46,6% do tempo de execução. A coluna Diferença, que exibe a diferença relativa, contém o valor de -22.4%.

Para ver a diferença absoluta entre os valores da métrica, clique em Dif absoluta.

Independentemente de você ter um gráfico de chama padrão ou de comparação, é possível classificar as linhas da tabela em ordem crescente ou decrescente selecionando um elemento do cabeçalho da tabela.

Desativar o modo de comparação

Para desativar o modo de comparação, defina o campo Comparar com para Nenhum.

A seguir