Copyright 2018 Kirk Pepperdine
ILLUMINATE
INTRODUCING
Copyright 2018 Kirk Pepperdine
jClarity
▸ Kirk Pepperdine
▸ Author of jPDM, a performance diagnostic model
▸ Author of the original Java Performance Tuning workshop
▸ Co-founded jClarity
▸ Building the smart generation of performance diagnostic tooling
▸ Bring predictability into the diagnostic process
▸ Co-founded JCrete
▸ The hottest unconference on the planet
▸ Java Champion/Oracle Groundbreaker
OUR MARKETING SLIDE
Copyright 2018 Kirk Pepperdine
jClarity
"a dark ocean without shores or lighthouse,
strewn with many a philosophic wreck"
Performance analysis is
Immanual Kant (1763)
Copyright 2018 Kirk Pepperdine
jClarity
How do we
diagnose performance regressions
in production?
Copyright 2018 Kirk Pepperdine
jClarity
▸ Instrument the runtime to make observations
▸ sampling
▸ emit signals
▸ Measure resource utilization
▸ CPU
▸ memory
▸ I/O channels
PROFILERS
Copyright 2018 Kirk Pepperdine
jClarity
▸ Highly intrusive
▸ places high overheads on the runtime
▸ Human scalable
▸ Strongly biased
▸ what performance engineer believes is at fault
▸ Generally only used after the fact
▸ and then only in test environments
▸ notoriously poor environment for reproducing problems
PROFILING DRAWBACKS
Copyright 2018 Kirk Pepperdine
jClarity
"A fool with tool remains a fool"
Buckminster Fuller
Copyright 2018 Kirk Pepperdine
jClarity
▸ Hand inject tracing into an application
▸ what should be logged?
▸ highly biased to what developers believe is important
▸ Hit and miss technique
▸ Leads to a “fighting yesterday’s performance regressions” battle
▸ most often misses data to diagnose the problem at hand
▸ High overhead
▸ common to see 4x performance improvements when

logging is removed
▸ good for consuming lots of disk space
LOGGING AND TRACING
Copyright 2018 Kirk Pepperdine
jClarity
▸ Detect performance regressions
▸ provide information to aid in the diagnosis of the regression
▸ Monitor application transaction performance
▸ trace requests and log progress
APPLICATION PERFORMANCE MANAGEMENT
APM is the monitoring and management of performance and availability of
software applications — Wikipedia
Copyright 2018 Kirk Pepperdine
jClarity
▸ Since we don’t know what to trace, capture as much as
possible and hope it’s the right stuff
▸ leads to a number of problems
▸ Overhead
▸ APM often uses more infrastructure than your
application
▸ Suffers from the "what was wrong is the past is 

likely to be wrong in the future” bias
▸ Questionable usefulness in finding true root cause
APM DRAWBACKS
Copyright 2018 Kirk Pepperdine
jClarity
is in a questionable state
State of the art
Copyright 2018 Kirk Pepperdine
jClarity
HERE IS THE PROOF
Copyright 2018 Kirk Pepperdine
Time to redefine
jClarity
State of the art
Copyright 2018 Kirk Pepperdine
jClarity
▸ Answers, not questions?
▸ recommendations or self healing, not an unsolvable puzzle
▸ Low overhead and scalability
▸ do more with less
▸ Biased free
▸ Predictive
WHAT DO WE WANT?
Copyright 2018 Kirk Pepperdine
All of this requires more intelligence
in our tooling
jClarity
Copyright 2018 Kirk Pepperdine
Demo time
jClarity
Copyright 2018 Kirk Pepperdine
Copyright 2018 Kirk Pepperdine
Copyright 2018 Kirk Pepperdine
Copyright 2018 Kirk Pepperdine
Copyright 2018 Kirk Pepperdine
Copyright 2018 Kirk Pepperdine
Copyright 2018 Kirk Pepperdine
Copyright 2018 Kirk Pepperdine
TEXT
TITLE TEXT
▸ Body Level One
▸ Body Level Two
▸ Body Level Three
▸ Body Level Four
▸ Body Level Five
Ask about my Java Performance Tuning Workshop
@kcpeppe
@jclarity
Thank you!!!

Introducing illuminate

  • 1.
    Copyright 2018 KirkPepperdine ILLUMINATE INTRODUCING
  • 2.
    Copyright 2018 KirkPepperdine jClarity ▸ Kirk Pepperdine ▸ Author of jPDM, a performance diagnostic model ▸ Author of the original Java Performance Tuning workshop ▸ Co-founded jClarity ▸ Building the smart generation of performance diagnostic tooling ▸ Bring predictability into the diagnostic process ▸ Co-founded JCrete ▸ The hottest unconference on the planet ▸ Java Champion/Oracle Groundbreaker OUR MARKETING SLIDE
  • 3.
    Copyright 2018 KirkPepperdine jClarity "a dark ocean without shores or lighthouse, strewn with many a philosophic wreck" Performance analysis is Immanual Kant (1763)
  • 4.
    Copyright 2018 KirkPepperdine jClarity How do we diagnose performance regressions in production?
  • 5.
    Copyright 2018 KirkPepperdine jClarity ▸ Instrument the runtime to make observations ▸ sampling ▸ emit signals ▸ Measure resource utilization ▸ CPU ▸ memory ▸ I/O channels PROFILERS
  • 6.
    Copyright 2018 KirkPepperdine jClarity ▸ Highly intrusive ▸ places high overheads on the runtime ▸ Human scalable ▸ Strongly biased ▸ what performance engineer believes is at fault ▸ Generally only used after the fact ▸ and then only in test environments ▸ notoriously poor environment for reproducing problems PROFILING DRAWBACKS
  • 7.
    Copyright 2018 KirkPepperdine jClarity "A fool with tool remains a fool" Buckminster Fuller
  • 8.
    Copyright 2018 KirkPepperdine jClarity ▸ Hand inject tracing into an application ▸ what should be logged? ▸ highly biased to what developers believe is important ▸ Hit and miss technique ▸ Leads to a “fighting yesterday’s performance regressions” battle ▸ most often misses data to diagnose the problem at hand ▸ High overhead ▸ common to see 4x performance improvements when
 logging is removed ▸ good for consuming lots of disk space LOGGING AND TRACING
  • 9.
    Copyright 2018 KirkPepperdine jClarity ▸ Detect performance regressions ▸ provide information to aid in the diagnosis of the regression ▸ Monitor application transaction performance ▸ trace requests and log progress APPLICATION PERFORMANCE MANAGEMENT APM is the monitoring and management of performance and availability of software applications — Wikipedia
  • 10.
    Copyright 2018 KirkPepperdine jClarity ▸ Since we don’t know what to trace, capture as much as possible and hope it’s the right stuff ▸ leads to a number of problems ▸ Overhead ▸ APM often uses more infrastructure than your application ▸ Suffers from the "what was wrong is the past is 
 likely to be wrong in the future” bias ▸ Questionable usefulness in finding true root cause APM DRAWBACKS
  • 11.
    Copyright 2018 KirkPepperdine jClarity is in a questionable state State of the art
  • 12.
    Copyright 2018 KirkPepperdine jClarity HERE IS THE PROOF
  • 13.
    Copyright 2018 KirkPepperdine Time to redefine jClarity State of the art
  • 14.
    Copyright 2018 KirkPepperdine jClarity ▸ Answers, not questions? ▸ recommendations or self healing, not an unsolvable puzzle ▸ Low overhead and scalability ▸ do more with less ▸ Biased free ▸ Predictive WHAT DO WE WANT?
  • 15.
    Copyright 2018 KirkPepperdine All of this requires more intelligence in our tooling jClarity
  • 16.
    Copyright 2018 KirkPepperdine Demo time jClarity
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
    Copyright 2018 KirkPepperdine TEXT TITLE TEXT ▸ Body Level One ▸ Body Level Two ▸ Body Level Three ▸ Body Level Four ▸ Body Level Five Ask about my Java Performance Tuning Workshop @kcpeppe @jclarity Thank you!!!