甲骨文公司
DTrace 已
eBPF 是內建在Linux 核心中的字節碼解釋器,可讓您建立網路操作處理程序、監視系統操作、攔截系統呼叫、控制存取、使用計時處理事件(perf_event_open)、運算作業的頻率和執行時間、使用kprobes 執行追蹤/uprobes/追蹤點。 由於使用了 JIT 編譯,字節碼可以即時翻譯為機器指令,並以本機程式碼的效能執行。 DTrace 可以在 eBPF 之上實現,類似於在 eBPF 之上的實作方式
DTrace技術是為Solaris作業系統開發的,旨在解決動態追蹤系統核心和終端應用程式的問題,使用戶能夠詳細監控系統行為並即時診斷問題。 在偵錯過程中,DTrace 不會影響正在研究的應用程式的運行,也不會以任何方式影響其效能,這使您可以即時組織對正在運行的系統的分析。 DTrace 的優點之一是高級 D 語言,類似於 AWK,在其中創建追蹤腳本比使用提供的工具透過 C、Python 和 Lua 以及外部庫編寫 eBPF 處理程序要容易得多。
Oracle 的工程師也致力於為 GCC 創建 eBPF 後端,並且已經發布了
除了字節碼產生後端之外,建議的 GCC 補丁還包括用於 eBPF 的 libgcc 連接埠和用於產生 ELF 檔案的工具,從而可以使用核心提供的載入器在 eBPF 虛擬機器中執行程式碼。 目前,C 語言的程式碼可以翻譯為字節碼(並非所有語言功能都可用),但將來預計會擴展可用的 C 語言功能,添加對其他語言的支持,創建模擬器,以及添加GCC 支持,以便在不載入到核心的情況下調試eBPF 程式。
來源: opennet.ru