SlideShare a Scribd company logo
Multiplatform Java
application development
Nikita Salnikov-Tarnovski
@iNikem
http://plumbr.eu
Monday, October 21, 13
Plumbr company
•

Estonian startup trying to solve performance problems

•

We started with memory leaks and solved them :)

•

Ongoing effort, more problems to be solved

|
Monday, October 21, 13
Plumbr software
•

Java agent, runs alongside your application

•

Uses Instrumentation API to hook into your code

•

Native counterpart in platform-specific C code

|
Monday, October 21, 13
“External” Goals
•

To support java 5, 6, 7, JRockit, IBM JVM

•

To support Windows, Linux, Mac OS X, Solaris Sparc and
Solaris x86

•

Not the last versions only

|
Monday, October 21, 13
“Inner” goals
•

Build infrastructure as automated as possible

•

Automatic tests on all platforms

•

Release maintenance vs future development

•

Traceability

|
Monday, October 21, 13
Forward Traceability

|
Monday, October 21, 13
Backward traceability

1.2

1.3

2.0

|
Monday, October 21, 13

2.1

2.1.3
Our team

|
Monday, October 21, 13
One

|
Monday, October 21, 13
Two

|
Monday, October 21, 13
Virtually three

|
Monday, October 21, 13
Mini hero

|
Monday, October 21, 13
Ancient legend

|
Monday, October 21, 13
Mastermind

|
Monday, October 21, 13
Native part
•

Small subproject in C, rarely updated

•

Lives in BitBucket as well

•

Jenkins builds it with make

•

Then publishes to Artifactory

|
Monday, October 21, 13
The problem of libc
•

We build native part on AWS instance

•

But we need old enough libc

•

Have to use chroot with older system

|
Monday, October 21, 13
CI
•

Jenkins builds whole project on every commit

•

Runs fast tests, collects metrics

•

Pushes all artifacts to ‘builds’ repo

|
Monday, October 21, 13
Test pipeline
•

All those environments are put into Jenkins pipeline

•

Runs every night

•

Downloads given version from ‘builds’ repo and runs full
acceptance tests suite

|
Monday, October 21, 13
Acceptance test
•

End-to-end test

•

Leaking application is started and used

•

Plumbr’s report is then verified

|
Monday, October 21, 13
Nightly
•

If whole pipeline succeeds, pushes that tested version to
‘nightly’ repo

•

Updates downloadable version on our site

|
Monday, October 21, 13
Release
•

Another job in Jenkins

•

Lets you select version number from JIRA

•

Pushes ready version from ‘nightly’ to ‘release’ repo

•

Tags Mercurial revision corresponding to that version with
JIRA version tag

•

Updates Plumbr download page with new version

|
Monday, October 21, 13
Live fix

|
Monday, October 21, 13
Conclusion
•

WORA does not mean T(est)ORA

•

There are more to Java than Hotspot

•

We are blessed by not writing C

•

Tools matter a lot

|
Monday, October 21, 13
Solving performance problems is hard.
We don’t think it needs to be.
@iNIkem/@JavaPlumbr
plumbr.eu

Monday, October 21, 13

More Related Content

PDF
EUC2015 - Load testing XMPP servers with Plain Old Erlang
PPTX
Working Well Together: How to Keep High-end Game Development Teams Productive
PPTX
Load Testing with Taurus using Jenkins and AWS
PDF
The Beam Vision for Portability: "Write once run anywhere"
PDF
Working with FME in an Agile Software Development Lifecycle
PPTX
XPages build automation and testing
PDF
LCA14: LCA14-403: Importance of migrating external projects used in Android t...
PPTX
Introduction to stress test
EUC2015 - Load testing XMPP servers with Plain Old Erlang
Working Well Together: How to Keep High-end Game Development Teams Productive
Load Testing with Taurus using Jenkins and AWS
The Beam Vision for Portability: "Write once run anywhere"
Working with FME in an Agile Software Development Lifecycle
XPages build automation and testing
LCA14: LCA14-403: Importance of migrating external projects used in Android t...
Introduction to stress test

What's hot (20)

PDF
Overview of the Open Source Vulkan Driver for Raspberry Pi 4
PDF
Lca14 14-501- glibc-eglibc
PDF
BlaBlaCar and infrastructure automation
PPTX
Continous Delivery with CQ
PPTX
Moving 1,000 Users & 100 Branches into Streams
PDF
[Draft] Fast Prototyping with DPDK and eBPF in Containernet
ODP
Rex - Deployment and Configuration Management
PPTX
Task queuing with redis and rq
ODP
BlaBlaCar Elastic Search Feedback
PDF
Avro and its awesomeness
PDF
Raspberry and Pharo
PPTX
When Tools Attack
PDF
Kubernetes: The Very Hard Way
PDF
Summit 16: StorPerf: Cinder Storage Performance Measurement
PPT
Qt5 beta1 on ti platforms
PPT
ruby + websocket + haproxy
PDF
FOSDEM 2012 - OpenNebula Project
PDF
All of the thing about Postman
PPTX
Multi-Node Processing
PDF
BKK16-106 ODP Project Update
Overview of the Open Source Vulkan Driver for Raspberry Pi 4
Lca14 14-501- glibc-eglibc
BlaBlaCar and infrastructure automation
Continous Delivery with CQ
Moving 1,000 Users & 100 Branches into Streams
[Draft] Fast Prototyping with DPDK and eBPF in Containernet
Rex - Deployment and Configuration Management
Task queuing with redis and rq
BlaBlaCar Elastic Search Feedback
Avro and its awesomeness
Raspberry and Pharo
When Tools Attack
Kubernetes: The Very Hard Way
Summit 16: StorPerf: Cinder Storage Performance Measurement
Qt5 beta1 on ti platforms
ruby + websocket + haproxy
FOSDEM 2012 - OpenNebula Project
All of the thing about Postman
Multi-Node Processing
BKK16-106 ODP Project Update
Ad

Viewers also liked (11)

DOCX
LYA Cluster Schedule for 2015
PDF
Untitled Presentation
DOC
Permisos retribuidos 2014
PDF
Ryan Krysl Thesis
PPTX
Terral River Service | River Operations
PPTX
Today we are learning about geocashing!
PPTX
Infografia
PPT
Tatlong mukha ng kasamaan
PPT
Shipping facts
PPTX
Matemáticas
LYA Cluster Schedule for 2015
Untitled Presentation
Permisos retribuidos 2014
Ryan Krysl Thesis
Terral River Service | River Operations
Today we are learning about geocashing!
Infografia
Tatlong mukha ng kasamaan
Shipping facts
Matemáticas
Ad

Similar to JAZOON'13 - Nikita Salnikov-Tarnovski - Multiplatform Java application development (20)

PDF
Eclipse & java based modeling platforms for smart phone
PDF
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
PDF
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
PDF
Java keynote preso
PPTX
Lessons from Jenkins Platform Support
PDF
JavaOne 2010 Keynote
PDF
Improving Engineering Processes using Hudson - Spark IT 2010
ODP
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
PDF
Владимир Иванов (Oracle): Java: прошлое и будущее
POTX
Splunking the JVM (Java Virtual Machine)
PDF
CON6423: Scalable JavaScript applications with Project Nashorn
PDF
Lagergren jvmls-2014-final
PDF
The State of Java under Oracle at JCertif 2011
PDF
Hudson at FISL 2009
PPTX
A tour of Java and the JVM
PPTX
FOSDEM 2017 - Open J9 The Next Free Java VM
PDF
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
PPTX
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
PDF
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
PPTX
Eclipse Community Survey Report 2013
Eclipse & java based modeling platforms for smart phone
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
Java keynote preso
Lessons from Jenkins Platform Support
JavaOne 2010 Keynote
Improving Engineering Processes using Hudson - Spark IT 2010
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Владимир Иванов (Oracle): Java: прошлое и будущее
Splunking the JVM (Java Virtual Machine)
CON6423: Scalable JavaScript applications with Project Nashorn
Lagergren jvmls-2014-final
The State of Java under Oracle at JCertif 2011
Hudson at FISL 2009
A tour of Java and the JVM
FOSDEM 2017 - Open J9 The Next Free Java VM
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Eclipse Community Survey Report 2013

More from jazoon13 (18)

PPTX
JAZOON'13 - Joe Justice - Test First Saves The World
PPT
JAZOON'13 - Ulrika Park- User Story telling The Lost Art of User Stories
PDF
JAZOON'13 - Bartosz Majsak - Git Workshop - Kung Fu
PDF
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
PPT
JAZOON'13 - Oliver Zeigermann - Typed JavaScript with TypeScript
PPTX
JAZOON'13 - Andres Almiray - Spock: boldly go where no test has gone before
PPTX
JAZOON'13 - Andres Almiray - Rocket Propelled Java
PDF
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
PDF
JAZOON'13 - Pawel Wrzeszcz - Visibility Shift In Distributed Teams
PDF
JAZOON'13 - Kai Waehner - Hadoop Integration
PDF
JAZOON'13 - Sam Brannen - Spring Framework 4.0 - The Next Generation
PDF
JAZOON'13 - Guide Schmutz - Kafka and Strom Event Processing In Realtime
PDF
JAZOON'13 - Andrej Vckovski - Go synchronized
PDF
JAZOON'13 - Paul Brauner - A backend developer meets the web: my Dart experience
PDF
JAZOON'13 - Anatole Tresch - Go for the money (JSR 354) !
PPTX
JAZOON'13 - Abdelmonaim Remani - The Economies of Scaling Software
PDF
JAZOON'13 - Stefan Saasen - True Git: The Great Migration
PDF
JAZOON'13 - Stefan Saasen - Real World Git Workflows
JAZOON'13 - Joe Justice - Test First Saves The World
JAZOON'13 - Ulrika Park- User Story telling The Lost Art of User Stories
JAZOON'13 - Bartosz Majsak - Git Workshop - Kung Fu
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
JAZOON'13 - Oliver Zeigermann - Typed JavaScript with TypeScript
JAZOON'13 - Andres Almiray - Spock: boldly go where no test has gone before
JAZOON'13 - Andres Almiray - Rocket Propelled Java
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Pawel Wrzeszcz - Visibility Shift In Distributed Teams
JAZOON'13 - Kai Waehner - Hadoop Integration
JAZOON'13 - Sam Brannen - Spring Framework 4.0 - The Next Generation
JAZOON'13 - Guide Schmutz - Kafka and Strom Event Processing In Realtime
JAZOON'13 - Andrej Vckovski - Go synchronized
JAZOON'13 - Paul Brauner - A backend developer meets the web: my Dart experience
JAZOON'13 - Anatole Tresch - Go for the money (JSR 354) !
JAZOON'13 - Abdelmonaim Remani - The Economies of Scaling Software
JAZOON'13 - Stefan Saasen - True Git: The Great Migration
JAZOON'13 - Stefan Saasen - Real World Git Workflows

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Cloud computing and distributed systems.
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Machine learning based COVID-19 study performance prediction
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
sap open course for s4hana steps from ECC to s4
PDF
KodekX | Application Modernization Development
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Spectroscopy.pptx food analysis technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Spectral efficient network and resource selection model in 5G networks
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Weekly Chronicles - August'25 Week I
Cloud computing and distributed systems.
Encapsulation_ Review paper, used for researhc scholars
Machine learning based COVID-19 study performance prediction
Dropbox Q2 2025 Financial Results & Investor Presentation
sap open course for s4hana steps from ECC to s4
KodekX | Application Modernization Development
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Programs and apps: productivity, graphics, security and other tools
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectroscopy.pptx food analysis technology
Electronic commerce courselecture one. Pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Spectral efficient network and resource selection model in 5G networks

JAZOON'13 - Nikita Salnikov-Tarnovski - Multiplatform Java application development