|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 currently available for linkage with 32 and 64 bit builds of the PathEngine dll on Windows platforms and 32 and 64 bit shared object builds on Linux.
|Documentation for PathEngine release 6.00 - Copyright © 2002-2016 PathEngine||next: |