SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
Spring	
  Insight	
  –	
  What	
  Just	
  
Happened?	
  
Derek	
  Beauregard	
  
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	
  
Who	
  is	
  this	
  
guy?	
  
Contact	
  Info	
  
•  Derek	
  Beauregard	
  
– Sr.	
  Field	
  Engineer,	
  Pivotal	
  (formerly	
  VMware	
  &	
  formerly	
  Spring	
  Source)	
  
– dbeauregard@gopivotal.com	
  
– goPivotal.com	
  
– vfabric.co	
  
My	
  Fancy	
  New	
  Web	
  ApplicaCon	
  
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?	
  
My	
  Fancy	
  New	
  Web	
  ApplicaCon	
  
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?	
  
There	
  has	
  got	
  to	
  be	
  a	
  beXer	
  way!	
  
•  Spring	
  Insight!	
  
BETTER	
  WAY	
  
 	
  	
  Demo	
  
Google	
  Speed	
  Tracer 	
  	
  
Web	
  ApplicaCon	
  
Spring	
  Insight	
  
Client	
  
(Browser,	
  
JMeter,	
  etc.)	
  
Web	
  
Layer	
  
Service	
  
Layer	
  
Data	
  
Layer	
   DB	
  
Spring	
  
Insight	
  
Messaging	
  
Caching	
  
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	
  
Plugins	
  
Custom…	
  
Spring	
  
Integra;on	
  
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	
  
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	
  
@InsightOpera;on	
  
@InsightEndPoint	
  
@InsightObscure	
  
@InsightSensi;ve	
  
AnnotaCons	
  
•  If	
  you	
  want	
  to	
  monitor	
  more	
  aspects	
  of	
  your	
  
code	
  you	
  can	
  simply	
  annotate	
  the	
  methods	
  
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>	
  
Dynamic	
  Concrete	
  Aspects	
  
•  Instrument	
  classes	
  and	
  methods	
  that	
  are	
  not	
  
covered	
  by	
  plugins	
  or	
  Insight	
  annotaCons	
  
•  Defined	
  in	
  AspectJ	
  XML	
  configuraCon	
  
•  No	
  changes	
  to	
  source	
  code	
  required!	
  
Spring	
  Insight	
  
•  AutomaCc	
  
•  No	
  Coding	
  &	
  No	
  
ConfiguraCon	
  
•  Shows	
  Errors	
  
•  Shows	
  Performance	
  
•  Pluggable	
  
•  Answers:	
  “What	
  Just	
  
Happened?”	
  
Wrap	
  Up	
  
•  Helps	
  developers,	
  QA	
  Testers,	
  and	
  in	
  Stress	
  
and	
  Performance	
  tesCng	
  to	
  answer:	
  “What	
  
Just	
  Happened?”	
  
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

Contenu connexe

Tendances

Tendances (20)

How to Build Single Page HTML5 Apps that Scale
How to Build Single Page HTML5 Apps that ScaleHow to Build Single Page HTML5 Apps that Scale
How to Build Single Page HTML5 Apps that Scale
 
Salesforce winter 16 release
Salesforce winter 16 releaseSalesforce winter 16 release
Salesforce winter 16 release
 
Careful - APIs Inside: Testing and Monitoring for App Development
Careful - APIs Inside: Testing and Monitoring for App DevelopmentCareful - APIs Inside: Testing and Monitoring for App Development
Careful - APIs Inside: Testing and Monitoring for App Development
 
Azure Functions in Action #OrlandoCC
Azure Functions in Action #OrlandoCCAzure Functions in Action #OrlandoCC
Azure Functions in Action #OrlandoCC
 
ASP.NET Core 1.0 Overview
ASP.NET Core 1.0 OverviewASP.NET Core 1.0 Overview
ASP.NET Core 1.0 Overview
 
10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance10 Tips to Pump Up Your Atlassian Performance
10 Tips to Pump Up Your Atlassian Performance
 
Mock Servers - Fake All the Things!
Mock Servers - Fake All the Things!Mock Servers - Fake All the Things!
Mock Servers - Fake All the Things!
 
Building reliable web applications using Cypress
Building reliable web applications using CypressBuilding reliable web applications using Cypress
Building reliable web applications using Cypress
 
Best Practices for SharePoint Timer Jobs
Best Practices for SharePoint Timer JobsBest Practices for SharePoint Timer Jobs
Best Practices for SharePoint Timer Jobs
 
Azure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and moreAzure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and more
 
Azure Functions in Action #CodePaLOUsa
Azure Functions in Action #CodePaLOUsaAzure Functions in Action #CodePaLOUsa
Azure Functions in Action #CodePaLOUsa
 
SPSNJ 2013 Building Solutions using SharePoint TimerJobs
SPSNJ 2013 Building Solutions using SharePoint TimerJobsSPSNJ 2013 Building Solutions using SharePoint TimerJobs
SPSNJ 2013 Building Solutions using SharePoint TimerJobs
 
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin TimmermannO365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
 
Monitoring your API
Monitoring your APIMonitoring your API
Monitoring your API
 
Automated Testing in DevOps
Automated Testing in DevOpsAutomated Testing in DevOps
Automated Testing in DevOps
 
Serverless patterns v3 public
Serverless patterns v3 publicServerless patterns v3 public
Serverless patterns v3 public
 
Multiplication and division of calabash tests
Multiplication and division of calabash testsMultiplication and division of calabash tests
Multiplication and division of calabash tests
 
Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015
 
Play with azure functions
Play with azure functionsPlay with azure functions
Play with azure functions
 

En vedette

Josep renau i el fotomuntatge
Josep renau i el fotomuntatgeJosep renau i el fotomuntatge
Josep renau i el fotomuntatge
Txema Gs
 
Phen distributor autoshiporderform
Phen distributor autoshiporderformPhen distributor autoshiporderform
Phen distributor autoshiporderform
tamblot3000
 
EDAIM 110 juni 08
EDAIM 110 juni 08EDAIM 110 juni 08
EDAIM 110 juni 08
butest
 
Lectoescritura 1.
Lectoescritura 1.Lectoescritura 1.
Lectoescritura 1.
ivannoguera
 

En vedette (20)

Introduction To JavaFX 2.0
Introduction To JavaFX 2.0Introduction To JavaFX 2.0
Introduction To JavaFX 2.0
 
La canción de margot
La canción de margotLa canción de margot
La canción de margot
 
Meetup PrestaShop Madrid
Meetup PrestaShop MadridMeetup PrestaShop Madrid
Meetup PrestaShop Madrid
 
Male Sexual Enhancers
Male Sexual EnhancersMale Sexual Enhancers
Male Sexual Enhancers
 
T07 f035f4 ________fagor____(bilingüe p2) - Servicio Tecnico Fagor
T07 f035f4 ________fagor____(bilingüe p2)  - Servicio Tecnico FagorT07 f035f4 ________fagor____(bilingüe p2)  - Servicio Tecnico Fagor
T07 f035f4 ________fagor____(bilingüe p2) - Servicio Tecnico Fagor
 
Juquila oaxaca
Juquila oaxacaJuquila oaxaca
Juquila oaxaca
 
Agenda culturală ARCH-I pe luna februarie 2016
Agenda culturală ARCH-I pe luna februarie 2016Agenda culturală ARCH-I pe luna februarie 2016
Agenda culturală ARCH-I pe luna februarie 2016
 
Presentacion Coac Asia 10.7.2012 Corta
Presentacion Coac Asia 10.7.2012 CortaPresentacion Coac Asia 10.7.2012 Corta
Presentacion Coac Asia 10.7.2012 Corta
 
Josep renau i el fotomuntatge
Josep renau i el fotomuntatgeJosep renau i el fotomuntatge
Josep renau i el fotomuntatge
 
Phen distributor autoshiporderform
Phen distributor autoshiporderformPhen distributor autoshiporderform
Phen distributor autoshiporderform
 
54JOTA 15JOTI INTRDUCTION 2011
54JOTA  15JOTI INTRDUCTION 201154JOTA  15JOTI INTRDUCTION 2011
54JOTA 15JOTI INTRDUCTION 2011
 
Tools, strategies and resource for digital citizenship
Tools, strategies and resource for digital citizenshipTools, strategies and resource for digital citizenship
Tools, strategies and resource for digital citizenship
 
Pensamiento imaginactivo[1]
Pensamiento imaginactivo[1]Pensamiento imaginactivo[1]
Pensamiento imaginactivo[1]
 
EDAIM 110 juni 08
EDAIM 110 juni 08EDAIM 110 juni 08
EDAIM 110 juni 08
 
Reanimación cardio pulmonar [autoguardado]
Reanimación cardio pulmonar [autoguardado]Reanimación cardio pulmonar [autoguardado]
Reanimación cardio pulmonar [autoguardado]
 
Cianotipia, fotografía práctica y sencilla en el aula
Cianotipia, fotografía práctica y sencilla en el aulaCianotipia, fotografía práctica y sencilla en el aula
Cianotipia, fotografía práctica y sencilla en el aula
 
Metodología y geología aplicada en la exploración del proyecto hidroeléctrico...
Metodología y geología aplicada en la exploración del proyecto hidroeléctrico...Metodología y geología aplicada en la exploración del proyecto hidroeléctrico...
Metodología y geología aplicada en la exploración del proyecto hidroeléctrico...
 
Company Presentation
Company PresentationCompany Presentation
Company Presentation
 
Medios de transmision
Medios de transmisionMedios de transmision
Medios de transmision
 
Lectoescritura 1.
Lectoescritura 1.Lectoescritura 1.
Lectoescritura 1.
 

Similaire à Spring insight what just happened

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
Lucas Jellema
 

Similaire à Spring insight what just happened (20)

Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
Bag it Tag It Put it : Project Tracking One Click away
Bag it Tag It Put it : Project Tracking One Click away Bag it Tag It Put it : Project Tracking One Click away
Bag it Tag It Put it : Project Tracking One Click away
 
JavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep DiveJavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep Dive
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flow
 
Untangling spring week5
Untangling spring week5Untangling spring week5
Untangling spring week5
 
Azure Application insights - An Introduction
Azure Application insights - An IntroductionAzure Application insights - An Introduction
Azure Application insights - An Introduction
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Profiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsProfiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty Details
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
 
How to Contribute to Apache Usergrid
How to Contribute to Apache UsergridHow to Contribute to Apache Usergrid
How to Contribute to Apache Usergrid
 
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
 
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
 
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
 
improving the performance of Rails web Applications
improving the performance of Rails web Applicationsimproving the performance of Rails web Applications
improving the performance of Rails web Applications
 
Azure serverless computing
Azure serverless computingAzure serverless computing
Azure serverless computing
 
03 integrate webapisignalr
03 integrate webapisignalr03 integrate webapisignalr
03 integrate webapisignalr
 

Plus de Boulder Java User's Group

Plus de Boulder Java User's Group (7)

Introduction To Pentaho Kettle
Introduction To Pentaho KettleIntroduction To Pentaho Kettle
Introduction To Pentaho Kettle
 
Big Data and OSS at IBM
Big Data and OSS at IBMBig Data and OSS at IBM
Big Data and OSS at IBM
 
Json at work overview and ecosystem-v2.0
Json at work   overview and ecosystem-v2.0Json at work   overview and ecosystem-v2.0
Json at work overview and ecosystem-v2.0
 
Restful design at work v2.0
Restful design at work v2.0Restful design at work v2.0
Restful design at work v2.0
 
55 New Features in Java 7
55 New Features in Java 755 New Features in Java 7
55 New Features in Java 7
 
Watson and Open Source Tools
Watson and Open Source ToolsWatson and Open Source Tools
Watson and Open Source Tools
 
Intro to Redis
Intro to RedisIntro to Redis
Intro to Redis
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 

Spring insight what just happened

  • 1. Spring  Insight  –  What  Just   Happened?   Derek  Beauregard  
  • 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  
  • 3. Who  is  this   guy?  
  • 4. Contact  Info   •  Derek  Beauregard   – Sr.  Field  Engineer,  Pivotal  (formerly  VMware  &  formerly  Spring  Source)   – dbeauregard@gopivotal.com   – goPivotal.com   – vfabric.co  
  • 5. My  Fancy  New  Web  ApplicaCon  
  • 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?  
  • 7. My  Fancy  New  Web  ApplicaCon  
  • 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!  
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 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  
  • 29. Plugins   Custom…   Spring   Integra;on  
  • 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   •  Defined  in  AspectJ  XML  configuraCon   •  No  changes  to  source  code  required!  
  • 36. Spring  Insight   •  AutomaCc   •  No  Coding  &  No   ConfiguraCon   •  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