Compartilhar via


Crie perfis de aplicativos de produção no Azure com o Application Insights Profiler para .NET

Diagnosticar os problemas de desempenho do seu aplicativo pode ser difícil, especialmente quando ele é executado em um ambiente de produção na nuvem dinâmica. Respostas lentas em seu aplicativo podem ser causadas por infraestrutura, estrutura ou código do aplicativo que está tratando a solicitação no pipeline.

Com o Application Insights Profiler para .NET, você pode capturar, identificar e visualizar rastreamentos de desempenho do seu aplicativo em execução no Azure, independentemente do cenário. O processo de rastreamento do .NET Profiler ocorre automaticamente, em escala, e não afeta negativamente seus usuários. O .NET Profiler identifica:

  • Os tempos de resposta medianos, mais rápidos e mais lentos para cada solicitação da Web feita por seus clientes.
  • O caminho de código "quente" que gasta mais tempo lidando com uma determinada solicitação da Web.

Habilite o Profiler para .NET em todos os seus aplicativos do Azure para coletar dados com os seguintes gatilhos:

  • Gatilho de amostragem: inicia o criador de perfil aleatoriamente cerca de uma vez por hora por dois minutos.
  • Gatilho da CPU: inicia o criador de perfil quando o percentual de uso da CPU é superior a 80%.
  • Gatilho de memória: inicia o criador de perfil quando o uso de memória está acima de 80%.

Cada um desses acionadores pode ser configurado, ativado ou desativado.

Taxa de amostragem e sobrecarga

Por padrão, o Profiler coleta ativamente rastreamentos a cada hora por 30 segundos ou durante períodos de alto uso de CPU ou memória por 30 segundos. Os rastreamentos por hora (chamados de amostragem) são ótimos para ajuste proativo, enquanto a alta CPU e os rastreamentos de memória (chamados de gatilhos) são úteis para solução de problemas reativa.

Observação

Quando o Application Insights Profiler para .NET está em execução ativa e coletando rastros, ele normalmente adiciona entre 5% a 15% de sobrecarga de CPU e memória ao seu servidor.

Não há nenhum custo adicional para armazenar dados capturados pelo .NET Profiler. Os dados são excluídos automaticamente após 15 dias.

Suportado no .NET Profiler

O profiler trabalha com aplicativos .NET implantados nos seguintes serviços do Azure. Nos links abaixo, veja instruções específicas para habilitar o Profiler para cada tipo de link a seguir.

Plataforma de computação .NET (>= 4.6) .NET Core
Serviço de Aplicativo do Azure Sim Sim
Máquinas Virtuais do Azure e Conjuntos de Dimensionamento de Máquinas Virtuais para Windows Sim Sim
Máquinas Virtuais do Azure e Conjuntos de Dimensionamento de Máquinas Virtuais para Linux Não Sim
Serviços de Nuvem do Azure Sim Sim
Instâncias de Contêiner do Azure para Windows No Sim
Instâncias de Contêiner do Azure para Linux No Sim
Kubernetes No Sim
Azure Functions Sim Sim
Azure Service Fabric Sim Sim

Observação

Você também pode usar o Java Profiler para o Application Insights do Azure Monitor, atualmente em versão prévia.

Se você habilitou o Profiler para .NET, mas não está vendo rastros, veja o Guia de solução de problemas.

Limitações

  • Retenção de dados: O período de retenção de dados padrão é de cinco dias.
  • Criação de perfil de aplicativos Web:
    • Embora você possa usar o .NET Profiler sem custo extra, seu aplicativo Web deve ser hospedado na camada básica do recurso Aplicativos Web do Serviço de Aplicativo do Azure, no mínimo.
    • Você pode anexar um criador de perfil para cada aplicativo Web.
    • O .NET Profiler no Linux só é compatível com aplicativos web baseados no Windows.

Próximas etapas

Saiba como habilitar o .NET Profiler no seu serviço do Azure: