perfstat_thread サブルーチン
目的
カーネル・スレッド使用状況メトリックを取得します。
ライブラリー
Perfstat ライブラリー (libperfstat.a)
構文
#include <libperfstat.h>
int perfstat_thread (name,userbuff,sizeof_userbuff,desired_number)
perfstat_id_t* name;
perfstat_thread_t* userbuff;
int sizeof_userbuff;
int desired_number; 説明
perfstat_thread サブルーチンは、プロセスまたはすべてのプロセスのカーネル・スレッドごとの使用状況メトリックを取得するために使用します。 perfstat_thread サブルーチンは、 perfstat_thread_t データ構造にデータを取り込むために、1 つ以上のカーネル・スレッド統計を取得します。
name および userbuff パラメーターが NULL に設定されていて、 desired_number パラメーターが 0 に設定されている場合、 perfstat_thread サブルーチンはアクティブ・スレッドの数を戻します。
name および userbuff パラメーターが NULL に設定され、 sizeof_userbuff パラメーターが 0 に設定されている場合は、 perfstat_thread_t データ構造の現行バージョンのサイズが戻されます。
パラメーター
| 項目 | 説明 |
|---|---|
| name | カーネル・スレッド統計をすべてのプロセスについてキャプチャーする必要があるか、特定のプロセスについてキャプチャーする必要があるかを決定します。 すべてのプロセスのカーネル・スレッド統計を取得するには、 name パラメーターを NULL に設定する必要があります。 特定のプロセスのカーネル・スレッド統計を取得するには、プロセス ID を指定する必要があります。 注: ID の値は、 name パラメーターにストリングとして渡す必要があります。 例えば、プロセス ID 12345 のプロセスの統計を取得するには、 name パラメーターを 12345 に設定する必要があります。
|
| ユーザー・バッファー | 1 つ以上の perfstat_thread_t データ構造で満たされたメモリー領域を指します。 |
| ユーザー・バッファーのサイズ (sizeof_userbuff) | perfstat_thread_t データ構造のサイズを指定します。 注: 最新バージョンの perfstat_thread_t データ構造のサイズを取得するには、 sizeof_userbuff パラメーターを 0 に設定し、 name および userbuff パラメーターを NULL に設定します。
|
| 宛先番号 (desired_number) | userbuff パラメーターにコピーする perfstat_thread_t データ構造の数を指定します。 |
戻り値
使用可能な構造体の数を取得するために perfstat_thread サブルーチンを使用しない限り、正常終了時に充てんされた構造体の数が戻されます。 失敗した場合は-1が返され、errnoグローバル変数が設定される。
エラー・コード
以下の条件が満たされている場合、サブルーチンは失敗します。
| 項目 | 説明 |
|---|---|
| EINVAL | パラメーターの 1 つが無効です。 |
ファイル
libperfstat.h ファイルは、標準マクロ、データ・タイプ、およびサブルーチンを定義します。