SlideShare a Scribd company logo
1 of 22
Colocando lenha na JVM 
Uma introdução ao Thermostat 
Ricardo Martinelli de Oliveira 
Senior Technical Support Engineer 
1 by
Agenda 
● O que é o Thermostat, afinal? 
● Como o Thermostat funciona? 
● Arquitetura 
● Funcionalidades 
● Plugins 
● Demo 
2 by
O que é o Thermostat? 
3 by
O que é o Thermostat? 
Centralizador de informações 
4 by
O que é o Thermostat? 
5 by
O que é o Thermostat? 
Integração Vertical 
6 by
O que é o Thermostat? 
7 by
O que é o Thermostat? 
Integração Horizontal 
8 by
Como o Thermostat Funciona? 
9 by
Como o Thermostat Funciona? 
Agents 
10 by
Como o Thermostat Funciona? 
Storage 
11 by
Como o Thermostat Funciona? 
Clients 
12 by
Arquitetura Simplificada 
13 by
Arquitetura Detalhada 
14 by
Funcionalidades 
● CPU 
● Memória 
● Ciclos de GC 
● Thread 
● Análise de Heap Dump 
● Classloader 
● NUMA 
● Web Storage 
15 by
Para um futuro não distante... 
● JVM tuning 
● Backend Systemtap / oprofile e App Server 
● Análise de Memory leak e deadlock 
● Eclipse client/IDE integration 
● Web client 
● OpenShift deployment (?) 
16 by
Plugins 
● Thermostat permite extensibilidade através de plugins 
● OSGI 
● Permite escrever extensões para o agent e client 
● plugin.xml permite ao Thermostat identificar seus 
bundles 
17 by
Plugins 
● Backend extende os agents 
● Data Access Objects (DAOs) extendem o storage 
● InformationServices extende a GUI 
● UI pode fazer bind para: 
● HostRef (para um host/agent) 
● JvmRef (para uma JVM) 
18 by
plugin.xml 
<?xml version="1.0" ?> 
<plugin> 
<commands> 
<command type="extends"> 
<name>gui</name> 
<bundles> 
<bundle>your-plugin-0.1-SNAPSHOT.jar</bundle> 
</bundles> 
</command> 
<command type="provides"> 
<name>hello</name> 
<description>Prints hello</description> 
<usage>hello</usage> 
<bundles> 
<bundle>your-hello-world-plugin-0.1-SNAPSHOT.jar</bundle> 
</bundles> 
<dependencies> 
<dependency>thermostat-client-core-0.6.0-SNAPSHOT.jar</dependency> 
</dependencies> 
</command> 
</commands> 
</plugin> 
19 by
Demo 
20 by
Referências 
● http://icedtea.classpath.org 
● http://icedtea.classpath.org/wiki/Thermostat 
● Mailing list: 
http://icedtea.classpath.org/mailman/listinfo/thermostat 
● IRC: #thermostat no servidor freenode.net 
● Imagens retiradas da apresentação: 
https://jerboaa.fedorapeople.org/presentations/Thermostat_DevConf_2013-02-23.pdf 
21 by
Obrigado! 
Twitter: @rimolive 
http://aprendendo-cloud-computing.blogspot.com 
22 by

More Related Content

What's hot

Novidades PHP 7.4 e 8.0!
Novidades PHP 7.4 e 8.0!Novidades PHP 7.4 e 8.0!
Novidades PHP 7.4 e 8.0!Marcos Marcolin
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJSGiovanni Bassi
 
Codando Assíncrono com Coroutines
Codando Assíncrono com CoroutinesCodando Assíncrono com Coroutines
Codando Assíncrono com CoroutinesArildo Borges Jr
 
Liferay com React - Boas práticas
Liferay com React - Boas práticasLiferay com React - Boas práticas
Liferay com React - Boas práticasRicardo Monteiro
 
Vraptor apresentação das funcionalidades
Vraptor apresentação das funcionalidadesVraptor apresentação das funcionalidades
Vraptor apresentação das funcionalidadesWilton Silva
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Renato Groff
 
ATC2017 SP - Protractor com XVFB para CI
ATC2017 SP - Protractor com XVFB para CIATC2017 SP - Protractor com XVFB para CI
ATC2017 SP - Protractor com XVFB para CIMarcelo Soares
 
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geralRenato Groff
 
ASP.NET Core 2.0 - Pointer - Janeiro-2018
ASP.NET Core 2.0 - Pointer - Janeiro-2018ASP.NET Core 2.0 - Pointer - Janeiro-2018
ASP.NET Core 2.0 - Pointer - Janeiro-2018Renato Groff
 
Dapper - Developers-SP - Junho/2017
Dapper - Developers-SP - Junho/2017Dapper - Developers-SP - Junho/2017
Dapper - Developers-SP - Junho/2017Renato Groff
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometemFernando Henriques
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
Automatize suas tarefas: conheça o GulpJS.
Automatize suas tarefas: conheça o GulpJS.Automatize suas tarefas: conheça o GulpJS.
Automatize suas tarefas: conheça o GulpJS.Yan Magalhães
 
Vamos automatizar! Conheça o Gulp Js
Vamos automatizar! Conheça o Gulp JsVamos automatizar! Conheça o Gulp Js
Vamos automatizar! Conheça o Gulp JsYan Magalhães
 

What's hot (20)

Novidades PHP 7.4 e 8.0!
Novidades PHP 7.4 e 8.0!Novidades PHP 7.4 e 8.0!
Novidades PHP 7.4 e 8.0!
 
Apt_vagrant_chef_olavo_queiroz
Apt_vagrant_chef_olavo_queirozApt_vagrant_chef_olavo_queiroz
Apt_vagrant_chef_olavo_queiroz
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJS
 
Primeiros passos com protractor - GUTS-SC
Primeiros passos com protractor - GUTS-SCPrimeiros passos com protractor - GUTS-SC
Primeiros passos com protractor - GUTS-SC
 
Codando Assíncrono com Coroutines
Codando Assíncrono com CoroutinesCodando Assíncrono com Coroutines
Codando Assíncrono com Coroutines
 
Liferay com React - Boas práticas
Liferay com React - Boas práticasLiferay com React - Boas práticas
Liferay com React - Boas práticas
 
Vraptor apresentação das funcionalidades
Vraptor apresentação das funcionalidadesVraptor apresentação das funcionalidades
Vraptor apresentação das funcionalidades
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
0d1n bsides2
0d1n bsides20d1n bsides2
0d1n bsides2
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
ATC2017 SP - Protractor com XVFB para CI
ATC2017 SP - Protractor com XVFB para CIATC2017 SP - Protractor com XVFB para CI
ATC2017 SP - Protractor com XVFB para CI
 
Jclouds jug vale
Jclouds jug valeJclouds jug vale
Jclouds jug vale
 
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
 
ASP.NET Core 2.0 - Pointer - Janeiro-2018
ASP.NET Core 2.0 - Pointer - Janeiro-2018ASP.NET Core 2.0 - Pointer - Janeiro-2018
ASP.NET Core 2.0 - Pointer - Janeiro-2018
 
Dapper - Developers-SP - Junho/2017
Dapper - Developers-SP - Junho/2017Dapper - Developers-SP - Junho/2017
Dapper - Developers-SP - Junho/2017
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
Automatize suas tarefas: conheça o GulpJS.
Automatize suas tarefas: conheça o GulpJS.Automatize suas tarefas: conheça o GulpJS.
Automatize suas tarefas: conheça o GulpJS.
 
Vamos automatizar! Conheça o Gulp Js
Vamos automatizar! Conheça o Gulp JsVamos automatizar! Conheça o Gulp Js
Vamos automatizar! Conheça o Gulp Js
 

Viewers also liked (9)

Byteman: Tudo o que queria saber mas não sabia a quem perguntar
Byteman: Tudo o que queria saber mas não sabia a quem perguntarByteman: Tudo o que queria saber mas não sabia a quem perguntar
Byteman: Tudo o que queria saber mas não sabia a quem perguntar
 
Migracao gae-openshift
Migracao gae-openshiftMigracao gae-openshift
Migracao gae-openshift
 
TDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDITDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDI
 
Boas vindas - JBUG:Brasil
Boas vindas - JBUG:BrasilBoas vindas - JBUG:Brasil
Boas vindas - JBUG:Brasil
 
Idaas sso-openshift
Idaas sso-openshiftIdaas sso-openshift
Idaas sso-openshift
 
Do código ao Sucesso com Source-To-Image
Do código ao Sucesso com Source-To-ImageDo código ao Sucesso com Source-To-Image
Do código ao Sucesso com Source-To-Image
 
JEE nas nuvens: uma introdução ao openshift
JEE nas nuvens:  uma introdução ao openshiftJEE nas nuvens:  uma introdução ao openshift
JEE nas nuvens: uma introdução ao openshift
 
Sua aplicação nas nuvens com open shift
Sua aplicação nas nuvens com open shiftSua aplicação nas nuvens com open shift
Sua aplicação nas nuvens com open shift
 
Seam 3 e CDI: O futuro do Java EE 6
Seam 3 e CDI: O futuro do Java EE 6Seam 3 e CDI: O futuro do Java EE 6
Seam 3 e CDI: O futuro do Java EE 6
 

Similar to Introdução ao Thermostat: Centralizador de informações da JVM

TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...tdc-globalcode
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...tdc-globalcode
 
Webinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcadosWebinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcadosEmbarcados
 
Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFBruno Borges
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoEduardo Bohrer
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?tdc-globalcode
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScriptCarlos Santos
 
Google AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de segurosGoogle AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de segurosGustavo Concon
 
T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)Carlos Santos
 
Estaleiro o uso de kubernetes no serpro
Estaleiro   o uso de kubernetes no serproEstaleiro   o uso de kubernetes no serpro
Estaleiro o uso de kubernetes no serproRicardo Katz
 
Java Virtual Threads.pptx
Java Virtual Threads.pptxJava Virtual Threads.pptx
Java Virtual Threads.pptxssuser980608
 
Stream Processing - ThoughtWorks Architecture Group - 2017
Stream Processing - ThoughtWorks Architecture Group - 2017Stream Processing - ThoughtWorks Architecture Group - 2017
Stream Processing - ThoughtWorks Architecture Group - 2017Otávio Carvalho
 

Similar to Introdução ao Thermostat: Centralizador de informações da JVM (20)

TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
 
Spring boot
Spring bootSpring boot
Spring boot
 
Secomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao ElixirSecomp 2018 - DO Ruby ao Elixir
Secomp 2018 - DO Ruby ao Elixir
 
Webinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcadosWebinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcados
 
Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSF
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Django
DjangoDjango
Django
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
 
12 factor app
12 factor app12 factor app
12 factor app
 
Vraptor 3
Vraptor 3Vraptor 3
Vraptor 3
 
Google AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de segurosGoogle AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de seguros
 
T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)
 
Estaleiro o uso de kubernetes no serpro
Estaleiro   o uso de kubernetes no serproEstaleiro   o uso de kubernetes no serpro
Estaleiro o uso de kubernetes no serpro
 
Collectd
CollectdCollectd
Collectd
 
Java Virtual Threads.pptx
Java Virtual Threads.pptxJava Virtual Threads.pptx
Java Virtual Threads.pptx
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Palestra parse
Palestra parsePalestra parse
Palestra parse
 
Stream Processing - ThoughtWorks Architecture Group - 2017
Stream Processing - ThoughtWorks Architecture Group - 2017Stream Processing - ThoughtWorks Architecture Group - 2017
Stream Processing - ThoughtWorks Architecture Group - 2017
 

More from Ricardo Martinelli de Oliveira

Mensageria sob Demanda: Uma introdução ao MaaS (Messaging-as-a-Service)
Mensageria sob Demanda: Uma introdução ao MaaS (Messaging-as-a-Service)Mensageria sob Demanda: Uma introdução ao MaaS (Messaging-as-a-Service)
Mensageria sob Demanda: Uma introdução ao MaaS (Messaging-as-a-Service)Ricardo Martinelli de Oliveira
 
Novas oportunidades para o .net com a parceria microsoft e red hat
Novas oportunidades para o .net com a parceria microsoft e red hatNovas oportunidades para o .net com a parceria microsoft e red hat
Novas oportunidades para o .net com a parceria microsoft e red hatRicardo Martinelli de Oliveira
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...Ricardo Martinelli de Oliveira
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...Ricardo Martinelli de Oliveira
 

More from Ricardo Martinelli de Oliveira (17)

Ensuring Software Quality in the cloud
Ensuring Software Quality in the cloudEnsuring Software Quality in the cloud
Ensuring Software Quality in the cloud
 
Java em containers Docker: Paraíso ou esquecimento?
Java em containers Docker: Paraíso ou esquecimento?Java em containers Docker: Paraíso ou esquecimento?
Java em containers Docker: Paraíso ou esquecimento?
 
Garantindo a qualidade do seu software na nuvem
Garantindo a qualidade do seu software na nuvemGarantindo a qualidade do seu software na nuvem
Garantindo a qualidade do seu software na nuvem
 
Mensageria sob Demanda: Uma introdução ao MaaS (Messaging-as-a-Service)
Mensageria sob Demanda: Uma introdução ao MaaS (Messaging-as-a-Service)Mensageria sob Demanda: Uma introdução ao MaaS (Messaging-as-a-Service)
Mensageria sob Demanda: Uma introdução ao MaaS (Messaging-as-a-Service)
 
Spark nas-nuvens
Spark nas-nuvensSpark nas-nuvens
Spark nas-nuvens
 
Exporando xpaas-8
Exporando xpaas-8Exporando xpaas-8
Exporando xpaas-8
 
Construindo uma-carreira-open-source
Construindo uma-carreira-open-sourceConstruindo uma-carreira-open-source
Construindo uma-carreira-open-source
 
Fedora 24 Release party
Fedora 24 Release partyFedora 24 Release party
Fedora 24 Release party
 
Novas oportunidades para o .net com a parceria microsoft e red hat
Novas oportunidades para o .net com a parceria microsoft e red hatNovas oportunidades para o .net com a parceria microsoft e red hat
Novas oportunidades para o .net com a parceria microsoft e red hat
 
Openshift v3-a-revolucao-dos-containers-3
Openshift v3-a-revolucao-dos-containers-3Openshift v3-a-revolucao-dos-containers-3
Openshift v3-a-revolucao-dos-containers-3
 
Jud con presentation_brazil
Jud con presentation_brazilJud con presentation_brazil
Jud con presentation_brazil
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
JBossInBossa2011
JBossInBossa2011JBossInBossa2011
JBossInBossa2011
 
JBossInBossa2011
JBossInBossa2011JBossInBossa2011
JBossInBossa2011
 
Google Data APIs
Google Data APIsGoogle Data APIs
Google Data APIs
 
Android
AndroidAndroid
Android
 

Introdução ao Thermostat: Centralizador de informações da JVM

  • 1. Colocando lenha na JVM Uma introdução ao Thermostat Ricardo Martinelli de Oliveira Senior Technical Support Engineer 1 by
  • 2. Agenda ● O que é o Thermostat, afinal? ● Como o Thermostat funciona? ● Arquitetura ● Funcionalidades ● Plugins ● Demo 2 by
  • 3. O que é o Thermostat? 3 by
  • 4. O que é o Thermostat? Centralizador de informações 4 by
  • 5. O que é o Thermostat? 5 by
  • 6. O que é o Thermostat? Integração Vertical 6 by
  • 7. O que é o Thermostat? 7 by
  • 8. O que é o Thermostat? Integração Horizontal 8 by
  • 9. Como o Thermostat Funciona? 9 by
  • 10. Como o Thermostat Funciona? Agents 10 by
  • 11. Como o Thermostat Funciona? Storage 11 by
  • 12. Como o Thermostat Funciona? Clients 12 by
  • 15. Funcionalidades ● CPU ● Memória ● Ciclos de GC ● Thread ● Análise de Heap Dump ● Classloader ● NUMA ● Web Storage 15 by
  • 16. Para um futuro não distante... ● JVM tuning ● Backend Systemtap / oprofile e App Server ● Análise de Memory leak e deadlock ● Eclipse client/IDE integration ● Web client ● OpenShift deployment (?) 16 by
  • 17. Plugins ● Thermostat permite extensibilidade através de plugins ● OSGI ● Permite escrever extensões para o agent e client ● plugin.xml permite ao Thermostat identificar seus bundles 17 by
  • 18. Plugins ● Backend extende os agents ● Data Access Objects (DAOs) extendem o storage ● InformationServices extende a GUI ● UI pode fazer bind para: ● HostRef (para um host/agent) ● JvmRef (para uma JVM) 18 by
  • 19. plugin.xml <?xml version="1.0" ?> <plugin> <commands> <command type="extends"> <name>gui</name> <bundles> <bundle>your-plugin-0.1-SNAPSHOT.jar</bundle> </bundles> </command> <command type="provides"> <name>hello</name> <description>Prints hello</description> <usage>hello</usage> <bundles> <bundle>your-hello-world-plugin-0.1-SNAPSHOT.jar</bundle> </bundles> <dependencies> <dependency>thermostat-client-core-0.6.0-SNAPSHOT.jar</dependency> </dependencies> </command> </commands> </plugin> 19 by
  • 21. Referências ● http://icedtea.classpath.org ● http://icedtea.classpath.org/wiki/Thermostat ● Mailing list: http://icedtea.classpath.org/mailman/listinfo/thermostat ● IRC: #thermostat no servidor freenode.net ● Imagens retiradas da apresentação: https://jerboaa.fedorapeople.org/presentations/Thermostat_DevConf_2013-02-23.pdf 21 by
  • 22. Obrigado! Twitter: @rimolive http://aprendendo-cloud-computing.blogspot.com 22 by