ஆரக்கிள் நிறுவனம்
ஏற்கனவே டிடிரேஸ்
eBPF என்பது லினக்ஸ் கர்னலில் கட்டமைக்கப்பட்ட ஒரு பைட்கோட் மொழிபெயர்ப்பாளர் ஆகும், இது நெட்வொர்க் ஆபரேஷன் ஹேண்ட்லர்களை உருவாக்கவும், சிஸ்டம் செயல்பாட்டைக் கண்காணிக்கவும், சிஸ்டம் அழைப்புகளை இடைமறிக்கவும், அணுகலைக் கட்டுப்படுத்தவும், நேரப் பாதுகாப்புடன் நிகழ்வுகளைச் செயலாக்கவும் (perf_event_open), செயல்பாடுகளின் அதிர்வெண் மற்றும் நேரத்தைக் கணக்கிடவும், தடமறிதலைச் செய்யவும் உங்களை அனுமதிக்கிறது. kprobes / uprobes /tracepoints ஐப் பயன்படுத்துதல். JIT தொகுப்பின் பயன்பாட்டிற்கு நன்றி, பைட்கோட் பறக்கும் போது இயந்திர வழிமுறைகளாக மொழிபெயர்க்கப்பட்டு சொந்த குறியீட்டின் செயல்திறனுடன் செயல்படுத்தப்படுகிறது. டிடிரேஸை eBPF க்கு மேல் செயல்படுத்துவது போல, eBPF க்கு மேல் செயல்படுத்தப்படலாம்.
கணினி கர்னல் மற்றும் எண்ட் அப்ளிகேஷன்களின் டைனமிக் டிரேசிங் பிரச்சனைகளை தீர்க்க சோலாரிஸ் ஆப்பரேட்டிங் சிஸ்டத்திற்காக DTrace தொழில்நுட்பம் உருவாக்கப்பட்டது, இது பயனருக்கு கணினி நடத்தையை விரிவாக கண்காணிக்கும் மற்றும் உண்மையான நேரத்தில் சிக்கல்களை கண்டறியும் திறனை அளிக்கிறது. பிழைத்திருத்தத்தின் போது, DTrace ஆய்வு செய்யப்பட்ட பயன்பாடுகளின் செயல்பாட்டை பாதிக்காது மற்றும் அவற்றின் செயல்திறனை எந்த வகையிலும் பாதிக்காது, இது பறக்கும்போது இயங்கும் அமைப்புகளின் பகுப்பாய்வை ஒழுங்கமைக்க அனுமதிக்கிறது. DTrace இன் பலங்களில், AWK போன்ற உயர்-நிலை D மொழி குறிப்பிடப்பட்டுள்ளது, இதில் வெளிப்புற நூலகங்களுடன் C, Python மற்றும் Lua இல் eBPF க்கு வழங்கப்படும் கையாளுபவர்களை எழுதுவதற்கான கருவிகளைப் பயன்படுத்துவதை விட, ட்ரேஸ் ஸ்கிரிப்ட்களை எழுதுவது மிகவும் எளிதானது. .
ஆரக்கிள் பொறியாளர்கள் GCC க்காக eBPF பின்தளத்தை உருவாக்கி, ஏற்கனவே வெளியிட்டுள்ளனர்
பைட்கோடை உருவாக்குவதற்கான பின்தளத்திற்கு கூடுதலாக, GCC க்காக முன்மொழியப்பட்ட இணைப்புகளில் eBPFக்கான libgcc போர்ட் மற்றும் ELF கோப்புகளை உருவாக்குவதற்கான கருவிகளும் அடங்கும், இது கர்னல் வழங்கிய லோடர்களைப் பயன்படுத்தி eBPF மெய்நிகர் கணினியில் குறியீட்டை இயக்குவதை சாத்தியமாக்குகிறது. தற்போதைக்கு, C குறியீட்டை பைட்கோடாக மொழிபெயர்க்கலாம் (அனைத்து மொழி அம்சங்களும் கிடைக்கவில்லை), ஆனால் எதிர்காலத்தில் இது பயன்படுத்தக்கூடிய C மொழி அம்சங்களை விரிவுபடுத்தும், பிற மொழிகளுக்கான ஆதரவைச் சேர்க்கும், சிமுலேட்டரை உருவாக்கி, GCC ஆதரவைச் சேர்க்கும் என எதிர்பார்க்கப்படுகிறது. கர்னலில் ஏற்றாமல் eBPF நிரல்களை பிழைத்திருத்துவதற்கு.
ஆதாரம்: opennet.ru