lquantize

指定した範囲のサイズで、指定した式の値の線形度数分布を集積体に格納します。

void lquantize(expr, int32_t from, int32_t to [, int32_t step])

lquantize関数は、線形値分布を表示するために使用する集積関数です。lquantize関数は、D式(expr)、下限(from)、上限(to)およびオプションのstepの、4つの引数を取ります。デフォルトのステップ値が1であることに注意してください。

例7-24 ファイル記述子別のwrite()コールの分布を表示するためにlquantizeを使用する方法

syscall::write:entry
{
  @fds[execname] = lquantize(arg0, 0, 100, 1);
}

このプログラムの終了後に、次のような出力が表示されます:

 ...
  gnome-session                                     
           value  ------------- Distribution ------------- count    
              25 |                                         0        
              26 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9        
              27 |                                         0        

  gnome-terminal                                    
           value  ------------- Distribution ------------- count    
              15 |                                         0        
              16 |@@                                       1        
              17 |                                         0        
              18 |                                         0        
              19 |                                         0        
              20 |                                         0        
              21 |@@@@@@@@                                 4        
              22 |@@                                       1        
              23 |@@                                       1        
              24 |                                         0        
              25 |                                         0        
              26 |                                         0        
              27 |                                         0        
              28 |                                         0        
              29 |@@@@@@@@@@@@@                            6        
              30 |@@@@@@@@@@@@@                            6        
              31 |                                         0        
 ...