2.0.0-1.4 (2020年12月9日)

スタンドアロンのユーザー・スペース実装の4番目のエラータ。

これは、機能が制限されたプレリリースです。

新機能:

  • 集積体が実装されました。現在のところ、@、@a、@fooなど、索引付けされていない集積体のみがサポートされています。@[1]、@a["foo"].はサポートされていません

  • すべての集積関数(avg()、count()、llquantize()、lquantize()、max()、min()、quantize()、quantize()、stddev()、sum())が実装されました。

  • 集積関数の引数チェックが改善されました。

  • 標準集積のprinta()アクションが実装されました。

バグ修正:

  • ビット単位の否定が修正されました。

  • quantize()のレポートが修正されました。最後のビンにすべての値がマップされたときにデータが報告されませんでした。

  • コンシューマがトレースを停止するようにトリガーしたときにEND節が正しく実行されるようになりました。

内部変更:

  • 集積体が(BPFマップ内の) CPUごとのカーネル・バッファにデータを累積するようになり、コンシューマは必要に応じてすべてのCPUバッファのスナップショットを取得します。つまり、コンシューマ・レベルで発生する集積体がすべてのCPUにわたる値の集積体を構成します。

  • BPFコードの手動生成をサポートするマクロが追加されました。2つのC文を取得するために使用される各BPF命令: 命令が定義され、リストに追加されました。新しいマクロを使用すると、このような行が何百も排除され、Cコードが生成しているBPFのように見えます。

  • 開発時に無効になっていたエラー・メッセージ「%s %s( )はD式からコールできない場合があります(Dプログラムのコンテキストが必要)」が復元されます。

  • 廃止されたdt_bpf_builtins.hヘッダー・ファイルを削除します。

  • dtrace_aggvarid_tをdtrace_aggid_tに置き換え、DTRACEAGG_*をDT_AGG_*に置き換えます。

コンパイルの修正:

  • 再配置がない場合でも、プリコンパイルされたBPF関数が正しくロードされるようになりました。

テストスイートの変更:

  • コメント、入力ミスおよび命名がクリーン・アップされました。

  • 新しいテストが追加されたか、新しい機能のためにXFAIL注釈が更新されました。