jvm performance monitoring with the nashorn javascript engine

13
Nashorn & Monitoramet o da JVM Monitorando a Maquina Virtual Java durante a execucao de uma aplicacao Javascript

Upload: marcelo-rodrigues

Post on 29-Jun-2015

466 views

Category:

Technology


5 download

DESCRIPTION

Monitorando a Maquina Virtual Java durante a execucao de uma aplicacao Javascript

TRANSCRIPT

Page 1: JVM Performance Monitoring with the Nashorn Javascript engine

Nashorn & Monitoramet

o da JVMMonitorando a Maquina Virtual Java durante a

execucao de uma aplicacao Javascript

Page 2: JVM Performance Monitoring with the Nashorn Javascript engine

@TheMarceloR Sou de Fortaleza, Ceara Boa experiencia com Java Engenheiro de Suporte Se aventurando na Irlanda Possuo algumas certificacoes:

SCJP, LPIC, ITIL, etc.

Page 3: JVM Performance Monitoring with the Nashorn Javascript engine

Agenda Monitorando a JVM (Performance & Benchmarking)

A nova ‘engine’ de JS da JVM: Nashorn Invokedynamic

Monitoramento Javascript – analisando…

Thread Dumps Memory Dumps

Page 4: JVM Performance Monitoring with the Nashorn Javascript engine

Monitorando a JVM Porque nos fazemos isso?

Performance Benchmarking

Ferramentas Profilers

JRockit Mission Control Visual VM

Utilitarios de linha de comando jmap jstack

Page 5: JVM Performance Monitoring with the Nashorn Javascript engine

DEMO – Monitorando a JVM

Page 6: JVM Performance Monitoring with the Nashorn Javascript engine

Nashorn Pequeno “disclaimer”: Eu nao sou um early

adopter!

Nashorn = ‘Rhinoceros‘ em Alemao 100% implementado com ’invokedynamic’ Segue 100% da especificação ECMA-262 5.1

Mais rapido e mais ‘compliant’ que RhinoJS

Alguns nomes para procurar no Google: Jim Laskey (Multi-Lang lead) Marcus Lagergren (Tech engineer) Attila Szegedi (Nashorn developer)

Page 7: JVM Performance Monitoring with the Nashorn Javascript engine

DEMO - Nashorn

Page 8: JVM Performance Monitoring with the Nashorn Javascript engine

Invokedynamic Chamada normal

Opcode UsoInvokestatic For static methods

Invokevirtual Para metodos nao-privados

Invokespecial Para instancia privada

Invokeinterface Para o recebedor que implementa a interface

Page 9: JVM Performance Monitoring with the Nashorn Javascript engine

Invokedynamic Chamada dinâmica

Page 10: JVM Performance Monitoring with the Nashorn Javascript engine

DEMO - JVM Scripting

Page 11: JVM Performance Monitoring with the Nashorn Javascript engine

Monitorando Java x Javascript Thread Dumps Memory Dumps

Page 12: JVM Performance Monitoring with the Nashorn Javascript engine

DEMO – Nashorn App

Page 13: JVM Performance Monitoring with the Nashorn Javascript engine

Perguntas?