printa

集積体のフォーマットを表示および制御します

void printa([string format,] @aggr )

printa関数は、集積体の表示とフォーマットを可能にするデータ記録関数です。この関数は、printfフォーマット・ディレクティブを使用して出力フォーマットを指定する集積体と、オプションで文字列を受け取ります。フォーマット文字列が指定されていない場合、printaはデフォルトのフォーマットを使用して指定された集約体を表示します。formatが指定されると、集積体のフォーマットが設定されます。

フォーマット・ディレクティブの詳細は、printf(1)マニュアル・ページを参照してください。DTraceのprintfの実装は相関するシステム関数と一致していますが、いくつかの違いが適用されます。特に、%dフォーマット・ディレクティブは、任意の長さの整数を表すために使用できます。さらに、printaは集積体ごとに適切なフォーマットも処理します。

例7-33 様々な集積体の基本フォーマットを出力するためにprintaを使用する方法

BEGIN
{
        @a = avg(1);
        @b = count();
        @c = lquantize(1, 1, 10);
        printa("@a = %@u\n", @a);
        printa("@b = %@u\n", @b);
        printa("@c = %@d\n", @c);
        exit(0);
}