pmc_configure_logfile3
Log file management
Usage
#include <pmc.h>
int
pmc_configure_logfile(int fd);
int
pmc_flush_logfile(void);
int
pmc_writelog(uint32_t userdata);
int
pmc_close_logfile(void);
Library
library “libpmc”
Overview
The functions manage logging of hwpmc(4) events.
Function pmc_configure_logfile() is used to turn on and turn off logging. If argument fd is a valid file handle returned by a prior call to open(2) or socket(2) then performance events will be logged to the file corresponding to the specified handle. If the value of argument fd is -1 then logging will be stopped after any pending data is flushed.
Function pmc_flush_logfile() will force all log data queued inside the hwpmc(4) driver to be written out.
Function pmc_writelog() will append a log entry containing the value of argument userdata to the log file.
Function pmc_close_logfile() will flush all pending log data and close hwpmc(4)'s side of the stream.
Return values
The pmc_configure_logfile() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
Errors
A call to pmc_configure_logfile() may fail with the following errors:
- [EAGAIN]
-
The hwpmc(4) driver was not able to create a helper process due to system limits being reached.
- [EBUSY]
-
Function
pmc_configure_logfile() was called with a log file already configured. - [EINVAL]
-
Function
pmc_configure_logfile() was called with an argument of -1 without a log file being previously configured. - [ENOMEM]
-
The system encountered a memory shortage when servicing this request.
A call to pmc_flush_logfile() may fail with the following errors:
- [EINVAL]
-
Function
pmc_flush_logfile() was called without a log file being previously configured.
A call to pmc_writelog() may fail with the following errors:
- [EINVAL]
-
Function
pmc_writelog() was called without a log file being previously configured. - [ENOMEM]
-
The system encountered a memory shortage when servicing this request.
Releases
49 releases since FreeBSD 6.0-RELEASE; the text changed 33 times.