SlideShare a Scribd company logo
1 of 14
Download to read offline
Application
Performance
Monitoring in Tryton
1/Why?
● Usually crashes are pretty easy to fix
● Other kind of bugs
1.1/Bugs/crashes?
● It is hard to analyze specially on production because it's
always too late
● Lots of elements:
● Server hardware
● Virtualization & OS
● PostgreSQL
● Python
● Trytond
● Trytond Modules
● Network
● Client
1.2/Performance
● Ideally: should take into account as much layers as
possible
● But, let's concentrate on Tryton
1.3/Specialized instrumentation
2/What is apm.py?
● A patch/hack on trytond/protocols
● Signals:
● SIGUSR1: Print currently running RPC calls in the log
● User ID
● Object & RPC method
● Postgres PID – APM!
● Current total execution time of the request
● SIGUSR2: Print backtrace in the log – great for finding
performance issues
2.1/The patch: Signals
● Profiling using:
● cProfile – A lof of overhead – should not be used in
production (usually)
● vmprof (from pypy project) – 2~3% overhead
● When?
● Criteria in trytond.conf (should it be dynamic??)
● Criteria can include: user, rpc request
● Storage of the trace based on criteria (same as above +
total time of request) – stores a Transaction ID
2.2/The patch: Profiling
● Logging in JSON format:
● Transaction ID
● Time spent on transaction
● RPC request
● User
● Only log based on criteria in trytond.conf
2.3/The patch: Logging
● Similar to Sentry
● Give the user a “Transaction ID” for tracking the error
● Maybe we should convert the Transaction ID into a docker-
like string: adjective_name such as angry_einstein
2.4/The patch: Friendly user message for crashes
3/What about data
gathering?
● Python
● Send and store in JSON format
● Pick information from servers to RabbitMQ server
● Store that information and query from the command line
3.1/Recull
http://www.NaN-tic.com
Albert Cervera i Areny
albert@nan-tic.com
@albertnan
linkedin.com/in/albertca
Application Performance Monitoring in Tryton

More Related Content

What's hot

Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/awaitC4Media
 
Pyconsg2014 pyston
Pyconsg2014 pystonPyconsg2014 pyston
Pyconsg2014 pystonmasahitojp
 
A Practical Event Driven Model
A Practical Event Driven ModelA Practical Event Driven Model
A Practical Event Driven ModelXi Wu
 
The Beam Vision for Portability: "Write once run anywhere"
The Beam Vision for Portability: "Write once run anywhere"The Beam Vision for Portability: "Write once run anywhere"
The Beam Vision for Portability: "Write once run anywhere"Knoldus Inc.
 
Training Slides: 252 - Monitoring & Troubleshooting
Training Slides: 252 - Monitoring & TroubleshootingTraining Slides: 252 - Monitoring & Troubleshooting
Training Slides: 252 - Monitoring & TroubleshootingContinuent
 
Python debugging techniques
Python debugging techniquesPython debugging techniques
Python debugging techniquesTuomas Suutari
 
Continuous Go Profiling & Observability
Continuous Go Profiling & ObservabilityContinuous Go Profiling & Observability
Continuous Go Profiling & ObservabilityScyllaDB
 
How to make your ruby code faster with multithreading
How to make your ruby code faster with multithreadingHow to make your ruby code faster with multithreading
How to make your ruby code faster with multithreadingSun-Li Beatteay
 
All of the thing about Postman
All of the thing about PostmanAll of the thing about Postman
All of the thing about PostmanAlihossein shahabi
 
Introduction to K6
Introduction to K6Introduction to K6
Introduction to K6Knoldus Inc.
 
Autonomous workload rebalancing in kafka
Autonomous workload rebalancing in kafkaAutonomous workload rebalancing in kafka
Autonomous workload rebalancing in kafkaIndrajeet Kumar
 
PostgreSQL and Compressed Documents (pgconf.ru 2018)
PostgreSQL and Compressed Documents (pgconf.ru 2018)PostgreSQL and Compressed Documents (pgconf.ru 2018)
PostgreSQL and Compressed Documents (pgconf.ru 2018)Aleksander Alekseev
 
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...Indonesia Network Operators Group
 
CPAN Gems From The Far East
CPAN Gems From The Far EastCPAN Gems From The Far East
CPAN Gems From The Far Eastlestrrat
 
Optimize Web Application Infrastructure by Rizki Nanda Agam
Optimize Web Application Infrastructure by Rizki Nanda Agam Optimize Web Application Infrastructure by Rizki Nanda Agam
Optimize Web Application Infrastructure by Rizki Nanda Agam k4ndar
 
DIEMS Repository Server - GitLab
DIEMS Repository Server - GitLabDIEMS Repository Server - GitLab
DIEMS Repository Server - GitLabMayur Deshmukh
 

What's hot (20)

Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/await
 
Pyconsg2014 pyston
Pyconsg2014 pystonPyconsg2014 pyston
Pyconsg2014 pyston
 
A Practical Event Driven Model
A Practical Event Driven ModelA Practical Event Driven Model
A Practical Event Driven Model
 
Mongodb meetup
Mongodb meetupMongodb meetup
Mongodb meetup
 
The Beam Vision for Portability: "Write once run anywhere"
The Beam Vision for Portability: "Write once run anywhere"The Beam Vision for Portability: "Write once run anywhere"
The Beam Vision for Portability: "Write once run anywhere"
 
Training Slides: 252 - Monitoring & Troubleshooting
Training Slides: 252 - Monitoring & TroubleshootingTraining Slides: 252 - Monitoring & Troubleshooting
Training Slides: 252 - Monitoring & Troubleshooting
 
Python debugging techniques
Python debugging techniquesPython debugging techniques
Python debugging techniques
 
Play Framework
Play FrameworkPlay Framework
Play Framework
 
Continuous Go Profiling & Observability
Continuous Go Profiling & ObservabilityContinuous Go Profiling & Observability
Continuous Go Profiling & Observability
 
How to make your ruby code faster with multithreading
How to make your ruby code faster with multithreadingHow to make your ruby code faster with multithreading
How to make your ruby code faster with multithreading
 
Coroutines in Kotlin
Coroutines in KotlinCoroutines in Kotlin
Coroutines in Kotlin
 
All of the thing about Postman
All of the thing about PostmanAll of the thing about Postman
All of the thing about Postman
 
Introduction to K6
Introduction to K6Introduction to K6
Introduction to K6
 
Autonomous workload rebalancing in kafka
Autonomous workload rebalancing in kafkaAutonomous workload rebalancing in kafka
Autonomous workload rebalancing in kafka
 
PostgreSQL and Compressed Documents (pgconf.ru 2018)
PostgreSQL and Compressed Documents (pgconf.ru 2018)PostgreSQL and Compressed Documents (pgconf.ru 2018)
PostgreSQL and Compressed Documents (pgconf.ru 2018)
 
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
 
CPAN Gems From The Far East
CPAN Gems From The Far EastCPAN Gems From The Far East
CPAN Gems From The Far East
 
Optimize Web Application Infrastructure by Rizki Nanda Agam
Optimize Web Application Infrastructure by Rizki Nanda Agam Optimize Web Application Infrastructure by Rizki Nanda Agam
Optimize Web Application Infrastructure by Rizki Nanda Agam
 
Neo4j Graph Database, from PHP
Neo4j Graph Database, from PHPNeo4j Graph Database, from PHP
Neo4j Graph Database, from PHP
 
DIEMS Repository Server - GitLab
DIEMS Repository Server - GitLabDIEMS Repository Server - GitLab
DIEMS Repository Server - GitLab
 

Viewers also liked

Cómo aprovechar tu ERP
Cómo aprovechar tu ERPCómo aprovechar tu ERP
Cómo aprovechar tu ERPNaN-tic
 
Durabilitat de la informació (i la inversió)
Durabilitat de la informació (i la inversió)Durabilitat de la informació (i la inversió)
Durabilitat de la informació (i la inversió)NaN-tic
 
Introducción a la programación en Tryton
Introducción a la programación en TrytonIntroducción a la programación en Tryton
Introducción a la programación en TrytonNaN-tic
 
Logistica en Tryton
Logistica en TrytonLogistica en Tryton
Logistica en TrytonNaN-tic
 
La seguretat a Tryton
La seguretat a TrytonLa seguretat a Tryton
La seguretat a TrytonNaN-tic
 
Reporting en tryton
Reporting en trytonReporting en tryton
Reporting en trytonNaN-tic
 
Tryton como backend de páginas web
Tryton como backend de páginas webTryton como backend de páginas web
Tryton como backend de páginas webNaN-tic
 
BaBI - Basic Business Intelligence for OpenERP
BaBI - Basic Business Intelligence for OpenERPBaBI - Basic Business Intelligence for OpenERP
BaBI - Basic Business Intelligence for OpenERPNaN-tic
 
Rendimiento del sistema Tryton
Rendimiento del sistema TrytonRendimiento del sistema Tryton
Rendimiento del sistema TrytonNaN-tic
 
Seguridad en Tryton
Seguridad en TrytonSeguridad en Tryton
Seguridad en TrytonNaN-tic
 
10 coses que has de saber abans d’escollir una eina de gestió empresarial
10 coses que has de saber abans d’escollir una  eina de gestió empresarial10 coses que has de saber abans d’escollir una  eina de gestió empresarial
10 coses que has de saber abans d’escollir una eina de gestió empresarialNaN-tic
 
Implantación de almacenes y producción
Implantación de almacenes y producciónImplantación de almacenes y producción
Implantación de almacenes y producciónNaN-tic
 
ERPs en codi obert: una alternativa estratègica per a la gestió empresarial
ERPs en codi obert: una alternativa estratègica per a la gestió empresarialERPs en codi obert: una alternativa estratègica per a la gestió empresarial
ERPs en codi obert: una alternativa estratègica per a la gestió empresarialNaN-tic
 
Noves tendències en eines de gestió empresarial de codi obert
Noves tendències en eines de gestió empresarial de codi obertNoves tendències en eines de gestió empresarial de codi obert
Noves tendències en eines de gestió empresarial de codi obertNaN-tic
 
Introducción a tryton
Introducción a trytonIntroducción a tryton
Introducción a trytonNaN-tic
 

Viewers also liked (17)

Cómo aprovechar tu ERP
Cómo aprovechar tu ERPCómo aprovechar tu ERP
Cómo aprovechar tu ERP
 
Durabilitat de la informació (i la inversió)
Durabilitat de la informació (i la inversió)Durabilitat de la informació (i la inversió)
Durabilitat de la informació (i la inversió)
 
Introducción a la programación en Tryton
Introducción a la programación en TrytonIntroducción a la programación en Tryton
Introducción a la programación en Tryton
 
Logistica en Tryton
Logistica en TrytonLogistica en Tryton
Logistica en Tryton
 
La seguretat a Tryton
La seguretat a TrytonLa seguretat a Tryton
La seguretat a Tryton
 
Reporting en tryton
Reporting en trytonReporting en tryton
Reporting en tryton
 
Tryton como backend de páginas web
Tryton como backend de páginas webTryton como backend de páginas web
Tryton como backend de páginas web
 
Tryton
TrytonTryton
Tryton
 
BaBI - Basic Business Intelligence for OpenERP
BaBI - Basic Business Intelligence for OpenERPBaBI - Basic Business Intelligence for OpenERP
BaBI - Basic Business Intelligence for OpenERP
 
Rendimiento del sistema Tryton
Rendimiento del sistema TrytonRendimiento del sistema Tryton
Rendimiento del sistema Tryton
 
Seguridad en Tryton
Seguridad en TrytonSeguridad en Tryton
Seguridad en Tryton
 
10 coses que has de saber abans d’escollir una eina de gestió empresarial
10 coses que has de saber abans d’escollir una  eina de gestió empresarial10 coses que has de saber abans d’escollir una  eina de gestió empresarial
10 coses que has de saber abans d’escollir una eina de gestió empresarial
 
Implantación de almacenes y producción
Implantación de almacenes y producciónImplantación de almacenes y producción
Implantación de almacenes y producción
 
Kafkadb
KafkadbKafkadb
Kafkadb
 
ERPs en codi obert: una alternativa estratègica per a la gestió empresarial
ERPs en codi obert: una alternativa estratègica per a la gestió empresarialERPs en codi obert: una alternativa estratègica per a la gestió empresarial
ERPs en codi obert: una alternativa estratègica per a la gestió empresarial
 
Noves tendències en eines de gestió empresarial de codi obert
Noves tendències en eines de gestió empresarial de codi obertNoves tendències en eines de gestió empresarial de codi obert
Noves tendències en eines de gestió empresarial de codi obert
 
Introducción a tryton
Introducción a trytonIntroducción a tryton
Introducción a tryton
 

Similar to Application Performance Monitoring in Tryton

Mirko Damiani - An Embedded soft real time distributed system in Go
Mirko Damiani - An Embedded soft real time distributed system in GoMirko Damiani - An Embedded soft real time distributed system in Go
Mirko Damiani - An Embedded soft real time distributed system in Golinuxlab_conf
 
The journey of a symfony app from 150ms to 20ms
The journey of a symfony app from 150ms to 20msThe journey of a symfony app from 150ms to 20ms
The journey of a symfony app from 150ms to 20msAlexandru Bumbacea
 
Lcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future EnhancementsLcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future EnhancementsLinaro
 
Long running php processes
Long running php processesLong running php processes
Long running php processesUgur Atar
 
chapter 1 -Basic Structure of Computers.pptx
chapter 1 -Basic Structure of Computers.pptxchapter 1 -Basic Structure of Computers.pptx
chapter 1 -Basic Structure of Computers.pptxjanani603976
 
Task migration using CRIU
Task migration using CRIUTask migration using CRIU
Task migration using CRIURohit Jnagal
 
Dumb Ways To Die: How Not To Write TCP-based Network Applications
Dumb Ways To Die: How Not To Write TCP-based Network ApplicationsDumb Ways To Die: How Not To Write TCP-based Network Applications
Dumb Ways To Die: How Not To Write TCP-based Network ApplicationsHLL
 
MicroPython&electronics prezentācija
MicroPython&electronics prezentācija MicroPython&electronics prezentācija
MicroPython&electronics prezentācija CRImier
 
RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...NTT Software Innovation Center
 
Top 10 Tricks and Tools of an Oracle EPM Administrator
Top 10 Tricks and Tools of an Oracle EPM AdministratorTop 10 Tricks and Tools of an Oracle EPM Administrator
Top 10 Tricks and Tools of an Oracle EPM Administratornking821
 
Oleksii Pedorenko and Dmytro Melnychuk "DAO Project Experience"
Oleksii Pedorenko and Dmytro Melnychuk "DAO Project Experience"Oleksii Pedorenko and Dmytro Melnychuk "DAO Project Experience"
Oleksii Pedorenko and Dmytro Melnychuk "DAO Project Experience"LogeekNightUkraine
 
Swapping Pacemaker Corosync with repmgr
Swapping Pacemaker Corosync with repmgrSwapping Pacemaker Corosync with repmgr
Swapping Pacemaker Corosync with repmgrPGConf APAC
 
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)Wei Shan Ang
 
Plone Performance, Profiling, Power-Consumption
Plone Performance, Profiling, Power-ConsumptionPlone Performance, Profiling, Power-Consumption
Plone Performance, Profiling, Power-ConsumptionJens Klein
 
Turbo charge your logs
Turbo charge your logsTurbo charge your logs
Turbo charge your logsJeremy Cook
 
Liferay portals in real projects
Liferay portals  in real projectsLiferay portals  in real projects
Liferay portals in real projectsIBACZ
 

Similar to Application Performance Monitoring in Tryton (20)

Mirko Damiani - An Embedded soft real time distributed system in Go
Mirko Damiani - An Embedded soft real time distributed system in GoMirko Damiani - An Embedded soft real time distributed system in Go
Mirko Damiani - An Embedded soft real time distributed system in Go
 
The journey of a symfony app from 150ms to 20ms
The journey of a symfony app from 150ms to 20msThe journey of a symfony app from 150ms to 20ms
The journey of a symfony app from 150ms to 20ms
 
Lcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future EnhancementsLcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future Enhancements
 
FreeRTOS introduction
FreeRTOS introductionFreeRTOS introduction
FreeRTOS introduction
 
Long running php processes
Long running php processesLong running php processes
Long running php processes
 
chapter 1 -Basic Structure of Computers.pptx
chapter 1 -Basic Structure of Computers.pptxchapter 1 -Basic Structure of Computers.pptx
chapter 1 -Basic Structure of Computers.pptx
 
Task migration using CRIU
Task migration using CRIUTask migration using CRIU
Task migration using CRIU
 
Dumb Ways To Die: How Not To Write TCP-based Network Applications
Dumb Ways To Die: How Not To Write TCP-based Network ApplicationsDumb Ways To Die: How Not To Write TCP-based Network Applications
Dumb Ways To Die: How Not To Write TCP-based Network Applications
 
MicroPython&electronics prezentācija
MicroPython&electronics prezentācija MicroPython&electronics prezentācija
MicroPython&electronics prezentācija
 
Pcp
PcpPcp
Pcp
 
RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...
 
Top 10 Tricks and Tools of an Oracle EPM Administrator
Top 10 Tricks and Tools of an Oracle EPM AdministratorTop 10 Tricks and Tools of an Oracle EPM Administrator
Top 10 Tricks and Tools of an Oracle EPM Administrator
 
Multicore
MulticoreMulticore
Multicore
 
Oleksii Pedorenko and Dmytro Melnychuk "DAO Project Experience"
Oleksii Pedorenko and Dmytro Melnychuk "DAO Project Experience"Oleksii Pedorenko and Dmytro Melnychuk "DAO Project Experience"
Oleksii Pedorenko and Dmytro Melnychuk "DAO Project Experience"
 
Swapping Pacemaker Corosync with repmgr
Swapping Pacemaker Corosync with repmgrSwapping Pacemaker Corosync with repmgr
Swapping Pacemaker Corosync with repmgr
 
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
 
Plone Performance, Profiling, Power-Consumption
Plone Performance, Profiling, Power-ConsumptionPlone Performance, Profiling, Power-Consumption
Plone Performance, Profiling, Power-Consumption
 
Turbo charge your logs
Turbo charge your logsTurbo charge your logs
Turbo charge your logs
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Liferay portals in real projects
Liferay portals  in real projectsLiferay portals  in real projects
Liferay portals in real projects
 

More from NaN-tic

Tryton Unfrequently Given Answers
Tryton Unfrequently Given AnswersTryton Unfrequently Given Answers
Tryton Unfrequently Given AnswersNaN-tic
 
Arquitectura de PostgreSQL
Arquitectura de PostgreSQLArquitectura de PostgreSQL
Arquitectura de PostgreSQLNaN-tic
 
ViDSigner & Tryton ERP: integración de firma digital segura
ViDSigner & Tryton ERP: integración de firma digital seguraViDSigner & Tryton ERP: integración de firma digital segura
ViDSigner & Tryton ERP: integración de firma digital seguraNaN-tic
 
Apps móviles para la gestión de almacenes
Apps móviles para la gestión de almacenesApps móviles para la gestión de almacenes
Apps móviles para la gestión de almacenesNaN-tic
 
Gestión de poyectos de instalaciones con tryton erp
Gestión de poyectos de instalaciones con tryton erpGestión de poyectos de instalaciones con tryton erp
Gestión de poyectos de instalaciones con tryton erpNaN-tic
 
Invoke y como poner en marcha un entorno de trabajo
Invoke y como poner en marcha un entorno de trabajoInvoke y como poner en marcha un entorno de trabajo
Invoke y como poner en marcha un entorno de trabajoNaN-tic
 
Contratos y servicios de facturacion recurrente
Contratos y servicios de facturacion recurrenteContratos y servicios de facturacion recurrente
Contratos y servicios de facturacion recurrenteNaN-tic
 
Produccion en Tryton
Produccion en TrytonProduccion en Tryton
Produccion en TrytonNaN-tic
 
BaBI - El motor de anàlisis de negocio
BaBI -  El motor de anàlisis de negocioBaBI -  El motor de anàlisis de negocio
BaBI - El motor de anàlisis de negocioNaN-tic
 
Com aprofitar el teu ERP
Com aprofitar el teu ERPCom aprofitar el teu ERP
Com aprofitar el teu ERPNaN-tic
 
NaN-tic Bitz: Del negoci als bits
NaN-tic Bitz: Del negoci als bitsNaN-tic Bitz: Del negoci als bits
NaN-tic Bitz: Del negoci als bitsNaN-tic
 
Començar des de zero sense finançament
Començar des de zero sense finançamentComençar des de zero sense finançament
Començar des de zero sense finançamentNaN-tic
 
Vertical para granjas de crianza y engorde OpenERP
Vertical para granjas de crianza y engorde OpenERPVertical para granjas de crianza y engorde OpenERP
Vertical para granjas de crianza y engorde OpenERPNaN-tic
 

More from NaN-tic (14)

Tryton Unfrequently Given Answers
Tryton Unfrequently Given AnswersTryton Unfrequently Given Answers
Tryton Unfrequently Given Answers
 
Arquitectura de PostgreSQL
Arquitectura de PostgreSQLArquitectura de PostgreSQL
Arquitectura de PostgreSQL
 
ViDSigner & Tryton ERP: integración de firma digital segura
ViDSigner & Tryton ERP: integración de firma digital seguraViDSigner & Tryton ERP: integración de firma digital segura
ViDSigner & Tryton ERP: integración de firma digital segura
 
Apps móviles para la gestión de almacenes
Apps móviles para la gestión de almacenesApps móviles para la gestión de almacenes
Apps móviles para la gestión de almacenes
 
Gestión de poyectos de instalaciones con tryton erp
Gestión de poyectos de instalaciones con tryton erpGestión de poyectos de instalaciones con tryton erp
Gestión de poyectos de instalaciones con tryton erp
 
Invoke y como poner en marcha un entorno de trabajo
Invoke y como poner en marcha un entorno de trabajoInvoke y como poner en marcha un entorno de trabajo
Invoke y como poner en marcha un entorno de trabajo
 
Contratos y servicios de facturacion recurrente
Contratos y servicios de facturacion recurrenteContratos y servicios de facturacion recurrente
Contratos y servicios de facturacion recurrente
 
Produccion en Tryton
Produccion en TrytonProduccion en Tryton
Produccion en Tryton
 
BaBI - El motor de anàlisis de negocio
BaBI -  El motor de anàlisis de negocioBaBI -  El motor de anàlisis de negocio
BaBI - El motor de anàlisis de negocio
 
Com aprofitar el teu ERP
Com aprofitar el teu ERPCom aprofitar el teu ERP
Com aprofitar el teu ERP
 
NaN-tic Bitz: Del negoci als bits
NaN-tic Bitz: Del negoci als bitsNaN-tic Bitz: Del negoci als bits
NaN-tic Bitz: Del negoci als bits
 
Tryton
TrytonTryton
Tryton
 
Començar des de zero sense finançament
Començar des de zero sense finançamentComençar des de zero sense finançament
Començar des de zero sense finançament
 
Vertical para granjas de crianza y engorde OpenERP
Vertical para granjas de crianza y engorde OpenERPVertical para granjas de crianza y engorde OpenERP
Vertical para granjas de crianza y engorde OpenERP
 

Recently uploaded

Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Kirill Klimov
 
Kenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby AfricaKenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby Africaictsugar
 
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdfIntro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdfpollardmorgan
 
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdfNewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdfKhaled Al Awadi
 
8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCRashishs7044
 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxMarkAnthonyAurellano
 
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / NcrCall Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncrdollysharma2066
 
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
Keppel Ltd. 1Q 2024 Business Update  Presentation SlidesKeppel Ltd. 1Q 2024 Business Update  Presentation Slides
Keppel Ltd. 1Q 2024 Business Update Presentation SlidesKeppelCorporation
 
Case study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailCase study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailAriel592675
 
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMarket Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMintel Group
 
Digital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfDigital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfJos Voskuil
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607dollysharma2066
 
/:Call Girls In Indirapuram Ghaziabad ➥9990211544 Independent Best Escorts In...
/:Call Girls In Indirapuram Ghaziabad ➥9990211544 Independent Best Escorts In.../:Call Girls In Indirapuram Ghaziabad ➥9990211544 Independent Best Escorts In...
/:Call Girls In Indirapuram Ghaziabad ➥9990211544 Independent Best Escorts In...lizamodels9
 
Future Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted VersionFuture Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted VersionMintel Group
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesKeppelCorporation
 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCRashishs7044
 
RE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman LeechRE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman LeechNewman George Leech
 
BEST Call Girls In Old Faridabad ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,
BEST Call Girls In Old Faridabad ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,BEST Call Girls In Old Faridabad ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,
BEST Call Girls In Old Faridabad ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,noida100girls
 
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
Tech Startup Growth Hacking 101  - Basics on Growth MarketingTech Startup Growth Hacking 101  - Basics on Growth Marketing
Tech Startup Growth Hacking 101 - Basics on Growth MarketingShawn Pang
 
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...lizamodels9
 

Recently uploaded (20)

Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024
 
Kenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby AfricaKenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby Africa
 
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdfIntro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
 
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdfNewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
 
8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR8447779800, Low rate Call girls in Saket Delhi NCR
8447779800, Low rate Call girls in Saket Delhi NCR
 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
 
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / NcrCall Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
 
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
Keppel Ltd. 1Q 2024 Business Update  Presentation SlidesKeppel Ltd. 1Q 2024 Business Update  Presentation Slides
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
 
Case study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailCase study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detail
 
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMarket Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 Edition
 
Digital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfDigital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdf
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
 
/:Call Girls In Indirapuram Ghaziabad ➥9990211544 Independent Best Escorts In...
/:Call Girls In Indirapuram Ghaziabad ➥9990211544 Independent Best Escorts In.../:Call Girls In Indirapuram Ghaziabad ➥9990211544 Independent Best Escorts In...
/:Call Girls In Indirapuram Ghaziabad ➥9990211544 Independent Best Escorts In...
 
Future Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted VersionFuture Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted Version
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation Slides
 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
 
RE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman LeechRE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman Leech
 
BEST Call Girls In Old Faridabad ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,
BEST Call Girls In Old Faridabad ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,BEST Call Girls In Old Faridabad ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,
BEST Call Girls In Old Faridabad ✨ 9773824855 ✨ Escorts Service In Delhi Ncr,
 
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
Tech Startup Growth Hacking 101  - Basics on Growth MarketingTech Startup Growth Hacking 101  - Basics on Growth Marketing
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
 
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
 

Application Performance Monitoring in Tryton

  • 3. ● Usually crashes are pretty easy to fix ● Other kind of bugs 1.1/Bugs/crashes?
  • 4. ● It is hard to analyze specially on production because it's always too late ● Lots of elements: ● Server hardware ● Virtualization & OS ● PostgreSQL ● Python ● Trytond ● Trytond Modules ● Network ● Client 1.2/Performance
  • 5. ● Ideally: should take into account as much layers as possible ● But, let's concentrate on Tryton 1.3/Specialized instrumentation
  • 7. ● A patch/hack on trytond/protocols ● Signals: ● SIGUSR1: Print currently running RPC calls in the log ● User ID ● Object & RPC method ● Postgres PID – APM! ● Current total execution time of the request ● SIGUSR2: Print backtrace in the log – great for finding performance issues 2.1/The patch: Signals
  • 8. ● Profiling using: ● cProfile – A lof of overhead – should not be used in production (usually) ● vmprof (from pypy project) – 2~3% overhead ● When? ● Criteria in trytond.conf (should it be dynamic??) ● Criteria can include: user, rpc request ● Storage of the trace based on criteria (same as above + total time of request) – stores a Transaction ID 2.2/The patch: Profiling
  • 9. ● Logging in JSON format: ● Transaction ID ● Time spent on transaction ● RPC request ● User ● Only log based on criteria in trytond.conf 2.3/The patch: Logging
  • 10. ● Similar to Sentry ● Give the user a “Transaction ID” for tracking the error ● Maybe we should convert the Transaction ID into a docker- like string: adjective_name such as angry_einstein 2.4/The patch: Friendly user message for crashes
  • 12. ● Python ● Send and store in JSON format ● Pick information from servers to RabbitMQ server ● Store that information and query from the command line 3.1/Recull
  • 13. http://www.NaN-tic.com Albert Cervera i Areny albert@nan-tic.com @albertnan linkedin.com/in/albertca