Customizable Inhouse Trainings

Several times a year I enjoy conducting inhouse training courses on topics like web application security (focussing on Java) as well as performance analysis and application monitoring. Aside from the one-day workshops, all trainings include lots of instructor-led exercises (over 75 percent of the time) based on demo applications written specifically for the trainings. Each training includes a digital handout (PDF) of the course contents full of information for the attendees.

Just send me a mail in case you wish to receive more detailed course information. Depending on the audience, the courses will be held in English or German language. The contents of the workshops can be customized to suit your individual needs and system environments as well as software development process model.

Java Profiling & Monitoring Training

Duration: 1 or 2 days

In this workshop a Java WebService application (written specifically for this course) is analyzed regarding performance and memory consumption. During profiling, using OpenSource tools, memory leaks as well as performance and threading bottlenecks are discovered and fixed. The workshop ends with enhancing the demo application to provide production-ready sophisticated monitoring information and application management hooks using standard technologies and frameworks.

Topics covered include:

  • Load-testing web (and WebService) applications
    • Advanced result assertions, Handling dynamic content
  • Memory monitoring within the JVM
  • Garbage Collection (GC) monitoring and analysis
  • Passive long-term monitoring of production systems
  • Post-mortem analysis of memory problems (OOME)
    • Taking and analyzing heap dumps, Taking and analyzing thread dumps
  • Heap profiling using OpenSource tools
    • Analyzing snapshot deltas, Root-cause detection (what gets leaked & why), ...
  • CPU profiling using OpenSource tools
  • Thread profiling using OpenSource tools
    • Detecting long-running threads, Detecting blocked threads, Synchronization and throttling techniques
  • Further monitoring possibilities using OpenSource monitoring applications
    • JDBC and JPA monitoring, Request oriented statistics, Production-ready performance monitoring, ...
  • Java application management and monitoring extensions (JMX)
    • Developing custom MBeans for individual resource monitoring, Remote notification and notification filters, Exposing MBeans via web interfaces, Writing custom JMX clients

This workshop includes many hands-on exercises, which utilize OpenSource profiling tools for Java applications. Attendees can use either Eclipse or IntelliJ for the coding exercises, depending on personal preference.

The main intention behind this course is to enable the attendees to effectively load-test and profile Java applications to find and fix memory leaks and bottlenecks. Aside from that, integration of the demo application with monitoring and management systems are also part of the learning target.

Target audience:  Java Software Developers, Software Architects, Operations Managers

Overview

Interested in this inhouse training?  Just send me a mail and ask for further course information.