djangosampler เป็น app Django ที่ช่วยให้คุณตัวอย่างร้อยละของการค้นหาของคุณ (SQL, Mongo, ฯลฯ ) และดูคนที่มีการขึ้นเวลามากที่สุด คำสั่งจะถูกจัดกลุ่มเข้าด้วยกันโดยที่พวกเขามาจากในรหัสของคุณ
การติดตั้ง
ติดตั้ง:
หลาม setup.py ติดตั้ง
กำหนดค่า:
- เพิ่ม djangosampler เพื่อ INSTALLED_APPS ของคุณ
- เพิ่มตาราง (manage.py syncdb หรือ manage.py โยกย้ายถ้าคุณใช้ใต้)
- เพิ่มมุมมอง:
& nbsp; urlpatterns + รูปแบบ = ('',
& nbsp; (R '^ ตัวอย่าง /' รวม ('djangosampler.urls'))
& nbsp;)
- DJANGO_SAMPLER_FREQ ตั้งค่าอื่นที่ไม่ใช่ 0
- DJANGO_SAMPLER_PLUGINS ชุดไปยังรายชื่อของปลั๊กอิน เพียงสุ่มตัวอย่าง SQL เริ่มต้นที่เหมาะสมคือ
& nbsp; DJANGO_SAMPLER_PLUGINS = (
& nbsp; 'djangosampler.plugins.sql.Sql',
& nbsp; ปลั๊กอิน # ถูกนำมาใช้ในการสั่งซื้อเช่นเดียวกับรายการนี้
& nbsp;)
- มีหลายปลั๊กอินที่มีอยู่และมันก็คุ้มค่าที่อ่านผ่านพวกเขาที่จะได้รับประโยชน์สูงสุดจากการใช้งานของเครื่องมือนี้
- ถ้าคุณกำลังใช้การสุ่มตัวอย่างตามค่าใช้จ่ายแล้วตั้ง DJANGO_SAMPLER_BASE_TIME กับระยะเวลาที่คาดหวังของแบบสอบถามปกติในไม่กี่วินาที โดยค่าเริ่มต้นนี้ถูกกำหนดเป็น 5ms
หน้าแสดงผล
หลังจากที่ปล่อยให้วิ่งตัวอย่างในขณะที่คุณจะสามารถดูคำสั่ง (จัดกลุ่มตามแหล่งที่มาของพวกเขา) ที่ URL ที่คุณกำหนดค่า
องค์ประกอบ
DJANGO_SAMPLER_PLUGINS
Django ตัวอย่างมีสถาปัตยกรรมปลั๊กอินที่จะช่วยให้คุณสามารถควบคุมข้อมูลเท่าไหร่ที่คุณต้องการที่จะเก็บรวบรวม
ใน settings.py ของคุณเพิ่มต่อไปนี้:
DJANGO_SAMPLER_PLUGINS = (
& nbsp; 'djangosampler.plugins.sql.Sql',
& nbsp; ปลั๊กอิน # ถูกนำมาใช้ในการสั่งซื้อเช่นเดียวกับรายการนี้
)
ตัวอย่างข้างต้นจะเพิ่มปลั๊กอิน SQL
ปลั๊กอินที่มีอยู่และการตั้งค่าของพวกเขาจะอธิบายไว้ในส่วนโปรแกรมเสริมด้านล่าง
DJANGO_SAMPLER_FREQ
DJANGO_SAMPLER_FREQ กำหนดค่าร้อยละของแบบสอบถามที่จะถูกบันทึกไว้ มันควรอยู่ระหว่าง 0.0 และ 1.0
ถ้าไม่แล้วตั้งปลั๊กอินจะไม่มีการติดตั้งและรหัสของคุณจะทำงานได้ตามปกติ
DJANGO_SAMPLER_USE_COST
DJANGO_SAMPLER_USE_COST จะช่วยให้การเก็บตัวอย่างค่าใช้จ่ายตาม นี้ทำให้คำสั่งที่ทำงานเป็นเวลานานที่จะชิมบ่อยกว่าคำสั่งสั้น
โอกาสที่ว่าแบบสอบถามเป็นตัวอย่างคูณด้วยเวลารวมแบบสอบถามใช้ ถ้าแบบสอบถามใช้เวลา 2 วินาทีแล้วมันจะเป็นสองเท่าแนวโน้มที่จะเป็นตัวอย่างแบบสอบถามที่ใช้เวลา 1 วินาที
ค่าใช้จ่ายสำหรับการค้นหาจะถูกปรับบัญชีดังต่อไปนี้:
= ค่าใช้จ่ายสูงสุด (1.0 เวลา * DJANGO_SAMPLER_FREQ) / DJANGO_SAMPLER_FREQ
ปลั๊กอิน
รายการปลั๊กอินที่มีอยู่ดังต่อไปนี้ คุณสามารถเขียนปลั๊กอินของคุณเองและนี่คือการอธิบายไว้ในส่วน 'การเขียนของคุณเองปลั๊กอิน'
Django SQL
ชั้นปลั๊กอิน: djangosampler.plugins.sql.Sql
ปลั๊กอินตัวอย่าง SQL จะตัวอย่างร้อยละของแบบสอบถาม SQL ที่เกิดขึ้นในใบสมัครของคุณ ตัวอย่างจะถูกจัดกลุ่มตามแบบสอบถามและร่องรอยสแต็คจะถูกบันทึกไว้ที่จะหาคำสั่งที่มีต้นกำเนิดมา
Django ขอ
ชั้นปลั๊กอิน: djangosampler.plugins.request.Request
ปลั๊กอินคำขอติดตั้ง Middleware ที่จะลิ้มเวลาที่ถ่ายโดยการร้องขอ
ตัวอย่างรหัสใด ๆ
นี้ไม่ได้เป็นอย่างเคร่งครัดปลั๊กอิน นี้เป็นผู้จัดการบริบทที่จะช่วยให้คุณสามารถทำเครื่องหมายกลุ่มของรหัสและตัวอย่างว่านานบล็อกใช้เวลาในการทำงาน E.g .:
จากการสุ่มตัวอย่างนำเข้า djangosampler.sampler
ด้วยการสุ่มตัวอย่าง ('my_code', 'some_fn'):
& nbsp; do_something_slow ()
ผักชีฝรั่ง
ชั้นปลั๊กอิน: djangosampler.plugins.celery_task.Celery
ปลั๊กอินคื่นฉ่ายใช้สัญญาณของคื่นฉ่ายไปยังกลุ่มตัวอย่างเวลาที่จะดำเนินงาน
MongoDB
ชั้นปลั๊กอิน: djangosampler.plugins.mongo.Mongo
ปลั๊กอิน MongoDB จะตัวอย่างร้อยละของ Mongo คำสั่ง (คำสั่งแทรก ฯลฯ ) ที่เกิดขึ้นในใบสมัครของคุณ ตัวอย่างจะได้รับการจัดกลุ่มตามคำสั่งและร่องรอยสแต็คจะถูกบันทึกไว้ที่จะหาคำสั่งที่มีต้นกำเนิดมา
ต้องการ .
- งูใหญ่
- Django
ความคิดเห็นที่ไม่พบ