{"id":37146,"date":"2019-10-31T22:15:59","date_gmt":"2019-10-31T19:15:59","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kompaniya-oracle-namerena-pererabotat-dtrace-dlya-linux-s-ispolzovaniem-ebpf\/"},"modified":"2019-10-31T22:15:59","modified_gmt":"2019-10-31T19:15:59","slug":"kompaniya-oracle-namerena-pererabotat-dtrace-dlya-linux-s-ispolzovaniem-ebpf","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/kompaniya-oracle-namerena-pererabotat-dtrace-dlya-linux-s-ispolzovaniem-ebpf","title":{"rendered":"Compania Oracle inten\u021bioneaz\u0103 s\u0103 reg\u00e2ndeasc\u0103 DTrace pentru Linux folosind eBPF","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Compania Oracle <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/linux\/dtrace-on-fedora\">a declarat<\/a><\/noindex> despre lucr\u0103rile de transmitere a modific\u0103rilor legate de DTrace \u00een upstream \u0219i planurile pentru implementarea tehnologiei de depanare dinamic\u0103 DTrace peste infrastructura de baz\u0103 a nucleului Linux, \u0219i anume utiliz\u00e2nd subsisteme cum ar fi eBPF. Ini\u021bial, principala problem\u0103 cu utilizarea DTrace \u00een Linux a fost incompatibilitatea la nivel de licen\u021b\u0103, dar \u00een 2018, compania Oracle <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=48078\">a relicitat<\/a><\/noindex> codul DTrace sub GPLv2. <\/p>\n<p>DTrace este <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=35586\">disponibil de mult timp<\/a><\/noindex> \u00eenc\u0103 din pachetul extins al nucleului pentru distribu\u021bia Oracle Linux, dar pentru utilizarea sa \u00een alte distribu\u021bii necesit\u0103 aplicarea unor patchuri pentru nucleu, ceea ce limiteaz\u0103 utilizarea tehnologiei men\u021bionate. Ca exemplu, compania Oracle <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/linux\/dtrace-on-fedora\">preg\u0103tit\u0103<\/a><\/noindex> o instruc\u021biune detaliat\u0103 despre instalarea \u0219i utilizarea DTrace \u00een Fedora Linux. Pentru instalare, este necesar\u0103 compilarea <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/dtrace-utils\">un instrumentar<\/a><\/noindex> \u0219i aplicarea nucleului Linux, recompilat cu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/dtrace-linux-kernel.git\">patchuri<\/a><\/noindex>. Pentru automatizarea procesului de compilare a nucleului cu patchurile Oracle \u0219i Fedora, a fost propus un <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/dtrace-linux-kernel\/blob\/5.2.7\/samples\/dtrace\/DTrace-on-Fedora.sh\">script<\/a><\/noindex>.<\/p>\n<p>eBPF reprezint\u0103 un interpret de bytecode \u00eencorporat \u00een nucleul Linux, care permite crearea de manipulatoare pentru opera\u021biuni de re\u021bea, urm\u0103rirea func\u021bion\u0103rii sistemelor, interceptarea apelurilor de sistem, controlul accesului, gestionarea evenimentelor cu cronometrare (perf_event_open), num\u0103rarea frecven\u021bei \u0219i timpului de execu\u021bie al opera\u021biunilor, realizarea de tras\u0103ri folosind kprobes\/uprobes\/tracepoints. Datorit\u0103 utiliz\u0103rii compil\u0103rii JIT, bytecode-ul este tradus \u00een instruc\u021biuni ma\u0219in\u0103 \u00een timp real \u0219i executat cu performan\u021b\u0103 similar\u0103 codului nativ. DTrace poate fi implementat peste eBPF, analog cu modul \u00een care peste eBPF <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=45391\">lucreaz\u0103<\/a><\/noindex> exist\u0103 unelte de trasare.<\/p>\n<p>Tehnologia DTrace a fost dezvoltat\u0103 pentru sistemul de operare Solaris pentru a rezolva sarcini de urm\u0103rire dinamic\u0103 a nucleului sistemului \u0219i a aplica\u021biilor finale, oferind utilizatorului posibilitatea de a urm\u0103ri detaliat comportamentul sistemului \u0219i de a diagnostica problemele \u00een timp real. \u00cen procesul de depanare, DTrace nu afecteaz\u0103 func\u021bionarea aplica\u021biilor examinate \u0219i nu are niciun impact asupra performan\u021bei lor, ceea ce permite organizarea analizei sistemelor active \u00een timp real. Printre avantajele DTrace se num\u0103r\u0103 limbajul de \u00eenalt nivel D, asem\u0103n\u0103tor cu AWK, care face mult mai u\u0219oar\u0103 crearea de scripturi de urm\u0103rire dec\u00e2t utilizarea instrumentelor propuse pentru eBPF pentru scrierea gestionatorilor \u00een limbajele C, Python \u0219i Lua cu biblioteci externe. <\/p>\n<p>Inginerii de la Oracle lucreaz\u0103 de asemenea la crearea unui backend eBPF pentru GCC \u0219i au publicat deja <noindex><a rel=\"nofollow\" href=\"https:\/\/gcc.gnu.org\/ml\/gcc-patches\/2019-08\/msg01028.html\">un set de patch-uri<\/a><\/noindex> pentru integrarea suportului eBPF \u00een GCC \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/sourceware.org\/ml\/binutils\/2019-05\/msg00306.html\">au reu\u0219it<\/a><\/noindex> s\u0103 includ\u0103 codul pentru suportul eBPF \u00een GNU binutils. Ini\u021bial, backend-ul pentru suportul eBPF se bazeaz\u0103 pe tehnologiile LLVM, dar compania Oracle este interesat\u0103 de apari\u021bia unei capacit\u0103\u021bi native \u00een GCC de generare a programelor pentru eBPF, ceea ce va permite utilizarea unui singur instrumentar at\u00e2t pentru compilarea nucleului Linux, c\u00e2t \u0219i pentru compilarea programelor pentru eBPF. <\/p>\n<p>Pe l\u00e2ng\u0103 backend-ul pentru generarea de bytecode, patch-urile propuse pentru GCC includ de asemenea portarea libgcc pentru eBPF \u0219i instrumente pentru formarea fi\u0219ierelor ELF, care permit executarea codului \u00eentr-o ma\u0219in\u0103 virtual\u0103 eBPF folosind \u00eenc\u0103rc\u0103toarele furnizate de nucleu. P\u00e2n\u0103 acum, codul \u00een limbajul C poate fi transformat \u00een bytecode (nu toate func\u021bionalit\u0103\u021bile limbajului sunt disponibile), dar \u00een viitor se a\u0219teapt\u0103 extinderea capabilit\u0103\u021bilor disponibile ale limbajului C, ad\u0103ugarea suportului pentru alte limbaje, crearea unui simulator \u0219i ad\u0103ugarea suportului GCC pentru depanarea programelor eBPF f\u0103r\u0103 a fi \u00eenc\u0103rcate \u00een nucleu.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Sursa: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51287\">opennet.ro<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 DTrace \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 upstream \u0438 \u043f\u043b\u0430\u043d\u0430\u0445 \u043f\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 DTrace \u043f\u043e\u0432\u0435\u0440\u0445 \u0448\u0442\u0430\u0442\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0443\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u044f\u0434\u0440\u0430 Linux, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0442\u0430\u043a\u0438\u0445 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c, \u043a\u0430\u043a eBPF. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c DTrace \u0432 Linux \u0431\u044b\u043b\u0430 \u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439, \u043d\u043e \u0432 2018 \u0433\u043e\u0434\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043f\u0435\u0440\u0435\u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u043b\u0430 \u043a\u043e\u0434 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-37146","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 DTrace \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 upstream \u0438 \u043f\u043b\u0430\u043d\u0430\u0445 \u043f\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/kompaniya-oracle-namerena-pererabotat-dtrace-dlya-linux-s-ispolzovaniem-ebpf\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0430 \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c DTrace \u0434\u043b\u044f Linux \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c eBPF | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 DTrace \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 upstream \u0438 \u043f\u043b\u0430\u043d\u0430\u0445 \u043f\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/kompaniya-oracle-namerena-pererabotat-dtrace-dlya-linux-s-ispolzovaniem-ebpf\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:15:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:15:59+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Compania Oracle inten\u021bioneaz\u0103 s\u0103 reproiecteze DTrace pentru Linux utiliz\u00e2nd eBPF | ProHoster","description":"Compania Oracle a anun\u021bat c\u0103 lucreaz\u0103 la transmiterea modific\u0103rilor legate de DTrace c\u0103tre upstream \u0219i planurile pentru implementarea tehnologiei.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/kompaniya-oracle-namerena-pererabotat-dtrace-dlya-linux-s-ispolzovaniem-ebpf","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0430 \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c DTrace \u0434\u043b\u044f Linux \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c eBPF | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Oracle \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 DTrace \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 upstream \u0438 \u043f\u043b\u0430\u043d\u0430\u0445 \u043f\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/kompaniya-oracle-namerena-pererabotat-dtrace-dlya-linux-s-ispolzovaniem-ebpf","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:15:59+00:00","article:modified_time":"2019-10-31T19:15:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37146","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 06:17:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:02:42","updated":"2026-01-22 06:17:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/37146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=37146"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/37146\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=37146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=37146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=37146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}