Oracle Company
DTrace jixwe
eBPF tercumanek bytekodê ye ku di nav kernel Linux-ê de hatî çêkirin ku destûrê dide te ku hûn kargêrên xebata torê biafirînin, operasyona pergalê bişopînin, bangên pergalê bişopînin, gihîştina kontrolê, bûyeran bi girtina demê (perf_event_open) pêvajoyê bikin, frekansa jimartinê û dema pêkanîna operasyonan bijmêrin, bi karanîna kprobes şopandinê bikin. /probes /tracepoints. Bi saya karanîna berhevoka JIT-ê, bytecode di firînê de di rêwerzên makîneyê de tê wergerandin û bi performansa koda xwemalî tê darve kirin. DTrace dikare li ser eBPF-ê were bicîh kirin, mîna ku ew li ser eBPF-ê tête bicîh kirin.
Teknolojiya DTrace ji bo pergala xebitandinê ya Solaris hate pêşve xistin da ku pirsgirêka şopandina dînamîkî ya kernel pergalê û serîlêdanên dawî çareser bike, ku bikarhêner jêhatîbûnê dide ku tevgera pergalê bi hûrgulî bişopîne û pirsgirêkan di wextê rast de teşhîs bike. Di pêvajoya debugkirinê de, DTrace bandorê li xebata serîlêdanên di bin lêkolînê de nake û bi tu awayî bandorê li performansa wan nake, ku dihêle hûn analîzkirina pergalên xebitandinê li ser firînê organîze bikin. Yek ji hêza DTrace zimanê D-a-asta bilind e, dişibihe AWK-ê, ku tê de çêkirina nivîsarên şopandinê ji karanîna amûrên ku ji bo nivîsandina eBPF-ê li C, Python û Lua bi pirtûkxaneyên derveyî re têne pêşkêş kirin pir hêsantir e.
Endezyarên ji Oracle di heman demê de li ser afirandina paşnavek eBPF ji bo GCC dixebitin û berê jî weşandine
Ji xeynî paşiya paşîn a hilberîna bytecode, paçên pêşniyarkirî yên ji bo GCC di heman demê de portek libgcc ji bo eBPF û amûrên ji bo hilberîna pelên ELF-ê jî vedihewîne, ku îmkana darvekirina kodê di makîneya virtual eBPF de bi karanîna barkerên kernel peyda dike. Heya nuha, koda bi zimanê C dikare di bytecode de were wergerandin (hemû taybetmendiyên zimanî peyda nabin), lê di pêşerojê de tê çaverê kirin ku kapasîteyên zimanê C yên ku ji bo karanîna têne peyda kirin berfireh bikin, piştgirî ji bo zimanên din zêde bikin, simulatorek çêbikin, û Piştgiriya GCC-ê zêde bike ji bo daxistina bernameyên eBPF bêyî barkirina navkerê.
Source: opennet.ru