SlideShare uma empresa Scribd logo
1 de 49
JVM Inside & monitoring with
 MBean, jmxtrans, graphite




               Introduced by: Nghi Nguyen Van
                     ~ March, 22nd 2012 ~

                                     www.exoplatform.com
                               Copyright 2011 eXo Platform
Agenda                                                                 ●●●●
•   Introduction
•   JVM & Memory Structure in JVM
•   JMX and MBean
•   Jmxtrans as a JVM query tool
•   Demo graphite as a JVM historical data manager tool
•   Tips and tricks
•   Q&A




                                                         www.exoplatform.com
                               2
                                                   Copyright 2011 eXo Platform
Introduction
                                                                              ●●●●
Purpose of this presentation:
      Purposes of monitoring a JVM
      Introduce about a way to monitor a JVM
      Introduce about how to build an eXo product JVM monitoring
           system
This presentation serves to:
● Leaders to understand about performance test reports and to give
  advices & suggestions with performance test reports base on the JVM
  detail information
● Who is new in using JVM monitoring tools
● Testers who have to work directly and often with JVM
  monitoring tools



                                                                www.exoplatform.com
                                     3
                                                          Copyright 2011 eXo Platform
Purposes of monitoring JVM


                         www.exoplatform.com
                   Copyright 2011 eXo Platform
Value of code (Value of a product)                                             ●●●●
Value of a software product
         •   Meet the business requirement
         •   Users satisfaction
         •   Save time and money, give more business value
         •   Rich features
         •   Stable, high performance
         •   Easy to backup/maintain/improve
         •   …




                                                                   www.exoplatform.com
                                   5
                                                             Copyright 2011 eXo Platform
We want to make our code more value                          ●●●●
•   The code generates value when it is used/run/inherit not when we
    write it
•   We need to know how our code performed when it run
•   We cannot do this unless we measure it




                                                            www.exoplatform.com
                                  6
                                                      Copyright 2011 eXo Platform
Why measure                                                ●●●●

•   map ≠ territory
•   map of Ha noi ≠ city of Ha noi
•   the way we talk ≠ the way it is
•   the way we think of ≠ the way itself
•   perception ≠ reality




                                                 www.exoplatform.com
                                    7
                                           Copyright 2011 eXo Platform
Why measure – mental model, it's not the code               ●●●●
•   We have mental model of the code
•   mental model, it's not the code
•   Sometime, it's wrong
•   Sometime, it’s a big mistake




                                                  www.exoplatform.com
                                 8
                                            Copyright 2011 eXo Platform
Why measure – cont.                                        ●●●●
•   We cant know until we measure it




                                             www.exoplatform.com
                                 9
                                       Copyright 2011 eXo Platform
Why measure – cont.                                                                    ●●●●
•   This affect how we make decisions
    •   A better mental model make us better at deciding what to do
    •   A better mental model make us better at generating value
    •   Measuring make our decisions better




                                                                         www.exoplatform.com
                                         10
                                                                   Copyright 2011 eXo Platform
JVM & Memory Structure in JVM


                             www.exoplatform.com
                       Copyright 2011 eXo Platform
Java – how java code executed                       ●●●●




                                      www.exoplatform.com
                       12
                                Copyright 2011 eXo Platform
Java Virtual Machine architecture                       ●●●●




                                          www.exoplatform.com
                       13
                                    Copyright 2011 eXo Platform
Java - JVM Memory Structure – Heap detail                  ●●●●




                                             www.exoplatform.com
                       14
                                       Copyright 2011 eXo Platform
JMX and MBean



            www.exoplatform.com
      Copyright 2011 eXo Platform
What is the JMX                                                                    ●●●●
•   Java Management Extension
    •   It consists of:
                • An architecture
                • Design patterns
                • Java APIs
                • Services for application and network management




                                                                     www.exoplatform.com
                                       16
                                                               Copyright 2011 eXo Platform
What is the JMX (cont.)                                                                 ●●●●
      • Enables Java applications to be managed without heavy
        investment
          – Little impact on Java application design
      • Provides scaleable management architecture
          – Component architecture, pick and choose components
      • Integrates existing management solutions
          – Can be managed via multiple protocols, e.g. SNMP, WBEM, HTTP
          – Information model independent
      • Leverages existing standard Java




                                                                           www.exoplatform.com
                                        17
                                                                    Copyright 2011 eXo Platform
The JMX architecture                            ●●●●




                                  www.exoplatform.com
                       18
                            Copyright 2011 eXo Platform
The JMX architecture (cont.)                                                  ●●●●
 • The JMX architecture defines three levels:
   – Instrumentation Level
       • How to instrument managed resources
   – Server Level
       • How managed resources are managed via the management server
   – Distributed Services Level
       • How distributed clients and management applications access and
         interact with servers and the managed resources in the servers




                                                                www.exoplatform.com
                                   19
                                                          Copyright 2011 eXo Platform
The JMX architecture (cont.)                                                       ●●●●
 • Basic goal
   – In a running Java application, we would like to be able to:
       • Manage existing Java objects:
           – get an attribute value
           – change an attribute value
           – invoke an operation
       • Add new Java objects:
           – using existing Java classes
           – using new classes from an arbitrary location
       • And do all this from a remote location




                                                                     www.exoplatform.com
                                     20
                                                               Copyright 2011 eXo Platform
MBean                                                                        ●●●●
 • MBean: Managed bean. Java class implementing a management
   interface and representing a resource to be managed or
   monitored
 • MBean
   – Defines how resources are instrumented using MBean
   – MBean instrumentation allows the resource to be manageable
     through JMX-compliant agents
 • Notification Model
   – MBean and other JMX components
   may emit notifications
 • MBean Metadata Classes
   – Describes the MBean's management
   interface for management agents
   and management


                                                               www.exoplatform.com
                                  21
                                                         Copyright 2011 eXo Platform
MBean (cont.)                                                                    ●●●●
 • An MBean exposes the management interface of the
   managed resource/object
   – The management interface is the set of information and controls that
     a management application uses to operate on the resource




                                                                   www.exoplatform.com
                                    22
                                                             Copyright 2011 eXo Platform
MBean (cont.)                                                                   ●●●●
 • An MBean exposes the management interface as:
   – Attributes which may be accessed
   – Operations which may be invoked
   – Notifications which may be emitted (optional)
   – Constructors for the MBean's Java class
 • An MBean follows design patterns
   – The way an attribute or operation to be exposed has to be declared
 • An MBean must be registered in the MBean server to be
   visible remotely
 • An MBean does not know about its MBean




                                                                  www.exoplatform.com
                                    23
                                                            Copyright 2011 eXo Platform
MBean (cont.)                                                                 ●●●●
 • The MBean server is a registry of objects which are exposed
   to management operations in a server
   – Only registered MBean can be managed from outside the server's
     JVM
      • The MBean server only exposes an MBean's management
        interface (not the MBean's direct reference)
 • Also provides standardized interface for accessing MBean
   within the same JVM




                                                                www.exoplatform.com
                                  24
                                                          Copyright 2011 eXo Platform
Tools that allow to connect to JVM remotely via JMX
                                                                    ●●●●
 •   Jconsole
 •   visualvm
 •   Memory Analyzer Tool
 •   …




                                                      www.exoplatform.com
                             25
                                                Copyright 2011 eXo Platform
Tools that allow to deal with MBean through web interface
                                                                               ●●●●
 • JBoss jmx console
    – Enable user name and password here: server/default/conf/props/jmx-
      console-users.properties
 • javamelody
 • …




                                                                 www.exoplatform.com
                                    26
                                                           Copyright 2011 eXo Platform
JMX notice – enable JMX RMI connection first
                                                                    ●●●●
 -Dcom.sun.management.jmxremote=true
 -Dcom.sun.management.jmxremote.ssl=false
 -Dcom.sun.management.jmxremote.port=8004
 -Dcom.sun.management.jmxremote.authenticate=false




                                                      www.exoplatform.com
                             27
                                                Copyright 2011 eXo Platform
Jmxtrans as a JVM query tool


                            www.exoplatform.com
                      Copyright 2011 eXo Platform
Jmxtrans introduction
                                                                             ●●●●
 • jmxtrans is a tool which allows you to connect to any
   number of Java Virtual Machines (JVM's) and query them for
   their attributes without writing a single line of Java code
 • The attributes are exported from the JVM via Java
   Management Extensions (JMX)
 • eXo Platform and others implement MBean interface

 • The query language: JSON format.
 • OutputWriters:
    – write output automatically base on class name
    – can output to: graphite, gangila, keyout, RRD...




                                                               www.exoplatform.com
                                      29
                                                         Copyright 2011 eXo Platform
Jmxtrans introduction (cont.)
                                                         ●●●●




                                           www.exoplatform.com
                                30
                                     Copyright 2011 eXo Platform
Jmxtrans introduction (cont.)
                                                         ●●●●




                                           www.exoplatform.com
                                31
                                     Copyright 2011 eXo Platform
eXo Platform MBean items
                                                                               ●●●●
 • eXo JCR session
   – exo:portal="portal",repository="repository",service=SessionRegistry
      • Size
      • TimeOut
 • eXo Cache: collaboration
   – exo:portal="portal",repository="repository",workspace="collaboratio
     n",cache-type=JCR_CACHE,jmx-resource=CacheMgmtInterceptor
      • Size
      • MissCount
      • HitCount
      • Capacity
      • TimeToLive




                                                                 www.exoplatform.com
                                   32
                                                           Copyright 2011 eXo Platform
eXo Platform MBean items (cont.)
                                                       ●●●●




                                         www.exoplatform.com
                            33
                                   Copyright 2011 eXo Platform
Jmxtrans query – single query
                                                                       ●●●●
 •   TARGET_JMX_PORT = eXo product JMX port
 •   TARGET_JMX_HOST = eXo product host address
 •   TARGET_GRAPHITE_HOST = graphite server address
 •   TARGET_GRAPHITE_PORT = graphite server port
 •   outputWriters class:
     com.googlecode.jmxtrans.model.output.GraphiteWriter




                                                         www.exoplatform.com
                                34
                                                   Copyright 2011 eXo Platform
Jmxtrans query – single query – MBean query part             ●●●●




                                               www.exoplatform.com
                         35
                                         Copyright 2011 eXo Platform
Jmxtrans query – single query – Output part
                                                                  ●●●●




                                                    www.exoplatform.com
                             36
                                              Copyright 2011 eXo Platform
Jmxtrans query – single query – list of query
                                                                    ●●●●




                                                      www.exoplatform.com
                              37
                                                Copyright 2011 eXo Platform
Jmxtrans query – wildcard syntax
                                                                      ●●●●
 • Jmxtrans support wildcard syntax
 • typeNames should be defined wildcard applied
    – Purpose is: filtering and classifying




                                                        www.exoplatform.com
                                       38
                                                  Copyright 2011 eXo Platform
Demo graphite as a JVM historical data
                        manager tool


                                    www.exoplatform.com
                              Copyright 2011 eXo Platform
Install & using graphite

    Install graphite

    Build graphite dashboards

    Data calculation while building graphs

    get single image by URL

    Export graph data to csv data format




                                                      www.exoplatform.com
                                                Copyright 2011 eXo Platform
eXo Platform JVM historical data
                                                       ●●●●




                                         www.exoplatform.com
                             41
                                   Copyright 2011 eXo Platform
eXo Platform JVM historical data (cont.)
                                                               ●●●●




                                                 www.exoplatform.com
                              42
                                           Copyright 2011 eXo Platform
eXo Platform JVM historical data (cont.)
                                                               ●●●●




                                                 www.exoplatform.com
                              43
                                           Copyright 2011 eXo Platform
eXo Platform JVM historical data (cont.)
                                                               ●●●●




                                                 www.exoplatform.com
                              44
                                           Copyright 2011 eXo Platform
eXo Platform JVM historical data (cont.)
                                                               ●●●●




                                                 www.exoplatform.com
                              45
                                           Copyright 2011 eXo Platform
Tips & tricks

• Perform jmxtrans.sh start many time until the messgae
  that there is a jmxtrans process exist
• jmxtrans must start after the application start
• use curl, wget… to collect specific data/graph from
  graphite automatically
• use the graphs’ csv datasheet to compare data between
  graphs’ content
• A graph with multiple data lines can hide some
  information from some line. Try to expand into multiple
  graphs
• try to export all the data in a needed term to use later
• Default graphite data history is 24hours, it should be
  changed to longer to avoid missing of needed data

                                                      www.exoplatform.com
                                                Copyright 2011 eXo Platform
Links

1. http://code.google.com/p/jmxtrans
2. http://graphite.wikidot.com/
3. https://wiki-int.exoplatform.org/display/QAF/Graphite
4. http://www.oracle.com/technetwork/java/javase/tech/doc
5. http://
   docs.oracle.com/javase/tutorial/jmx/MBean/index.html
6. http://docs.oracle.com/javase/specs/jls/se5.0/html/j3TOC




                                                  www.exoplatform.com
                                            Copyright 2011 eXo Platform
Q&A


       www.exoplatform.com
 Copyright 2011 eXo Platform
Thank you!


             www.exoplatform.com
       Copyright 2011 eXo Platform

Mais conteúdo relacionado

Mais procurados

02 java programming features of java i
02 java programming features of java  i02 java programming features of java  i
02 java programming features of java iRavi Patki
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of JavaFu Cheng
 
AD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation WikisAD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation Wikisddrschiw
 
CBDW2014 - Down the RabbitMQ hole with ColdFusion
CBDW2014 - Down the RabbitMQ hole with ColdFusionCBDW2014 - Down the RabbitMQ hole with ColdFusion
CBDW2014 - Down the RabbitMQ hole with ColdFusionOrtus Solutions, Corp
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Editionddrschiw
 
Java Presentation
Java PresentationJava Presentation
Java PresentationAmr Salah
 
LUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingLUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingStephen Chin
 
An evening with React Native
An evening with React NativeAn evening with React Native
An evening with React NativeMike Melusky
 
November 2009 - Whats Cooking At JBoss Tools
November 2009 - Whats Cooking At JBoss ToolsNovember 2009 - Whats Cooking At JBoss Tools
November 2009 - Whats Cooking At JBoss ToolsJBug Italy
 

Mais procurados (19)

1 java introduction
1 java introduction1 java introduction
1 java introduction
 
02 java programming features of java i
02 java programming features of java  i02 java programming features of java  i
02 java programming features of java i
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of Java
 
AD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation WikisAD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation Wikis
 
Java 1
Java 1Java 1
Java 1
 
Lec 3 01_aug13
Lec 3 01_aug13Lec 3 01_aug13
Lec 3 01_aug13
 
Java History
Java HistoryJava History
Java History
 
CBDW2014 - Down the RabbitMQ hole with ColdFusion
CBDW2014 - Down the RabbitMQ hole with ColdFusionCBDW2014 - Down the RabbitMQ hole with ColdFusion
CBDW2014 - Down the RabbitMQ hole with ColdFusion
 
Evolution of java By Abbas khan
Evolution of java   By Abbas khan Evolution of java   By Abbas khan
Evolution of java By Abbas khan
 
Eureka moment
Eureka momentEureka moment
Eureka moment
 
History of Java 1/2
History of Java 1/2History of Java 1/2
History of Java 1/2
 
Evolution Of Java
Evolution Of JavaEvolution Of Java
Evolution Of Java
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
LUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingLUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi Hacking
 
NetBeans IDE & Platform
NetBeans IDE & PlatformNetBeans IDE & Platform
NetBeans IDE & Platform
 
An evening with React Native
An evening with React NativeAn evening with React Native
An evening with React Native
 
November 2009 - Whats Cooking At JBoss Tools
November 2009 - Whats Cooking At JBoss ToolsNovember 2009 - Whats Cooking At JBoss Tools
November 2009 - Whats Cooking At JBoss Tools
 
History of java
History of javaHistory of java
History of java
 

Destaque

xoxooo tkmmm
xoxooo tkmmmxoxooo tkmmm
xoxooo tkmmmceny2
 
Tachyon memory centric, fault tolerance storage for cluster framworks
Tachyon  memory centric, fault tolerance storage for cluster framworksTachyon  memory centric, fault tolerance storage for cluster framworks
Tachyon memory centric, fault tolerance storage for cluster framworksViet-Trung TRAN
 
Interactive big data analytics
Interactive big data analyticsInteractive big data analytics
Interactive big data analyticsViet-Trung TRAN
 
Social media strategies for libraries poster
Social media strategies for libraries posterSocial media strategies for libraries poster
Social media strategies for libraries posterNataly Blas
 
William Gross Sues Pimco for Hundreds of Millions
William Gross Sues Pimco for Hundreds of MillionsWilliam Gross Sues Pimco for Hundreds of Millions
William Gross Sues Pimco for Hundreds of MillionsTric Park
 
Ultimate Platform Hotness Smackdown (Twitter, Facebook, iPhone, Native Web / ...
Ultimate Platform Hotness Smackdown (Twitter, Facebook, iPhone, Native Web / ...Ultimate Platform Hotness Smackdown (Twitter, Facebook, iPhone, Native Web / ...
Ultimate Platform Hotness Smackdown (Twitter, Facebook, iPhone, Native Web / ...Dave McClure
 
Charitable Giving and Happiness
Charitable Giving and HappinessCharitable Giving and Happiness
Charitable Giving and HappinessFaircom New York
 
Jobs consultant
Jobs consultantJobs consultant
Jobs consultantTenforce
 
Challenging our Notions of Learning: Understanding How Web 2.0 Technology Wor...
Challenging our Notions of Learning: Understanding How Web 2.0 Technology Wor...Challenging our Notions of Learning: Understanding How Web 2.0 Technology Wor...
Challenging our Notions of Learning: Understanding How Web 2.0 Technology Wor...Paul Brown
 
Guia De Estudio Digestivo
Guia De Estudio DigestivoGuia De Estudio Digestivo
Guia De Estudio DigestivoLuciana Yohai
 
Balanceo de una ecuación química
Balanceo de una ecuación químicaBalanceo de una ecuación química
Balanceo de una ecuación químicadopamina mexico
 
The State of Facilities at Eastern Region Institutions JUNE16
The State of Facilities at Eastern Region Institutions JUNE16The State of Facilities at Eastern Region Institutions JUNE16
The State of Facilities at Eastern Region Institutions JUNE16Sightlines
 
How to increase traffic to your WordPress website.
How to increase traffic to your WordPress website. How to increase traffic to your WordPress website.
How to increase traffic to your WordPress website. Liquis Design
 
Practica 2 quimica organica -espol
Practica 2  quimica organica -espolPractica 2  quimica organica -espol
Practica 2 quimica organica -espolLissy Rodriguez
 

Destaque (20)

xoxooo tkmmm
xoxooo tkmmmxoxooo tkmmm
xoxooo tkmmm
 
Tachyon memory centric, fault tolerance storage for cluster framworks
Tachyon  memory centric, fault tolerance storage for cluster framworksTachyon  memory centric, fault tolerance storage for cluster framworks
Tachyon memory centric, fault tolerance storage for cluster framworks
 
teaching methods
teaching methods teaching methods
teaching methods
 
Interactive big data analytics
Interactive big data analyticsInteractive big data analytics
Interactive big data analytics
 
Social media strategies for libraries poster
Social media strategies for libraries posterSocial media strategies for libraries poster
Social media strategies for libraries poster
 
William Gross Sues Pimco for Hundreds of Millions
William Gross Sues Pimco for Hundreds of MillionsWilliam Gross Sues Pimco for Hundreds of Millions
William Gross Sues Pimco for Hundreds of Millions
 
Moving to the Right Side of Safety
Moving to the Right Side of SafetyMoving to the Right Side of Safety
Moving to the Right Side of Safety
 
The Rules - SGS
The Rules - SGSThe Rules - SGS
The Rules - SGS
 
God Is Forgiving
God Is ForgivingGod Is Forgiving
God Is Forgiving
 
Latin Dansları
Latin DanslarıLatin Dansları
Latin Dansları
 
Torque
TorqueTorque
Torque
 
Ultimate Platform Hotness Smackdown (Twitter, Facebook, iPhone, Native Web / ...
Ultimate Platform Hotness Smackdown (Twitter, Facebook, iPhone, Native Web / ...Ultimate Platform Hotness Smackdown (Twitter, Facebook, iPhone, Native Web / ...
Ultimate Platform Hotness Smackdown (Twitter, Facebook, iPhone, Native Web / ...
 
Charitable Giving and Happiness
Charitable Giving and HappinessCharitable Giving and Happiness
Charitable Giving and Happiness
 
Jobs consultant
Jobs consultantJobs consultant
Jobs consultant
 
Challenging our Notions of Learning: Understanding How Web 2.0 Technology Wor...
Challenging our Notions of Learning: Understanding How Web 2.0 Technology Wor...Challenging our Notions of Learning: Understanding How Web 2.0 Technology Wor...
Challenging our Notions of Learning: Understanding How Web 2.0 Technology Wor...
 
Guia De Estudio Digestivo
Guia De Estudio DigestivoGuia De Estudio Digestivo
Guia De Estudio Digestivo
 
Balanceo de una ecuación química
Balanceo de una ecuación químicaBalanceo de una ecuación química
Balanceo de una ecuación química
 
The State of Facilities at Eastern Region Institutions JUNE16
The State of Facilities at Eastern Region Institutions JUNE16The State of Facilities at Eastern Region Institutions JUNE16
The State of Facilities at Eastern Region Institutions JUNE16
 
How to increase traffic to your WordPress website.
How to increase traffic to your WordPress website. How to increase traffic to your WordPress website.
How to increase traffic to your WordPress website.
 
Practica 2 quimica organica -espol
Practica 2  quimica organica -espolPractica 2  quimica organica -espol
Practica 2 quimica organica -espol
 

Semelhante a Jvm mbeans jmxtran

Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeterjvSlideshare
 
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!ddrschiw
 
IOC and AOP presentation
IOC and AOP presentationIOC and AOP presentation
IOC and AOP presentationthanhc0110m
 
IOC and AOP presentation
IOC and AOP presentationIOC and AOP presentation
IOC and AOP presentationthanhc0110m
 
AD116 XPages Extension Library: Making Application Development Even Easier
AD116 XPages Extension Library: Making Application Development Even EasierAD116 XPages Extension Library: Making Application Development Even Easier
AD116 XPages Extension Library: Making Application Development Even Easierpdhannan
 
Jython in workflow and rules engines
Jython in workflow and rules enginesJython in workflow and rules engines
Jython in workflow and rules enginesVaclav Tunka
 
01/2009 - Portral development with liferay
01/2009 - Portral development with liferay01/2009 - Portral development with liferay
01/2009 - Portral development with liferaydaveayan
 
Domino X Pages 8.5
Domino X Pages 8.5Domino X Pages 8.5
Domino X Pages 8.5John Head
 
Are app servers still fascinating
Are app servers still fascinatingAre app servers still fascinating
Are app servers still fascinatingAntonio Goncalves
 
Soccnx III - Using Social Controls in XPages
Soccnx III - Using Social Controls in XPagesSoccnx III - Using Social Controls in XPages
Soccnx III - Using Social Controls in XPagesLetsConnect
 
Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages ApplicationsNiklas Heidloff
 
eSoftHead - groupware solution
eSoftHead - groupware solutioneSoftHead - groupware solution
eSoftHead - groupware solutionNguyen Hai
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1tactqa
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1tactqa
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!ddrschiw
 
NELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile ControlsNELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile ControlsJohn Head
 
Introduction to eXo ECM Suite
Introduction to eXo ECM SuiteIntroduction to eXo ECM Suite
Introduction to eXo ECM SuiteTugdual Grall
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5Akib B. Momin
 

Semelhante a Jvm mbeans jmxtran (20)

Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeter
 
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
 
IOC and AOP presentation
IOC and AOP presentationIOC and AOP presentation
IOC and AOP presentation
 
IOC and AOP presentation
IOC and AOP presentationIOC and AOP presentation
IOC and AOP presentation
 
AD116 XPages Extension Library: Making Application Development Even Easier
AD116 XPages Extension Library: Making Application Development Even EasierAD116 XPages Extension Library: Making Application Development Even Easier
AD116 XPages Extension Library: Making Application Development Even Easier
 
Jython in workflow and rules engines
Jython in workflow and rules enginesJython in workflow and rules engines
Jython in workflow and rules engines
 
01/2009 - Portral development with liferay
01/2009 - Portral development with liferay01/2009 - Portral development with liferay
01/2009 - Portral development with liferay
 
Domino X Pages 8.5
Domino X Pages 8.5Domino X Pages 8.5
Domino X Pages 8.5
 
Are app servers still fascinating
Are app servers still fascinatingAre app servers still fascinating
Are app servers still fascinating
 
Soccnx III - Using Social Controls in XPages
Soccnx III - Using Social Controls in XPagesSoccnx III - Using Social Controls in XPages
Soccnx III - Using Social Controls in XPages
 
Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages Applications
 
eSoftHead - groupware solution
eSoftHead - groupware solutioneSoftHead - groupware solution
eSoftHead - groupware solution
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
 
NELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile ControlsNELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile Controls
 
Introduction to eXo ECM Suite
Introduction to eXo ECM SuiteIntroduction to eXo ECM Suite
Introduction to eXo ECM Suite
 
JBPM Past Present Future
JBPM Past Present FutureJBPM Past Present Future
JBPM Past Present Future
 
ERP project
ERP projectERP project
ERP project
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5
 

Mais de adm_exoplatform

Mais de adm_exoplatform (14)

Magento
MagentoMagento
Magento
 
E xo mobile_overview_best_practice_in_mobile_application_design
E xo mobile_overview_best_practice_in_mobile_application_designE xo mobile_overview_best_practice_in_mobile_application_design
E xo mobile_overview_best_practice_in_mobile_application_design
 
Advance jquery-plugin
Advance jquery-pluginAdvance jquery-plugin
Advance jquery-plugin
 
Development withforce
Development withforceDevelopment withforce
Development withforce
 
Hadoop
HadoopHadoop
Hadoop
 
Jquery ui
Jquery uiJquery ui
Jquery ui
 
Cmsms
CmsmsCmsms
Cmsms
 
Jquery
JqueryJquery
Jquery
 
Java application server in the cloud
Java application server in the cloudJava application server in the cloud
Java application server in the cloud
 
I os
I osI os
I os
 
Memory and runtime analysis
Memory and runtime analysisMemory and runtime analysis
Memory and runtime analysis
 
Git training
Git trainingGit training
Git training
 
Cluster mode and plf cluster
Cluster mode and plf clusterCluster mode and plf cluster
Cluster mode and plf cluster
 
Cluster mode and plf cluster
Cluster mode and plf clusterCluster mode and plf cluster
Cluster mode and plf cluster
 

Último

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 

Último (20)

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 

Jvm mbeans jmxtran

  • 1. JVM Inside & monitoring with MBean, jmxtrans, graphite Introduced by: Nghi Nguyen Van ~ March, 22nd 2012 ~ www.exoplatform.com Copyright 2011 eXo Platform
  • 2. Agenda ●●●● • Introduction • JVM & Memory Structure in JVM • JMX and MBean • Jmxtrans as a JVM query tool • Demo graphite as a JVM historical data manager tool • Tips and tricks • Q&A www.exoplatform.com 2 Copyright 2011 eXo Platform
  • 3. Introduction ●●●● Purpose of this presentation: Purposes of monitoring a JVM Introduce about a way to monitor a JVM Introduce about how to build an eXo product JVM monitoring system This presentation serves to: ● Leaders to understand about performance test reports and to give advices & suggestions with performance test reports base on the JVM detail information ● Who is new in using JVM monitoring tools ● Testers who have to work directly and often with JVM monitoring tools www.exoplatform.com 3 Copyright 2011 eXo Platform
  • 4. Purposes of monitoring JVM www.exoplatform.com Copyright 2011 eXo Platform
  • 5. Value of code (Value of a product) ●●●● Value of a software product • Meet the business requirement • Users satisfaction • Save time and money, give more business value • Rich features • Stable, high performance • Easy to backup/maintain/improve • … www.exoplatform.com 5 Copyright 2011 eXo Platform
  • 6. We want to make our code more value ●●●● • The code generates value when it is used/run/inherit not when we write it • We need to know how our code performed when it run • We cannot do this unless we measure it www.exoplatform.com 6 Copyright 2011 eXo Platform
  • 7. Why measure ●●●● • map ≠ territory • map of Ha noi ≠ city of Ha noi • the way we talk ≠ the way it is • the way we think of ≠ the way itself • perception ≠ reality www.exoplatform.com 7 Copyright 2011 eXo Platform
  • 8. Why measure – mental model, it's not the code ●●●● • We have mental model of the code • mental model, it's not the code • Sometime, it's wrong • Sometime, it’s a big mistake www.exoplatform.com 8 Copyright 2011 eXo Platform
  • 9. Why measure – cont. ●●●● • We cant know until we measure it www.exoplatform.com 9 Copyright 2011 eXo Platform
  • 10. Why measure – cont. ●●●● • This affect how we make decisions • A better mental model make us better at deciding what to do • A better mental model make us better at generating value • Measuring make our decisions better www.exoplatform.com 10 Copyright 2011 eXo Platform
  • 11. JVM & Memory Structure in JVM www.exoplatform.com Copyright 2011 eXo Platform
  • 12. Java – how java code executed ●●●● www.exoplatform.com 12 Copyright 2011 eXo Platform
  • 13. Java Virtual Machine architecture ●●●● www.exoplatform.com 13 Copyright 2011 eXo Platform
  • 14. Java - JVM Memory Structure – Heap detail ●●●● www.exoplatform.com 14 Copyright 2011 eXo Platform
  • 15. JMX and MBean www.exoplatform.com Copyright 2011 eXo Platform
  • 16. What is the JMX ●●●● • Java Management Extension • It consists of: • An architecture • Design patterns • Java APIs • Services for application and network management www.exoplatform.com 16 Copyright 2011 eXo Platform
  • 17. What is the JMX (cont.) ●●●● • Enables Java applications to be managed without heavy investment – Little impact on Java application design • Provides scaleable management architecture – Component architecture, pick and choose components • Integrates existing management solutions – Can be managed via multiple protocols, e.g. SNMP, WBEM, HTTP – Information model independent • Leverages existing standard Java www.exoplatform.com 17 Copyright 2011 eXo Platform
  • 18. The JMX architecture ●●●● www.exoplatform.com 18 Copyright 2011 eXo Platform
  • 19. The JMX architecture (cont.) ●●●● • The JMX architecture defines three levels: – Instrumentation Level • How to instrument managed resources – Server Level • How managed resources are managed via the management server – Distributed Services Level • How distributed clients and management applications access and interact with servers and the managed resources in the servers www.exoplatform.com 19 Copyright 2011 eXo Platform
  • 20. The JMX architecture (cont.) ●●●● • Basic goal – In a running Java application, we would like to be able to: • Manage existing Java objects: – get an attribute value – change an attribute value – invoke an operation • Add new Java objects: – using existing Java classes – using new classes from an arbitrary location • And do all this from a remote location www.exoplatform.com 20 Copyright 2011 eXo Platform
  • 21. MBean ●●●● • MBean: Managed bean. Java class implementing a management interface and representing a resource to be managed or monitored • MBean – Defines how resources are instrumented using MBean – MBean instrumentation allows the resource to be manageable through JMX-compliant agents • Notification Model – MBean and other JMX components may emit notifications • MBean Metadata Classes – Describes the MBean's management interface for management agents and management www.exoplatform.com 21 Copyright 2011 eXo Platform
  • 22. MBean (cont.) ●●●● • An MBean exposes the management interface of the managed resource/object – The management interface is the set of information and controls that a management application uses to operate on the resource www.exoplatform.com 22 Copyright 2011 eXo Platform
  • 23. MBean (cont.) ●●●● • An MBean exposes the management interface as: – Attributes which may be accessed – Operations which may be invoked – Notifications which may be emitted (optional) – Constructors for the MBean's Java class • An MBean follows design patterns – The way an attribute or operation to be exposed has to be declared • An MBean must be registered in the MBean server to be visible remotely • An MBean does not know about its MBean www.exoplatform.com 23 Copyright 2011 eXo Platform
  • 24. MBean (cont.) ●●●● • The MBean server is a registry of objects which are exposed to management operations in a server – Only registered MBean can be managed from outside the server's JVM • The MBean server only exposes an MBean's management interface (not the MBean's direct reference) • Also provides standardized interface for accessing MBean within the same JVM www.exoplatform.com 24 Copyright 2011 eXo Platform
  • 25. Tools that allow to connect to JVM remotely via JMX ●●●● • Jconsole • visualvm • Memory Analyzer Tool • … www.exoplatform.com 25 Copyright 2011 eXo Platform
  • 26. Tools that allow to deal with MBean through web interface ●●●● • JBoss jmx console – Enable user name and password here: server/default/conf/props/jmx- console-users.properties • javamelody • … www.exoplatform.com 26 Copyright 2011 eXo Platform
  • 27. JMX notice – enable JMX RMI connection first ●●●● -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=8004 -Dcom.sun.management.jmxremote.authenticate=false www.exoplatform.com 27 Copyright 2011 eXo Platform
  • 28. Jmxtrans as a JVM query tool www.exoplatform.com Copyright 2011 eXo Platform
  • 29. Jmxtrans introduction ●●●● • jmxtrans is a tool which allows you to connect to any number of Java Virtual Machines (JVM's) and query them for their attributes without writing a single line of Java code • The attributes are exported from the JVM via Java Management Extensions (JMX) • eXo Platform and others implement MBean interface • The query language: JSON format. • OutputWriters: – write output automatically base on class name – can output to: graphite, gangila, keyout, RRD... www.exoplatform.com 29 Copyright 2011 eXo Platform
  • 30. Jmxtrans introduction (cont.) ●●●● www.exoplatform.com 30 Copyright 2011 eXo Platform
  • 31. Jmxtrans introduction (cont.) ●●●● www.exoplatform.com 31 Copyright 2011 eXo Platform
  • 32. eXo Platform MBean items ●●●● • eXo JCR session – exo:portal="portal",repository="repository",service=SessionRegistry • Size • TimeOut • eXo Cache: collaboration – exo:portal="portal",repository="repository",workspace="collaboratio n",cache-type=JCR_CACHE,jmx-resource=CacheMgmtInterceptor • Size • MissCount • HitCount • Capacity • TimeToLive www.exoplatform.com 32 Copyright 2011 eXo Platform
  • 33. eXo Platform MBean items (cont.) ●●●● www.exoplatform.com 33 Copyright 2011 eXo Platform
  • 34. Jmxtrans query – single query ●●●● • TARGET_JMX_PORT = eXo product JMX port • TARGET_JMX_HOST = eXo product host address • TARGET_GRAPHITE_HOST = graphite server address • TARGET_GRAPHITE_PORT = graphite server port • outputWriters class: com.googlecode.jmxtrans.model.output.GraphiteWriter www.exoplatform.com 34 Copyright 2011 eXo Platform
  • 35. Jmxtrans query – single query – MBean query part ●●●● www.exoplatform.com 35 Copyright 2011 eXo Platform
  • 36. Jmxtrans query – single query – Output part ●●●● www.exoplatform.com 36 Copyright 2011 eXo Platform
  • 37. Jmxtrans query – single query – list of query ●●●● www.exoplatform.com 37 Copyright 2011 eXo Platform
  • 38. Jmxtrans query – wildcard syntax ●●●● • Jmxtrans support wildcard syntax • typeNames should be defined wildcard applied – Purpose is: filtering and classifying www.exoplatform.com 38 Copyright 2011 eXo Platform
  • 39. Demo graphite as a JVM historical data manager tool www.exoplatform.com Copyright 2011 eXo Platform
  • 40. Install & using graphite  Install graphite  Build graphite dashboards  Data calculation while building graphs  get single image by URL  Export graph data to csv data format www.exoplatform.com Copyright 2011 eXo Platform
  • 41. eXo Platform JVM historical data ●●●● www.exoplatform.com 41 Copyright 2011 eXo Platform
  • 42. eXo Platform JVM historical data (cont.) ●●●● www.exoplatform.com 42 Copyright 2011 eXo Platform
  • 43. eXo Platform JVM historical data (cont.) ●●●● www.exoplatform.com 43 Copyright 2011 eXo Platform
  • 44. eXo Platform JVM historical data (cont.) ●●●● www.exoplatform.com 44 Copyright 2011 eXo Platform
  • 45. eXo Platform JVM historical data (cont.) ●●●● www.exoplatform.com 45 Copyright 2011 eXo Platform
  • 46. Tips & tricks • Perform jmxtrans.sh start many time until the messgae that there is a jmxtrans process exist • jmxtrans must start after the application start • use curl, wget… to collect specific data/graph from graphite automatically • use the graphs’ csv datasheet to compare data between graphs’ content • A graph with multiple data lines can hide some information from some line. Try to expand into multiple graphs • try to export all the data in a needed term to use later • Default graphite data history is 24hours, it should be changed to longer to avoid missing of needed data www.exoplatform.com Copyright 2011 eXo Platform
  • 47. Links 1. http://code.google.com/p/jmxtrans 2. http://graphite.wikidot.com/ 3. https://wiki-int.exoplatform.org/display/QAF/Graphite 4. http://www.oracle.com/technetwork/java/javase/tech/doc 5. http:// docs.oracle.com/javase/tutorial/jmx/MBean/index.html 6. http://docs.oracle.com/javase/specs/jls/se5.0/html/j3TOC www.exoplatform.com Copyright 2011 eXo Platform
  • 48. Q&A www.exoplatform.com Copyright 2011 eXo Platform
  • 49. Thank you! www.exoplatform.com Copyright 2011 eXo Platform

Notas do Editor

  1. * "our application is slow, this page takes 5s, fix it!" find the bottleneck! - template rendering? - SQL query? - Session storage? find the bottleneck! - template rendering? - SQL query? - Session storage?
  2. * "our application is slow, this page takes 5s, fix it!" find the bottleneck! - template rendering? - SQL query? - Session storage? find the bottleneck! - template rendering? - SQL query? - Session storage?
  3. A runtime instance of the Java virtual machine has a clear mission in life: to run one Java application. When a Java application starts, a runtime instance is born. When the application completes, the instance dies. If you start three Java applications at the same time, on the same computer, using the same concrete implementation, you'll get three Java virtual machine instances. Each Java application runs inside its own Java virtual machine.
  4. * "our application is slow, this page takes 5s, fix it!" find the bottleneck! - template rendering? - SQL query? - Session storage? find the bottleneck! - template rendering? - SQL query? - Session storage?
  5. • Client: Application controlling servers by submitting requests, activating new services, etc ... • Server: Application making local resources available remotely and providing one or more services • MBean server: Registry for MBean in the server • MBean: Managed bean. Java class implementing a management interface and representing a resource to be managed or monitored