Oracle ڪمپني
DTrace اڳ ۾ ئي
eBPF هڪ بائيٽ ڪوڊ مترجم آهي جيڪو لينڪس ڪرنل ۾ ٺاهيو ويو آهي جيڪو توهان کي اجازت ڏئي ٿو نيٽ ورڪ آپريشن هينڊلر ٺاهڻ، سسٽم جي آپريشن مانيٽر ڪرڻ، سسٽم ڪالز کي ڪنٽرول ڪرڻ، ڪنٽرول رسائي، پروسيس ايونٽس سان ٽائم ڪيپنگ (perf_event_open)، ڳڻپ جي تعدد ۽ عمل جي عمل جو وقت، ڪيپروبز استعمال ڪندي ٽريڪنگ انجام ڏيڻ. /uprobes/tracepoints. JIT تاليف جي استعمال جي مهرباني، bytecode کي فلائي تي مشين جي هدايتن ۾ ترجمو ڪيو ويو آهي ۽ مقامي ڪوڊ جي ڪارڪردگي سان عمل ڪيو ويو آهي. DTrace eBPF جي چوٽي تي لاڳو ٿي سگھي ٿو، ساڳي طرح اھو ڪيئن لاڳو ٿئي ٿو eBPF جي چوٽي تي
DTrace ٽيڪنالاجي سولاريس آپريٽنگ سسٽم لاءِ ترقي ڪئي وئي ته جيئن متحرڪ طور تي سسٽم ڪرنل کي ٽريڪ ڪرڻ ۽ ايپليڪيشنن کي ختم ڪرڻ جي مسئلي کي حل ڪري، صارف کي سسٽم جي رويي کي تفصيل سان مانيٽر ڪرڻ ۽ حقيقي وقت ۾ مسئلن جي تشخيص ڪرڻ جي صلاحيت ڏئي ٿي. ڊيبگنگ جي عمل دوران، DTrace مطالعي جي تحت ايپليڪيشنن جي آپريشن کي متاثر نٿو ڪري ۽ ڪنهن به طريقي سان انهن جي ڪارڪردگي تي اثر انداز نٿو ڪري، جيڪا توهان کي پرواز تي هلندڙ نظام جي تجزيو کي منظم ڪرڻ جي اجازت ڏئي ٿي. DTrace جي طاقتن مان هڪ اعليٰ سطحي ڊي ٻولي آهي، AWK جهڙي، جنهن ۾ سي، پٿون ۽ لوا ۾ ٻاهرين لائبريرين سان گڏ eBPF هينڊلر لکڻ لاءِ پيش ڪيل اوزار استعمال ڪرڻ جي ڀيٽ ۾ ٽريڪنگ اسڪرپٽ ٺاهڻ تمام آسان آهي.
Oracle جا انجنيئر پڻ GCC لاءِ eBPF پس منظر ٺاهڻ تي ڪم ڪري رهيا آهن ۽ اڳ ۾ ئي شايع ڪري چڪا آهن
بائيٽ ڪوڊ نسل جي پسمنظر کان علاوه، GCC لاءِ تجويز ڪيل پيچس ۾ eBPF لاءِ libgcc پورٽ ۽ ELF فائلون پيدا ڪرڻ لاءِ اوزار پڻ شامل آهن، اهو ممڪن بڻائي ٿو ته ڪوڊ کي اي بي پي ايف ورچوئل مشين ۾ ڪنيل مهيا ڪيل لوڊرز استعمال ڪندي. في الحال، سي ٻولي ۾ ڪوڊ بائيٽ ڪوڊ ۾ ترجمو ڪري سگھجي ٿو (سڀني ٻولي جون خاصيتون موجود نه آھن)، پر مستقبل ۾ اھو توقع آھي ته استعمال لاءِ موجود سي ٻوليءَ جي صلاحيتن کي وڌايو ويندو، ٻين ٻولين لاءِ سپورٽ شامل ڪيو ويندو، ھڪڙو سموليٽر ٺاھيو، ۽ شامل ڪريو GCC سپورٽ eBPF پروگرامن کي ڊيبگ ڪرڻ لاءِ بغير ڪرنل ۾ لوڊ ڪرڻ جي.
جو ذريعو: opennet.ru