SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Take advantage of Memory
Analyzer Tool inside your
Continuous Integration
Aurélien Pupier
R&D Engineer, Studio Development Leader
@apupier
©2014 Bonitasoft
Agenda
• Why using MAT?
• How to
–Programmatic Heap Dump
–Choose your report
–Headless report generation
–CI integration
• Going further
©2013 Bonitasoft 2
Why using MAT?
©2013 Bonitasoft 3
Before – how we detect Memory Leak? (1/3)
• Manual QA tests
©2013 Bonitasoft 4
Before – how we detect Memory Leak? (2/3)
• Client
©2013 Bonitasoft 5
Before – how we detect Memory Leak? (3/3)
• Dumb performance tests
– Dedicated test suite
– Open 100 diagrams
– Only very big OOM
– Check no crash
©2013 Bonitasoft 6
Unit Test
Integration
Test
Performance
Test
Manual QA
Test
Client
Detect early
©2013 Bonitasoft 7
It’s
complicated
It’scomplicated
How to
©2013 Bonitasoft 8
Required materials
©2013 Bonitasoft 9
Programmatic Heap Dump
©2013 Bonitasoft 10
Heap Dumper Java code
• Mbean
– com.sun.management:type=HotSpotDiagnostic
• JVM-specific
©2013 Bonitasoft 11
When?
• All tests played and finished
– Memory should be clean
– Take care to close everything
• End of Test Suite
©2013 Bonitasoft 12
When? Afterclass
©2013 Bonitasoft 13
Plug-in specificity
• Extension point used
– Avoid JVM dependency
• Extract interface for HeapDumper
• Close project Eclipse compiler mic-mac
©2013 Bonitasoft 14
Global picture
©2013 Bonitasoft 15
MBean provider
Heap Dumper Extension point
Test suite executor
Heap Dumper Provider
Choose your report
Find your happiness… or create it
©2013 Bonitasoft 16
Provided
©2013 Bonitasoft 17
Custom report
• AllTests_custom_htmlindex.html
©2013 Bonitasoft 18
Headless report generation
MAT – “There’s an app for that”
©2013 Bonitasoft 19
Headless report generation
• Generate report
– org.eclipse.mat.api.parse <dumpFile> <reportId>
– Leak suspects id: org.eclipse.mat.api:suspects
• Unzip reports
– Keep <report-name>_html
– Clean folder
• *.zip
• *.index
• *.threads
©2013 Bonitasoft 20
CI Integration
©2013 Bonitasoft 21
Build steps – Generate report
©2013 Bonitasoft 22
Build steps – Use reports
©2013 Bonitasoft 23
Reports availability
©2013 Bonitasoft 24
Fail the build
• Custom script parsing report
– Custom for each report
– Define your own thresholds
• Last build step
• Return value != 0
©2013 Bonitasoft 25
Going further
©2013 Bonitasoft 26
Possible improvements
• Provide an Hudson/Jenkins plugin for MAT
– Download
– Pre-defined list of available reports
– Pre-defined thresholds to fail the build
– Conditional Launch (only for Nightly?)
– Group reports
• MAT
– Allow to return a status code when generating report
– Handle thresholds
– Use compare feature
©2013 Bonitasoft 27
©2013 Bonitasoft 28
Evaluate This Session
Sign-in: www.eclipsecon.org
Select session from schedule
Evaluate:
1
2
3

Contenu connexe

Tendances

Tendances (20)

BPM Made Easy with Bonita Open Solution
BPM Made Easy with Bonita Open SolutionBPM Made Easy with Bonita Open Solution
BPM Made Easy with Bonita Open Solution
 
Manage Purchasing Efficiently with BPM
Manage Purchasing Efficiently with BPMManage Purchasing Efficiently with BPM
Manage Purchasing Efficiently with BPM
 
Bonitasoft at bpmNEXT 2015
Bonitasoft at bpmNEXT 2015Bonitasoft at bpmNEXT 2015
Bonitasoft at bpmNEXT 2015
 
Bonitasoft - Process Efficiency World Tour 2013 - London
Bonitasoft - Process Efficiency World Tour 2013 - LondonBonitasoft - Process Efficiency World Tour 2013 - London
Bonitasoft - Process Efficiency World Tour 2013 - London
 
Personalized, Powerful, Easy-to-change Business Applications
Personalized, Powerful, Easy-to-change Business ApplicationsPersonalized, Powerful, Easy-to-change Business Applications
Personalized, Powerful, Easy-to-change Business Applications
 
Getting the big picture with Bonita!
Getting the big picture with Bonita!Getting the big picture with Bonita!
Getting the big picture with Bonita!
 
Reactive Web Best Practices
Reactive Web Best PracticesReactive Web Best Practices
Reactive Web Best Practices
 
EMEA Regional OSUG
EMEA Regional OSUG EMEA Regional OSUG
EMEA Regional OSUG
 
Measure Customer Experience of Your OutSystems Web and Mobile Applications
Measure Customer Experience of Your OutSystems Web and Mobile ApplicationsMeasure Customer Experience of Your OutSystems Web and Mobile Applications
Measure Customer Experience of Your OutSystems Web and Mobile Applications
 
How to build the ultimate Custom Controls UI5 Library
How to build the ultimate Custom Controls UI5 LibraryHow to build the ultimate Custom Controls UI5 Library
How to build the ultimate Custom Controls UI5 Library
 
Hands-On With Reactive Web Design
Hands-On With Reactive Web DesignHands-On With Reactive Web Design
Hands-On With Reactive Web Design
 
WSO2Con EU 2016: Building Your Deployment Architecture Through Requirements, ...
WSO2Con EU 2016: Building Your Deployment Architecture Through Requirements, ...WSO2Con EU 2016: Building Your Deployment Architecture Through Requirements, ...
WSO2Con EU 2016: Building Your Deployment Architecture Through Requirements, ...
 
The magic ingredient for successful automation - Chapter 2
The magic ingredient for successful automation - Chapter 2The magic ingredient for successful automation - Chapter 2
The magic ingredient for successful automation - Chapter 2
 
Better Together: The Winning Strategy of Unified Ownership - AppSphere16
Better Together: The Winning Strategy of Unified Ownership - AppSphere16Better Together: The Winning Strategy of Unified Ownership - AppSphere16
Better Together: The Winning Strategy of Unified Ownership - AppSphere16
 
Design Like a Pro: Developing & Deploying Perspective Applications as HMIs
Design Like a Pro: Developing & Deploying Perspective Applications as HMIsDesign Like a Pro: Developing & Deploying Perspective Applications as HMIs
Design Like a Pro: Developing & Deploying Perspective Applications as HMIs
 
Odoo Experience 2018 - Opening Keynote: Unveiling Odoo 12
Odoo Experience 2018 - Opening Keynote: Unveiling Odoo 12Odoo Experience 2018 - Opening Keynote: Unveiling Odoo 12
Odoo Experience 2018 - Opening Keynote: Unveiling Odoo 12
 
Architecture 101 + Libraries
Architecture 101 + LibrariesArchitecture 101 + Libraries
Architecture 101 + Libraries
 
[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...
[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...
[Webinar] Transforming Telcos with Digital Process Automation (December 10, 2...
 
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
 
Boost Operational Efficiency with New OEE Software
Boost Operational Efficiency with New OEE SoftwareBoost Operational Efficiency with New OEE Software
Boost Operational Efficiency with New OEE Software
 

Similaire à Take advantage of memory analyzer tool inside your continuous integration

Real time trend and failure analysis using TTA-Anand Bagmar & Aasawaree Deshmukh
Real time trend and failure analysis using TTA-Anand Bagmar & Aasawaree DeshmukhReal time trend and failure analysis using TTA-Anand Bagmar & Aasawaree Deshmukh
Real time trend and failure analysis using TTA-Anand Bagmar & Aasawaree Deshmukh
bhumika2108
 

Similaire à Take advantage of memory analyzer tool inside your continuous integration (20)

Ship code like a keptn
Ship code like a keptnShip code like a keptn
Ship code like a keptn
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
from 0 to continuous delivery in 30 minutes
from 0 to continuous delivery in 30 minutesfrom 0 to continuous delivery in 30 minutes
from 0 to continuous delivery in 30 minutes
 
Mulesoft AnyyPoint Monitoring for Hybrid Deployment
Mulesoft AnyyPoint Monitoring for Hybrid DeploymentMulesoft AnyyPoint Monitoring for Hybrid Deployment
Mulesoft AnyyPoint Monitoring for Hybrid Deployment
 
Warsaw MuleSoft Meetup #6 - CI/CD
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CD
 
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDMulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
 
DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013
 
Time to build and test results 3x faster - how we did it
Time to build and test results 3x faster - how we did itTime to build and test results 3x faster - how we did it
Time to build and test results 3x faster - how we did it
 
Monitoring system for OpenStack,using a OSS products
Monitoring system for OpenStack,using a OSS productsMonitoring system for OpenStack,using a OSS products
Monitoring system for OpenStack,using a OSS products
 
Real time trend and failure analysis using TTA-Anand Bagmar & Aasawaree Deshmukh
Real time trend and failure analysis using TTA-Anand Bagmar & Aasawaree DeshmukhReal time trend and failure analysis using TTA-Anand Bagmar & Aasawaree Deshmukh
Real time trend and failure analysis using TTA-Anand Bagmar & Aasawaree Deshmukh
 
One Month to the App Store
One Month to the App StoreOne Month to the App Store
One Month to the App Store
 
PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux
 
Connect the Dots: Logging and Custom Connectors
Connect the Dots: Logging and Custom ConnectorsConnect the Dots: Logging and Custom Connectors
Connect the Dots: Logging and Custom Connectors
 
Making the Agile Leap to Continuous Deployment
Making the Agile Leap to Continuous DeploymentMaking the Agile Leap to Continuous Deployment
Making the Agile Leap to Continuous Deployment
 
Vancouver mulesoft meetup_september_2020
Vancouver mulesoft meetup_september_2020Vancouver mulesoft meetup_september_2020
Vancouver mulesoft meetup_september_2020
 
Container and Test Automation Management Practices in TrendMicro
Container and Test Automation Management Practices in TrendMicroContainer and Test Automation Management Practices in TrendMicro
Container and Test Automation Management Practices in TrendMicro
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 
Open Mic Webcast: IBM Sametime Audio Video Troubleshooting - 04 May 2016
Open Mic Webcast: IBM Sametime Audio Video Troubleshooting - 04 May 2016Open Mic Webcast: IBM Sametime Audio Video Troubleshooting - 04 May 2016
Open Mic Webcast: IBM Sametime Audio Video Troubleshooting - 04 May 2016
 
UI5con 2017 - UI5 Components - More Performance...
UI5con 2017 - UI5 Components - More Performance...UI5con 2017 - UI5 Components - More Performance...
UI5con 2017 - UI5 Components - More Performance...
 
Openbravo Performance Monitoring
Openbravo Performance MonitoringOpenbravo Performance Monitoring
Openbravo Performance Monitoring
 

Plus de Bonitasoft

Digitaliser ses processus en 2020 avec le Club des Pilotes de Processus
Digitaliser ses processus en 2020 avec le Club des Pilotes de ProcessusDigitaliser ses processus en 2020 avec le Club des Pilotes de Processus
Digitaliser ses processus en 2020 avec le Club des Pilotes de Processus
Bonitasoft
 

Plus de Bonitasoft (20)

Digitalize your processes in 2020
Digitalize your processes in 2020Digitalize your processes in 2020
Digitalize your processes in 2020
 
Digitaliser ses processus en 2020 avec le Club des Pilotes de Processus
Digitaliser ses processus en 2020 avec le Club des Pilotes de ProcessusDigitaliser ses processus en 2020 avec le Club des Pilotes de Processus
Digitaliser ses processus en 2020 avec le Club des Pilotes de Processus
 
Build a Center of Excellence
Build a Center of ExcellenceBuild a Center of Excellence
Build a Center of Excellence
 
Construir un Centro de Excellencia
Construir un Centro de ExcellenciaConstruir un Centro de Excellencia
Construir un Centro de Excellencia
 
User Centered Design: guarantee that your business process automation project...
User Centered Design: guarantee that your business process automation project...User Centered Design: guarantee that your business process automation project...
User Centered Design: guarantee that your business process automation project...
 
Bonnes pratiques #5 - Votre première application est en production. Et mainte...
Bonnes pratiques #5 - Votre première application est en production. Et mainte...Bonnes pratiques #5 - Votre première application est en production. Et mainte...
Bonnes pratiques #5 - Votre première application est en production. Et mainte...
 
Buenas Prácticas ES - Capítulo #5 - ¡Tu primera aplicación está en producción...
Buenas Prácticas ES - Capítulo #5 - ¡Tu primera aplicación está en producción...Buenas Prácticas ES - Capítulo #5 - ¡Tu primera aplicación está en producción...
Buenas Prácticas ES - Capítulo #5 - ¡Tu primera aplicación está en producción...
 
Best Practices #5: Your first application is in production! Now what?
Best Practices #5: Your first application is in production! Now what?Best Practices #5: Your first application is in production! Now what?
Best Practices #5: Your first application is in production! Now what?
 
IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...
IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...
IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...
 
e-ciudadanos: la evolución de los procesos administrativos
e-ciudadanos: la evolución de los procesos administrativose-ciudadanos: la evolución de los procesos administrativos
e-ciudadanos: la evolución de los procesos administrativos
 
Best Practices - chapter #4 - Web UI development and Bonita infrastructure setup
Best Practices - chapter #4 - Web UI development and Bonita infrastructure setupBest Practices - chapter #4 - Web UI development and Bonita infrastructure setup
Best Practices - chapter #4 - Web UI development and Bonita infrastructure setup
 
Buenas Prácticas ES - Capítulo #3 - Colaboración entre negocio y desarrollo c...
Buenas Prácticas ES - Capítulo #3 - Colaboración entre negocio y desarrollo c...Buenas Prácticas ES - Capítulo #3 - Colaboración entre negocio y desarrollo c...
Buenas Prácticas ES - Capítulo #3 - Colaboración entre negocio y desarrollo c...
 
Best Practices - chapter #3 - Business and developer collaboration with Bonita
Best Practices - chapter #3 - Business and developer collaboration with BonitaBest Practices - chapter #3 - Business and developer collaboration with Bonita
Best Practices - chapter #3 - Business and developer collaboration with Bonita
 
Bonnes pratiques pour gérer l'automatisation de vos processus - Chapitre 3 - ...
Bonnes pratiques pour gérer l'automatisation de vos processus - Chapitre 3 - ...Bonnes pratiques pour gérer l'automatisation de vos processus - Chapitre 3 - ...
Bonnes pratiques pour gérer l'automatisation de vos processus - Chapitre 3 - ...
 
DPA Bonita plateforme socle de votre automatisation des processus métiers - P...
DPA Bonita plateforme socle de votre automatisation des processus métiers - P...DPA Bonita plateforme socle de votre automatisation des processus métiers - P...
DPA Bonita plateforme socle de votre automatisation des processus métiers - P...
 
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
 
Bonita Cloud - Florent Sarat - Bonitaday Paris 2019
Bonita Cloud - Florent Sarat - Bonitaday Paris 2019Bonita Cloud - Florent Sarat - Bonitaday Paris 2019
Bonita Cloud - Florent Sarat - Bonitaday Paris 2019
 
Adaptive Case Management avec Bonita - Adrien Lachambre - Bonitaday Paris 2019
Adaptive Case Management avec Bonita - Adrien Lachambre - Bonitaday Paris 2019Adaptive Case Management avec Bonita - Adrien Lachambre - Bonitaday Paris 2019
Adaptive Case Management avec Bonita - Adrien Lachambre - Bonitaday Paris 2019
 
BPM & RPA l'automatisation de bout-en-bout - Bonitasoft et UiPath - Bonitaday...
BPM & RPA l'automatisation de bout-en-bout - Bonitasoft et UiPath - Bonitaday...BPM & RPA l'automatisation de bout-en-bout - Bonitasoft et UiPath - Bonitaday...
BPM & RPA l'automatisation de bout-en-bout - Bonitasoft et UiPath - Bonitaday...
 
Bonita et l'orchestration de micro-services - Nicolas Chabanoles - Bonitaday ...
Bonita et l'orchestration de micro-services - Nicolas Chabanoles - Bonitaday ...Bonita et l'orchestration de micro-services - Nicolas Chabanoles - Bonitaday ...
Bonita et l'orchestration de micro-services - Nicolas Chabanoles - Bonitaday ...
 

Dernier

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)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Take advantage of memory analyzer tool inside your continuous integration