Oracle Application Server Forms Services Deployment Guide 10g (9.0.4) Part Number B10470-01 |
|
When you develop and deploy Oracle Forms applications, it is helpful to have information that allows you to optimize your applications. Tracing and diagnostic tools that are available with Oracle Forms allow you to analyze the performance and resource consumption of your Oracle Forms applications at runtime. Through Enterprise Manager Application Server Control, you can use trace output to diagnose performance and other problems with Oracle Forms applications.
The following tools are available to collect trace information for Oracle Forms:
Forms Trace allows you to record information about a precisely defined part of forms functionality or a class of user actions. This is accomplished by defining events for which you want to collect trace information. For example, you can record information about trigger execution, mouse-clicks, or both.
This section on Forms Trace contains the following information:
An event is something that happens inside Oracle Forms as a direct or indirect result of a user action. An event set specifies a group of events that you can trace simply by specifying the event set name rather than each event number individually when you start the trace.
Use the Forms Trace Configuration selection in the Configuration tab of Oracle Enterprise Manager Application Server Control Forms page to define the events that you want to trace. This page manages all changes in the ftrace.cfg file for you.
See "List of Traceable Events" for a list of events and their corresponding event numbers.
Note: You should backup the formsweb.cfg and default.env files before editing them with Oracle Enterprise Manager Application Server Control. |
Note: If you first switch off trace, and then switch it on again with new settings, then trace is enabled with the new trace group. |
The following is a sample ftrace.cfg configuration file where three event sets have been specified.
Note the following if you are manually editing ftrace.cfg:
When you start the trace, you can specify tracegroup = "custom1" on the command line, which is equivalent to specifying tracegroup = "32-46, 65, 66, 96, 194"
The following command line parameters are used to configure Forms Trace:
Tracegroup = Log = <filename>
You start a trace by specifying trace entries in the URL or from Enterprise Manager Application Server Control. Entries should include the grouping of events to collect and the trace file name. Trace collection starts when the form executes.
The following are sample URLs to start a trace:
http://cx-pc/forms90/f90servlet?form=cxl&record=forms&tracegroup=0-199 http://cx-pc/forms90/f90servlet?form=cxl&record=forms&tracegroup=mysql http://cx-pc/forms90/f90servlet?form=cxl&record=forms&tracegroup=0-199;log=run1. log
A later release of Oracle Forms will implement a method for starting a trace via a built-in. The most recent information regarding Oracle Forms, including updated documentation, whitepapers, and viewlet demonstrations, is available on OTN at http://otn.oracle.com/.
Trace data is stored in a binary file with a *.trc extension. If you're not using Enterprise Manager Application Server Control, you'll need to use the Translate utility.
The Translate utility converts trace data to XML format.
java oracle.forms.diagnostics.Xlate datafile=a.trc xmlfile=myfile.xml
to create myfile.xml.
The following table lists the events that can be defined for tracing. In future releases of Forms, more events will be added to this list.
Event types are as follows:
* These event numbers do not have a TYPE because they are not really events, but rather details for events. For example, the State Delta is something you can choose to see - it is triggered by a real action or event.
The following tables list event details that can be defined for tracing:
Event Name | Details | Number |
---|---|---|
Builtin |
BuiltinName, FormId |
96 |
User Exit |
UserExitName, FormId |
97 |
MenuCreate |
MenuName, FormID |
99 |
PLSQL |
PLSQLSTmt, FormID |
100 |
ExecQuery |
Block Name |
101 |
Use this Enterprise Manager page to review Forms Services Trace metrics.
You can write your own classes to implemenet a write.output class that is XML-based.
The servlet logging tools available with Oracle Application Server Forms Services provides the following:
This section on servlet logging tools contains the following information:
You enable logging by:
When you turn on logging, the Listener Servlet writes log messages to the servlet log file. Examples of output for the various levels of logging are in Example Output for Each Level of Servlet Logging.
As an example, to start a performance-level trace, you would start the Oracle Forms application using a URL as follows:
http://yourserver/forms90/f90servlet?serverURL=/forms90/l90servlet/perf
As an example, to start session-level logging for all users, you would change the serverURL entry in the default section in the Forms Web Configuration page to the following:
serverURL=/forms90/f90servlet/session
As an example, to start full diagnostics, you would start the Oracle Forms application using a URL as follows. Note that if you append /debug to the URL used to invoke the Forms Servlet that servlet will output debug messages to the log file too.
http://yourserver/forms90/f90servlet/debug?serverURL=/forms90/l90servlet/debug
The servlet log file is application.log. It is written to the application-deployments/forms90app directory of the OC4J instance to which Forms is deployed.
In Oracle Application Server Forms Services, the full path is:
<ORACLE_HOME>/j2ee/OC4J_BI_FORMS/application-deployments/forms90/1_default_ island/application.log
In Forms Developer, it is:
<ORACLE_HOME>/j2ee/OracleDS/application-deployments/forms90/application.log
The following are examples of the type of output you will get when you use the following levels of logging:
FormsServlet init(): configFileName: d:\orant9i/forms90/server/formsweb.cfg testMode: false
Session start messages (example):
Forms session <10> started for test-pc.mycompany.com ( 138.56.98.72 ) Forms session <10> runtime process id = 373
Session end message (example):
Forms session <10> ended
Forms session <3> started for test-pc.mycompany.com ( 138.56.98.72 ) Forms session <3> runtime process id = 460 Forms session <3> ended Total duration of network exchanges: 1.041 Total number of network exchanges: 2 (1 "long" ones over 1.000 sec) Average time for one network exchange (excluding long ones): 0.030 Total bytes: sent 1,110, received 316
Forms session <3> started for test-pc.mycompany.com ( 138.56.98.72 ) Forms session <3> runtime process id = 460 Forms session <3>: request processed in 1.011 sec. Received 8 bytes,returned 8 bytes. Forms session <3>: request processed in 0.030 sec. Received 308 bytes, returned 1,102 bytes. Forms session <3> ended Total duration of network exchanges: 1.041 Total number of network exchanges: 2 (1 "long" ones over 1.000 sec) Average time for one network exchange (excluding long ones): 0.030 Total bytes: sent 1,110, received 316
Here is an example run by going to a URL like http://test-machine:8888/forms90/f90servlet/debug&config=ienative&serverURL=/forms90/l90servlet/debug):
=============== FormsServlet =============== GET request received, cmd=debug, qstring=config=ienative&serverURL=/forms90/l90servlet/debug No current servlet session File baseie.htm not found, looking in d:\orant9i/forms90/server The SSO_USERID is: null =============== FormsServlet =============== GET request received, cmd=startsession, qstring=config=ienative&serverURL= /forms90/l90servlet/debug&ifcmd=startsession No current servlet session New servlet session started SSO_USERID in startSession: null SSO_AuthType in startSession: null User DN: null Subscriber DN: null EM mode in the config file: 0 File default.env not found, looking in d:\orant9i/forms90/server envFile = d:\orant9i\forms90\server\default.env serverURL: /forms90/l90servlet/debug rewrittenURL: /forms90/l90servlet/debug;jsessionid=27f6412da05c 426ab47db4ae77636113 =============== ListenerServlet =============== GET request received, cmd=getinfo, qstring=ifcmd=getinfo&ifhost=test-pc.mycompany.com&ifip=130.35.96.71 Existing servlet session, id = 27f6412da05c426ab47db4ae77636113, not from cookie Creating new Runtime Process using default executable Starting Forms Server in EM mode startProcess: executing ifweb90 server webfile=HTTP-0,0,1 Getting stdin, stdout and stderr of child process Writing working directory to stdin: d:\orant9i\forms90 New server process created Forms session <4> started for test-pc.mycompany.com ( 138.56.98.72 ) *********************************************** Got POST request, length = 8 HTTP request headers: ACCEPT-LANGUAGE: en PRAGMA: 1 CONTENT-TYPE: application/x-www-form-urlencoded ACCEPT: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 USER-AGENT: Mozilla/4.0 (compatible; MSIE 5.0; Win32) HOST:test-machine:8888 CONTENT-LENGTH: 8 CONNECTION: Keep-Alive Existing servlet session, id = 27f6412da05c426ab47db4ae77636113, not from cookie Forms session <4> runtime process id = 474 Port number is 2791 RunformProcess.connect(): connected after 1 attempts Connected to ifweb process at port 2791 Forms session <4>: request processed in 1.032 sec. Received 8 bytes, returned 8 bytes. ***********************************************
|
Copyright © 2003 Oracle Corporation. All Rights Reserved. |
|