Uploaded by Thomas Merten

Thomas Merten Platform-independent profiling metrics Systemrelevante Infrastrukturen

advertisement
Java MX Calibration Services technology provides tools and API for building distributed, java-based, modular and
dynamic solutions for managing and monitoring devices, applications, and service-driven networks. Based on SUN
standards we are suitable for adapting legacy systems, implementing new management, monitoring & testing
solutions, and pluggable in the future.
Based on Java Management Extensions API Java MX Calibration Services implements Diagnostic & Calibration
functionality in Java SE/EE and Spring.io Applications as part of Performance Management for individual Best Fit
Deployments and essential Visibility into Java Transactions across your infrastructure. You identify performance
problems and balance your Java Virtual Machine. Java Performance depends on CPU & Memory allocation. Tuning
Performance is a calibration Process in reference to stability. JMX Calibration Services addresses this with Monitoring
and Run-time Customizing of key parameters. Fail-over strategies are implemented and customizable while
calibration process. JMX Calibration Services are pure Java SE Component for high traffic environments. By
architecture, it runs on all Java Containers without any modification. JMX Calibration Services supports JMX
Monitoring and JMX Run-time Customizing. Log-Profiling is supported via file logging using the java.util.logging
facility. Using JMX Calibration Services no hardware or software architecture changes required. The Implementation
takes care about the relationships between Java Server Threads and the Java Memory Model(JMM) in multi core
hardware environments.
Java Calibration Services are pluggable over calibration-java-mx-6.72.jar registration in [Web-Inf]/lib directory of
your [Web] Application and setup AspectJ. Specific critical Ressources are configured as aspects via aspectj
configuration in META-INF/aop.xml to Nonfunctional System Components. So critical Thread Informations are
available over her standard JMX Components and associated with Java Calibration Services MX Beans which are
registered on local MBeanServer with her JMX ObjectNames.
Declarative AOP Aspectj Configuration with specified Profiling Criteria. Defined Code Sequences will be monitored via
MX Beans Attributes at Runtime. At the end of Calibration Process our Code Analysis will find best fit Source Code
Sequences in relation to functional requirements.
1
2
3
4
5
6
7
8
<aspectj>
<aspects>
<concrete-aspect name="ServiceModelAspect" >
<pointcut expression="execution(* angular.domain.ServiceModel.getEcho(..))" />
</concrete-aspect>
</aspects>
...
</aspectj>
AOP Configuration in /META-INF/aop.xml (classpath included)
JConsole MBeans View with Profiling nonfunctional AOP Calibration MXBeans Attributes for ASPECTJ POINTCUT
EXPRESSION
01
02
03
04
05
06
07
08
09
10
public class ServiceModelUnitTest
{
/** The service model. */
private final ServiceModel serviceModel = new ServiceModel();
/** The echo. */
private final static String ECHO = "echo";
@Test
public void testServiceModel() throws InstanceNotFoundException, MalformedObjectNameException, AttributeN
11
12
13
14
15
16
17
ReflectionException, MBeanException, NullPointerException, IOException
{
assertEquals(serviceModel.getEcho(), ECHO);
//NONFUNCTIONAL JUnit TESTING using AOP Configuration ©Java-MX-Calibration-Services, Thomas Merten
JMXProfiler4UnitTest.checkMethodRessources("/junit.properties");
}
...
JUnit Test Case angular.domain.test.ServiceModelUnitTest with AOP MXBeans Attributes [JMXProfiler4UnitTest - a Java
MX Calibration Framework Supportclass]
1
2
3
4
CONCRETE_ASPECT_NAME=ServiceModelAspect
POINTCUT_EXPRESSION=ServiceModel.getEcho
MethodAllocatedBytes=1352
ExecutionTime=40000000
AOP Configuration in junit.properties File
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
------------------------------------------------------T E S T S
------------------------------------------------------Running angular.domain.test.ServiceModelUnitTest
------------------------------------------------------JAVA MX CALIBRATION SERVICES
NonFunctional Dynamic Code Analysis - © 2015 Thomas Merten
------------------------------------------------------ASPECTJ NAME:
ServiceModelAspect
POINTCUT EXPRESSION:
ServiceModel.getEcho
JMX ObjectName:
"ServiceModelAspect:type=ServiceModel.getEcho"
------------------------------------------------------Executions:
1
ExecutionTime(ns):
36682816
FailedExecutions:
0
MethodAllocatedBytes(byte):
1352
ThreadAllocatedBytes(byte):
62059
------------------------------------------------------NONFUCNTIONAL TESTING OK, "checkMethodRessources" MethodAllocatedBytes: 1352 <= 1352
NONFUCNTIONAL TESTING OK, "checkMethodRessources" ExecutionTime: 36682816 <= 40000000
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
Output JUnit Test Case
JMX Run-time Monitoring to get the Best Fit profiling for your environment is supported. See the parameter values at
run in real-time to find Best Fit Settings for your System. Monitor system changes in relation to your source code
changes at Attribute level (in Attribute Chart mode):
ThreadAllocatedBytes
MaxThreadAllocatedBytes
MinThreadAllocatedBytes
MethodAllocatedBytes
MinMethodAllocatedBytes
MaxMethodAllocatedBytes
ThreadUserTime
ThreadCpuTime
ThreadSystemTime
ExecutionTime
MaxExecutionTime
MinExecutionTime
FailedExecutions
ThreadCount
Java MX Calibration Services requires:
Java SE 1.5
For Profiling & Runtime Customizing[Best Fit Calibration]: enabled JMX connection
Some Features like Endpoint Heap Memory Allocation Measuring requires Java SE 1.7
Integration & Development Thread JMX Beans based on Java Memory Model(JMM) Engineering
Implementation takes care about the relationships between Java Server Threads and the Java Memory Model(JMM)
in multi core hardware environments.
Java MX Calibration Services are pluggable over calibration-java-mx-6.72.jar registration in classpath of your Java
Application and administrated using Aspectj registration and configuration in /META-INF/aop.xml. Is configured as
Aspect and mapped via pointcut expression to specific individual critical Ressource to profile. So critical Thread
Informations are available over his standard JMX Components and associated with Java MX Calibration Services JMX
Beans.
MAVEN Environment needs to install calibration-java-mx-6.72.jar via:
mvn install:install-file -DgroupId=calibration.java.mx -DartifactId=calibration-java-mx
-Dversion=6.72 -Dpackaging=jar -Dfile=YOUR_COMPLETE_PATH/calibration-java-mx-6.72.jar
and register in pom.xml as Dependency:
1
2
3
4
5
6
<dependency>
<groupId>calibration.java.mx</groupId>
<artifactId>calibration-java-mx</artifactId>
<version>6.72</version>
<scope>runtime</scope>
</dependency>
MAVEN Project pom.xml with Java MX Calibration
Setup JVM for using AspectJ
Individual Diagnostic & Calibration functionality for Java SE/EE Web Applications
Standard Performance Management for individual Best Fit Deployments
Essential Visibility into Java Web Transactions across your infrastructure
Identify performance problems and balance your Java Web Server via JMX supported Tools
Monitoring and Run-time Customizing with build-in:
- functional application components MXBeans
- nonfunctional system components MXBeans
SUN Standard Path: JMX API & JMX Tools =>Part of IBM/SUN Java SE >2008
SUN JConsole pluggable JMX Calibration Services MXBeans
Integration without hardware or software architecture changes
Fail-over functionality
JUnit Integration for automated testing
Usability in development, stage, test & runtime environments
AspectJ, URL - & Thread-Id based connectors - use in ANT & MAVEN Environments
Java MX Calibration Services is open source but not free. As Member of our Strong Hands on Community you are
eligible:
Use in Evaluation Environment is possible - with the requirement that any copy acknowledges the product owner.
For use in Production Environment get in touch with us(Thomas Merten)
© Thomas Merten. Alle Rechte vorbehalten. Alle Warenzeichen sind Eigentum ihrer jeweiligen Inhaber. Angaben in
diesem Dokument dienen nur der Produktbeschreibung und stellen keine zugesicherten Eigenschaften im Rechtssinn
oder Garantien dar. Garantien bedürfen einer ausdrücklichen und schriftlichen Bestätigung. Änderungen und
Anpassungen vorbehalten.
Limited warranty: Java MX Calibration Services Software and Documentation are "as is" without any warranty as to
their performance, merchantability or fitness for any particular purpose. The licensee assumes the entire risk as to
the quality and performance of the software. In no event shall Java MX Calibration Services or anyone else who has
been involved in the creation, development, production, or delivery of this software be liable for any direct, incidental
or consequential damages, such as, but not limited to, loss of anticipated profits, benefits, use, or data resulting from
the use of this software, or arising out of any breach of warranty. This includes, but is not limited to, interruption of
service, loss of classroom time or loss of consulting profits from the use of these programs.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
All professional activities currently concentrate on Hybris+Intershop Core/eCommerce Profiling and Monitoring & IaaS
Process Architectures. We are also interested in Oracle Siebel System Integrations. Previously, worked in the ICT
industry as Siebel Core Consultant, presently working as Management Consultant and Software Development Process
Manager in Europe. Check out this profile and references to see if I may be able to help you. I am the CIO & owner of
Java MX Calibration Services and contribute with this Project to the Java Platform at SUN Source.
thomas.merten@web.de
In the cooperation community with our clients, we will established an ideal basis to react to the concurrence of
current changes on the online market platforms. That is why the joint development of the Java MX Calibration
Services solutions as Open Cooperation Community Platform, meeting ever-changing requirements, contributes
sustainably to the competitive edge of our business clients.
Moreover with our Early Bird Partnership, we offers company-specific integrated Quality Assurance process
consultation and solutions with an ideal IT implementation within the cooperation community. Our expert knowledge,
our implementation expertise and our experience from long-time cooperation with many e-commerce & high
technology industry companies make us your ideal business partner.
T-Systems International | Siebel Ondemand D&B Integration
T-Mobile | Siebel Enterprise Mobile Accelerator
hybris | ORACLE Siebel D&B Direct API Extension
GAS-X | Gasdatenmonitoring
Download