// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Usando Pontos de Criação de Perfil no NetBeans IDE
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Usando Pontos de Criação de Perfil no NetBeans IDE - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Usando Pontos de Criação de Perfil no NetBeans IDE

O NetBeans IDE inclui uma poderosa ferramenta de criação de perfil que pode fornecer informações importantes sobre o comportamento de sua aplicação em runtime. A ferramenta de criação de perfis do NetBeans permite monitorar os estados dos threads, o desempenho da CPU e o uso de memória da aplicação dentro do IDE com custo adicional relativamente pequeno.

Este documento descreve como o uso de criação de perfis se destaca como uma alternativa para a definição e o controle da sessão de criação de perfis. Os pontos de criação de perfil são como pontos de interrupção do depurador de erros em que o código-fonte é diretamente colocado e de onde podem disparar o comportamento quando acionado. Quando você define um ponto de criação de perfil, ele se torna parte do objeto até que ele seja deletado. Você pode exibir, modificar e deletar os Pontos de Criação de Perfil em seus projetos na janela Pontos de Criação de Perfil.

Você pode usar pontos de criação de perfil para realizar as seguintes tarefas:

* Redefinir resultados de criação de perfil
* Obter um snapshot ou dump do heap
* Registrar o timestamp ou tempo de execução de um fragmento de código
* Iniciar e interromper um script do gerador de carga (requer o plug-in do gerador de carga)

Este documento demonstrará como usar os pontos de criação de perfil para obter dados de criação de perfil sobre a aplicação de amostra Jogo de Anagramas, uma aplicação Java simples incluída no IDE. Apesar do Jogo de Anagramas ser um projeto de aplicação Java bem simples, você pode seguir as mesmas etapas para a criação de perfil de aplicações Java maiores e mais complexos, assim como projetos de aplicações da web e corporativas.

Antes de começar este tutorial, talvez você queira se familiarizar com a utilização da ferramenta de criação de perfil, lendo a documentação a seguir.

* link:profiler-intro.html[+Introdução às Aplicações Java de Criação de Perfil no NetBeans IDE+]

image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0"]




== Introdução


=== Pré-requisitos

Este tutorial pressupõe que você tenha algum conhecimento básico das tecnologias a seguir, ou alguma experiência de programação com elas:

* Programação em Java
* NetBeans IDE


=== Software Necessário para o Tutorial

Para este tutorial, você precisa ter instalado no computador os seguintes softwares:

|===
|Software ou Recurso |Versão Necessária 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |7.2, 7.3, 7.4, 8.0 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+JDK (Java Development Kit)+] |Versão 7 ou 8 
|===

*Observações.*

* A ferramenta de criação de perfil está incorporada no NetBeans IDE e nenhuma configuração especial é necessária para começar a criar o perfil de uma aplicação.


== Conceitos Básicos sobre o Ponto de Criação de Perfil

Esta seção é um guia geral de como definir pontos de criação de perfil num projeto e como exibir e modificar pontos de criação de perfil existentes. Há diferentes tipos de pontos de criação de perfil e é possível selecionar um ponto de criação de perfil de acordo com o caso de uso. Um projeto pode ter um número diferente de pontos de criação de perfil associados. Você pode adicionar, excluir, ativar e desativar pontos de criação de perfil de acordo com as medidas que deseja obter durante essa sessão de criação de perfil.


=== Definindo um Ponto de Criação de Perfil

O modo mais fácil de definir um ponto de criação de perfil é no código-fonte na janela do editor. Basta selecionar a linha onde se deseja definir o ponto de criação de perfil e abrir a janela Novo Ponto de Criação de Perfil. Também é possível definir pontos de criação de perfil ao configurar as opções da sessão de criação de perfil.

1. Abra o arquivo de código-fonte que contém o código em que se deseja inserir o ponto de criação de perfil.
2. No editor de código-fonte, clique com o botão direito do mouse na linha em que deseja adicionar o ponto de criação de perfil e escolha *Criação de Perfil* > *Inserir Ponto de Criação de Perfil* para abrir o assistente de Novo Ponto de Criação de Perfil.
3. Selecione um tipo de ponto de criação de perfil e o projeto. Clique em Próximo.
image::images/ppoints-newstopwatch.png[title="Tela da caixa de diálogo Novo Ponto de Criação de Perfil"]

[start=4]
. Insira um nome para o ponto de criação de perfil e personalize suas propriedades. Clique em Finalizar.

Quando você clica em Finalizar, aparece um ícone que representa o tipo de ponto de criação de perfil na margem esquerda do editor de código-fonte ao lado da linha em que inseriu o ponto de criação de perfil.

image::images/ppoints-icons.png[title="Anotações dos Pontos de Criação de Perfil na margem do editor de código-fonte"] 


=== Ativando, Desativando e Editando Pontos de Criação de Perfil

Quando nenhuma sessão de criação de perfil estiver em execução, é possível editar, ativar e desativar pontos de criação de perfil individuais tanto no editor de código-fonte quanto na janela Pontos de Criação de Perfil. Para ver uma lista de todos os pontos de criação de perfil, abra a janela Pontos de Criação de Perfil escolhendo *Janela* > *Criação de Perfil* > *Pontos de Criação de Perfil* no menu principal. A janela Pontos de Criação de Perfil mostra o status dos pontos de criação de perfil no momento.

Quando uma sessão de criação de perfil estiver em execução, a janela Pontos de Criação de Perfil mostra quantas vezes cada ponto de criação de perfil foi acionado e permite exibir um relatório de resultados.

image::images/ppoints-window.png[title="Tela da janela Pontos de Criação de Perfil"]

É possível navegar rapidamente até um ponto de criação de perfil no código-fonte abrindo-se a janela Pontos de Criação de Perfil e clicando-se com o botão direito no ponto de criação de perfil e selecionando-se Mostrar Código-fonte.

Para modificar o status ou as definições de um ponto de criação de perfil, execute uma das etapas a seguir.

* No editor de código-fonte, clique com o botão direito no ícone do ponto de criação de perfil e selecione Pontos de Criação de Perfil no menu pop-up.
* Na janela Pontos de Criação de Perfil, selecione um ponto de criação de perfil e usar a barra de ferramentas para editar, remover, ativar ou desativar o ponto de criação de perfil.

Ou então, clique com o botão direito no nome do ponto de criação de perfil e selecione um comando no menu pop-up.

Se você optar por editar um ponto de criação de perfil, será aberta a caixa de diálogo Personalizar Ponto de Criação de Perfil.

image::images/ppoints-customize.png[title="Tela da caixa de diálogo Personalizar Ponto de Criação de Perfil"] 


=== Exibindo Pontos de Criação de Perfil Ativos em um Projeto

É possível usar pontos de criação de perfil ao analisar o uso de memória ou o desempenho da aplicação. Ao selecionar a tarefa de criação de perfil, você pode mostrar os pontos de criação de perfil ativos e ativados para a sessão de criação de perfil.

1. Clique com o botão direito do mouse no nó e escolha Perfil para abrir a caixa de diálogo Selecionar Tarefa de Criação de Perfil.
2. Selecione a tarefa de criação de perfil (CPU ou Memória).
3. Selecione *Avançado (instrumentado)*.
4. Clique em *Mostrar Pontos de Criação de Perfil ativos* no painel de definições.

O link para mostrar pontos de perfil ativos só está disponível quando a opção de criação de perfil Avançado está selecionada.

image::images/points-active.png[title="Tela da caixa de diálogo Pontos de Criação de Perfil Ativos"]

Quando você clica em Mostrar Pontos de Criação de Perfil ativos, é aberta uma caixa de diálogo que lista todos os pontos de criação de perfil definidos no projeto. Os pontos de criação de perfil definidos, mas desativados ficam cinza.

*Observação.* Se quiser ativar, desativar ou personalizar as definições de um ponto de criação de perfil, abra a janela de Pontos de Criação de Perfil ou localize o ponto de criação de perfil no projeto.


== Trabalhando com Pontos de Criação de Perfil

Nesta seção você criará um projeto de amostra e, em seguida, definirá diferentes pontos de criação de perfil no código-fonte. Este exercício demonstrará como usar os diferentes pontos de criação de perfil.


=== Criando o Projeto de Amostra

Neste documento você usará os pontos de criação de perfil ao criar o perfil da aplicação de amostra Jogo de Anagramas. Para fazer isto, primeiro use o assistente Novo Projeto para criar a aplicação de amostra.

Para criar a aplicação Jogo de Anagramas execute as seguintes etapas.

1. Escolha Arquivo > Novo Projeto no menu principal.
2. No assistente Novos Projetos, selecione a categoria Amostras > Java.
3. Selecione o projeto Jogo de Anagramas.
4. Selecione uma localização para o projeto. Clique em Finalizar.

Quando você clica em Finalizar, o IDE cria o projeto de amostra Jogo de Anagramas.


[start=5]
. Escolha Executar >Definir Projeto Principal > Jogo de Anagramas do menu principal.

Depois que você definir o projeto como o principal você pode ver o nome do projeto Jogo de Anagramas em negrito na janela Projetos. Por default, ao usar o IDE para criar o perfil de um projeto, o IDE criará o perfil do projeto principal. Se nenhum projeto estiver definido como o projeto principal, o IDE irá criar o perfil do projeto selecionado na janela Projetos.


=== Medindo o Tempo de Execução de um Fragmento de Código

Usa-se o ponto de criação de perfil Cronômetro para recuperar timestamps quando o ponto de criação de perfil for acessado. Também é possível usar o ponto de criação de perfil de Cronômetro para medir quanto dura a execução de um fragmento de código calculando-se a diferença entre dois timestamps. É possível definir qualquer número de pontos de criação de perfil de cronômetro.

Ao definir um ponto de criação de perfil de Cronômetro, você escolhe um dos tipos a seguir.

* *Timestamp.* Este tipo recupera um timestamp quando o ponto de criação de perfil for acessado.
* *Timestamp e Duração.* Este tipo permite que você meça quanto tempo leva para executar um fragmento de código. Você especifica o fragmento de código que se deseja medir definindo um ponto de criação de perfil de Cronômetro no ponto em que deseja o início da medição e outro ponto de criação de perfil de cronômetro onde se deseja o término da medição. Os pontos de início e término do cronômetro são emparelhados por seus nomes.

Para medir o tempo de execução de um fragmento de código, execute as seguintes etapas.

1. Abra a classe  ``Anagrams.java``  no editor, expandindo o pacote do código-fonte  ``com.toy.anagrams.ui``  e clicando duas vezes em  ``Anagrams.java`` .
2. Localize a linha no código-fonte onde se deseja iniciar a medição - por exemplo, na linha 54.
3. Clique com o botão direito do mouse na linha e escolha *Criação de Perfil > Inserir Ponto de Criação de Perfil* no menu pop-up.
4. Selecione *Cronômetro* como Tipo de Ponto de Criação de Perfil. Clique em Próximo.
5. Selecione *Timestamp e duração* como Definição.

Quando escolher Timestamp e duração, a caixa de diálogo definirá automaticamente o cronômetro para iniciar no começo da linha de código até o final no término da linha seguinte. É possível modificar as linhas em que o cronômetro inicia e termina.


[start=6]
. Modifique a definição de *Localização (fim)* para alterar a linha final para algumas linhas depois da linha de início. Clique em Finalizar.
image::images/stopwatch-dialog.png[title="Tela da caixa de diálogo Novo Ponto de Criação de Perfil"]

Quando se define o ponto de criação de perfil, as anotações do ponto inicial e do ponto final aparecem na margem esquerda do editor.

image::images/ppoints-editor-stopwatch.png[title="Pontos de criação de perfil ativos para a sessão de criação de perfil"]

Se você abrir a janela Pontos de Criação de Perfil verá que o ponto de criação de perfil do cronômetro é adicionado à lista.


[start=7]
. Clique em Criação de Perfil do Projeto Principal na barra de ferramentas.

[start=8]
. Na caixa de diálogo Selecionar Tarefa de Criação de Perfil, clique na tarefa de criação de perfil *CPU* e selecione a opção *Avançado (instrumentado)*.
image::images/select-profiling-task1.png[title="Caixa de diálogo Selecionar Tarefa de Criação de Perfil"]

*Observação.* Os pontos de criação de perfil podem ser usados ao analisar o desempenho ou uso de memória.


[start=9]
. Selecione *Usar Pontos de Criação de Perfil definidos.* Clique em Executar para iniciar a sessão de criação de perfil.

Se você clicar em *Mostrar pontos de criação de perfil ativos* você pode exibir os pontos de criação de perfil que são ativados para a sessão de criação de perfil.

image::images/ppoints-profile-stopwatch-act.png[title="Pontos de criação de perfil ativos para a sessão de criação de perfil"]

Quando você clica em Executar, o IDE inicia a aplicação Jogos de Anagramas e começa a sessão de criação de perfil. Ao abrir a janela Pontos de Criação de Perfil, você pode ver se o ponto de criação de perfil de cronômetro foi atingido. Depois de atingido o ponto de criação de perfil, é possível clicar no *relatório* na coluna Resultados da janela para abrir a janela que exibe os dados sobre o ponto de criação de perfil e o tempo para executar o fragmento de código entre o início e o fim dos pontos de criação de perfil de cronômetro.

image::images/ppoints-result-stopwatch.png[title="Tela do relatório de resultados do ponto de criação de perfil do Cronômetro"]

*Observação.* Se esta for a primeira vez que você está criando um perfil de um projeto, consulte link:profiler-intro.html[+Introdução à Criação de Perfil das Aplicações Java no NetBeans IDE+] para obter detalhes sobre calibração e integração do profiler.


=== Obtendo um Snapshot ou Dump de Heap

Se você deseja capturar dados de criação de perfil em determinado momento, use um ponto de criação de perfil para obter um snapshot dos resultados de criação de perfil ou do heap (dump de heap). Para obter um snapshot dos resultados de criação de perfil (seja memória ou CPU) ou um dump de heap, coloque um ponto de criação de perfil Obter Snapshot no código-fonte, selecione o tipo de snapshot e especifique onde os arquivos serão salvos. Se não for necessário especificar uma localização, todos os snapshots serão salvos na pasta principal do projeto ( ``nbproject/private`` ).

*Observação.* Você deve ter cuidado ao colocar um ponto de criação de perfil de snapshot porque o ponto de criação perfil pode ser acessado centenas de vezes se for colocado em código executado frequentemente.

Para obter um snapshot usando um ponto de criação de perfil, realize as etapas a seguir.

1. Abra a classe  ``Anagrams.java``  no editor, expandindo o pacote do código-fonte  ``com.toy.anagrams.ui``  e clicando duas vezes em  ``Anagrams.java`` .
2. Localize a linha no código-fonte onde deseja colocar o ponto de criação de perfil.
3. Clique com o botão direito do mouse na linha e escolha *Criação de Perfil > Inserir Ponto de Criação de Perfil* no menu pop-up.
4. Selecione *Obter Snapshot* como Tipo de Ponto de Criação de Perfil. Clique em Próximo.
5. Selecione *Snapshot de Dados de Criação de Perfil* ou *Dump de Heap* como Definição.
6. Especifique uma localização onde deseja que os arquivos sejam salvos ou deixe a localização default. Clique em Finalizar.
image::images/ppoints-profile-snapheap.png[title="Novo ponto de criação de perfil Obter Snapshot com dump de heap selecionado"]

[start=7]
. Clique em Criação de Perfil do Projeto Principal na barra de ferramentas.

[start=8]
. Na caixa de diálogo Selecionar Tarefa de Criação de Perfil, clique em *CPU* ou *Memória* e selecione a opção *Avançado (instrumentado)*.

[start=9]
. Selecione *Usar pontos de criação de perfil definidos*. Clique em Executar para iniciar a sessão de criação de perfil.

Se você clicar em *Mostrar pontos de criação de perfil ativos* você pode exibir os pontos de criação de perfil que são ativados para a sessão de criação de perfil.

Quando você clica em Executar, o IDE inicia a aplicação Jogos de Anagramas e começa a sessão de criação de perfil. Se abrir a janela Pontos de Criação de Perfil você verá se o ponto de criação de perfil Obter Snapshot foi acessado. Se o ponto de criação de perfil foi acessado, você pode clicar em *relatório* na coluna Resultados para abrir a janela Obter Snapshot que exibe os dados sobre o ponto de criação de perfil. Para exibir o snapshot, clique em "abrir snapshot" na janela Obter Snapshot.

Os pontos de snapshot podem ser emparelhados com pontos Redefinir para produzir deltas de heap.

Quando você usa pontos de criação de perfil Obter Snapshot, os snapshots ou dumps de heap resultantes são automaticamente salvos no local especificado. Se for especificado que os snapshots devem ser salvos na pasta do projeto, os snapshots salvos aparecerão automaticamente na lista Snapshots Salvos na janela Profiler. É possível abrir snapshots na lista Snapshots Salvos selecionando o item e clicando em Abrir.

*Observação.* Se você especificar que os snapshots devem ser salvos em uma localização diferente da pasta do projeto, os snapshots não são listados automaticamente na lista de Snapshots Salvos. Para abrir snapshots não mostrados na lista Snapshots Salvos, clique no botão Carregar próximo à lista e navegue até o local do snapshot salvo.

image::images/saved-snapshots.png[title="Tela do painel Novo painel Redefinir Resultados"]

Para obter mais informações sobre snapshots e dumps de heap, consulte os documentos a seguir.

* Consulte a seção Obtendo Snapshots do tutorial link:profiler-intro.html[+Introdução à Criação de Perfil+] para obter mais snapshots de exibição e comparação.


=== Redefinindo os Resultados de Criação de Perfil

É possível redefinir os resultados coletados (memória ou CPU) em qualquer ponto específico colocando um ponto de criação de perfil Redefinir resultados no código-fonte.

Para definir um ponto de criação de perfil Redefinir Resultados, realize as etapas a seguir.

1. Abra a classe  ``Anagrams.java``  no editor, expandindo o pacote do código-fonte  ``com.toy.anagrams.ui``  e clicando duas vezes em  ``Anagrams.java`` .
2. Localize a linha no código-fonte onde deseja colocar o ponto de criação de perfil.
3. Clique com o botão direito do mouse na linha e escolha *Criação de Perfil > Inserir Ponto de Criação de Perfil* no menu pop-up.
4. Selecione *Redefinir Resultados* como Tipo de Ponto de Criação de Perfil. Clique em Próximo.
5. Especifique um nome para o ponto de criação de perfil e certifique-se de que o local do ponto de criação de perfil esteja correto. Clique em Finalizar.
image::images/ppoints-newreset.png[title="Tela do painel Novo painel Redefinir Resultados"]

[start=6]
. Clique em Criação de Perfil do Projeto Principal na barra de ferramentas.

[start=7]
. Na caixa de diálogo Selecionar Tarefa de Criação de Perfil, clique em *CPU* ou *Memória* e selecione a opção *Avançado (instrumentado)*.

[start=8]
. Selecione *Usar Pontos de Criação de Perfil definidos.* Clique em Executar para iniciar a sessão de criação de perfil.

Se você clicar em *Mostrar pontos de criação de perfil ativos* você pode exibir os pontos de criação de perfil que são ativados para a sessão de criação de perfil.

Quando você clica em Executar, o IDE inicia a aplicação Jogos de Anagramas e começa a sessão de criação de perfil. Ao abrir a janela Pontos de Criação de Perfil, você pode ver se o ponto de criação de perfil Redefinir Resultados foi atingido. Se o ponto de criação de perfil foi acessado, você pode clicar em *relatório* na coluna Resultados para abrir uma janela que exibe os dados sobre o ponto de criação de perfil.

image::images/ppoints-results-reset.png[title="Tela do relatório resultados do ponto de criação de perfil Redefinir"]link:/about/contact_form.html?to=3&subject=Feedback:%20Using%20Profiling%20Points[+Enviar Feedback neste Tutorial+]



== Consulte Também

Esse documento demonstrou os conceitos básicos sobre como usar pontos de criação de perfil para criar perfil em um projeto NetBeans simples. As etapas definidas acima podem ser aplicadas ao criar o perfil da maioria dos projetos. Para obter informações mais detalhadas sobre as definições e funcionalidades de criação de perfil não abordados neste documento, consulte a documentação incluída no IDE e disponível no item de menu Ajuda.

Para ver documentos relacionados, consulte os seguintes recursos:

* link:http://wiki.netbeans.org/wiki/view/NetBeansUserFAQ#section-NetBeansUserFAQ-Profiler[+FAQs do Profiler do NetBeans+]
Um documento contendo as perguntas frequentes em relação à criação de perfil de aplicações no NetBeans IDE
* link:http://wiki.netbeans.org/wiki/view/FaqProfilerProfileFreeForm[+FAQ: Criando o Perfil de um projeto de Forma livre+]
* link:profiler-screencast.html[+Screencast: Pontos de Criação de Perfil, Gráfico de Drill-Down, HeapWalker+]
Demonstração de alguns das funcionalidades de criação de perfil no NetBeans IDE.
* link:../../../community/magazine/html/04/profiler.html[+Criação Avançada de Perfil: Teoria na Prática+]
* link:http://profiler.netbeans.org/index.html[+profiler.netbeans.org+]
Site do projeto Criador de perfil do NetBeans
* link:http://blogs.oracle.com/nbprofiler[+Blog do Profiler do NetBeans+]
* link:http://profiler.netbeans.org/mailinglists.html[+Listas de Correspondência do Profiler do NetBeans+]

<<top,início>>

