Compartilhar via


Executar ferramentas de análise na página Desempenho e Diagnóstico

Aplica-se ao Windows e Windows Phone

Você pode analisar o desempenho, o uso de memória e o consumo de energia dos aplicativos da Windows Store e do Windows Phone usando os criadores de perfil e as ferramentas de diagnóstico do Visual Studio. O hub Desempenho e Diagnóstico facilita a seleção e execução dessas ferramentas, a combinação de várias ferramentas em uma única execução de diagnóstico e o gerenciamento dos relatórios que elas geram. Você pode executar as ferramentas na maioria dos destinos de implantação: Para aplicativos do Windows Phone, use um telefone ou um emulador. Para aplicativos da Windows Store, use o computador do Visual Studio, o simulador ou um computador remoto. Depois de coletar os dados, o relatório de diagnóstico exibe gráficos de linha do tempo e exibições detalhadas dos dados. Os filtros e as configurações do relatório Desempenho e Diagnóstico ajudam a focar nas partes essenciais dos dados.

Ferramentas do hub Desempenho e Diagnóstico

O hub Desempenho e Diagnóstico mostra as ferramentas que você pode usar em tipos específicos de aplicativos (XAML e C#/VB/C++ ou HTML e JavaScript) e as ferramentas que você pode usar em uma única execução de diagnóstico.

Uso da CPU (Todos)

Consumo de Energia (Todos)

Uso da Memória (C#/VB/C++)

Uso da Memória de JavaScript

Capacidade de Resposta da Interface de Usuário XAML

Capacidade de Resposta da Interface de Usuário HTML

Temporização de Função JavaScript

Neste artigo

  • Início rápido: coletar dados de diagnóstico

  • Coletar dados de diagnóstico

    Adicionar marcas do usuário para identificar locais em seus dados de diagnóstico | Definir o projeto de inicialização | Definir o destino da análise | Escolher as ferramentas para executar na sessão de diagnóstico | Iniciar e interromper a sessão de diagnóstico

  • Abrir um arquivo de sessão de diagnóstico

  • A página de dados de Desempenho e Diagnóstico

  • Solução de problemas

Início rápido: coletar dados de diagnóstico

Dica

Você deve ter privilégios de administrador para executar as ferramentas de desempenho e diagnóstico.Você pode executar o Visual Studio como administrador ou pode optar por executar as ferramentas como administrador ao iniciar a sessão de diagnóstico.

  1. Abra o projeto no Visual Studio.

  2. Defina o local da implantação.

    Aplica-se a somente para o Windows Phone

    Os aplicativos do Windows Phone podem ser implantados em um telefone ou em um dos emuladores do Visual Studio.

    Aplica-se somente ao Windows

    Os aplicativos da Windows Store podem ser implantados no computador do Visual Studio, o simulador do Visual Studio ou um computador ou tablet conectado à rede.

    Observação: a execução de uma sessão de diagnóstico em um computador remoto ou tablet exige que as Ferramentas Remotas do Visual Studio estejam instaladas e em execução no destino remoto. Consulte Executar aplicativos da Windows Store em uma máquina remota a partir do Visual Studio.

    Na lista de locais de depuração da barra de ferramentas do depurador, selecione o local de implantação para seu aplicativo. Esta é a lista de aplicativos para telefones:

    Lista de destino de implantação para aplicativos do Windows Phone

  3. Abra uma sessão de Desempenho e Diagnóstico. No menu Depurar, escolha Desempenho e Diagnóstico (tecla de atalho: Alt + F2).

  4. No hub Desempenho e Diagnóstico, escolha uma ou mais ferramentas para executar na sessão. Somente as ferramentas que são aplicáveis ao tipo de projeto e à linguagem de programação são exibidas. Quando você escolhe uma ferramenta de diagnóstico, as seleções de ferramentas que não podem ser executadas na mesma sessão de diagnóstico são desabilitadas. Veja aqui como suas escolhas podem parecer para um aplicativo JavaScript:

    Escolha uma ou mais ferramentas de diagnóstico

  5. Para iniciar a sessão de diagnóstico, escolha Iniciar.

  6. Execute os cenários dos quais deseja coletar dados.

    Durante a execução da sessão, algumas ferramentas exibem gráficos de dados em tempo real na página Desempenho e Diagnóstico.

    Coletar dados sobre o desempenho e diagnóstico pag

  7. Para encerrar a sessão de diagnóstico, escolha Pare a coleta.

Coletar dados de diagnóstico

Adicionar marcas do usuário para identificar locais em seus dados de diagnóstico | Definir o projeto de inicialização | Definir o destino da análise | Escolher as ferramentas para executar na sessão de diagnóstico | Iniciar e interromper a sessão de diagnóstico

Adicionar marcas do usuário para identificar locais em seus dados de diagnóstico

Você também pode adicionar marcas do usuário aos seus dados de perfil para ajudar a identificar áreas na régua da linha do tempo.

Marcas de usuário na linha do tempo

A marca aparece como um triângulo laranja na linha de tempo no momento em que o método é executado. A mensagem e a hora são exibidas como uma dica de ferramenta quando você passa o cursor do mouse sobre a marca. Se duas ou mais marcas de usuário ficarem próximas, elas serão mescladas e os dados de dica de ferramenta serão combinados. Você pode aplicar zoom na linha de tempo para separar as marcas.

Dica

  • Os relatórios de Temporização de Função JavaScript não exibem marcas do usuário.

  • Os relatórios não exibem marcas do usuário quando Uso da CPU é a única ferramenta usada na sessão de diagnóstico.

  • Confira mais exemplos na LoggingSession Sample (amostra LoggingSession) do SDK do Windows.

Adicionar marcas a código C#, Visual Basic, C++

Para adicionar uma marca do usuário ao código C#, Visual Basic, C++, crie primeiro um objeto Windows.Foundation.Diagnostics LoggingChannel. Em seguida, insira chamadas para os métodos LoggingChannel.LogMessage nos pontos do código que você deseja marcar. Use LoggingLevel.Information nas chamadas.

Quando o método é executado, uma marca de usuário é adicionada aos dados de criação de perfil juntamente com uma mensagem.

Observações

Adicionar canais de registro ao seu código representa alguns desafios:

**Cada canal de registro em log aberto deve ter um nome exclusivo.**Tentar criar um novo canal de registro em log com o mesmo nome de um canal aberto gera uma exceção.

Um jeito de evitar nomes duplicados no seu código é usar um método estático (compartilhado no VB) para gerar um LoggingChannel com um nome com garantia de exclusividade. Veja um exemplo que usa um Guid para garantir a exclusividade:

//using Windows.Foundation.Diagnostics
public static LoggingChannel GetLoggingChannel()
{
    var name = Guid.NewGuid().ToString();
    return new LoggingChannel(name);
}
'Imports Windows.Foundation.Diagnostics
Public Shared Function GetLoggingChannel() As LoggingChannel
    Dim Name = Guid.NewGuid().ToString()
    GetLoggingChannel = New LoggingChannel(Name)
End Function
//using namespace Windows::Foundation::Diagnostics;
static LoggingChannel^ MainPage::GetLoggingChannel()
{
    auto name = (ref new Guid())->ToString();
    auto channel = ref new LoggingChannel(name);
    return channel;
}

C# e VB: objetos LoggingChannel devem ser descartados

Como os objetos LoggingChannel usam recursos do sistema, as projeções em C# e VB do LoggingChannel derivam da interface do System.IDisposable, para permitir que você libere os recursos antes do objeto ser destruído pelo coletor de lixo de CLR. No código C++, o objeto LoggingChannel é destruído e os recursos são liberados assim que o objeto sai do escopo. Veja alguns exemplos de padrões que você pode usar para adicionar marcas de usuário a um arquivo de sessão de diagnóstico:

void MyScenario()
{
    var logLevel = LoggingLevel.Information;
    using(var channel = Utils.GetLoggingChannel())
    {
        channel.LogMessage("MyScenario Start", logLevel);
        // scenario code
        channel.LogMessage("MyScenario End", logLevel);
    }
}
Sub MyScenario()
    Dim logLevel = LoggingLevel.Information
    Using channel As LoggingChannel = Utils.GetLoggingChannel()
        channel.LogMessage("MyScenario Start", logLevel)
        'scenario code
        channel.LogMessage("MyScenario End", logLevel)
    End Using
End Sub
// m_channel resources are released when containing 
// object goes out of scope
LoggingChannel^ m_channel = MainPage::GetLoggingChannel();
LoggingLevel m_logLevel = LoggingLevel::Information;

void MyScenario()
{
    m_channel->LogMessage(L"MyScenario Start", m_logLevel);
    //scenario code
    m_channel->LogMessage(L"MyScenario Start", m_logLevel);
}

Adicionar marcas ao código JavaScript

Para adicionar marcas do usuário, adicione o seguinte código nos pontos do código que você deseja marcar:

if (performance && performance.mark) {
    performance.mark(markDescription);
}

markDescription é uma cadeia de caracteres que contém a mensagem a ser exibida na dica de ferramenta da marca do usuário.

Definir o projeto de inicialização

Se sua solução contiver vários projetos de aplicativos, certifique-se de que aquele que você deseja analisar seja definido como o projeto de inicialização. No Gerenciador de Soluções, selecione o projeto e escolha Definir como Projeto de Inicialização no menu de contexto.

Escolha Set as Startup Project

Definir o local da implantação

Você pode executar sessões de diagnóstico para aplicativos de telefone em um Windows Phone que esteja conectado diretamente ao computador do Visual Studio ou em um emulador de telefone do Visual Studio. Você pode executar aplicativos do Windows Store no computador do Visual Studio, no simulador do dispositivo do Visual Studio ou em um dispositivo remoto conectado ao Visual Studio via rede ou conectado diretamente ao computador do Visual Studio via cabo Ethernet para USB. Você pode definir o destino da implantação na página Depurar das propriedades do projeto, ou pode escolher o destino na lista de locais de depuração na barra de tarefas do Visual Studio. Esta é a lista de implantação para aplicativos da Windows Store:

Lista de destino de implantação para aplicativos da Windows Store

A escolha que você faz na barra de ferramentas de locais de depuração é salva nas propriedades do projeto:

Aplica-se somente ao Windows

  • A execução de uma sessão de diagnóstico em um dispositivo remoto da Windows Store exige que as Ferramentas Remotas do Visual Studio estejam instaladas e em execução no destino remoto. Consulte Executar aplicativos da Windows Store em uma máquina remota a partir do Visual Studio.

  • Se você não especificou um dispositivo remoto quando escolheu Computador Remoto na lista de locais de depuração, especifique o dispositivo na caixa de diálogo Conexões Remotas que aparece.

    Caixa de diálogo conexões remota

  • Depois que o destino do dispositivo remoto for especificado, use a página Depurar das propriedades do projeto para mudar para um novo dispositivo.

  • Se estiver usando um cabo USB para Ethernet para conectar um dispositivo remoto ao computador do Visual Studio, especifique o endereço IP. do dispositivo remoto na caixa de diálogo Conexões Remotas.

Definir o destino da análise

Além de iniciar o aplicativo a partir do projeto do Visual Studio, você também pode executar sessões de diagnóstico em destinos alternativos. Por exemplo, você pode diagnosticar problemas de desempenho em uma versão de seu aplicativo que foi instalado por meio da Windows Store.

Escolha o destino da análise de ferramentas de diagnóstico

Aplica-se somente ao Windows

Você pode iniciar aplicativos da Windows Store que já estão instalados em um dispositivo ou pode anexar as ferramentas de diagnóstico a um aplicativo da Windows Store que já esteja em execução. Ao escolher Aplicativo em Execução ou Aplicativo Instalado, você seleciona o aplicativo em uma lista que descobre os aplicativos no destino de implantação especificado.

Escolha um aplicativo em execução ou instalado para diagnóstico

Aplica-se a somente para o Windows Phone

Ao escolher Internet Explorer, você especifica a URL e pode alterar o destino da implantação do telefone.

Especificar a url para exibir no Internet Explorer

Escolher as ferramentas para executar na sessão de diagnóstico

No hub Desempenho e Diagnóstico, escolha uma ou mais ferramentas para executar na sessão de diagnóstico. Somente as ferramentas que são aplicáveis ao tipo de projeto e à programação são exibidas. Quando você escolhe uma ferramenta de diagnóstico, as seleções de ferramentas que não podem ser executadas na mesma sessão de diagnóstico são desabilitadas. Veja aqui como suas escolhas podem parecer para um aplicativo JavaScript:

Iniciar e interromper a sessão de diagnóstico

Para iniciar a sessão de diagnóstico, escolha Iniciar.

Para encerrar a sessão de diagnóstico e iniciar a análise dos dados, escolha Pare a coleta na parte inferior da página.

Abrir um arquivo de sessão de diagnóstico

Quando você para de coletar dados em uma sessão de diagnóstico, os dados são analisados imediatamente e depois são exibidos no relatório Desempenho e Diagnóstico.

Você também pode abrir arquivos de sessão de diagnóstico salvos a partir da lista de abertos recentemente no hub Desempenho e Diagnóstico.

Abrir um arquivo de sessão de diagnóstico salvos

Escolha o botão mostrar ou ocultar na parte superior do hub Desempenho e Diagnóstico para expandir ou recolher a lista de arquivos usados recentemente.

O relatório Desempenho e Diagnóstico

Página de dados de desempenho e diagnóstico

Etapa 1

A linha de tempo mostra a duração da sessão de criação de perfil, os eventos de ativação de ciclo de vida do aplicativo e as marcas de usuário.

Etapa 2

Você pode restringir o relatório a uma parte da linha do tempo arrastando as barras azuis para selecionar uma região da linha do tempo.

Etapa 3

Uma ferramenta exibe um ou mais gráficos mestres. Se sua sessão de diagnóstico for criada com várias ferramentas, todos os gráficos mestres serão exibidos.

Etapa 4

Você pode recolher e expandir os gráficos individuais.

Etapa 5

Quando seus dados incluem informações de várias ferramentas, os detalhes da ferramenta são coletados sob as guias.

Etapa 6

Uma ferramenta poder ter uma ou mais exibições de detalhes. A exibição é filtrada pela região selecionada da linha do tempo.

Solução de problemas

Eventos de diagnóstico ignorados.Algumas informações podem estar incorretas ou faltando no relatório

O coletor de dados das ferramentas de desempenho e diagnóstico pode ter uso intenso de memória e CPU. Quando o coletor de dados não consegue registrar em log todos os eventos de diagnóstico, ele exibe a mensagem em uma barra de informações na parte superior da página de Desempenho e diagnóstico. Alguns dados podem ser inválidos ou estar faltando no relatório.

Para resolver este problema, tente essas etapas para liberar recursos no computador e, então, execute a sessão de diagnóstico novamente:

  1. Feche os aplicativos que não fazem parte da sessão de diagnóstico.

  2. Simplifique o cenário para coletar menos dados.

  3. Use menos ferramentas de diagnóstico em uma única sessão.

Consulte também

Outros recursos

Desempenho (aplicativos da Windows Store)

amostra de LoggingSession do SDK do Windows