pmc_configure_logfile(3)

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.

  1. 6.0
  2. 6.1–6.3
  3. 6.4
  4. 7.0
  5. 7.1
  6. 7.2
  7. 7.3
  8. 7.4
  9. 8.0
  10. 8.1
  11. 8.2
  12. 8.3
  13. 8.4
  14. 9.0
  15. 9.1
  16. 9.2
  17. 9.3
  18. 10.0
  19. 10.1
  20. 10.2
  21. 10.3
  22. 10.4
  23. 11.0
  24. 11.1
  25. 11.2
  26. 11.3
  27. 11.4
  28. 12.0
  29. 12.1
  30. 12.2
  31. 12.3
  32. 12.4
  33. 13.0–13.2
  34. 13.3–16.0

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.