機械翻訳について

DTraceの改良点

UEK R4u4ではモジュールおよびユーティリティの更新を含む多数のバグ修正および拡張がDTraceに導入され、現行バージョンが0.6.0になりました。 注目すべき変更点は次のとおりです。

  • 関数境界トレース(FBT)

    関数の境界トレースがDTraceで使用できるようになりました。 機能は次のとおりです。
    • メモリー、データおよび命令アクセスのトラップの処理。

    • カーネルOOPSデバッグ用の改善された出力(DTraceプローブ・コンテキストや処理された最後のプローブなど)。

    • 一貫性およびページ表のような下位レベル構造へのアクセスを改善するために、カーネル内に新しいユーザー・スタック・ウォーカが実装され、ユーザー・スタックの終了をトラッキングするためのフィールドが追加されました。

    • FBTブラック・リストの関数が更新され、これらはプローブ処理中に呼び出すことができ、この中には、命令分析用のinsn_*inat_*で始まる関数が含まれています。

  • 入力されたSDT引数

    DTraceモジュールが用意されているカーネル、およびDTraceのユーザー空間ユーティリティに変更が加えられ、入力したSDT引数の操作が容易になりました。 以前のバージョンのDTraceは、SDTおよびperfプローブの追加に伴ってDTraceモジュールを更新することが必要でした。 この更新によって、カーネル開発者はモジュールを更新することなくプローブを追加でき、かわりに、引数型を動的に計算して構造をナビゲートするDTraceの機能を使用します。 また、DTRACE_PROBE()マクロに引数カウント接尾辞が必要なくなったことで、SDTプロバイダDTRACE_PROBE()マクロ・ラッパーの追加が非常に簡単になりました。

  • プロセス・グラブ

    DTraceプロセスのグラブを改善するためにいくつかの修正が適用され、たとえば、自己グラブによってバック・トレースをより適切に取得したり、DTraceコンシューマが-pを使用してDTrace以外のコンポーネントの操作を監視できるオプションがあります。

  • 追加されたプロバイダ

    新しいネットワーク・プロバイダは、ip:::send, ip:::receive, ip:::drop-inおよびip:::drop-outをサポートするIPプロバイダを含め、その他の実装および適切なトランスレータと互換性のあるパラメータが追加されました。 IPv4とIPv6の両方がサポートされます。

  • 有効化されたプローブ

    DTraceはis-enabledプローブをサポートしています。これは、プローブが有効になっているときに異なるコードを実行できる条件であるため、それらのプローブが非アクティブであるときに特定のプローブにのみ必要となるコストの高いデータの収集を回避できます。

  • 一般的なバグ修正

    安定性とパフォーマンスを向上させるために多数のバグ修正が適用されています。