PeopleTools now uses the DBMS_APPLICATION_INFO package to set module and action session attributes. This data is then copied into the Active Session History (ASH).
- Within the PIA, the application server sets module and action to the name of the current component and page within the current components
- For Integration Broker messages they are set to service and queue name.
- For Application Engine processes the module is set to PSAE and the action is set to the program name.
In Oracle Enterprise Manager, I can see the top SQL statements and group them by Module and Action, so I now can see which components are consuming the most time. I can also produce an AWR for a specific component or page within a component.
|OEM Screenshot of a PeopleTools 8.50 system.|
I can query the ASH data to profile which pages consume the most time on the database.
(Updated 19.11.2010) For some components the action is set to ‘xyzzy’. This seems to be a default value set when the component is opened, but before any of the pages are processed. Therefore, it refers to activity in the search dialogue, including processing of :
- look ups to obtain values for search criteria
- SQL issued during SearchSave PeopleCode to validate the search criteria.
- the query on the Component Search record
Now, I want to look at what happens in batch processes. In previous versions of PeopleTools, the module was set to the same value as the program name, and action was left blank. This is not particularly helpful. In 8.50 module is set to PSAE for Application Engine processes, and action is set to the name of the program.
This is certainly better than in previous versions. However, its weakness is that if I have multiple concurrent instances of the same process, although I could tell that the ASH data had come from different sessions, I would not be determine which came from which session. This situation could occur, for example, in Global Payroll if ‘streaming’ was configured, where the payroll calculation can be broken into many processes that run concurrently.
In another blog posting, Using Oracle Enterprise Manager (Grid Control) with PeopleSoft, I proposed a trigger that writes name of the PeopleSoft process name to module, and the Process Instance number into action. Furthermore, this trigger works for all processes scheduled by the Process Scheduler. I think that that trigger is still useful in PeopleTools 8.50.