Virtual Vm
VisualVM-160_55px.jpg

Introdução:

VisualVM é uma ferramenta gráfica (open source - software livre) desenvolvida no portal java.net que visa integrar diversas ferramentas de gerenciamento de software existentes no JDK e recursos para profiling de memória e CPU. Esta ferramenta ainda se encontra na Milestone 3 (lançado em 19 de fevereiro) mas já demonstra possibilidades de aplicação no monitoramento, instrumentação e profiling.

De modo geral, existem dois tipos de razões para que você aprenda VisualVM:

1 - Ferramenta-Centralizada: você pode disponibilizar outras ferramentas para uso no VisualVM. Como exemplo, se você tiver uma ferramenta que mostre os processos de uma aplicação ou ate mesmo a velocidade de processamento, você pode tornar essas ferramentas disponiveis para o VisualVM por meio de novas janelas e Itens de Menu, dessa forma você contribui para que outros usuarios compartilhem das inovações que você acaba de disponibilizar.

2 - Aplicação-Centralizada: nesse contexto você possui uma aplicação que necessita de uma especifica monitoria. Digamos que você tenha uma aplicação em um servidor e que você possa querer dar uma visão gráfica das aplicações que estão rodando nesse servidor, nesse caso você não precisa introduzir uma nova aplicação ao VisualVM, pois por padrão todas as suas aplicações serão tratadas de modo padrão e mesmo que você possua uma ou mais aplicações com características únicas, nas quais você deseje que sejam suportadas pelo VisualVM, você não precisa se preocupar em providenciar um plugin único para esta aplicação.

Imagem da Ferramenta:
screenshot2.png

Trabalhando com a ferramenta:

A primeira vista você tem que entender que o VisualVM é uma ferramenta que visualiza fontes de dados, por padrão essa visualização segue os tipos de fontes de dados - aplicações, hosts, snapshots, core dumps, heap dumps, and thread dumps. Estes tipos de fontes de dados são monitorados pelo VisualVM com o propósito de analise, administração e correção de problemas.
O ciclo de vida dos plugins do VisualVM são determinados pela class(classe) ModuleInstall, que vem das API's da NetBeans. Sempre que você estiver criando um novo ponto de entrada no VisualVM você precisa fornecer o codigo de registro do ponto de entrada(entry point). O codigo de inicialização tem que ser fornecido para a Classe ModuleInstall. Quando o plugin é carregado no VisualVM, o "ModuleInstall.restored" é o primeiro método chamado para seu plugin, este é o metodo que inicializa os pontos de entrada. Quando o plugin é desinstalado ou quando o VisualVM é encerrado, o plugin dos pontos de entrada precisa ser desinstalado a partir do metodo "ModuleInstall.uninstalled". Você verá alguns codigos tipicos no tutorial "Hello World".

Tutorial em Construção - Aguardem!

By: T08 - Edson Fonseca.

Bibliografia:

http://en.wikipedia.org/wiki/VisualVM
http://leandrokersting.blogspot.com/2008/03/visual-vm.html
https://visualvm.dev.java.net/api-quickstart.html
http://blogs.sun.com/geertjan/entry/getting_started_extending_visualvm

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License