ฉันจะติดตั้ง DTrace ได้อย่างไร


20

Googling แนะนำว่า DTrace มีอยู่บน Linux แต่ฉันไม่พบคำแนะนำในการติดตั้ง

DTrace เป็นเฟรมเวิร์กการติดตามแบบไดนามิกที่ครอบคลุม มันถูกออกแบบมาเพื่อให้ข้อมูลเชิงลึกการดำเนินงานที่ช่วยให้ผู้ใช้ปรับแต่งและแก้ไขปัญหาการใช้งานและระบบปฏิบัติการของตัวเอง มีการพิจารณาเป็นพิเศษเพื่อให้ปลอดภัยในการใช้งานในสภาพแวดล้อมการผลิต ตัวอย่างเช่นมีเอฟเฟกต์โพรบน้อยที่สุดเมื่อติดตามกำลังดำเนินการอยู่และไม่มีผลกระทบต่อประสิทธิภาพที่เกี่ยวข้องกับโพรบที่ปิดใช้งาน สิ่งนี้สำคัญเนื่องจากมีโพรบ DTrace นับหมื่นที่สามารถเปิดใช้งานได้

คำตอบ:


15

ใช้คอมไพล์หรือดาวน์โหลดหลายรุ่นDTrace ที่นี่ ฉันพบคำแนะนำการติดตั้งเหล่านี้:

git clone "https://github.com/dtrace4linux/linux.git" dtrace
cd dtrace
tools/get-deps.pl
make all 
make install
sudo make load

Sidenote: ความคิดเห็นเกี่ยวกับการระดมสมองอ้างว่าคุณสามารถทำสิ่งเดียวกันกับ 3 สิ่งเหล่านี้ได้:


คำถามที่น่าสนใจ - เว็บลิงค์นี้บอกว่า dtrace ไม่พร้อมใช้งานสำหรับ "debian" (aka ubuntu?) - มันทันสมัยกว่าคำสั่งที่เชื่อมโยงของคุณ webcache.googleusercontent.com/…
fossfreedom

ดูความคิดเห็นล่าสุดเกี่ยวกับการระดมสมองที่นี่: brainstorm.ubuntu.com/idea/4971 No deb แต่มันสามารถใช้งานได้บน Ubuntu
Rinzwind

ตกลง - หวังว่า OP จะทดสอบสิ่งนี้ - +1 จากฉัน
fossfreedom

ฉันยังพบหนึ่งbrainstorm.ubuntu.com/idea/11463 ptrace, utrace และ systemtap นี้แก้ไขเป็นทางเลือก (ไม่ลอง btw เหล่านี้ด้วยเช่นกัน))
Rinzwind

. build / config.sh; \ mkdir -p "" / usr / lib / dtrace / $ CPU_BITS; \ rm -f "" /usr/lib/dtrace/types.d; \ mkdir -p "" / usr / sbin /; \ install -m 4755 - เพื่อสร้างราก / dtrace "" / usr / sbin / dtrace; \ install -m 644 -o root build / drti.o "" /usr/lib/dtrace/$CPU_BITS/drti.o mkdir: ไม่สามารถสร้างไดเรกทอรี '/ usr / lib / dtrace': ไม่อนุญาตให้สร้างไฟล์ปกติ '/ usr / sbin / dtrace': การอนุญาตถูกปฏิเสธการติดตั้ง: ไม่สามารถสร้างไฟล์ปกติ '/usr/lib/dtrace/64/drti.o': ไม่มีไฟล์ดังกล่าวหรือไฟล์ makefile: 110: สูตรสำหรับเป้าหมาย 'ติดตั้ง' ทำให้: *** [ติดตั้ง] ข้อผิดพลาด 1
gtzinos

14

1

ฉันพบแพ็คเกจ sytemtap-sdt-dev จากประเภทอาคาร:

sudo apt-get install systemtap-sdt-dev

dtraceแพคเกจนี้จะให้

โปรดทราบว่าถึงแม้ว่าชื่อจะdtraceมีเหตุผล แต่ก็ไม่เหมือนกันSolarisทุกประการ คุณสามารถทำบางสิ่งได้ แต่ไม่ใช่ทั้งหมด

2

หากคุณไม่ใส่ใจในการรวบรวมเวอร์ชั่นที่สมบูรณ์ยิ่งกว่าdtraceคือพอร์ตโดย Paul Fox:
ftp://crisp.dyndns-server.com/pub/release/website/dtrace/

มันค่อนข้างง่ายที่จะสร้างดู README

3

นอกจากนี้ยังมีOracleพอร์ต แต่ฉันไม่ได้ทดสอบมันและไม่อยากจะแนะนำมัน เห็นได้ชัดว่ามีเพียงโพรบประมาณร้อยละ 0 ของพอลพอลฟ็อก

$ dtrace -l | wc -l
394267

ซึ่งเป็นเรื่องน่าขันเพราะOracleซื้อSunที่เขียนต้นฉบับของสำหรับdtraceSolaris

4

โปรดทราบว่า Linux-dtrace ขาดฟังก์ชั่นบางอย่างของ userspace ที่ Solaris-dtrace (ดั้งเดิม) ให้ ดังนั้นการใช้งานบางอย่างสำหรับ dtrace เช่นการทำโปรไฟล์ Node.js จะมีความซับซ้อนหากไม่สามารถทำได้โดยใช้โคลนการแยกหรือการเลียนแบบของ dtrace


5
อันที่จริงรุ่นใน "systemtap-sdt-dev" ไม่รองรับตัวเลือก "-n"
Erel Segal-Halevi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.