The department really using GIAPA the most for their daily work is operations. The Operations department is responsible for producing summary graphs to management and for checking what happened two hours ago when someone complains to the IT manager. Sometimes delays are not caused by inefficient code, sometimes delays are caused by users doing something they are not supposed to do. GiAPA can tell what exactly what happened and why.
Here are just two examples: Atlas Copco and a growing list of other GiAPA users are now relying on GiAPA to check which departments used how much CPU and when. Also, an outsourcer having GiAPA installed on around 70 LPARs base their invoicing to the clients on GiAPA data. A job accounting package would be the normal tool to use, but when it comes to documenting for customer exactly why they get an invoice with a larger amount this month, then no tool can match GiAPA in supplying exact details about what happened.
GiAPA – the Operator’s Best Friend
This is the story about the automated performance analysis tool that got a new job.
The software product GiAPA (Global iSeries Application Performance Analyzer) was, as the name implies, originally designed to deal with performance problems within jobs running under OS/400.
We wanted to prove that performance analysis, normally considered a complex task requiring expensive external assistance, could be made so simple that the average programmer, operator, or systems analyst easily could pinpoint reasons for performance inefficiencies.
We succeeded, and we have quite a record of optimizing numerous batch and interactive applications, very often obtaining savings exceeding 50%.
As our customers got all their applications up to speed, they started asking us “Can’t GiAPA also tell us trends per application, resources used by department, most CPU consuming users, variations in load on the LPAR over the month, etc, etc. ?”
“YES !” was almost always the answer to such questions, simply because the data needed to cope with performance issues are much more detailed than the data normally available for operations needing to follow up on what the machine is used for.
Another strong advantage is that GiAPA only uses < 0.1% CPU despite the fact that data for ALL active jobs and tasks is collected every 15 seconds. This means that the majority of our customers let GiAPA run 24/7 and results in the data always being available, should anything happen.
And what a goldmine of data ! From the operating system GiAPA receives every 15 seconds information of all resource usage for all jobs and tasks on the machine including CPU milliseconds, transactions, 12 types of I/Os, print lines, memory usage and overflows. In addition, GiAPA automatically retrieves call stacks and file usage information every time a job within a 15 seconds data collection interval used so many resources that it might have or cause a performance problem.
The first user request was to incorporate graphics. A new release introduced a large number of different chart types that were automatically generated or user defined. Some of the possibilities with this addition include:
Reports or charts depicted by month, week, weekday, date, hour, quarter, minute, or per 15 seconds (allowing to pinpoint exactly when what happened); by job, user, or job type. Some users deduce in a simple user exit program the application code, department and/or division, state or country based on the job ID, in order to provide management with charts showing trends e.g. by application and country.
For all these options you can select which of all the data fields should be shown – CPU, different types of I/Os, number of transactions, etc.
GiAPA can also consolidate resource usage from several LPARs in one chart, showing e.g. the total CPU usage for all LPARs on a physical machine. It is even possible to get the average of the upper quartile of CPU usage per hour, enabling us to see if we can accommodate more LPARs on the machine within the total CPU resources available.
A user recently asked us if we could show run time (elapsed and CPU) per day the last month for a given major batch job. The answer was of course “YES !” given that we provide:
• all kinds of performance data (CPU, I/Os, run time, trans, etc., etc.)
• every 15 seconds
• for all jobs and tasks
This data can in turn be accumulated to whichever detail level we want and generate reports and charts to illustrate the results. One of our main priorities at present remains to be better at informing our customers of all the available features of GiAPA in order for them to fully appreciate the capacity of this unique software.
Another common example that has been very beneficial to both operators and programmers is when an operator detects that a job behaves strangely or uses suspiciously many resources. The operator having access to the GiAPA data for the job can call the programmer and tell within which exact line of a given program the resources were used; if it had to do with file access, then the file name(s) are also available.
Of course the programmer can do the same while testing new programs. Some of our customers now have the policy that new applications must be checked by GiAPA before they are put into production.
An additional advantage for operations: bad performance is of course not only caused by inefficient program code since it could equally well be users misusing the system. Examples include users running batch-like applications or large queries interactively, or improving their own priority, or misusing resource-intensive commands like WRKACTJOB. With GiAPA on board the operator can quickly identify and document WHO did WHAT and WHEN.
To sum it up: GiAPA was initially intended to ensure application performance analysis, but collects so much data that it could and should be used for so much more! To provide a final beneficial use of our software: since GiAPA knows who is using how much resources and when, some companies even use GiAPA as an easy shortcut to internal job accounting.
Introducing a revolutionary new iSeries Application Performance tool that can save you a lot of time, resources and money!
GiAPA is designed to increase the speed at which applications run on your system which will cause you to spend less time waiting on applications to generate the reports you need. GiAPA can reduce the amount of CPU usage needed to run those applications causing you to use fewer resources to accomplish the same ends. Ultimately GiAPA empowers you to do more with less and eliminate or delay the need to purchase additional system resources or upgrades.
GiAPA monitors your system usage 24/7 and collects detailed data to pinpoint unique events such as when an application:
1. slows down for no apparent reason
2. demands higher than expected CPU usage.
These events are reported in a concise and easy to follow format explaining the exact cause of each and how best to correct it.
GiAPA does this in the background using minimal resources and will continue to monitor and report any new issues that crop up with upgrades, applications or even new users.