Oracle ኩባንያ
DTrace አስቀድሞ
eBPF በሊኑክስ ከርነል ውስጥ የተሰራ ባይትኮድ ተርጓሚ ሲሆን የኔትወርክ ኦፕሬሽን ተቆጣጣሪዎችን ለመፍጠር ፣የስርዓት እንቅስቃሴን ለመከታተል ፣የስርዓት ጥሪዎችን ለመጥለፍ ፣የስርዓት መዳረሻን ለመቆጣጠር ፣የሂደቶችን ሂደት ጊዜን በመጠበቅ (perf_event_open) ፣ የተግባር ድግግሞሽን እና ጊዜን ያሰሉ ፣ ፍለጋን ያካሂዳሉ kprobes / uprobes / tracepoints በመጠቀም. ለጂአይቲ ማጠናቀር ምስጋና ይግባውና ባይትኮድ በበረራ ላይ ወደ ማሽን መመሪያዎች ተተርጉሟል እና በአፍ መፍቻ ኮድ አፈፃፀም ይከናወናል። DTrace በ eBPF ላይ ልክ እንደ eBPF አናት ላይ ሊተገበር ይችላል።
የDTrace ቴክኖሎጂ የሶላሪስ ኦፕሬቲንግ ሲስተም የስርአቱን ከርነል እና አፕሊኬሽኖች ተለዋዋጭ የመከታተያ ችግሮችን ለመፍታት ተዘጋጅቶ ተጠቃሚው የስርዓት ባህሪን በዝርዝር የመከታተል እና ችግሮችን በእውነተኛ ጊዜ የመመርመር ችሎታ እንዲኖረው ተደርጓል። በማረም ወቅት, DTrace በተጠኑ አፕሊኬሽኖች አሠራር ላይ ተጽእኖ አያመጣም እና በምንም መልኩ አፈፃፀማቸውን አይጎዳውም, ይህም በበረራ ላይ የሩጫ ስርዓቶችን ትንተና ለማደራጀት ያስችላል. ከDTrace ጥንካሬዎች ውስጥ፣ ከ AWK ጋር የሚመሳሰል ከፍተኛ የዲ ቋንቋ ተጠቅሷል፣ በዚህ ውስጥ ለ eBPF በ C፣ Python እና Lua ከውጪ ቤተ-መጻሕፍት የቀረቡ ተቆጣጣሪዎችን ለመጻፍ ከመጠቀም ይልቅ የመከታተያ ስክሪፕቶችን ለመጻፍ በጣም ቀላል ነው። .
የOracle መሐንዲሶች ለጂሲሲ የeBPF ድጋፍን በመገንባት ላይ ናቸው እና አስቀድመው አትመዋል
ባይትኮድ ለማመንጨት ከጀርባው በተጨማሪ፣ ለጂሲሲ የታቀዱት ጥገናዎች የlibgcc ወደብ ለ eBPF እና ELF ፋይሎችን ለማመንጨት የሚረዱ መሳሪያዎችን ያካተቱ ሲሆን ይህም ኮድ በ eBPF ቨርቹዋል ማሽን ውስጥ በከርነል የሚቀርቡ ሎደሮችን በመጠቀም ለማስፈጸም ያስችላል። ለአሁን፣ ሲ ኮድ ወደ ባይትኮድ ሊተረጎም ይችላል (ሁሉም የቋንቋ ባህሪያት አይገኙም)፣ ነገር ግን ወደፊት ጥቅም ላይ የሚውሉትን የC ቋንቋ ባህሪያት ማስፋፋት፣ ለሌሎች ቋንቋዎች ድጋፍ መጨመር፣ ሲሙሌተር መፍጠር እና የጂሲሲ ድጋፍ እንደሚጨምር ይጠበቃል። የ eBPF ፕሮግራሞችን ወደ ከርነል ሳይጫኑ ለማረም።
ምንጭ: opennet.ru