Thursday, December 1, 2011

Trace Application Engines

Application Engines can be traced on two ways.

1. On The PIA.

2. On the Process Scheduler and Application Server.

Trace Application Engines On The PIA:

On the PIA, we can activate tracing for a particular Application Engine.

When activating tracing on the Client or on the Process Scheduler, any Application Engine run will generate a trace file.

Suggested Process Scheduler Trace Setting:

-TRACE 391- TOOLSTRACESQL 143 -TOOLSTRACEPC 1996

clip_image001

Go to the ‘Override Options’ tab. Set the ‘Parameter List’ option to ‘Append’ and add the tracing flags as explained below.

Tracing Options:

Application Engine tracing:

Add the sum of all the options you want to use at the end of the parameter list and precede the number by ‘–TRACE + a space’. For example:

-TRACE 391

Here is the list of options and associated numbers for each option:

1 Initiates the Application Engine Step trace

2 Initiates the Application Engine SQL trace

4 Trace dedicated Temp Table Allocation to AET file

128 Initiates the Statement Timings trace to file, which is similar to the COBOL timings trace to file

256 Initiates the PeopleCode Detail to the file for the Timings trace

1024 Initiates the Statement Timings trace, but, instead of writing to the trace file, this trace stores the results in the following tables: PS_BAT_TIMINGS_LOG and PS_BAT_TIMINGS_DTL

2048 Adding this value requests a database optimizer trace file

4096 Requests a database optimizer to be inserted in the Explain Plan Table of the current database

8192 This value sets a trace for Integration Broker transform programs

To turn traces on, sum all the options you want to use and enter the results at the end of the parameter list and precede the number by ‘–TRACE + a space’ as shown above. For example, you should use ‘391 (1+2+4+128+256) to trace what is shown in bold above.

SQL tracing:

Add the sum of all the options you want to use at the end of the parameter list and precede the number by ‘–TOOLSTRACESQL + a space’. For example:

-TRACE 391 -TOOLSTRACESQL 143

Here is the list of options and associated numbers for each option:

1 Trace SQL statements

2 Trace SQL statement variables

4 Trace SQL connect, disconnect, commit and rollback

8 Show fetched rows (indicates that it occurred, not data)

16 Show all other API calls except ssb

32 Set Select Buffers (identifies the attributes of columns to be selected).

64 Show database API specific calls

128 Show COBOL statement timings

256 Show Sybase bind information

512 Show Sybase fetch information

4096 Show manager information

8192 Show Mapcore information

To turn traces on, sum all the options you want to use and enter the results at the end of the parameter list and precede the number by ‘–TOOLSTRACESQL + a space’ as shown above. For example, you should use ‘135’ (1+2+4+128) to trace what is shown in bold above.

PeopleCode tracing:

Add the sum of all the options you want to use at the end of the parameter list and precede the number by ‘–TOOLSTRACEPC + a space’. For example:

-TRACE 391 -TOOLSTRACEPC 1996

or

-TRACE 391 -TOOLSTRACESQL 135 -TOOLSTRACEPC 1996

Here is the list of options and associated numbers for each option:

1 Trace instructions

2 List the program

4 Show assignments to variables

8 Show fetched values

16 Show stack

64 Trace start of programs

128 Trace external function calls

256 Trace internal function calls

512 Show parameter values

1024 Show function return values

2048 Trace each statement in program

To turn traces on, sum all the options you want to use and enter the results at the end of the parameter list and precede the number by ‘–TOOLSTRACEPC + a space’ as shown above. For example, you should use ‘2012’ (4+8+16+64+128+256+512+1024) to trace what is shown in bold above.

clip_image002

NOTE: DO NOT FORGET TO TURN TRACING OFF by setting the ‘Parameter List’ option to ‘None’ in the ‘Processes’ component – ‘Override Options’ tab.

4 comments:

data.is.fun said...

Thanks for the post !

Unknown said...

how to pass data to temporary tables?

Pawan Mundhra said...

What is your requirement? Straight you can write insert statement in your app engine. Your temp record should be bind with %Table() metasql.

Ranjan Patro said...

PeopleTools -> Utilities -> Debug -> Trace PeopleCode/SQL/Page, etc to trace stuff just before starting what you want to trace.

Post a Comment