Eclipse EHX System Diagnostic tools. DIAGNOSTIC TOOLS IN EHX.
performance free tools - RainFocus · Author of jPDM, a performance diagnostic model Bring...
Transcript of performance free tools - RainFocus · Author of jPDM, a performance diagnostic model Bring...
Copyright 2017 Kirk Pepperdine
jClarity
▸ Author of jPDM, a performance diagnostic model
▸ Bring predictability into the diagnostic process
▸ Co-founded jClarity
▸ Building the smart generation of performance diagnostic tooling
▸ Co-founded JCrete
▸ The hotest unconference on the planet
▸ Java Champion (2006)
Copyright 2017 Kirk Pepperdine
jClarity
▸Body Level One
▸ Body Level Two
▸ Body Level Three
▸ Body Level Four
▸ Body Level Five
www.kodewerk.com
Java P
erform
ance T
uning
Worksho
p
The original
Copyright 2017 Kirk Pepperdine
jClarity
PERFORMANCE TUNING WITH FREE TOOLS
So where are the free tools?
Copyright 2017 Kirk Pepperdine
jClarity
▸ jPDM defines 4 major sub-systems
▸Abstraction of all the “things” in our real system
▸Create a taxonomy to categorize performance regressions
▸Different problems result in different signals being produced by the system
▸ Pattern matching on the different signals helps us identify the underlying root cause
▸Helps us identify a tool chain
JAVA PERFORMANCE DIAGNOSTIC MODEL
Application
Application logic
OS (Hardware)
CPU, memory, network, disk, locks, video
JVM
JVM code and configuration
Actors
Usage Patterns
Copyright 2017 Kirk Pepperdine
jClarity
▸ Identify the Dominating Consumer of the CPU
▸ That action or interaction that controls how the CPU is being consumed
▸Can CPU be pushed to 100% utilization
▸Yes - Aggressive dominance
▸No - Passive dominance
DOMINATING CONSUMER
Application
Application logic
OS (Hardware)
CPU, memory, network, disk, locks, video
JVM
JVM code and configuration
Actors
Usage Patterns
Copyright 2017 Kirk Pepperdine
jClarity
jPDM FLOW CHART
sys cpu > 10% ofuser cpu
idle > 0% memory efficient?GC Logs
Application
JVMNone (liveliness)
System
vmstat, netstat, mpstat, iostat, nicstat, perf, sar, strace, tcpdump
Thread livelinessThread cardinality
app/CPU profilingGC tuning, pool sizes,collectors, ...
Memory profiling, sizefrequency, life span,...
yes
no yes
no
no
yes
Users Realizing SLAno
Yes
Go Home
Copyright 2017 Kirk Pepperdine
jClarity
▸ jps
▸ jinfo
▸ jstat
▸ jmap
▸ jstack
▸ jcmd
▸ jstatd
COMMAND LINE TOOLING
Copyright 2017 Kirk Pepperdine
▸May lead you to unexpected places
▸Do know they all come with biases
▸Combining jPDM helps you to not be fooled by biases
FOLLOW YOUR TOOLS
jClarity