{"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\/it\/blog\/news\/kompaniya-oracle-namerena-pererabotat-dtrace-dlya-linux-s-ispolzovaniem-ebpf","title":{"rendered":"La societ\u00e0 Oracle ha intenzione di riprogettare DTrace per Linux utilizzando eBPF","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Azienda Oracle <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/linux\/dtrace-on-fedora\">ha annunciato<\/a><\/noindex> sul lavoro di trasferimento delle modifiche correlate a DTrace nell'upstream e sui piani per implementare la tecnologia di debug dinamico di DTrace sopra l'infrastruttura nativa del kernel Linux, in particolare utilizzando sottosistemi come eBPF. Inizialmente, il principale problema nell'uso di DTrace su Linux era l'incompatibilit\u00e0 a livello di licenze, ma nel 2018 Oracle <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=48078\">ri-licenziato<\/a><\/noindex> il codice DTrace sotto GPLv2. <\/p>\n<p>DTrace \u00e8 gi\u00e0 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=35586\">da lungo tempo<\/a><\/noindex> disponibile come parte del kernel esteso per la distribuzione Oracle Linux, ma il suo utilizzo in altre distribuzioni richiede l'applicazione di patch aggiuntive al kernel, limitando cos\u00ec l'uso di tale tecnologia. Ad esempio, Oracle <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.oracle.com\/linux\/dtrace-on-fedora\">ha preparato<\/a><\/noindex> ha fornito istruzioni dettagliate per l'installazione e l'uso di DTrace in Fedora Linux. Per l'installazione \u00e8 necessaria la compilazione <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/dtrace-utils\">strumentazione<\/a><\/noindex> e l'applicazione di un kernel Linux ricompilato con <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/oracle\/dtrace-linux-kernel.git\">patch<\/a><\/noindex>. Per automatizzare la compilazione del kernel con le patch Oracle e Fedora, \u00e8 stato proposto <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 \u00e8 un interprete di bytecode integrato nel kernel Linux che consente di creare gestori di operazioni di rete, monitorare il funzionamento dei sistemi, intercettare chiamate di sistema, controllare l'accesso, gestire eventi mantenendo il timestamp (perf_event_open), contare la frequenza e il tempo di esecuzione delle operazioni, eseguire il tracciamento utilizzando kprobes\/uprobes\/tracepoints. Grazie all'uso della compilazione JIT, il bytecode viene tradotto in istruzioni di macchina al volo e viene eseguito con prestazioni paragonabili al codice nativo. DTrace pu\u00f2 essere implementato sopra eBPF, similmente a come sopra eBPF <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=45391\">collabora<\/a><\/noindex> esistono strumenti di tracciamento.<\/p>\n<p>La tecnologia DTrace \u00e8 stata sviluppata per il sistema operativo Solaris per affrontare le sfide del tracciamento dinamico del kernel del sistema e delle applicazioni finali, fornendo all'utente la possibilit\u00e0 di monitorare in dettaglio il comportamento del sistema e di diagnosticare i problemi in tempo reale. Durante il processo di debug, DTrace non influisce sul funzionamento delle applicazioni esaminate e non ha alcun impatto sulle loro performance, permettendo cos\u00ec di analizzare i sistemi in esecuzione al volo. Tra i punti di forza di DTrace si evidenzia il linguaggio di alto livello D, simile a AWK, che semplifica notevolmente la creazione di script di tracciamento rispetto all'uso degli strumenti di scrittura dei gestori per eBPF in linguaggi come C, Python e Lua con librerie esterne. <\/p>\n<p>Gli ingegneri di Oracle stanno anche lavorando alla creazione di un backend eBPF per GCC e hanno gi\u00e0 pubblicato <noindex><a rel=\"nofollow\" href=\"https:\/\/gcc.gnu.org\/ml\/gcc-patches\/2019-08\/msg01028.html\">un insieme di patch<\/a><\/noindex> per l'integrazione del supporto eBPF in GCC e <noindex><a rel=\"nofollow\" href=\"https:\/\/sourceware.org\/ml\/binutils\/2019-05\/msg00306.html\">hanno ottenuto<\/a><\/noindex> l'inclusione del codice per il supporto di eBPF in GNU binutils. Inizialmente, il backend per il supporto di eBPF si basa su tecnologie LLVM, ma Oracle \u00e8 interessata a fornire in GCC la capacit\u00e0 nativa di generare programmi per eBPF, consentendo di utilizzare un unico set di strumenti tanto per la costruzione del kernel Linux quanto per la costruzione di programmi per eBPF. <\/p>\n<p>Oltre al backend per la generazione di bytecode, le patch proposte per GCC includono anche il porting di libgcc per eBPF e strumenti per la creazione di file ELF, che consentono l'esecuzione del codice nella macchina virtuale eBPF utilizzando i caricamenti forniti dal kernel. Attualmente, il codice in linguaggio C pu\u00f2 essere tradotto in bytecode (non tutte le funzionalit\u00e0 del linguaggio sono disponibili), ma in futuro ci si aspetta un ampliamento delle capacit\u00e0 applicabili del linguaggio C, l'aggiunta del supporto per altri linguaggi, la creazione di un simulatore e l'inclusione del supporto GCC per il debug dei programmi eBPF senza il caricamento nel kernel.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51287\">opennet.ru<\/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.1.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\/it\/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.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47 Oracle intende riprogettare DTrace per Linux utilizzando eBPF | ProHoster","description":"Oracle ha annunciato di essere al lavoro per trasferire le modifiche relative a DTrace nell'upstream e per realizzare la tecnologia.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/kompaniya-oracle-namerena-pererabotat-dtrace-dlya-linux-s-ispolzovaniem-ebpf","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/37146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=37146"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/37146\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=37146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=37146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=37146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}