Name: H5Pset_fapl_log
Signature:
herr_t H5Pset_fapl_log( hid_t fapl_id, const char *logfile, unsigned int flags, size_t buf_size )
Purpose:
Sets up the use of the logging driver.
Description:
H5Pset_fapl_log modifies the file access property list to use the logging driver H5FD_LOG.

logfile is the name of the file in which the logging entries are to be recorded.

The actions to be logged are specified in the parameter flags using the pre-defined constants described in the following table. Multiple flags can be set through the use of an logical OR contained in parentheses. For example, logging read and write locations would be specified as (H5FD_LOG_LOC_READ|H5FD_LOG_LOC_WRITE).


Flag

Description

H5FD_LOG_LOC_READ

Track the location and length of every read, write, or seek operation.
H5FD_LOG_LOC_WRITE  
H5FD_LOG_LOC_SEEK
H5FD_LOG_LOC_IO Track all I/O locations and lengths. The logical equivalent of the following:
  (H5FD_LOG_LOC_READ | H5FD_LOG_LOC_WRITE | H5FD_LOG_LOC_SEEK)

H5FD_LOG_FILE_READ

Track the number of times each byte is read or written.
H5FD_LOG_FILE_WRITE  
H5FD_LOG_FILE_IO Track the number of times each byte is read and written. The logical equivalent of the following:
  (H5FD_LOG_FILE_READ | H5FD_LOG_FILE_WRITE)

H5FD_LOG_FLAVOR

Track the type, or flavor, of information stored at each byte.

H5FD_LOG_NUM_READ

Track the total number of read, write, or seek operations that occur.
H5FD_LOG_NUM_WRITE
H5FD_LOG_NUM_SEEK
H5FD_LOG_NUM_IO Track the total number of all types of I/O operations. The logical equivalent of the following:
  (H5FD_LOG_NUM_READ | H5FD_LOG_NUM_WRITE | H5FD_LOG_NUM_SEEK)

H5FD_LOG_TIME_OPEN

Track the time spent in open, read, write, seek, or close operations. Not implemented in this release: open and read
Partially implemented: write and seek
Fully implemented: close
H5FD_LOG_TIME_READ
H5FD_LOG_TIME_WRITE
H5FD_LOG_TIME_SEEK
H5FD_LOG_TIME_CLOSE
H5FD_LOG_TIME_IO Track the time spent in each of the above operations. The logical equivalent of the following:
  (H5FD_LOG_TIME_OPEN | H5FD_LOG_TIME_READ | H5FD_LOG_TIME_WRITE | H5FD_LOG_TIME_SEEK | H5FD_LOG_TIME_CLOSE)

H5FD_LOG_ALLOC

Track the allocation of space in the file.

H5FD_LOG_ALL

Track everything. The logical equivalent of the following:
  (H5FD_LOG_ALLOC | H5FD_LOG_TIME_IO | H5FD_LOG_NUM_IO | H5FD_LOG_FLAVOR |H5FD_LOG_FILE_IO | H5FD_LOG_LOC_IO)


The logging driver can track the number of times each byte in the file is read from or written to (using H5FD_LOG_FILE_READ and H5FD_LOG_FILE_WRITE) and what kind of data is at that location (e.g., meta data, raw data; using H5FD_LOG_FLAVOR). This information is tracked in a buffer of size buf_size, which must be at least the size in bytes of the file to be logged.

Parameters:
Returns:
Returns non-negative if successful. Otherwise returns negative.
Fortran90 Interface:
None.
History: