Open timrdf opened 10 years ago
One option is to create a new module, and in that module we add a reporter to the reporter list. Basically, a reporter is something that can "report" on a request. For example, in another project of ours, we log to a relational database who accessed what file, what they requested, and how they requested it. And we run reports based on that relational database table.
The information logged can be retrieved from the BESDataHandlerInterface object that is passed around during the request.
Created a new prov_module in /home/pwest/prizms/opendap/opendap/prov_module. It has the ProvModule class, that is loaded and executed during BES initialization. The module adds a request handler (ProvRequestHandler) that handles requests for version and help requests (adds information about itself to these requests). And the module adds the ProvReporter class to the reporter list. All reporters are invoked at the end of a request.
Committed and pushed the module to github.
To build, cd into prov_module and do the following
% autoreconf --force --install % ./configure % make
should build it with no errors or warnings
Documentation for implementation of the "prov_module" is now at https://github.com/tetherless-world/opendap/wiki/OPeNDAP-PROV-Module
We need modifications to BES (or whatever) to capture provenance of the respond handling.