| PathEngine home | previous: | next: |
PathEngine includes functionality for automatically logging calls in and out of the API.
This is provided in the form of a wrapper layer that sits in between an application and the API
logging information about calls and in-arguments before calling down to the main API and then logging information
about out-arguments and return values before returning to the application.
Logging functionality is particularly useful in cases where it is necessary to track down rare hard to repeat bugs,
that perhaps only occur infrequently, and in situations where the calling application is under heavy load.
Query logs are very useful for recording and communicating information about the way an application drives PathEngine.
With the help of a query log it can be straightforward to identify the performance bottlenecks for a specific calling application.
The query log itself can then serve as a benchmark for optimisations that target those bottlenecks,
and can therefore avoid the need to spend time splitting off code to define a benchmark.
The query log can quickly identify ways in which calling code might be modified to improve performance.
The query log can even be a useful tool for tracking down problems in application-side behaviour code,
particularly when used in conjunction with application side logging.
The logging functionality is designed to be deployed in real situations
so a lot of effort has been made to keep the CPU overhead the logging and log file size to a minimum.
A binary log format is used, with off-line decoding to a readable XML format.
Query logging is only currently provided for the PC, and for dll linkage.
Logging is provided for the core interfaces, but not for the testbed.
| Documentation for PathEngine release 5.17 - Copyright © 2002-2008 PathEngine | next: |