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 ファイルは、標準マクロ、データ・タイプ、およびサブルーチンを定義します。