Skip to main content


         This documentation site is for previous versions. Visit our new documentation site for current releases.      
 

This content has been archived and is no longer being updated.

Links may not function; however, this content may be relevant to outdated versions of the product.

Enabling PAL CPU Counters Using the pr3native Library

Updated on October 9, 2007

Summary

The UseNativeLibrary setting in the prconfig.xml file can be used to control whether the pr3native library is used in the system.

Suggested Approach

The pr3native file is an optional library (written in the C programming language) used by the PegaRULES system. Among other things, it is used for obtaining CPU data from the operating system (if available - only the Process CPU is tracked for UNIX systems) and for getting more "fine-grained" data (to many decimal points) for elapsed time information from the operating system (if available).

Because of the way such libraries interact with the Java Virtual Machine (JVM), there may be issues when redeploying or restarting individual applications without restarting the application server. For example, in WebSphere, when the PegaRULES system is stopped and then restarted, the pr3native library may not be loaded because the classloader used by the original PegaRULES instance still exists (the application server has not yet cleared all references to the classloader). This can be particularly disruptive in development or testing environment that routinely restart or redeploy application war or ear files.

Therefore, a new configuration setting was added to the prconfig.xml file:  the UseNativeLibrary setting.

<env name="Initialization/usenativelibrary" value="false" />

The default for this setting has changed in Process Commander versions:

  • Version 5.1 – true
  • Version 5.2 – false
  • Version 5.3 - true

Setting this entry to false will suppress loading of the pr3native library.  This will eliminate the error messages that occur if PegaRULES is stopped and started again, and should be used when developers are writing the application, and may have to start and stop the program frequently. 

Note that setting this entry to false will also turn off the CPU readings.  For operating systems where the CPU PAL readings are available (such as Windows systems), CPU times will not be tracked if the use of the pr3native library is disabled.

Pegasystems recommends that the UseNativeLibrary entry be set to true in most situations – having CPU data in PAL is an important part of the development and testing process (to gauge the potential scalability of the application) and an important metric to monitor production performance.

Set the value to false only if issues are encountered during redeployment of the PegaRULES application and the application will be redeployed on an ongoing and routine basis (typically in a development setting).  In WebSphere, redeployment problems associated with pr3native will appear in the application server log file as an indication that the pr3native file could not be deleted when the application was undeployed (this message does not appear in the administrative console).

NOTE:  In Version 5.3, if the system is using Java 5, it is possible to get fine-grained detail in the elapsed time readings without the pr3native library.  If the system is using Java 1.4.2, however, then the pr3native library is still needed; the UseNativeLibrary entry must be set to true to get the detailed elapsed time readings.

  • Previous topic Can use a servlet rather than a hardware device for HTTP load-balancing across a cluster
  • Next topic How to run the DBTrace tool in a production system (V5)

Have a question? Get answers now.

Visit the Support Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega.com is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us