As is stands, each Darshan module is responsible for wrapping and instrumenting a set of I/O functions. The issue is that if multiple modules want to wrap the same I/O functions, there is no method to do that now. The only way to share the wrappers is to explicitly call into other modules from the module that actually wraps the function of interest.
We should think about how to add a layer of abstraction between the actual I/O function wrappers and the modules that are trying to instrument these functions so that we can stack multiple modules on the same wrappers.
In GitLab by @shanedsnyder on May 20, 2016, 15:05
As is stands, each Darshan module is responsible for wrapping and instrumenting a set of I/O functions. The issue is that if multiple modules want to wrap the same I/O functions, there is no method to do that now. The only way to share the wrappers is to explicitly call into other modules from the module that actually wraps the function of interest.
We should think about how to add a layer of abstraction between the actual I/O function wrappers and the modules that are trying to instrument these functions so that we can stack multiple modules on the same wrappers.