Erlang 21 - 2. DTrace and Erlang/OTP

2 DTrace और Erlang / OTP




erlang

2 DTrace और Erlang / OTP

२.१ इतिहास

Erlang वर्चुअल मशीन के लिए DTrace जांच का पहला कार्यान्वयन 2008 Erlang User Conference में प्रस्तुत किया गया था। Erlang / OTP R12 रिलीज़ पर आधारित उस काम को बंद कर दिया गया था, जो मूल डेवलपर्स के साथ गलत व्यवहार प्रतीत होता है।

कई उपयोगकर्ताओं ने Erlang पोर्ट ड्राइवर, लिंक्ड-इन ड्राइवर, या NIF बनाए हैं जो Erlang कोड को एक जांच को सक्रिय करने का प्रयास करने की अनुमति देते हैं, जैसे foo_module:dtrace_probe("message goes here!")

२.२ लक्ष्य

  • व्यावहारिक रूप में एर्लांग वीएम के रूप में ज्यादा का ध्यान दें।
  • प्रारंभिक लक्ष्य फ़ाइल I / O संचालन का पता लगाना है।
  • उन सभी प्लेटफार्मों का समर्थन करें जो DTrace को लागू करते हैं: OS X, Solaris, और (मुझे उम्मीद है) FreeBSD और NetBSD।
  • इस हद तक कि यह व्यावहारिक है, DTT प्रदाता संगतता के माध्यम से लिनक्स पर SystemTap का समर्थन करें।
  • Erlang कोड को एनोटेशन की आपूर्ति करने की अनुमति दें।

2.3 समर्थित मंच

  • OS X 10.6.x / स्नो लेपर्ड, OS X 10.7.x / शेर और शायद नए संस्करण।
  • सोलारिस 10. मैंने सोलारिस 11 और ओपनइंडियाना रिलीज़ 151 ए पर सीमित परीक्षण किया है, और दोनों काम करते दिखाई देते हैं।
  • फ्रीबीएसडी 9.0 और 10.0।
  • SystemTap संगतता के माध्यम से लिनक्स। अधिक जानकारी के लिए कृपया $ERL_TOP/HOWTO/SYSTEMTAP.md देखें।

जब आप configure स्क्रिप्ट चलाते हैं तो अपने कमांड में --with-dynamic-trace=dtrace विकल्प जोड़ें। यदि आप सिस्टमटैप का उपयोग कर रहे हैं, तो कॉन्फ़िगर विकल्प है --with-dynamic-trace=systemtap

2.4 स्थिति

R15B01 के रूप में, डायनामिक ट्रेस कोड ओटीपी स्रोत वितरण में शामिल है, हालांकि इसे प्रयोगात्मक माना जाता है। Dtrace कोड का मुख्य विकास अभी भी एरिक्सन के बाहर होता है, लेकिन बुनियादी कार्यक्षमता प्राप्त करने के लिए OTP स्रोत का एक पैच संस्करण लाने की कोई आवश्यकता नहीं है।

2.5 DTrace जांच विनिर्देशों

जांच विनिर्देश erts/emulator/beam/erlang_dtrace.d में पाया जा सकता है, और कुछ उदाहरण स्क्रिप्ट lib/runtime_tools/examples/ तहत मिल सकते हैं।