Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
uma (boa) alternativa para
profiling de apps Java
Flame Graphs
Básicos
O que são?
Call stack
Presença nas amostras
para Java!
CPU flame graphs
Flight Recorder
DEMO TIME
•Funciona bem, para java
•disponível em todos os OSs
•licença comercial Oracle
•não se pode usar em produção
•pelo menos s...
perf
DEMO TIME
•dá para ver TUDO o que se passa
•em código java
•na JVM: compiler, gc, etc…
•em libs nativas (NIO)
•no kernel
perf
•só para Linux
•só com Java 8 > u60
•tem que levar o -XX:+PreserveFramePointer
• 0-3% de impacto na performance
• necessit...
dtrace, Instruments, hprof, jstack, etc…
Outros
NO DEMO
THIS TIME
Conclusões?
•Fácil de perceber a “big picture”
•Mostra coisas que os métodos
tradicionais não vêm
• Overhead de compilação
• Overhead ...
•Uso com Java é problemático
•preencher os stacks
•obter os símbolos
•Para ter todas as vantagens, requisitos
exigentes:
•...
Outros tipos
Mais informação
http://www.slideshare.net/brendangregg/javaone-2015-java-mixedmode-flame-graphs
https://github.com/chrishantha/jfr-flame-g...
Flame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps Java
Flame Graphs, uma (boa) alternativa para profiling de apps Java
Upcoming SlideShare
Loading in …5
×

Flame Graphs, uma (boa) alternativa para profiling de apps Java

3,092 views

Published on

Apresentação de João Nelas para o 23º encontro PT.JUG.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Flame Graphs, uma (boa) alternativa para profiling de apps Java

  1. 1. uma (boa) alternativa para profiling de apps Java Flame Graphs
  2. 2. Básicos
  3. 3. O que são?
  4. 4. Call stack Presença nas amostras
  5. 5. para Java! CPU flame graphs
  6. 6. Flight Recorder
  7. 7. DEMO TIME
  8. 8. •Funciona bem, para java •disponível em todos os OSs •licença comercial Oracle •não se pode usar em produção •pelo menos sem pagar… Flight Recorder
  9. 9. perf
  10. 10. DEMO TIME
  11. 11. •dá para ver TUDO o que se passa •em código java •na JVM: compiler, gc, etc… •em libs nativas (NIO) •no kernel perf
  12. 12. •só para Linux •só com Java 8 > u60 •tem que levar o -XX:+PreserveFramePointer • 0-3% de impacto na performance • necessita do perf-map-agent • tem impacto na altura de recolher os símbolos perf
  13. 13. dtrace, Instruments, hprof, jstack, etc… Outros
  14. 14. NO DEMO THIS TIME
  15. 15. Conclusões?
  16. 16. •Fácil de perceber a “big picture” •Mostra coisas que os métodos tradicionais não vêm • Overhead de compilação • Overhead de GC • Tempo em código nativo •Pouco impacto na performance • A Netflix usa em produção Benefícios
  17. 17. •Uso com Java é problemático •preencher os stacks •obter os símbolos •Para ter todas as vantagens, requisitos exigentes: •SO “unixy” •Java 8 Problemas
  18. 18. Outros tipos
  19. 19. Mais informação
  20. 20. http://www.slideshare.net/brendangregg/javaone-2015-java-mixedmode-flame-graphs https://github.com/chrishantha/jfr-flame-graph https://github.com/jrudolph/perf-map-agent https://github.com/brendangregg/FlameGraph http://www.brendangregg.com/flamegraphs.html Links

×