Measurement points

What is being measured?

There are timers, invocation sequences and exception sensors activated.

Timer - sensors

In the configuration file, the following timer-sensors are defined:

Section

Sensor-Definitions

Login

sensor timer com.jboss.dvd.seam.AuthenticatorAction authenticate()
sensor timer com.jboss.dvd.seam.User *

Shipping

sensor timer com.jboss.dvd.seam.Order *  
sensor timer com.jboss.dvd.seam.ShipAction ship()

Search

sensor timer com.jboss.dvd.seam.FullTextSearchAction doSearch()
sensor timer com.jboss.dvd.seam.FullTextSearchAction updateResults()
sensor timer com.jboss.dvd.seam.FullTextSearchAction searchQuery(String)
sensor timer com.jboss.dvd.seam.FullTextSearchAction nextPage()
sensor timer com.jboss.dvd.seam.FullTextSearchAction prevPage()
sensor timer com.jboss.dvd.seam.FullTextSearchAction getPageSize()
sensor timer com.jboss.dvd.seam.FullTextSearchAction setPageSize(int)

Invocation Sequence - sensors

The following invocation sequence sensors are defined. Remember that only methods can be

seen which are defined as a timer sensor or an exception sensor.

Section

Sensor Definitions

Login

sensor isequence com.jboss.dvd.seam.AuthenticatorAction authenticate()

Shipping

sensor isequence com.jboss.dvd.seam.ShipAction ship()

Seach

sensor isequence com.jboss.dvd.seam.FullTextSearchAction doSearch()
sensor isequence com.jboss.dvd.seam.FullTextSearchAction nextPage()
sensor isequence com.jboss.dvd.seam.FullTextSearchAction prevPage()

Exception - sensors

There is a exception sensor defined which registers if a ChildProtectionException is being thrown.

A ChildProtectionException is being thrown if a movie is imperiling for children and contains

one of the following keywords: "war", "battlefield", "crime", "weapon" and "sex".

Section

Sensor-Definitions

Search

exception-sensor com.jboss.dvd.seam.ChildProtectionException

The complete agent-configuration file is included in the zip-file.

Application performance settings

On the application performance settings page you can activate / deactivate performance problems.

Three problem types were integrated. Two of them affect the execution performance of the application.

Problem type

Description

Affected class / method

slow queries

One of most common performance problems are slow
database queries. We have added a method which loads
all database entries and filters the correct ones inside
the application.
This has the side effect that the method takes longer the
more data exists in the database

com.jboss.dvd.seam.FullTextSearchAction
/ updateResult()

slow processing

Sometimes there are some slow implementations in the
code and it's difficult or impossible to find these sections
in the code without an analysis software like inspectIT.
We've added such a slow implementation so you can
see, how easy it is to discover the affected method.
If you enable this feature, the page load date which is
being displayed at the bottom of each page, will be
loaded from the database.
This loading section is placed in a "syncronize" block
that means the more concurrent access there are
the longer it will take to execute the method.

com.jboss.dvd.seam.PerformanceSettingsBean
/ getTime()

execption

Sometimes you want to know if an exception was thrown.
If it's impossible or unwanted to change the source code
and add a logger or something simmilar you can use
inspectIT to monitor if an exception was thrown.
We've added a child protection validation: This validation
proof the titles of the movies. If they contain one of the
following words, the transaction is being cancelled:
"war", "battlefield", "crime", "weapon", "sex"
For example you can search for the movie "Battlefield
Earth"

com.jboss.dvd.seam.FullTextSearchAction
/ addToCart()

On the following image you can see how easy it is to activate the performance problems.

Important inspectIT measurement information

If you are searching for some products with the slow querying method this could be a problem in the inspectIT client because

there will be at least four calls to the database for each product and this means that inspectIT has to display about more than

40.000 elements on the detail level of the method call. This will extremely slow down the client and you have to wait a few

minutes to see the structure.

Maybe there is to do a bug-fix in the inspectIT software that there are only display up to 100 or 1000 Element at one time.