SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
1 #Dynatrace 
gottesheim 
wolfgang.gottesheim@dynatrace.com 
Wolfgang Gottesheim 
Performance Metrics for 
your Delivery Pipeline 
JAX London, October 14
2 
#Dynatrace 
HOW 
WEBSITE 
Is 10PM a good time 
to find out about performance problems?
3 
#Dynatrace 
When do YOUfind performance problems?
44 #Dynatrace 
? ? ? 
Unit/Integration 
Tests 
Acceptance 
Tests 
Capacity 
Tests 
Developers Release
5 #Dynatrace 
When to find them? 
Requirements / 
Specification / 
Design 
(Load) Test / 
QA / 
Acceptance 
Deployment / 
Production / 
Maintenance 
Development 
(Load)Test/ 
QA / 
Acceptance 
Dev 
Test 
Development 
Dev 
Test 
Deployment / 
Production / 
Maintenance 
Dev 
Test 
Dep 
Dev 
Test 
Dep 
Dev 
Test 
Dep 
Dev 
Test 
Dep 
Dev 
Test 
Dep 
Dev 
Test 
Dep 
Dev 
Test 
Dep 
Dev 
Test 
Dep
6 #Dynatrace
7 #Dynatrace 
The Challenge 
» Performance is not a band aid! 
» Architecture has enormous influence! 
 You have to continuously ensure your 
performance requirements are met! 
"I couldn't help but notice your pain." 
"My pain?" 
"It runs deep. Share it with me!" 
(Star Trek V)
8 
#Dynatrace 
“But we have tests”
9 #Dynatrace 
Software testing tells us that our system 
» meets the requirements that guided its design and development, 
» responds correctly to all kinds of inputs, 
» performs its functions within an acceptable time, 
» is sufficiently usable, 
» can be installed and run in its intended environments, and 
» achieves the general result its stakeholders desire. 
Source: Wikipedia 
What are we learning from our tests?
10 #Dynatrace 
Let’s look at the tests we run 
Unit 
Tests 
Integration 
Tests 
Acceptance 
Tests 
Load Tests 
Meets 
requirements 
Responds 
correctly to input 
Performs in 
acceptable time 
Usability 
Deployment 
Achieves Correct 
Result High effort (have to be created and maintained) 
Only possible at a rather late development phase
11 #Dynatrace
12 #Dynatrace 
The Goal 
Unit Tests Integration 
Tests 
Acceptance 
Tests 
Load Tests 
Meets requirements 
Responds correctly 
to input 
Performs in 
acceptable time 
Usability 
Deployment 
Achieves Correct 
Result
13 #Dynatrace 
What you usually get 
Measuring Performance of 
Unit and Integration Tests 
[junit] Running com.dynatrace.sample.tests.FastUnitTest 
[junit] Tests run: 15, Failures: 0, Errors: 0, Time elapsed: 34 sec 
[junit] Running com.dynatrace.sample.tests.SlowUnitTest 
[junit] Tests run: 17, Failures: 0, Errors: 1, Time elapsed: 2,457 sec
1144 #Dynatrace
15 #Dynatrace 
Basic: Test duration 
I don’t like endsWith – I like regex!
16 #Dynatrace 
N+1 Queries 
Metrics: 
• # SQL Executions / Request 
• # of “same” SQL Executions
17 #Dynatrace 
Ignoring Architectural Rules 
Metrics: 
• # SQL Executions / Request
18 #Dynatrace 
High Number of Requests to Backend System 
Metrics: 
• # Calls to 3rd party system
19 #Dynatrace 
Memory Leak 
Still crashing… 
Problem 
fixed! 
Fixed Version 
Deployed 
Metrics: 
• Heap Size 
• # Objects allocated
20 #Dynatrace 
Too Many Exceptions 
Metrics: 
• # Exceptions
21 #Dynatrace 
Unnecessary work 
Caching framework updates 
content that is never used
22 
#Dynatrace
23 #Dynatrace 
What you currently measure 
What you could measure 
Performance 
Metrics in your CI 
# Test Failures 
Overall Duration 
# calls to API 
# executed SQL statements 
# Web Service Calls 
# JMS Messages 
# Objects Allocated 
# Exceptions 
# Log Messages 
Execution Time of Tests 
…
24 
#Dynatrace 
We should not forget about ACCEPTANCE tests
25 #Dynatrace 
Large Web Sites 
17! JS Files – 1.7MB in Size 
Useless Information! 
Even might be a security risk!
26 #Dynatrace 
Missing Resources Cause Delays 
46! HTTP 403 Requests for 
images on the landing page 
Lots of time “wasted” due to 
roundtrips that just result in a 403 
Metrics: HTTP 4xx & 5xx 
Total Number of Resources
27 #Dynatrace 
SLOW or Failing 3rd Party Content
28 #Dynatrace 
What you currently measure 
What you could measure 
Performance 
Metrics in your CI 
# Test Failures 
Overall Duration 
# calls to API 
# executed SQL statements 
# Web Service Calls 
# JMS Messages 
# Objects Allocated 
# Exceptions 
# Log Messages 
Execution Time of Tests 
# HTTP 4xx/5xx 
Request/Response Size 
Page Load/Rendering Time 
…
29 #Dynatrace 
Starting from… 
Production 
Environment 
Developers CI Server Testing 
Environment 
Release 
? ?
30 #Dynatrace 
…or maybe… 
Production 
Environment 
Developers CI Server Testing 
Environment 
Release
31 #Dynatrace 
We get to… 
Commit 
Stage 
Automated 
Acceptance 
Testing 
Automated 
Capacity 
Testing 
Developers Release
32 #Dynatrace 
Performance as a Quality Gate 
Automated collection of 
performance metrics in 
test runs 
Comparison of 
performance metrics 
across builds 
Automated analysis of 
performance metrics to 
identify outliers 
Automated notifications on 
performance issues in tests 
Measurements accessible and 
shareable across teams 
Actionable data through 
deep transactional insight 
Integration with build 
automation tools and 
practices
33 #Dynatrace 
And finally make PERFORMANCE part of our 
Continuous Delivery Process 
Commit 
Stage 
Automated 
Acceptance 
Testing 
Automated 
Capacity 
Testing 
Developers Release
34 
#Dynatrace 
Performance 
Scalability
35 
#Dynatrace 
Collaborate 
Verify 
Measure
3366 #Dynatrace 
When CAN we find 
performance problems?
3377 #Dynatrace 
Unit/Integration 
Tests 
Acceptance 
Tests 
Capacity 
Tests 
Developers Release
38 #Dynatrace 
Who Cares About Performance? 
Developers? 
Architects? 
Testers? 
Operators? 
Business?
39 #Dynatrace 
Everone! 
Developers 
Architects 
Testers 
Operators 
Business
40 
#Dynatrace 
But remember:
41 
#Dynatrace 
Check out our trial 
http://bit.ly/jaxtrial 
Stop by the Dynatracebooth!

Weitere ähnliche Inhalte

Was ist angesagt?

Automating good coding practices
Automating good coding practicesAutomating good coding practices
Automating good coding practices
Kevin Peterson
 

Was ist angesagt? (20)

Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
 
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
 
Continuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryContinuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous Delivery
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
 
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
 
Agile and test driven development
Agile and test driven developmentAgile and test driven development
Agile and test driven development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Automating good coding practices
Automating good coding practicesAutomating good coding practices
Automating good coding practices
 
Testing Legacy Apps
Testing Legacy AppsTesting Legacy Apps
Testing Legacy Apps
 
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
A Software Tester's Travels from the Land of the Waterfall to the Land of Agi...
 
Peer Code Review: In a Nutshell
Peer Code Review: In a NutshellPeer Code Review: In a Nutshell
Peer Code Review: In a Nutshell
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Test pyramid
Test pyramidTest pyramid
Test pyramid
 
TDD Basics with Angular.js and Jasmine
TDD Basics with Angular.js and JasmineTDD Basics with Angular.js and Jasmine
TDD Basics with Angular.js and Jasmine
 
Elements of a Test Framework
Elements of a Test FrameworkElements of a Test Framework
Elements of a Test Framework
 
A journey to a Full Stack Tester
A journey to a Full Stack Tester A journey to a Full Stack Tester
A journey to a Full Stack Tester
 
Eclipse Day India 2015 - Eclipse RCP testing using Jubula based automation
Eclipse Day India 2015 - Eclipse RCP testing using Jubula based automationEclipse Day India 2015 - Eclipse RCP testing using Jubula based automation
Eclipse Day India 2015 - Eclipse RCP testing using Jubula based automation
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
How to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingHow to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated Testing
 

Ähnlich wie Performance Metrics for your Delivery Pipeline - Wolfgang Gottesheim

Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons Learned
LB Denker
 

Ähnlich wie Performance Metrics for your Delivery Pipeline - Wolfgang Gottesheim (20)

Industry Keynote at Large Scale Testing Workshop 2015
Industry Keynote at Large Scale Testing Workshop 2015Industry Keynote at Large Scale Testing Workshop 2015
Industry Keynote at Large Scale Testing Workshop 2015
 
(R)Evolutionize APM - APM in Continuous Delivery and DevOps
(R)Evolutionize APM - APM in Continuous Delivery and DevOps(R)Evolutionize APM - APM in Continuous Delivery and DevOps
(R)Evolutionize APM - APM in Continuous Delivery and DevOps
 
How to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery PipelineHow to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery Pipeline
 
How to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsHow to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOps
 
(R)evolutionize APM
(R)evolutionize APM(R)evolutionize APM
(R)evolutionize APM
 
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with Ansible
 
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 
Metrics-driven Continuous Delivery
Metrics-driven Continuous DeliveryMetrics-driven Continuous Delivery
Metrics-driven Continuous Delivery
 
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
Application Quality Gates in Continuous Delivery: Deliver Better Software Fas...
 
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and ScalabiltyDocker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
Docker/DevOps Meetup: Metrics-Driven Continuous Performance and Scalabilty
 
OOP 2014 - Lifecycle By Design
OOP 2014 - Lifecycle By DesignOOP 2014 - Lifecycle By Design
OOP 2014 - Lifecycle By Design
 
Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons Learned
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the Enterprise
 
From zero to one - How we evolved our test automation processes and mindset i...
From zero to one - How we evolved our test automation processes and mindset i...From zero to one - How we evolved our test automation processes and mindset i...
From zero to one - How we evolved our test automation processes and mindset i...
 
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
 
Mobile User Experience: Auto Drive through Performance Metrics
Mobile User Experience:Auto Drive through Performance MetricsMobile User Experience:Auto Drive through Performance Metrics
Mobile User Experience: Auto Drive through Performance Metrics
 
Battle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectBattle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java Project
 

Mehr von JAXLondon2014

How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
JAXLondon2014
 
Testing the Enterprise Layers - the A, B, C's of Integration Testing - Aslak ...
Testing the Enterprise Layers - the A, B, C's of Integration Testing - Aslak ...Testing the Enterprise Layers - the A, B, C's of Integration Testing - Aslak ...
Testing the Enterprise Layers - the A, B, C's of Integration Testing - Aslak ...
JAXLondon2014
 
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
JAXLondon2014
 

Mehr von JAXLondon2014 (20)

GridGain 6.0: Open Source In-Memory Computing Platform - Nikita Ivanov
GridGain 6.0: Open Source In-Memory Computing Platform - Nikita IvanovGridGain 6.0: Open Source In-Memory Computing Platform - Nikita Ivanov
GridGain 6.0: Open Source In-Memory Computing Platform - Nikita Ivanov
 
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
 
Conditional Logging Considered Harmful - Sean Reilly
Conditional Logging Considered Harmful - Sean ReillyConditional Logging Considered Harmful - Sean Reilly
Conditional Logging Considered Harmful - Sean Reilly
 
Finding your Way in the Midst of the NoSQL Haze - Abdelmonaim Remani
Finding your Way in the Midst of the NoSQL Haze - Abdelmonaim RemaniFinding your Way in the Midst of the NoSQL Haze - Abdelmonaim Remani
Finding your Way in the Midst of the NoSQL Haze - Abdelmonaim Remani
 
API Management - a hands on workshop - Paul Fremantle
API Management - a hands on workshop - Paul FremantleAPI Management - a hands on workshop - Paul Fremantle
API Management - a hands on workshop - Paul Fremantle
 
'Bootiful' Code with Spring Boot - Josh Long
'Bootiful' Code with Spring Boot - Josh Long'Bootiful' Code with Spring Boot - Josh Long
'Bootiful' Code with Spring Boot - Josh Long
 
The Full Stack Java Developer - Josh Long
The Full Stack Java Developer - Josh LongThe Full Stack Java Developer - Josh Long
The Full Stack Java Developer - Josh Long
 
The Economies of Scaling Software - Josh Long and Abdelmonaim Remani
The Economies of Scaling Software - Josh Long and Abdelmonaim RemaniThe Economies of Scaling Software - Josh Long and Abdelmonaim Remani
The Economies of Scaling Software - Josh Long and Abdelmonaim Remani
 
Dataflow, the Forgotten Way - Russel Winder
Dataflow, the Forgotten Way - Russel WinderDataflow, the Forgotten Way - Russel Winder
Dataflow, the Forgotten Way - Russel Winder
 
Habits of Highly Effective Technical Teams - Martijn Verburg
Habits of Highly Effective Technical Teams - Martijn VerburgHabits of Highly Effective Technical Teams - Martijn Verburg
Habits of Highly Effective Technical Teams - Martijn Verburg
 
The Lazy Developer's Guide to Cloud Foundry - Holly Cummins
The Lazy Developer's Guide to Cloud Foundry - Holly CumminsThe Lazy Developer's Guide to Cloud Foundry - Holly Cummins
The Lazy Developer's Guide to Cloud Foundry - Holly Cummins
 
Testing within an Agile Environment - Beyza Sakir and Chris Gollop
Testing within an Agile Environment - Beyza Sakir and Chris GollopTesting within an Agile Environment - Beyza Sakir and Chris Gollop
Testing within an Agile Environment - Beyza Sakir and Chris Gollop
 
Testing the Enterprise Layers - the A, B, C's of Integration Testing - Aslak ...
Testing the Enterprise Layers - the A, B, C's of Integration Testing - Aslak ...Testing the Enterprise Layers - the A, B, C's of Integration Testing - Aslak ...
Testing the Enterprise Layers - the A, B, C's of Integration Testing - Aslak ...
 
Squeezing Performance of out of In-Memory Data Grids - Fuad Malikov
Squeezing Performance of out of In-Memory Data Grids - Fuad MalikovSqueezing Performance of out of In-Memory Data Grids - Fuad Malikov
Squeezing Performance of out of In-Memory Data Grids - Fuad Malikov
 
Spocktacular Testing - Russel Winder
Spocktacular Testing - Russel WinderSpocktacular Testing - Russel Winder
Spocktacular Testing - Russel Winder
 
Server Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David DelabasseeServer Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David Delabassee
 
Reflection Madness - Dr. Heinz Kabutz
Reflection Madness - Dr. Heinz KabutzReflection Madness - Dr. Heinz Kabutz
Reflection Madness - Dr. Heinz Kabutz
 
Rapid Web Application Development with MongoDB and the JVM - Trisha Gee
Rapid Web Application Development with MongoDB and the JVM - Trisha GeeRapid Web Application Development with MongoDB and the JVM - Trisha Gee
Rapid Web Application Development with MongoDB and the JVM - Trisha Gee
 
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
 
Personal Retrospectives - Johannes Thönes
Personal Retrospectives - Johannes ThönesPersonal Retrospectives - Johannes Thönes
Personal Retrospectives - Johannes Thönes
 

Kürzlich hochgeladen

If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
Kayode Fayemi
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
amilabibi1
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
raffaeleoman
 

Kürzlich hochgeladen (18)

Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Causes of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCauses of poverty in France presentation.pptx
Causes of poverty in France presentation.pptx
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...
Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...
Aesthetic Colaba Mumbai Cst Call girls 📞 7738631006 Grant road Call Girls ❤️-...
 
Sector 62, Noida Call girls :8448380779 Noida Escorts | 100% verified
Sector 62, Noida Call girls :8448380779 Noida Escorts | 100% verifiedSector 62, Noida Call girls :8448380779 Noida Escorts | 100% verified
Sector 62, Noida Call girls :8448380779 Noida Escorts | 100% verified
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 

Performance Metrics for your Delivery Pipeline - Wolfgang Gottesheim

  • 1. 1 #Dynatrace gottesheim wolfgang.gottesheim@dynatrace.com Wolfgang Gottesheim Performance Metrics for your Delivery Pipeline JAX London, October 14
  • 2. 2 #Dynatrace HOW WEBSITE Is 10PM a good time to find out about performance problems?
  • 3. 3 #Dynatrace When do YOUfind performance problems?
  • 4. 44 #Dynatrace ? ? ? Unit/Integration Tests Acceptance Tests Capacity Tests Developers Release
  • 5. 5 #Dynatrace When to find them? Requirements / Specification / Design (Load) Test / QA / Acceptance Deployment / Production / Maintenance Development (Load)Test/ QA / Acceptance Dev Test Development Dev Test Deployment / Production / Maintenance Dev Test Dep Dev Test Dep Dev Test Dep Dev Test Dep Dev Test Dep Dev Test Dep Dev Test Dep Dev Test Dep
  • 7. 7 #Dynatrace The Challenge » Performance is not a band aid! » Architecture has enormous influence!  You have to continuously ensure your performance requirements are met! "I couldn't help but notice your pain." "My pain?" "It runs deep. Share it with me!" (Star Trek V)
  • 8. 8 #Dynatrace “But we have tests”
  • 9. 9 #Dynatrace Software testing tells us that our system » meets the requirements that guided its design and development, » responds correctly to all kinds of inputs, » performs its functions within an acceptable time, » is sufficiently usable, » can be installed and run in its intended environments, and » achieves the general result its stakeholders desire. Source: Wikipedia What are we learning from our tests?
  • 10. 10 #Dynatrace Let’s look at the tests we run Unit Tests Integration Tests Acceptance Tests Load Tests Meets requirements Responds correctly to input Performs in acceptable time Usability Deployment Achieves Correct Result High effort (have to be created and maintained) Only possible at a rather late development phase
  • 12. 12 #Dynatrace The Goal Unit Tests Integration Tests Acceptance Tests Load Tests Meets requirements Responds correctly to input Performs in acceptable time Usability Deployment Achieves Correct Result
  • 13. 13 #Dynatrace What you usually get Measuring Performance of Unit and Integration Tests [junit] Running com.dynatrace.sample.tests.FastUnitTest [junit] Tests run: 15, Failures: 0, Errors: 0, Time elapsed: 34 sec [junit] Running com.dynatrace.sample.tests.SlowUnitTest [junit] Tests run: 17, Failures: 0, Errors: 1, Time elapsed: 2,457 sec
  • 15. 15 #Dynatrace Basic: Test duration I don’t like endsWith – I like regex!
  • 16. 16 #Dynatrace N+1 Queries Metrics: • # SQL Executions / Request • # of “same” SQL Executions
  • 17. 17 #Dynatrace Ignoring Architectural Rules Metrics: • # SQL Executions / Request
  • 18. 18 #Dynatrace High Number of Requests to Backend System Metrics: • # Calls to 3rd party system
  • 19. 19 #Dynatrace Memory Leak Still crashing… Problem fixed! Fixed Version Deployed Metrics: • Heap Size • # Objects allocated
  • 20. 20 #Dynatrace Too Many Exceptions Metrics: • # Exceptions
  • 21. 21 #Dynatrace Unnecessary work Caching framework updates content that is never used
  • 23. 23 #Dynatrace What you currently measure What you could measure Performance Metrics in your CI # Test Failures Overall Duration # calls to API # executed SQL statements # Web Service Calls # JMS Messages # Objects Allocated # Exceptions # Log Messages Execution Time of Tests …
  • 24. 24 #Dynatrace We should not forget about ACCEPTANCE tests
  • 25. 25 #Dynatrace Large Web Sites 17! JS Files – 1.7MB in Size Useless Information! Even might be a security risk!
  • 26. 26 #Dynatrace Missing Resources Cause Delays 46! HTTP 403 Requests for images on the landing page Lots of time “wasted” due to roundtrips that just result in a 403 Metrics: HTTP 4xx & 5xx Total Number of Resources
  • 27. 27 #Dynatrace SLOW or Failing 3rd Party Content
  • 28. 28 #Dynatrace What you currently measure What you could measure Performance Metrics in your CI # Test Failures Overall Duration # calls to API # executed SQL statements # Web Service Calls # JMS Messages # Objects Allocated # Exceptions # Log Messages Execution Time of Tests # HTTP 4xx/5xx Request/Response Size Page Load/Rendering Time …
  • 29. 29 #Dynatrace Starting from… Production Environment Developers CI Server Testing Environment Release ? ?
  • 30. 30 #Dynatrace …or maybe… Production Environment Developers CI Server Testing Environment Release
  • 31. 31 #Dynatrace We get to… Commit Stage Automated Acceptance Testing Automated Capacity Testing Developers Release
  • 32. 32 #Dynatrace Performance as a Quality Gate Automated collection of performance metrics in test runs Comparison of performance metrics across builds Automated analysis of performance metrics to identify outliers Automated notifications on performance issues in tests Measurements accessible and shareable across teams Actionable data through deep transactional insight Integration with build automation tools and practices
  • 33. 33 #Dynatrace And finally make PERFORMANCE part of our Continuous Delivery Process Commit Stage Automated Acceptance Testing Automated Capacity Testing Developers Release
  • 35. 35 #Dynatrace Collaborate Verify Measure
  • 36. 3366 #Dynatrace When CAN we find performance problems?
  • 37. 3377 #Dynatrace Unit/Integration Tests Acceptance Tests Capacity Tests Developers Release
  • 38. 38 #Dynatrace Who Cares About Performance? Developers? Architects? Testers? Operators? Business?
  • 39. 39 #Dynatrace Everone! Developers Architects Testers Operators Business
  • 40. 40 #Dynatrace But remember:
  • 41. 41 #Dynatrace Check out our trial http://bit.ly/jaxtrial Stop by the Dynatracebooth!