Companaidh Oracle
DTrace mu thràth
Tha eBPF na eadar-theangair bytecode a chaidh a thogail a-steach don kernel Linux a leigeas leat luchd-làimhseachaidh gnìomhachd lìonra a chruthachadh, sùil a chumail air gnìomhachd siostaim, casg a chuir air fiosan siostam, smachd a chumail air ruigsinneachd, tachartasan pròiseas le glèidheadh ùine (perf_event_open), obrachadh a-mach tricead agus ùine gnìomhachd, lorg lorg. cleachdadh kprobes / uprobes / tracepoints. Mar thoradh air a bhith a’ cleachdadh cruinneachadh JIT, tha bytecode air eadar-theangachadh gu stiùireadh inneal air an itealan agus air a chuir gu bàs le coileanadh còd dùthchasach. Faodar DTrace a chuir an gnìomh a bharrachd air eBPF, coltach ri mar a tha e a bharrachd air eBPF
Chaidh teicneòlas DTrace a leasachadh airson siostam obrachaidh Solaris gus fuasgladh fhaighinn air duilgheadasan lorg fiùghantach air kernel an t-siostaim agus tagraidhean crìochnachaidh, a’ toirt comas don neach-cleachdaidh sùil a chumail air giùlan siostam gu mionaideach agus duilgheadasan a lorg ann an àm fìor. Rè debugging, chan eil DTrace a’ toirt buaidh air gnìomhachd nan tagraidhean sgrùdaichte agus chan eil e a’ toirt buaidh air an coileanadh ann an dòigh sam bith, a leigeas le bhith a’ cur air dòigh mion-sgrùdadh air siostaman ruith air an itealan. De neartan DTrace, tha cànan D àrd-ìre, coltach ri AWK, air a thoirt fa-near, anns a bheil e fada nas fhasa sgriobtaichean lorg a sgrìobhadh na bhith a’ cleachdadh innealan airson làimhseachadh sgrìobhaidh a thairgsinn airson eBPF ann an C, Python agus Lua le leabharlannan air an taobh a-muigh. .
Tha innleadairean Oracle cuideachd ag obair air cùl-taic eBPF a thogail airson GCC agus tha iad air fhoillseachadh mu thràth
A bharrachd air an deireadh-sheachdain airson bytecode a ghineadh, tha na pìosan a thathar a’ moladh airson GCC cuideachd a’ toirt a-steach port libgcc airson eBPF agus innealan airson faidhlichean ELF a ghineadh, ga dhèanamh comasach còd a chuir an gnìomh anns an inneal brìgheil eBPF a’ cleachdadh luchdan le kernel. Airson a-nis, faodar còd C eadar-theangachadh gu bytecode (chan eil a h-uile feart cànain ri fhaighinn), ach san àm ri teachd tha dùil gun leudaich e na feartan cànain C a tha rim faighinn airson an cleachdadh, cuir taic ri cànanan eile, cruthaich simuladair, agus cuir taic GCC ris. airson prògraman eBPF a dhì-bhugachadh gun a bhith gan luchdachadh a-steach don kernel.
Source: fosgailtenet.ru