Compare perfis
O Cloud Profiler permite-lhe comparar visualmente dois perfis do mesmo tipo, obtidos do mesmo serviço num projeto. Pode comparar perfis que diferem nos seguintes aspetos:
- Horários de fim: o serviço é mais rápido em determinadas horas? Houve uma melhoria ou um declínio gradual ao longo do tempo?
- Zonas: o serviço é executado mais rapidamente em algumas zonas do que noutras?
- Versões do serviço: as versões mais recentes diferem significativamente das mais antigas? Como?
- Peso: como é que os perfis capturados durante períodos de elevado consumo diferem dos perfis médios?
Configurar uma comparação
Quando configura uma comparação, especifica os parâmetros de um perfil original e de um perfil comparado. Estes dois perfis partilham todos os parâmetros de configuração, exceto o definido pelo campo Comparar com.
Para configurar uma comparação, faça o seguinte:
Defina o tipo de comparação selecionando uma opção no menu Comparar com:
Se selecionar uma destas opções, é apresentado um novo campo de configuração. O nome do campo começa com Compared e termina com o tipo de comparação. Por exemplo, se selecionar Versão, é apresentado um campo Versão comparada junto ao campo Comparar com.
Especifique o perfil comparado selecionando uma opção no menu Comparado.
Por exemplo, a captura de ecrã ilustra as definições para comparar duas versões de docdemo-service
:
As definições dos seguintes campos aplicam-se ao perfil original e ao perfil comparado:
- Duração:
7 days
- Hora de fim:
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
.
Compreender um gráfico de comparação
O gráfico resultante de uma comparação difere do gráfico padrão nos seguintes aspetos:
- Significado das cores
- Significado do tamanho do bloco de funções
- Informações da métrica apresentadas pela sugestão
- Conteúdos da lista de foco
Significado das cores
Num gráfico de chamas padrão, pode especificar o modo de cor do gráfico. Para mais detalhes, consulte o artigo Modo de cor.
Num gráfico de chamas de comparação, as cores representam a diferença entre o consumo total de métricas da função no perfil original e no perfil comparado:
- Cinza: existe 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 que estão a ser comparados, mais saturada é a cor.
Por exemplo, na figura anterior, a
pilha de chamadas está a azul, o que indica
que o perfil original consumiu menos CPU do que o perfil comparado.foo1
O frame foo1
é de um azul mais claro do que o respetivo frame filho bar
, o que indica que existe uma diferença maior no consumo de métricas para a função foo1
do que para a função bar
.
Por último, a foo2
pilha de chamadas está a vermelho, o que indica que o perfil original consumiu mais CPU do que o perfil comparado.
Significado do tamanho do bloco
Num gráfico de chamas padrão, a dimensão dos blocos de funções ilustra o consumo relativo da métrica que está a ser analisada.
Num gráfico de chamas de comparação, o tamanho dos blocos de funções ilustra o consumo médio relativo da métrica que está a ser analisada. Ao calcular a média dos valores dos dois perfis, um bloco que exista apenas num perfil continua a aparecer no gráfico de comparação, com metade do tamanho que tinha antes da comparação.
Valores das métricas apresentadas
Num gráfico de chamas padrão, as métricas apresentadas pela sugestão são compostas por duas cláusulas: total e self. Em ambas as cláusulas, o valor absoluto é apresentado juntamente com uma percentagem:
total: 1.01 s, 28.8%; self: 1.01 s, 28.8%
Num gráfico de chamas de comparação, uma vez que estão a ser comparados dois perfis, a sugestão apresenta os valores das métricas para ambos os perfis:
Conforme mostrado na figura, as cláusulas total e self têm o seguinte formato:
[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 percentagem relativa. Por conseguinte, [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, é apresentada a indicação sem alteração.
A percentagem é calculada para cada perfil como a proporção do valor não processado de uma função para o valor não processado da raiz. Por exemplo, no perfil original, foo1
demorou 4,67 segundos e root
demorou 10,03 segundos. Portanto,
[REL_ORIGINAL]
é cerca de 46,0%. É feita uma computação semelhante para o perfil comparado. Por último, o campo [REL_DIFF]
, definido como a diferença destas percentagens, é a diferença relativa entre os dois perfis.
Quando esta diferença é zero, é apresentado sem alterações.
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 rapidamente 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%)
Focar uma comparação
Num gráfico de chamas padrão, cada linha na 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 sequências de chamadas nessa função.
No gráfico de chamas de comparação, cada linha na 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 nessa função para o perfil original.profiler Para um gráfico de chamas de comparação, a lista de foco também inclui duas colunas com a etiqueta Diferença, um botão com a etiqueta Diferença relativa e um botão com a etiqueta Diferença absoluta. Para ver informações sobre a diferença relativa e a diferença absoluta, consulte o artigo Valores das métricas apresentados.
Por predefinição, a cor do gráfico de chamas de comparação é determinada pelas diferenças absolutas entre os perfis original e comparado. Por outro lado, por predefinição, a lista de foco apresenta as diferenças relativas entre os dois perfis que estão a ser comparados:
A tabela no exemplo mostra que a função foo1
demora cerca de 4,67 segundos a ser executada no perfil original. O tempo de 4,67 segundos corresponde
a cerca de 46,6% do tempo de execução. A coluna Diff, que apresenta a diferença relativa, contém o valor -22.4%
.
Para ver a diferença absoluta entre os valores das métricas, clique em Diferença absoluta.
Quer tenha um gráfico de chamas padrão ou um gráfico de chamas de comparação, pode ordenar as linhas da tabela por ordem ascendente arrow_upward ou descendente arrow_downward 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 como Nenhum.