2. Agenda
Â
â˘âŻ What
 Just
 Happened?
Â
â⯠Agile
 Development,
 QA,
 Stress
 &
 Performance
 tesCng
Â
â⯠Logging?
Â
â⯠Debugger?
Â
Â
â˘âŻ STS
 &
 Integrated
 in
 Tomcat
 (tc
 Server)
Â
â˘âŻ Spring
 Insight
 Demo
 Time
Â
â˘âŻ JMeter
 &
 Google
 Chrome
 Speed
 Tracer
Â
â˘âŻ How
 it
 works
Â
â˘âŻ Plugins
 &
 AnnotaCons
Â
â˘âŻ Wrap
 up
Â
4. Contact
 Info
Â
â˘âŻ Derek
 Beauregard
Â
ââŻSr.
 Field
 Engineer,
 Pivotal
 (formerly
 VMware
 &
 formerly
 Spring
 Source)
Â
ââŻdbeauregard@gopivotal.com
Â
ââŻgoPivotal.com
Â
ââŻvfabric.co
Â
6. ApplicaCon
 Development
 &
 TesCng
Â
â˘âŻ So
 your
 building
 your
 fancy
 new
 web
Â
applicaCon
Â
ââŻIs
 it
 working
 the
 way
 you
 expected?
Â
ââŻWhat
 caused
 that
 failure?
Â
ââŻHow
 is
 the
 performance?
Â
ââŻWhy
 is
 it
 slow?
Â
ââŻWhat
 the
 heck
 is
 Hibernate
 (or
 whatever)
 doing?
Â
8. What
 do
 you
 do
 when
 it
 fails?
Â
â˘âŻ Check
 the
 logs?
Â
ââŻTimestamps
Â
ââŻSession
 IDs,
 User
 IDs
Â
ââŻLog
 all
 the
 parameters
 â
 UGH?
Â
â˘âŻ Run
 the
 debugger?
Â
Â
ââŻTypically
 doesnât
 help
 with
 performance
Â
â˘âŻ And
 what
 do
 you
 do
 in
 QA
 and
 Performance
Â
TesCng?
Â
 When
 it
 fails?
Â
 When
 it
 is
 slow?
Â
9.
10.
11.
12.
13. There
 has
 got
 to
 be
 a
 beXer
 way!
Â
â˘âŻ Spring
 Insight!
Â
27. Web
 ApplicaCon
Â
Spring
 Insight
Â
Client
Â
(Browser,
Â
JMeter,
 etc.)
Â
Web
Â
Layer
Â
Service
Â
Layer
Â
Data
Â
Layer
 DB
Â
Spring
Â
Insight
Â
Messaging
Â
Caching
Â
28. How
 does
 it
 work?
Â
â˘âŻ Spring
 Insight
 uses
 automaCc
 code
Â
instrumentaCon
 to
 monitor
 your
 applicaCon
Â
â˘âŻ It
 does
 this
 by
 introspecCng
 exisCng
Â
annotaCons
 and
 interfaces
 for
 key
 aspects
 of
Â
your
 applicaCon
Â
â˘âŻ It
 then
 uses
 AspectJ
 AOP
 point
 cuts
 to
 monitor
Â
the
 code
Â
Â
â˘âŻ Runs
 in
 tc
 Server
 (Tomcat)
 beside
 your
 web
Â
applicaCon
Â
30. More
 Plugins
Â
â˘âŻ AnnotaCons
Â
â˘âŻ Akka
Â
â˘âŻ Axion
Â
â˘âŻ BlazeDS
Â
â˘âŻ Cassandra
Â
â˘âŻ Eclipse-ÂâPersistence
Â
â˘âŻ Ehcache
Â
â˘âŻ Ejb3
Â
â˘âŻ Files-Ââtracker
Â
â˘âŻ GemFire
Â
â˘âŻ Grails
Â
â˘âŻ Hadoop
Â
â˘âŻ Hibernate
Â
â˘âŻ HXpClient3/4
Â
â˘âŻ jax-Âârs
Â
â˘âŻ Jcr
Â
â˘âŻ JDBC
Â
â˘âŻ JMS
Â
â˘âŻ JMX
Â
â˘âŻ JNDI
Â
â˘âŻ Jolt
Â
â˘âŻ JPA
Â
â˘âŻ JTA
Â
â˘âŻ JWS
Â
â˘âŻ LDAP
Â
â˘âŻ Logging
Â
â˘âŻ Mail
Â
â˘âŻ MongoDB
Â
â˘âŻ Portlet
Â
â˘âŻ Quartz
Â
â˘âŻ RabbitMQ
Â
â˘âŻ Redis
Â
â˘âŻ RMI
Â
â˘âŻ Run-Ââexec
Â
â˘âŻ Servlet
Â
â˘âŻ Socket
Â
â˘âŻ Spring-ÂâBatch
Â
â˘âŻ Spring-ÂâCore
Â
â˘âŻ Spring-ÂâData
Â
â˘âŻ Spring-ÂâIntegraCon
Â
â˘âŻ Spring-ÂâNeo4j
Â
â˘âŻ Spring-ÂâSecurity
Â
â˘âŻ Spring-Ââtx
Â
â˘âŻ Spring-Ââweb
Â
â˘âŻ Spring-ÂâWebFlow
Â
â˘âŻ Struts2
Â
â˘âŻ Tomcat
Â
â˘âŻ Developer
 Kit
 &
 GitHub
Â
31. Plugins
Â
â˘âŻ Many
 plugins
 are
 supported
 out
 of
 the
 box
Â
â˘âŻ You
 can
 get
 more
 from
 GitHub
 or
 develop
Â
your
 own
 using
 the
 Developer
 Kit
Â
â˘âŻ GitHub:
Â
hXps://github.com/SpringSource/spring-Ââ
insight-Ââplugins
Â
33. AnnotaCons
Â
â˘âŻ If
 you
 want
 to
 monitor
 more
 aspects
 of
 your
Â
code
 you
 can
 simply
 annotate
 the
 methods
Â
34. Dynamic
 Concrete
 Aspects
Â
<?xml
 version="1.0"
 encoding="UTF-Ââ8"?>
Â
<aspectj>
Â
Â
Â
Â
 <aspects>
Â
Â
Â
Â
Â
Â
Â
 <concrete-Ââaspect
 name="foo.bar.BazAspectâ
Â
extends="com.springsource.insight.collecCon.method.custom.CustomConcre
CzedOperaConCollecConAspect">
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
Â
 <pointcut
 name="collecConPoint"
Â
Â
 expression="execu;on(*
 foo.bar.Baz.mySuperDuperMethod(..))"
 />
Â
Â
Â
Â
Â
Â
Â
 </concrete-Ââaspect>
Â
Â
Â
Â
 </aspects>
Â
</aspectj>
Â
35. Dynamic
 Concrete
 Aspects
Â
â˘âŻ Instrument
 classes
 and
 methods
 that
 are
 not
Â
covered
 by
 plugins
 or
 Insight
 annotaCons
Â
â˘âŻ DeďŹned
 in
 AspectJ
 XML
 conďŹguraCon
Â
â˘âŻ No
 changes
 to
 source
 code
 required!
Â
36. Spring
 Insight
Â
â˘âŻ AutomaCc
Â
â˘âŻ No
 Coding
 &
 No
Â
ConďŹguraCon
Â
â˘âŻ Shows
 Errors
Â
â˘âŻ Shows
 Performance
Â
â˘âŻ Pluggable
Â
â˘âŻ Answers:
 âWhat
 Just
Â
Happened?â
Â
37. Wrap
 Up
Â
â˘âŻ Helps
 developers,
 QA
 Testers,
 and
 in
 Stress
Â
and
 Performance
 tesCng
 to
 answer:
 âWhat
Â
Just
 Happened?â
Â
38.
39.
40. 40Š Copyright 2013 Pivotal. All rights reserved.
FURTHER INFORMATION
â˘âŻ Me: dbeauregard@gopivotal.com
â˘âŻ Main Page & Downloads:
http://www.springsource.org/insight
â˘âŻ Documentation:
http://pubs.vmware.com/vfabric53/topic/
com.vmware.vfabric.tc-server.2.9/devedition/about.html
â˘âŻ Video: http://www.youtube.com/watch?v=nBqSh7nVNzc
â˘âŻ GitHub:
https://github.com/SpringSource/spring-insight-plugins