PROFILER Frequently Asked Questions


OVERVIEW

PROFILER for NATURAL is a powerful quality assurance and testing tool, which has been developed by Treehouse Software, Inc. (TSI). PROFILER enables sites to thoroughly test NATURAL applications, resulting in lower maintenance and support requirements.

Since the product's inception, potential customers have sent us their lists of requirements for Testing and Quality Assurance Tools. Although these questions date back several years and many of the product's features have been enhanced, they may be helpful during your evaluation of PROFILER. While evaluating PROFILER, keep in mind that TSI employs a full-time development staff to ensure that the product's features are constantly enhanced to meet the needs of sites everywhere. For information on the latest release of each product, visit our Products and Services page or contact TSI.

 

PROFILER QUESTIONS & ANSWERS

 Table of Contents

Activation Masks (Wildcards) Logical File Program Listing Report
Batch Mode Miscellaneous PROTERN/NATURAL Recording Facility
Batch Programs Monitoring Quality Assurance
CALLNAT Statement N2O Session
Compare NATURAL Optimizing Compiler Statement Level Statistics
Compatibility NATURAL Source Code Statement Execution Times
CPU - Related Parameters Nested Loops Statistics
Creating Text Data and Procedures Overhead Support
Hardcopy Report Paging Activity TRIM
IF/DECIDE Conditions Probes Tutorial/Help Function
Installation Program Level Statistics Upgrades


Activation Masks (Wildcards)

Question: How flexible are the PROFILER activation masks (wildcards) for specifying the program and library names to be monitored?

Answer: A user may specify a NATURAL library and/or program to be profiled, or the user may specify an activation mask to profile a set of NATURAL programs. PROFILER offers four mask options for profiling ("*", "?", ".", and "@"). Please refer to the "Activate Session" subsection of the PROFILER Reference Manual for more information about PROFILER activation masks.

Return to Table of Contents


Batch Mode

Question: If a user is running a NATURAL program in batch mode, can the user profile it while on-line?

Answer: A user must activate a PROFILER session in batch mode to profile batch program(s). A user must activate a PROFILER session in an on-line NATURAL session to profile NATURAL on-line programs. However, if the batch programs and the on-line programs reside on the same FUSER file where PROFILER is installed, statistics for both are collected in the same repository and can be obtained with either batch or on-line reports. For example, a program can be profiled in batch mode, but statistics may be viewed on-line. Also, a program can be profiled during an on-line session and hardcopy statistics obtained through batch reports.

Return to Table of Contents


Batch Programs

Question: What is involved in using PROFILER with batch programs?

Answer: First, the user must define a PROFILER session on-line. Then, the user must include steps in the job to activate and deactivate the session as part of the job. All PROFILER reports for the session will be available on-line and in batch.

Return to Table of Contents


CALLNAT Statement

Question: How does PROFILER work when a program uses the CALLNAT statement? Do statistics for the CALLNATed module get applied to the CALLNAT statement in the calling program, or are they applied to the module that is called?

Answer: PROFILER is able to determine when the currently executing NATURAL module has changed. In the case of a CALLNAT, PROFILER will keep statistics for the calling program and the CALLNATed module separately. The CALLNAT statement itself will be charged only for the CPU time used to retrieve the called module. The called module will accumulate statistics for its own execution.

Return to Table of Contents


Compare

Question: If you had profiled a program before a change was made, and profiled it again after the change, could PROFILER compare the two reports to tell you how the change affected the program's performance?

Answer: PROFILER does not currently provide an option for comparing two reports for the same program. However, the summary statistics provided by PROFILER are very easy to compare visually and would alert you to any substantial change in CPU consumption or database elapsed time for the old and new versions of the program.

Return to Table of Contents


Compatibility

Question: We are concerned about compatibility. Will PROFILER impair the functionality of our existing products? Can we operate PROFILER without additional hardware or software?

Answer: PROFILER will co-exist with any other NATURAL Testing and Quality Assurance Tools, performance monitors, etc. PROFILER does not impair the functionality of any Software AG product. PROFILER for NATURAL does not require additional products (e.g., the NATURAL Security System), other than ADABAS and NATURAL from Software AG.

 

Question: Does PROFILER work with SUPERNATURAL-created code, since SUPERNATURAL operates differently from NATURAL?

Answer: PROFILER collects its statistics from the execution of NATURAL object code. If a user saves NATURAL source code from SUPERNATURAL, then PROFILER will be able to provide its full range of reports on those programs. If the user does not save the NATURAL source code from SUPERNATURAL, PROFILER can provide program level statistics, but not the statement level statistics found in the Program Listing Report.

 

Question: Does PROFILER work under CICS on VM?

Answer: At this time, PROFILER is not available under CICS on VM. PROFILER is available on VM, and does support CICS under MVS.

 

Question: Does the PROFILER assembler code work in 31-bit mode?

Answer: Under NATURAL 2.2, PROFILER can be called from a 31-bit addressing environment. Under NATURAL 2.1, PROFILER must be installed below the 16-megabyte line and requires that AMODE=24 and RMODE=24.

 

Question: Our department is going to be making use of the new STEPLIB capability in NATURAL 2.2. Will this be a problem for PROFILER?

Answer: No. PROFILER will be able to accumulate its program and statement level statistics for any NATURAL object being executed, including objects being executed through STEPLIBs.

Return to Table of Contents


CPU-Related Parameters

Question: Do sites have to supply any CPU-related parameters or other figures to help PROFILER calculate CPU usage statistics?

Answer: No. PROFILER performs its own calculations and calibrations. The assembler part of PROFILER does not require any parameters or other "environment factors".

Return to Table of Contents


Creating Text Data and Procedures

Question: Creating good test data and procedures is difficult. How can PROFILER help me do this?

Answer: By examining the PROFILER Application Quality Assurance Report, it is easy to pinpoint programs that have not been fully tested. By examining the Program Listing Report for these programs, you will be able to see which statements were not executed. This will often highlight weaknesses in test data and procedures. For example, if the statements following an "IF" statement were not executed during testing, an examination of that IF statement will tell you what test data/procedure was needed in order to cause those statements to be executed.

 

Question: Will PROFILER automatically tell you what test data was missing or what procedures were not followed to fully test a program? Can PROFILER tell you about a combination of criteria that were missing in the test data?

Answer: PROFILER does not report things, such as missing test data or procedures that were not followed. However, it is possible to determine missing elements of the test suite by profiling an application using the existing suite of test data procedures. If less than 100% of the code was tested using the existing test suite, it is obvious that some procedures may not have been followed, some test data was not present, or some combination of criteria was not met. Using the PROFILER Program Listing reports for the programs that were less than 100% tested, a site can determine how to augment its test suite to increase this percentage. However, PROFILER does not generate a report that shows the specific data, procedures, or criteria needed to thoroughly test the code.

Return to Table of Contents


Hardcopy Report

Question: Can PROFILER provide hardcopy reports?

Answer: Yes. PROFILER provides both batch (hardcopy) and on-line (screen) reports.

Return to Table of Contents


Installation

Question: Does PROFILER have to be installed on each NATURAL nucleus?

Answer: PROFILER must be installed on each NATURAL nucleus where profiling will occur. PROFILER NATURAL programs must be installed on every FUSER file where object code resides, if that object code is to be profiled.

 

Question: A site's DBA mentioned that he had to modify an ADABAS parameter to install PROFILER. Is that true?

Answer: PROFILER requires no modifications to ADABAS parameters, but a (standard) modification must be made to the ADALINK module(s).

PROFILER maintains statistics through an independent link to the ADABAS address space by issuing an ADABAS OPEN command with a newly generated and unique ADABAS User-ID. Under Batch/TSO and COM-PLETE/TPF, this requires the user to create a copy of ADALNK and make this copy reentrant. Only PROFILER uses this copy. Under CICS, the ADALNC module must be coded with &SAP=Y. This allows the collection of PROFILER statistics to be kept separate from ADABAS calls and does not interfere with any other processing.

Note that neither modification results in changing a single ADABAS parameter and does not require any "zaps" to the ADALINK code.

Return to Table of Contents


Logical File

Question: Does PROFILER require a logical file?

Answer: No. This is optional. PROFILER statistics may be stored on the FUSER file where PROFILER is installed or on a separate ADABAS file with the same layout (FDT) as the FUSER file.

Return to Table of Contents


Miscellaneous

Question: Our organization does not have a formal Quality Assurance (QA) program. We do not even have a Quality Assurance or Testing department. Why would we need PROFILER?

Answer: Actually, if you do not have a formal Quality Assurance program, PROFILER may be EXACTLY what you need. If your organization relies on its programming staff to test its NATURAL applications completely, PROFILER is an excellent tool to help them test code. PROFILER can ensure that new code is completely tested and can point out potential performance problems before the programs reach Production.

In fact, PROFILER can be the start of your QA effort. Most organizations already do some level of QA testing. All it can take to formalize the QA process is a simple policy statement and a required PROFILER report. The Application Development Manager can tell programmers, "Before I will allow any program to be placed in Production, I must know that 85% of its statements have been tested and that its outputs appear to be correct." Thus, once an application programmer has changed a program, it should be tested using PROFILER. A PROFILER report can then be produced, showing the percentage of executable statements that were executed during the testing session(s). Hardcopy reports or screen prints can also be produced. These materials are then submitted to the Application Development Manager by the programmer as evidence that 85% or more of the code was executed, and that the results appeared correct. Thus, this simple policy can provide a very reasonable level of QA without a need to hire additional staff or unnecessarily increase the programmers' workload.

As your QA program matures, you may want to modify or enhance your requirements. PROFILER has many helpful reports that you can "grow into" as you need them.

 

Question: If a user only changed one statement in a NATURAL program, can PROFILER inform the user if the statement was executed during testing?

Answer: Yes. If the user profiles the program and runs the Program Listing Report, the user will be able to see that statement in the report and determine very quickly if it was executed. If it was not executed, the user will see an asterisk (*) in the "N/E" (not executed) column of the Program Listing Report.

 

Question: Can a site have PROFILER executing in production?

Answer: Because PROFILER monitors each and every NATURAL statement that is executed, it can generate unnecessary overhead in a production environment. For this reason, we do not recommend executing PROFILER in production. However, PROFILER can be used to diagnose a production problem. If used in this way, PROFILER should be instructed to monitor as small a subset of the production environment as possible.

 

Question: Once PROFILER pinpoints a problem program, can a user then look at that program's listing report to find out what statement (or statements) caused the problem?

Answer: Yes. In fact this is exactly why PROFILER generates the Program Listing Report. The Program Listing Report lists execution count, CPU time, and database elapsed time for each NATURAL statement in a NATURAL program.

 

Question: On the slides in the PROFILER presentation, the statistics for the two END statements are different. Why is that?

Answer: END statements may show variation in CPU times because activities that occur during the execution of an END statement are very complicated. The time an END statement takes depends on activities that are external to the program, such as NATURAL housekeeping activities, including popping stacks and restructuring/relocating local data areas, and NATURAL Buffer Pool activities, such as searching for the next program, loading the next program, and initializing the next program. PROFILER does not stop measuring CPU time for the END statement until the first executable statement of the next program is encountered.

 

Question: Is the assembler part of PROFILER link-edited to NATURAL?

Answer: Yes.

 

Question: If PROFILER is monitoring a user's actions, and the user logs off of NATURAL, will PROFILER be deactivated for that user?

Answer: PROFILER stops collecting a user's statistics when that user's NATURAL session is terminated, but continues to indicate that the user is active until that user re-enters PROFILER.

 

Question: Does PROFILER affect the size of a site's NATURAL programs?

Answer: No. PROFILER does not modify a site's programs in any way. PROFILER does not affect the size of NATURAL programs or insert "probes" of any kind into NATURAL programs.

 

Question: Do you have any suggestions for how a new PROFILER for NATURAL customer site should start using PROFILER?

Answer: New PROFILER sites should make PROFILER available to all of their programmers. Distributing the PROFILER Reference Card to the programming staff can help increase awareness of the product and encourage its use by programmers. We also recommend that site establishes a testing policy. For example, the site may require at least 85% of all statements in a program be tested before the program may be placed in Production. If this simple policy is enforced, a site can greatly improve its testing efforts and the quality of its Production code.

 

Question: Can more than one user activate the same PROFILER session? If so, is there a way to differentiate the statistics collected for each user in the PROFILER reports?

Answer: More than one user can share the same PROFILER session. This allows the users to take a "team approach" to testing an application. At this time, however, PROFILER does not distinguish between the statistics collected for one user and those collected for another user when sessions are shared.

One way the site could differentiate between the users' statistics would be to ask each user to profile a different subset of the application. For example, User A could profile the application using the mask "PAY1*" and User B could profile using the mask "PAY2*". Any statistics collected for programs whose names start with the characters "PAY1", such as PAY1000P would belong to User A. Any statistics collected for programs whose names start with the characters "PAY2", such as PAY2310P, would belong to User B.

PROFILER Version 3.1.0, however, is expected to contain a facility for differentiating between individual users' statistics for reporting purposes.

 

Question: How many users can use PROFILER simultaneously? How many can use the same session simultaneously?

Answer: PROFILER Version 2.1.0 supports up to 64 profiling sessions with up to 84 simultaneous users per session. PROFILER Version 3.1.0 will support up to 255 sessions with up to 94 simultaneous users if a dedicated ADABAS file is created for PROFILER's use.

 

Question: Can you tell if two people who tested the same programs fail to test the same things?

Answer: Yes. If two users sharing the same session fail to test the same program or statement, the PROFILER reports will indicate that the program or statement was not tested.

 

Question: Does PROFILER make use of the NATURAL 2.2 Command Processor?

Answer: PROFILER does not currently use the NATURAL Command Processor.

 

Question: Can PROFILER record my keystrokes as I test, and play them back later so that I don't have to keep re-entering them to perform later tests?

Answer: We plan to investigate how PROFILER can interface with the NATURAL Recording Facility to help sites automate their NATURAL testing efforts, but no such capability is currently available within PROFILER.

Return to Table of Contents


Monitoring

Question: How does PROFILER group programs for monitoring by library or across libraries?

Answer: PROFILER can monitor an individual program or a set of programs that span multiple libraries. Users may select programs to be monitored by entering a library mask and a program mask on the "Activate Session" screen. PROFILER offers four mask options for defining the libraries and programs to be monitored. The user may specify a particular NATURAL library or program to be monitored or the user may provide a mask, which selects a set of NATURAL libraries and/or programs to be monitored.

Return to Table of Contents


N2O

Question: You say that PROFILER is the perfect complement to N2O. Why is this?

Answer: PROFILER is a perfect complement to N2O, Treehouse Software's Change Management System for NATURAL and 3GLs, because it adds a great NATURAL Quality Assurance and Testing tool to the best NATURAL Change Management product available.

As part of the NATURAL application development process at most sites, code passes through a Testing/QA environment before being placed in Production. PROFILER provides an excellent way to document the testing that the code receives in this environment and to determine that the code has been properly tested before it is allowed to migrate to Production.

In such a situation, the site will install PROFILER in the Testing/QA area. When programmers migrate changed code into this area, the testers activate PROFILER and test the code. Once the PROFILER reports indicate that the code has been tested to site standards (e.g., 85% of all executable statements have been executed), the testers generate hardcopy reports for management, and the code is migrated to Production.

Thus, PROFILER complements N2O by helping the site to enforce its Quality Assurance and testing standards, therefore improving the quality of Production applications.

 

Question: Does PROFILER have an interface to N2O?

Answer: There is currently no interface between PROFILER and N2O (Treehouse Software's Change Management product). However, a number of sites have requested such an interface. The PROFILER Development Team has placed this interface on its enhancement list and plans to implement it in a future PROFILER release.

Return to Table of Contents


NATURAL Optimizing Compiler

Question: Has TSI run PROFILER against code optimized with the NATURAL Optimizing Compiler and against the same code that has not been optimized? What were the results? Did the NATURAL Optimizing Compiler seem to help improve execution times?

Answer: Yes. We have run PROFILER against unoptimized code and optimized code. We have found that the NATURAL Optimizing Compiler does, in many cases, reduce CPU consumption by NATURAL programs. For this reason, much of the NATURAL code in PROFILER is optimized using the NATURAL Optimizing Compiler.

Return to Table of Contents


NATURAL Source Code

Question: Is it necessary to have the NATURAL source code available for the programs a user is monitoring with PROFILER?

Answer: Object code, but not source code, is required in order to monitor an application using PROFILER. Source code is only needed to produce the Program Listing Report. All other reports can be produced with only the object code present.

 

Question: Would PROFILER help us decide when to use the NATURAL Optimizing Compiler and when to avoid using it?

Answer: Yes. Using PROFILER on a NATURAL program before and after using the NATURAL Optimizing Compiler (NOC), it is possible to note the difference in CPU consumption for the program.

Return to Table of Contents


Nested Loops

Question: Can PROFILER help me test Nested Loops in my NATURAL programs? Can PROFILER help test IF/DECIDE Conditions?

Answer: Yes. By examining the FOR/REPEAT Loops Report, you can determine if there are any untested loops in your programs (including any Nested Loops). You may examine the Program Listing report to determine why the Nested Loops in your program were not tested. You will then be able to construct test data or procedures to cause all of the Nested Loops to be executed.

By examining the IF/DECIDE Conditions Report, you can also determine if there are any untested conditions in your programs. Test data or procedures can then be constructed to cause all of the conditions to be met during testing.

Return to Table of Contents


Overhead

Question: What percentage of overhead would PROFILER add to our development environment?

Answer: PROFILER has been designed for maximum efficiency. Under NATURAL 2.1 and NATURAL 2.2.0 through 2.2.4, when no PROFILER session is active, the overhead is two instructions each time the NATURAL Dispatcher gets control. If a session is active for a given NATURAL user, the NATURAL Dispatcher passes control to a PROFILER assembler program, which accumulates statistics for each executable statement.

Under NATURAL 2.2.5 and higher, when a PROFILER session is active, a PROFILER assembler program responsible for collecting statistics is invoked by the NATURAL Debugging Facility for each executable statement. When no PROFILER session is active, there is no overhead unless the NATURAL Debugging Facility is in use. If the Debugging Facility is in use, the overhead is approximately 12 instructions per NATURAL statement.

There is some overhead when a PROFILER session is active. This overhead affects only the user who has activated a PROFILER session. The overhead is greater when a large number of NATURAL programs are executed. When a user's session is active, PROFILER is invoked by NATURAL each time any NATURAL module is executed by that user. A PROFILER assembler program periodically writes records to an ADABAS file if the module executed matches the library/program masks specified by the user at session activation. This minimizes the level of database access required and minimizes the overhead created by PROFILER.

 

Question: Does PROFILER's overhead affect how and where a site should use the product? Is PROFILER more likely to be used in Development/Test environments than in Production environments?

Answer: When PROFILER is not active, there should be virtually no overhead. When PROFILER is active, it monitors each and every NATURAL statement that is executed. Because of this, PROFILER can generate unnecessary overhead in a Production environment. For this reason, we do not recommend executing PROFILER in Production.

Return to Table of Contents


Paging Activity

Question: If you profile a batch job that does lots of paging, will that paging activity show up in the PROFILER reports?

Answer: The paging activity will show up as CPU consumption in PROFILER. You can also use TRIM, our performance monitor, to get more detailed information on the paging activity. (TRIM is a separate product.)

Return to Table of Contents


Probes

Question: Why does Treehouse Software feel that the insertion of "probes" into NATURAL source code (as done by some application testing tools) is "dangerous"?

Answer: We consider the insertion of probes into source code to be "corruption" of the program. But there are many other reasons we are strongly opposed to using source code "probes". The insertion of such probes increases the need for backups because of the potential that a database could go down during the insertion of the probes or because the probes could be inserted incorrectly, etc. Further, the "probed" programs are not representative of the Production code because of timing and code location. Probes can be accidentally left in a program, causing it to fail in Production. Programs close to NATURAL size limits may exceed those limits once the probes are inserted. All of these reasons make the use of probes a "dangerous" and unwise practice.

An additional "annoyance" of probes is that they require you to recompile your source code after the probes have been inserted. PROFILER does not require source code to be recompiled.

 

Question: If PROFILER doesn't insert "probes" into source code, how does it collect its information about program execution?

Answer: PROFILER attaches itself to the NATURAL Dispatcher. As each statement is executed, PROFILER will note the CPU time and statement number, then pass the statement on to NATURAL to be executed. When the next statement appears, PROFILER calculates the CPU time for the previous statement and notes the current statement information. Periodically, PROFILER stores the statistical information in an ADABAS file. This method allows PROFILER to monitor EVERY statement execution, not just a few, provides more accurate statistics, and does not require a single change to NATURAL source code.

Return to Table of Contents


Program Level Statistics

Question: Can PROFILER be set to record program level statistics rather than statement level statistics, so that we might use it in Production?

Answer: PROFILER cannot be instructed to record only program-level statistics. However, PROFILER can be used to diagnose production problems. If used in production, PROFILER should be instructed to monitor as small a subset of the production environment as possible.

Return to Table of Contents


Program Listing Report

Question: What does the "*" in the "N/E" column of the Program Listing Report indicate?

Answer: The "N/E" column stands for "Not Executed." Any statement in the Program Listing report that has an asterisk ("*") in the N/E column is a statement that was not executed during testing. This column is intended to help locate untested code "at a glance".

Return to Table of Contents


PROTERM/NATURAL Recording Facility

Question: Can PROFILER be used with PROTERM, an interactive testing/recording tool? Does PROFILER interface with the NATURAL Recording Facility?

Answer: Once a PROFILER session is activated, it makes no difference whether the programs are tested manually or through a tool such as PROTERM. PROFILER does not currently interface with PROTERM or the NATURAL Recording Facility.

Return to Table of Contents


Quality Assurance

Question: Does TSI have a quality assurance program in place for PROFILER?

Answer: Treehouse Software has always considered product quality an important issue. Every product undergoes testing in-house before being shipped to BETA test sites. Following thorough BETA testing, the product is made available for general release.

More recently, Treehouse Software is improving its Quality Assurance program. Our Quality Assurance staff continuously improves our Standard Quality Procedures to monitor and control the quality of each release. Formal standards and policies are evolving for BETA testing to ensure that each release is properly tested. Our goal in developing these procedures is to prepare the company for the strictest internationally recognized standards, including ISO 9000.

Return to Table of Contents


Session

Question: Does a PROFILER session relate to a specific user?

Answer: Not necessarily. A user may have only one session active at a time. However, multiple users may have the same session active at the same time. Statistics are stored by session number, not by user. If only one user has activated a session, all of the statistics relate to that user's activities. However, if multiple users have activated a session, their statistics are accumulated and stored together under the same session number.

Return to Table of Contents


Statement Level Statistics

Question: If a user has a program that calls a subprogram, which is object code only, could the user see statement level statistics on that subprogram if the user makes the source code accessible to PROFILER?

Answer: If the source code of the subroutine is available to PROFILER, the Program Listing Report will display statistics for that object at the statement level.

Return to Table of Contents


Statement Execution Times

Question: How does PROFILER determine the statement execution times that it reports?

Answer: The PROFILER Assembler Module is given control by NATURAL at the start of each statement execution. At that time, PROFILER makes a note of the library, program, and statement number being executed. PROFILER also checks the CPU timer and determines how long it took to execute the previous statement, subtracting a small amount to compensate for the product's own overhead. If the statement is a database-accessing statement (e.g., FIND or READ), PROFILER makes a note of the time that elapses from the point at which the call was issued to the database and the point at which NATURAL receives the response from the database. The statistics are periodically written to an ADABAS file for later reporting by PROFILER.

Return to Table of Contents


Statistics

Question: Where and when does PROFILER collect statistics?

Answer: Under NATURAL 2.1 and NATURAL 2.2.0 through 2.2.4, if a session is active for a given NATURAL user, the NATURAL Dispatcher passes control to a PROFILER assembler program, which accumulates statistics for each executable statement. Under NATURAL 2.25 and above, the PROFILER assembler program responsible for collecting statistics is invoked by the NATURAL Debugging Facility for each executable statement. The PROFILER assembler program accumulates statistics in a GETMAINed area for non-CICS users and in the NATURAL thread for CICS users. The assembler program periodically writes records to the FUSER file where PROFILER is installed or to a separate ADABAS file with the same layout (FDT) as the FUSER file.

Return to Table of Contents


Support

Question: What type of support does TSI provide for PROFILER?

Answer: Treehouse Software maintains a 24-hour, 7-day support system. Technical personnel are on call around the clock to solve customer problems.

 

Question: We are looking for a vendor that is dedicated to the support of their product. Does TSI employ full-time developers to maintain and enhance PROFILER? Is it possible for customers to speak directly with product developers to discuss problems and enhancements?

Answer: Treehouse Software considers PROFILER to be an important, strategic product. Any PROFILER customer or prospective customer wishing to speak to a developer needs only to call Treehouse Software. Often, the developers speak with current and potential customers to discuss the value and implementation of intended enhancements to evaluate how users would prefer these enhancements to be implemented.

 

Question: If necessary, are TSI representatives willing to travel to our site to assist in the installation and setup of the product? Does TSI offer training in the use of PROFILER?

Answer: Treehouse Software's technical representatives are available to visit customer sites to assist with the installation, training, and setup of PROFILER, if needed. Most sites, however, find that PROFILER requires little or no formal training, and that the installation can be quickly and easily accomplished using in-house resources.

 

Question: Does TSI provide training for PROFILER? If so, can TSI customize this training to meet our site's needs?

Answer: Yes, to both questions. Treehouse Software offers on-site PROFILER training at a very reasonable price. This training is always customized to the site's needs and will focus on the areas of greatest interest to the site.

Return to Table of Contents


TRIM

Question: You also mention that PROFILER is a perfect complement to TRIM. If I already have TRIM, why would I need PROFILER? If I have PROFILER, why would I need TRIM?

Answer: PROFILER and TRIM can both be used to help tune your NATURAL programs. However, while TRIM provides a variety of ADABAS-related statistics about program execution, it cannot provide the detailed execution statistics possible with PROFILER.

For example, consider a program that retrieves a record from ADABAS, then adds two numeric fields from the record together, places the result in the first field (the "running total"), resets the second field to zero (the "current amount"), and then updates the record. TRIM, which is attached to ADABAS, sees the initial reading of the record, and the subsequent update. TRIM can report how long it took ADABAS to process the two calls, and can report other details about the ADABAS access, such as the NATURAL statement number issuing the command, the file accessed by the command, the user issuing the command, etc. TRIM cannot tell, for example, how long it took to compute the new "running total" or reset the "current amount" field.

In this example, PROFILER can tell you which statements accessed ADABAS, and the ADABAS elapsed time for those statements. PROFILER can also tell you how long it took to compute the "running total" and reset the "current amount" field. PROFILER can tell you how many times each statement was executed, the total CPU time spent executing each statement, and the average CPU time, among other statistics.

However, PROFILER cannot tell you which database and file were accessed, and it cannot tell you which other users were running the same program. TRIM can provide this information.

Therefore, PROFILER complements TRIM by provide excellent NATURAL statement and program execution statistics. TRIM complements PROFILER by providing very detailed ADABAS performance and tuning information, as well as NATURAL execution information. Either tool alone will provide benefit, but both tools together provide greater benefit.

 

Question: Is PROFILER dependent upon the existence of TRIM at the site?

Answer: No. Although PROFILER and TRIM complement each other very well, PROFILER does not require TRIM, and TRIM does not require PROFILER. If a site has both products, TRIM can be used to determine an ADABAS-intensive program and PROFILER can be used to pinpoint the statements causing the inefficient access, as well as any statements that consume large amounts of CPU time.

Return to Table of Contents


Tutorial/Help Functions

Question: Does PROFILER provide on-line tutorial/help functions that are menu driven and provide an "expert" mode? Is its user documentation clear and precise? We wish to fully implement and use the product without acquiring training beyond what is provided at acquisition time. Is this possible or does PROFILER require expert (senior programmer level) knowledge?

Answer: PROFILER is completely menu driven and provides the ability to traverse the system using PF-Keys or a Direct Command Line. On-line help screens display information about the current function, or identify the data entry requirements for a particular field. The PROFILER documentation is under constant review for clarity and accuracy. No special training is needed to use PROFILER for NATURAL.

Return to Table of Contents


Upgrades

Question: Is PROFILER designed/structured in a way that allows for the activation/implementation and deactivation/removal of upgrades without significantly disrupting production facilities?

Answer: We recommend that PROFILER not be installed in the Production environment. As a result, its installation should not affect Production activities. The installation process itself requires a simple INPL of the PROFILER NATURAL modules and the installation of Assembler modules that are linked to the NATURAL nucleus. Removal of PROFILER involves deleting the PROFILER data and reversing the installation.

Return to Table of Contents

 

Here's where you can select other sections
of the TSI Evaluator Kit.


What's New | Products | Services | About Us | Newsletter | Management | Partners | Support
International | Employment | Evaluator Kits | Links | Site Map | Contact TSI | Home

Copyright © 2010 Treehouse Software, Inc.