Driving Behavioral Change for Information Management through Data-Driven Gree...
Continous monitoring con Hudson, Jmeter e iPhone
1. Continous monitoring con Hudson, Jmeter e iPhone
Riccardo Solimena – Codemotion 2011 - Roma
Riccardo Solimena – riccardo.solimena@gmail.com
2. Abstract
Il monitoraggio delle applicazioni è una parte fondamentale nel rilascio di un
prodotto. Spesso però arrivati a fine progetto, il budget per finanziarlo è quasi
inesistente. Grazie a prodotti Open e con un'interfaccia user-friendly come
Hudson e JMeter, è possibile creare degli efficienti sistemi di monitoring in
brevissimo tempo. Dopo una overview su Hudson e JMeter passeremo ad una
demo utilizzando lo scheduling e le integrazioni con i plugin Jmeter, Alert Email e
mobile monitoring su iPhone.
Riccardo Solimena – riccardo.solimena@gmail.com
4. Chi Sono? Riccardo Solimena
Agenda Senior Analyst Programmer
Chi sono?
Società
Continous Integration – Definizione
Continous Integration – Comparazione Prodotti Open
Hudson
Jenkins
Clienti
JMeter
Soap UI
Plugins Hudson
DEMO
Certificazioni
Domande
Riferimenti
Riccardo Solimena – riccardo.solimena@gmail.com
5. Continous Integration – Definizione
Agenda Continuous Integration is a software development practice
where members of a team integrate their work
frequently, usually each person integrates at least
daily - leading to multiple integrations per day.
Each integration is verified by an automated build
(including test) to detect integration errors as quickly
as possible. Many teams find that this approach leads
to significantly reduced integration problems and
allows a team to develop cohesive software more
rapidly.
(M. Fowler)
Riccardo Solimena – riccardo.solimena@gmail.com
6. Continous Integration – Comparazione Prodotti
Agenda Apache Continuum
• Pro: Advanced role security
• VS: Verbose configuration. Only Java. Not easy to use
Cruise Control
• Pro: Java and .NET Projects
• VS: Very verbose. Only XML Configs (external Swing application)
Hudson
• Pro: Simple. UI Interface. Extensible. Java and C#. 100+ stable Plugins (also TFS
and JMeter). Monitoring externally-run jobs… Light.
• VS: Not old as the other two (but 3+ years and acquired and extended from Oracle
group)
Riccardo Solimena – riccardo.solimena@gmail.com
7. Oracle Hudson
Agenda
Cron Java SMTP
shell
Hudson Maven JUnit Build Em@il
bat Builds
SVN
Ant JMeter CVS
TFS
HTML Twitter iPhone RRS Image
Riccardo Solimena – riccardo.solimena@gmail.com
8. Jenkins the Hudson fork
Agenda January 2010…
7.4 milions $ Oracle acquires SUN Microsystem
…April 2010
James Gosling, the creator of the Java programming
language, has resigned from Oracle. Gosling
follows a number of other noted ex-Sun employees
out the door, including CEO Jonathan Schwartz,
and XML co-inventor Tim Bray.
(NetworkWorld.com)
Riccardo Solimena – riccardo.solimena@gmail.com
9. Jenkins the Hudson fork
Agenda
Hudson CI Jenkins CI
Riccardo Solimena – riccardo.solimena@gmail.com
10. Apache JMeter
Agenda • JMeter is an Apache Jakarta project that can be used as a load
testing tool for analyzing and measuring the performance of a
variety of services like:
• Web - HTTP, HTTPS
• SOAP
• Database via JDBC
• LDAP
• JMS (Queues)
• Mail - POP3(S) and IMAP(S)
(Apache Jmeter web-site)
Riccardo Solimena – riccardo.solimena@gmail.com
11. Apache JMeter
Agenda Useful for availability and response time of
systems and projects.
• Servers/Machines are up or down?
• Web Services are working/well?
• SQL time response is good?
• HTML pages are reachable?
• Java code is responding with good
performance?
Riccardo Solimena – riccardo.solimena@gmail.com
12. SoapUI
Agenda soapUI is a free and open source cross-platform
Functional Testing solution. With an easy-to-
use graphical interface, and enterprise-class
features, soapUI allows you to easily and
rapidly create and execute automated
functional, regression, compliance, and load
tests. In a single test environment, soapUI
provides complete test coverage and supports
all the standard protocols and technologies
(soapUI web-site)
Riccardo Solimena – riccardo.solimena@gmail.com
13. Plugins Hudson
Agenda Hudson can produces scheduled builds.
If exists a system that aggregate JMeter results
so that Hudson can be used as web monitor it
would be simple to create dinamics
multiplatform monitoring systems...
But… it exists ☺
Its name is “Performance Reports plugin” and
integrates Jmeter executions in Hudson builds
Riccardo Solimena – riccardo.solimena@gmail.com
15. Domande? (5 minuti...)
Q: What if Hudson new release is released?
Agenda
A: hudson folder is different from configuration and projects’ folders, so upgrade is not a
problem
Q: What if JMeter project changes?
A: Just open the jmx file from editor or Jmeter GUI and modify then save it, Ant and
Hudson will no need changes.
Q: How many MB is the web application?
A: just 37 MB. Hudson configuration folder with Jmeter + iPhone + SVN plugins needs just
additional 31MB. Single build is 16KB and it can be simply without impact the CI
server (is an atomic folder)
Q: What about JVM consuming?
A: Hudson permits 100% JVM tuning directly by GUI, so memory usage is user defined
Riccardo Solimena – riccardo.solimena@gmail.com
16. Riferimenti
Jenkins http://jenkins-ci.org/
Agenda
Ant http://ant.apache.org/
Jmeter http://jakarta.apache.org/jmeter/
JMeter plugin http://wiki.hudson-ci.org/display/HUDSON/Performance+Plugin
iPhone plugin http://wiki.hudson-ci.org/display/HUDSON/iPhoneView+Plugin
SoapUI http://www.eviware.com/soapUI/soapui-products-overview.html
E-M@IL riccardo.solimena@gmail.com
WEB riccardosolimena.blogspot.com
FREE TIME www.youtube.com/riccardosolimena
TWITTER riccardosolimen
Grazie a tutti! ☺
Riccardo Solimena – riccardo.solimena@gmail.com