Oracle компаниясы
DTrace қазірдің өзінде
eBPF – Linux ядросына кіріктірілген байт-код интерпретаторы, ол желі операциясының өңдеушілерін жасауға, жүйе жұмысын бақылауға, жүйелік қоңырауларды тоқтатуға, қол жеткізуді басқаруға, хронометражмен (perf_event_open) оқиғаларды өңдеуге, операциялардың жиілігі мен орындалу уақытын санауға, kprobes көмегімен бақылауды жүзеге асыруға мүмкіндік береді. /пробтар /бақылау нүктелері. JIT компиляциясын қолданудың арқасында байт код жылдам машина нұсқауларына аударылады және жергілікті кодтың өнімділігімен орындалады. DTrace eBPF үстіне іске асырылуы сияқты, оны eBPF үстіне енгізуге болады.
DTrace технологиясы Solaris операциялық жүйесі үшін жүйе ядросы мен соңғы қолданбаларды динамикалық бақылау мәселесін шешу үшін әзірленген, бұл пайдаланушыға жүйенің әрекетін егжей-тегжейлі бақылауға және нақты уақытта проблемаларды диагностикалауға мүмкіндік береді. Түзету процесі кезінде DTrace зерттелетін қосымшалардың жұмысына әсер етпейді және олардың жұмысына ешқандай әсер етпейді, бұл жұмыс істеп тұрған жүйелердің талдауын жылдам ұйымдастыруға мүмкіндік береді. DTrace-тің күшті жақтарының бірі AWK-ға ұқсас жоғары деңгейлі D тілі болып табылады, онда сыртқы кітапханалармен C, Python және Lua тілдерінде eBPF өңдегіштерін жазу үшін ұсынылған құралдарды пайдаланудан гөрі бақылау сценарийлерін жасау әлдеқайда оңай.
Oracle инженерлері де GCC үшін eBPF серверін жасау үстінде және қазірдің өзінде жариялады
Байткодты генерациялау серверіне қоса, GCC үшін ұсынылған патчтар eBPF үшін libgcc портын және ELF файлдарын генерациялауға арналған құралдарды қамтиды, бұл ядромен қамтамасыз етілген жүктеушілер арқылы eBPF виртуалды машинасында кодты орындауға мүмкіндік береді. Әзірге Си тіліндегі кодты байт-кодқа аударуға болады (барлық тіл мүмкіндіктері қол жетімді емес), бірақ болашақта қолдану үшін қол жетімді Си тілінің мүмкіндіктерін кеңейту, басқа тілдерге қолдауды қосу, симулятор жасау және eBPF бағдарламаларын ядроға жүктемей жөндеу үшін GCC қолдауын қосыңыз.
Ақпарат көзі: opennet.ru