Portlet Factory, Version 6.1.2
Starting builder call timing tracing
To analyze the time that builder calls take during regeneration, you can start builder call timing tracing. You may have to perform this task to analyze slow regeneration of a model. You can do this tracing both in IBM® WebSphere Portlet Factory Designer and on the server. The tracing collects timing data on builder calls during regeneration of a model. During regeneration, each builder in the model is called in sequence by its order in the builder call list.
- Change the builderCallTiming property in the log4j.properties file.
- To start logging, restart WebSphere Portlet Factory Designer.
If you changed the property for the server, restart the application server or portal server.
The logging of builder call timing data starts on the console and in the log file.
- To stop logging, change the property value back to WARN and restart WebSphere Portlet Factory Designer and the server.
- Examine the log file that contains the builder call timing data.
The output is very similar to system trace output that is produced by model action tracing. The log file has the following structure.
- Each regeneration phase is placed in its own section. The phase name is enclosed in square brackets ([ and ]) with the model name.
- On each line are two time values in milliseconds and an associated builder type preceded by a period character ( . ) and a name.
Multiple periods before a builder type indicates nested builder calls, for example, when a higher-level builder calls a constituent builder.
- Generation traces for subordinate models (for example, a Linked Model builder) are shown in line.
- If a builder that runs in the PostConstruction phase calls another builder, you see a transition back to the Construction phase (for example, [Construction (temporary):).
*-- TIME: [2007-05-08 15:20:48,579] --* Category: bowstreet.system.builderCallTiming Priority: INFO Thread: main Msg: 13314 15173 Start Request: Generate SimpleTest 0 0 [Construction: SimpleTest] 78 78 .Action List: main 47 47 .Page: page1 15 15 .Method: doSomethingIn the logged data, look for the following trends.
- Lengthy time accessing an external source. For example, an SQL Call builder performing schema generation.
- Excessive number of builder calls. Often, one builder call results in a substantially larger number of other builder calls.
- One model accessing another model by the Imported Model builder. The other model may be causing the poor regeneration performance. You may have to restructure your model usage.
Parent topic: Overview: debugging an application
Library | Support |