Tá sé beartaithe ag Oracle DTrace do Linux a athdhearadh ag baint úsáide as eBPF

Cuideachta Oracle tuairiscithe faoi ​​obair ar athruithe a bhaineann le DTrace a aistriú go réamhtheachtacha agus pleananna chun teicneolaíocht dífhabhtaithe dinimiciúil DTrace a chur i bhfeidhm ar bharr an bhonneagair eithne caighdeánach Linux, is é sin úsáid a bhaint as fochórais mar eBPF. Ar dtús, ba í an phríomhfhadhb maidir le húsáid DTrace ar Linux ná neamh-chomhoiriúnacht ag leibhéal an cheadúnais, ach i 2018 Oracle athcheadúnaithe Cód DTrace faoi GPLv2.

DTrace cheana féin tamall fada a thairiscint mar chuid d'eithne leathnaithe do dháileadh Oracle Linux, ach le haghaidh é a úsáid i dáiltí eile éilíonn sé úsáid a bhaint as paistí eithne breise, rud a chuireann teorainn le húsáid na teicneolaíochta seo. Mar shampla, Oracle ullmhaithe treoracha mionsonraithe maidir le suiteáil agus úsáid DTrace ar Fedora Linux. Tionól ag teastáil le haghaidh suiteáil uirlisí agus úsáid eithne Linux a atógadh ó paistí. Chun feidhmiú foirgneamh eithne a uathoibriú le paistí Oracle agus Fedora, tá sé beartaithe script.

Is ateangaire bytecode é eBPF atá ionsuite san eithne Linux a ligeann duit láimhseálaithe oibriúcháin líonra a chruthú, monatóireacht a dhéanamh ar oibriú an chórais, glaonna córais idircheapa, rochtain a rialú, imeachtaí a phróiseáil le hamchoimeád (perf_event_open), minicíocht chomhaireamh agus am cur i gcrích na n-oibríochtaí, rianú a dhéanamh ag baint úsáide as kprobes / uprobes / rianphointí. A bhuí leis an úsáid a bhaintear as tiomsú JIT, aistrítear bytecode ar an eitilt go treoracha meaisín agus déantar é a fheidhmiú le feidhmiú an chóid dhúchais. Is féidir DTrace a chur i bhfeidhm ar bharr eBPF, cosúil leis an gcaoi a gcuirtear i bhfeidhm é ar bharr eBPF работают uirlisí rianaithe atá ann cheana féin.

Forbraíodh teicneolaíocht DTrace do chóras oibriúcháin Solaris chun an fhadhb a réiteach maidir le rianú dinimiciúil eithne an chórais agus feidhmchláir deiridh, rud a thugann an cumas don úsáideoir monatóireacht mhionsonraithe a dhéanamh ar iompar an chórais agus fadhbanna a dhiagnóiseadh i bhfíor-am. Le linn an phróisis dífhabhtaithe, ní chuireann DTrace isteach ar fheidhmiú na n-iarratas atá á staidéar agus ní chuireann sé isteach ar aon bhealach ar a bhfeidhmíocht, rud a ligeann duit anailís a dhéanamh ar chórais reatha ar an eitilt. Ceann de láidreachtaí DTrace is ea an teanga ardleibhéil D, cosúil le AWK, ina bhfuil sé i bhfad níos éasca scripteanna rianaithe a chruthú ná úsáid a bhaint as na huirlisí a thairgtear chun láimhseálaithe eBPF a scríobh i C, Python agus Lua le leabharlanna seachtracha.

Tá innealtóirí ó Oracle ag obair freisin ar inneall eBPF a chruthú do GCC agus tá sé foilsithe cheana féin sraith paiste tacaíocht eBPF a chomhtháthú le GCC agus bainte amach lena n-áirítear cód chun tacú le eBPF i dé-mhionúils GNU. Ar dtús, tá an t-inneall le haghaidh tacaíochta eBPF bunaithe ar theicneolaíochtaí LLVM, ach tá suim ag Oracle i gcuma i GCC ar chumas caighdeánach chun cláir a ghiniúint le haghaidh eBPF, rud a cheadóidh úsáid a bhaint as foireann uirlisí amháin le haghaidh tógáil an eithne Linux agus le haghaidh ríomhchláir tógála. le haghaidh EBPF.

Chomh maith leis an inneall giniúna beart-chóid, tá port libgcc le haghaidh eBPF agus uirlisí chun comhaid ELF a ghiniúint sna paistí atá beartaithe don GCC, rud a fhágann gur féidir cód a fhorghníomhú sa mheaisín fíorúil eBPF ag baint úsáide as lódairí a sholáthrófar eithne. Faoi láthair, is féidir cód sa teanga C a aistriú go bytecode (níl gach gné teanga ar fáil), ach sa todhchaí táthar ag súil go leathnófar na cumais teanga C atá ar fáil lena n-úsáid, tacaíocht a chur le teangacha eile, insamhlóir a chruthú, agus cuir tacaíocht GCC le cláir eBPF debugging gan luchtú isteach san eithne.

Foinse: oscailtenet.ru

Add a comment