EN JA
PMC_CONFIGURE_LOGFILE(3)
PMC_CONFIGURE_LOGFILE(3) FreeBSD Library Functions Manual PMC_CONFIGURE_LOGFILE(3)

名称

pmc_configure_logfile, pmc_flush_logfile, pmc_writelog, pmc_close_logfileログファイル管理

ライブラリ

Performance Counters Library (libpmc, -lpmc)

書式

#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);

解説

これらの関数群は、 hwpmc(4) イベントのログ記録を管理します。

関数 pmc_configure_logfile() は、ログ記録のオン、オフに切り替えるために使用されます。引数 fdopen(2) または socket(2) への前の呼び出しで返された有効なファイルハンドルであるなら、性能イベントは、指定されたハンドルに対応するファイルにログ記録されます。引数 fd の値が -1 であるなら、任意の保留中 (pending) のデータがフラッシュされた後にログ記録は、停止されます。

関数 pmc_flush_logfile() によって、 hwpmc(4) ドライバの中のキューに入れられたすべてのログデータは、強制的に書き込まれます。

関数 pmc_writelog() は、引数 userdata の値を含むログエントリをログファイルに追加します。

関数 pmc_close_logfile() は、すべての保留中のログデータをフラッシュし、ストリームの hwpmc(4) 側をクローズします。

戻り値

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

pmc_configure_logfile() への呼び出しは、次のエラーで失敗します:
[ EAGAIN]
hwpmc(4) ドライバは、到達しているシステム制限のためにヘルパプロセスを作成できませんでした。
[ EBUSY]
関数 pmc_configure_logfile() が、既に設定されておるログファイルで呼び出されました。
[ EINVAL]
関数 pmc_configure_logfile() が、以前に設定されているログファイルなしで、-1 の引数を付けて呼び出されました。
[ ENOMEM]
この要求を提供するときに、システムが、メモリ不足に遭遇しました。

pmc_flush_logfile() への呼び出しは、次のエラーで失敗します:

[ EINVAL]
関数 pmc_flush_logfile() が、以前に設定されているログファイルなしで、呼び出されました。

pmc_writelog() への呼び出しは、次のエラーで失敗します:

[ EINVAL]
関数 pmc_writelog() が、以前に設定されているログファイルなしで、呼び出されました。
[ ENOMEM]
この要求を提供するときに、システムが、メモリ不足に遭遇しました。

関連項目

pmc(3), hwpmc(4)
November 24, 2007 FreeBSD