perfmetrics

ภาพหน้าจอของซอฟแวร์:
perfmetrics
รายละเอียดซอฟแวร์:
รุ่น: 0.9.5
วันที่อัพโหลด: 20 Feb 15
ผู้พัฒนา: Shane Hathaway
การอนุญาต: ฟรี
ความนิยม: 4

Rating: nan/5 (Total Votes: 0)

perfmetrics มีวิธีง่ายๆในการเพิ่มตัวชี้วัดประสิทธิภาพการทำงานของซอฟแวร์ให้แก่ห้องสมุดหลามและการประยุกต์ใช้ & nbsp;. perfmetrics เพื่อทำการค้นหาคอขวดที่แท้จริงในการประยุกต์ใช้การผลิต
แพคเกจ perfmetrics เป็นลูกค้าของภูต Statsd โดย Etsy ซึ่งเป็นในทางกลับกันลูกค้าของกราไฟท์ (เฉพาะภูตคาร์บอน) เพราะแพคเกจ perfmetrics ส่งแพ็คเก็ต UDP เพื่อ Statsd, perfmetrics เพิ่มไม่มี I / O ความล่าช้าในการใช้งานและค่าใช้จ่ายของ CPU น้อย มันสามารถทำงานได้อย่างเท่าเทียมกันทั้งในเกลียว (synchronous) หรือเหตุการณ์ที่ขับเคลื่อนด้วย (ไม่ตรงกัน) ซอฟแวร์
การใช้งาน
ใช้ตกแต่ง @metric และ @metricmethod เพื่อตัดการทำงานและวิธีการที่ควรจะส่งระยะเวลาและสถิติการโทรไปยัง Statsd เพิ่มตกแต่งใด ๆ ฟังก์ชั่นหรือวิธีการที่อาจจะเป็นคอขวดรวมทั้งฟังก์ชั่นห้องสมุด
ตัวอย่าง:
จาก perfmetrics นำตัวชี้วัด
จากการนำเข้า perfmetrics metricmethod
@metric
def myfunction ():
& nbsp; "" "ทำบางสิ่งบางอย่างที่อาจจะมีราคาแพง" ""
คลาส MyClass (วัตถุ):
& nbsp; @metricmethod
& nbsp; def MyMethod (ตัวเอง):
& nbsp; "" "ทำบางสิ่งอื่น ๆ ที่มีราคาแพงอาจจะ" ""
ถัดไปบอก perfmetrics วิธีการเชื่อมต่อ Statsd (จนกว่าคุณจะทำตกแต่งไม่มีผล.) จะเป็นการดีที่ใบสมัครของคุณควรอ่าน URI Statsd จากแฟ้มการกำหนดค่าที่เวลาเริ่มต้น แต่ตัวอย่างด้านล่างใช้ URI ยากรหัสสำหรับความเรียบง่าย:
จากการนำเข้า perfmetrics set_statsd_client
set_statsd_client ('statsd: // localhost: 8125)
สำหรับฉันใน xrange (1000):
& nbsp; myfunction ()
& nbsp;. MyClass () MyMethod ()
ถ้าคุณเรียกใช้รหัสที่มันจะยิง 2000 แพ็คเก็ต UDP พอร์ตที่ 8,125 แต่ถ้าคุณได้ติดตั้งและกราไฟท์ Statsd ทั้งหมดของแพ็กเก็ตเหล่านั้นจะถูกละเลยและลดลง หยดเป็นสิ่งที่ดี: คุณไม่ต้องการการประยุกต์ใช้การผลิตของคุณที่จะล้มเหลวหรือชะลอตัวลงเพียงเพราะระบบการตรวจสอบประสิทธิภาพการทำงานของคุณจะหยุดการทำงานหรือไม่ทำงาน
ติดตั้งและกราไฟท์ Statsd ในการรับและกราฟตัวชี้วัด วิธีการหนึ่งที่ดีที่จะติดตั้งพวกเขาเป็นตัวอย่างที่ graphite_buildout ที่ GitHub ซึ่งติดตั้งกราไฟท์และ Statsd ในสถานที่ที่กำหนดเองโดยไม่ต้องเข้าถึงราก
Threading
ในขณะที่โปรแกรมส่วนใหญ่ส่งตัวชี้วัดจากหัวข้อใด ๆ ไปยังเซิร์ฟเวอร์ Statsd เดียวทั่วโลกบางโปรแกรมต้องใช้เซิร์ฟเวอร์ Statsd แตกต่างกันสำหรับแต่ละหัวข้อ ถ้าคุณเพียงต้องการเซิร์ฟเวอร์ Statsd ทั่วโลกใช้ฟังก์ชัน set_statsd_client ที่เริ่มต้นการประยุกต์ใช้ หากคุณจำเป็นต้องใช้เซิร์ฟเวอร์ Statsd แตกต่างกันสำหรับแต่ละหัวข้อใช้วัตถุ statsd_client_stack ในแต่ละหัวข้อ ใช้ผลักดันป๊อปและวิธีการที่ชัดเจน
เคล็ดลับไฟท์
ร้านค้าไฟท์แต่ละตัวชี้วัดเป็นอนุกรมเวลาที่มีความละเอียดหลาย ตัวอย่างร้านค้า graphite_buildout 10 ความละเอียดที่สองเป็นเวลา 48 ชั่วโมงความละเอียด 1 ชั่วโมง 31 วัน, และความละเอียด 1 วันเป็นเวลา 5 ปี ในการผลิตมูลค่าเม็ดเล็กหยาบจากค่าเนื้อละเอียด, กราไฟท์คำนวณค่าเฉลี่ย (โดยเฉลี่ย) สำหรับช่วงเวลาในแต่ละ
เพราะไฟท์คำนวณค่าเฉลี่ยโดยปริยายวิธีที่เหมาะสมที่สุดในการรักษาเคาน์เตอร์ในไฟท์เป็น "เพลงฮิตต่อวินาที" ค่า วิธีการที่กราฟสามารถผลิตผลลัพธ์ที่ถูกต้องเรื่องที่จะใช้ในระดับความละเอียดไม่
การรักษาเคาน์เตอร์เป็นฮิตต่อวินาทีมีผลกระทบที่โชคร้ายอย่างไร หากตัวชี้วัดบางเห็นเข็มตี 1000 ในหนึ่งวินาทีนั้นตกไปอยู่ที่ศูนย์เป็นเวลาอย่างน้อย 9 วินาที, แผนภูมิกราไฟท์สำหรับตัวชี้วัดที่จะแสดงเข็ม 100 ไม่ 1000, กราไฟท์ตั้งแต่ได้รับตัวชี้วัดทุก 10 วินาทีและเข็มดูเหมือนจะ กราไฟท์เช่น 100 เพลงฮิตต่อวินาทีในช่วงระยะเวลา 10 วินาที
หากคุณต้องการกราฟของคุณเพื่อแสดง 1000 ความนิยมมากกว่า 100 ครั้งต่อวินาทีใช้ hitcount กราไฟท์ () ฟังก์ชั่นใช้ความละเอียดของ 10 วินาทีหรือมากกว่า ฟังก์ชั่น hitcount แปลงค่าต่อวินาทีที่ใกล้เคียงกับข้อหาตีดิบ ให้แน่ใจว่าจะให้ค่าความละเอียดขนาดใหญ่พอที่จะเป็นตัวแทนอย่างน้อยหนึ่งความกว้างพิกเซลบนกราฟที่เกิดขึ้นมิฉะนั้นไฟท์จะคำนวณค่าเฉลี่ยของการนับตีและผลิตกราฟสับสน
มันมักจะทำให้ความรู้สึกในการรักษาค่า null ในไฟท์เป็นศูนย์ แต่ที่ไม่ได้เริ่มต้น; โดยค่าเริ่มต้นไฟท์เหลืออะไรเลยสำหรับค่า null คุณสามารถเปิดตัวเลือกที่สำหรับแต่ละกราฟ
เอกสารอ้างอิง
ตกแต่ง
@metric
& nbsp; แจ้ง Statsd ใช้ UDP ทุกครั้งที่ฟังก์ชั่นที่เรียกว่า ส่งทั้งสองนับการโทรและข้อมูลเวลา ชื่อของตัวชี้วัดที่ส่งไปยัง Statsd เป็น <โมดูล>. <ชื่อฟังก์ชั่น>
@metricmethod
& nbsp;.. เช่นเดียวกับ @metric แต่ชื่อของตัวชี้วัด Statsd เป็น <คลาสโมดูล> <ชื่อชั้น> <ชื่อวิธี>
เมตริก (สถิติ = ไม่มี rate = 1 วิธี = เท็จนับ = True เวลา = True)
& nbsp; มัณฑนากรหรือผู้จัดการบริบทที่มีตัวเลือก
& nbsp; สถิติเป็นชื่อของตัวชี้วัดที่จะส่ง; ตั้งค่าให้ไม่มีการใช้ชื่อของฟังก์ชันหรือวิธีการ อัตราการช่วยให้คุณสามารถลดจำนวนของแพ็คเก็ตที่ส่งไปยัง Statsd โดยการเลือกตัวอย่างแบบสุ่ม; ยกตัวอย่างเช่นการตั้งค่าให้ 0.1 การส่งหนึ่งในสิบของแพ็คเก็ต ถ้าพารามิเตอร์วิธีการที่เป็นความจริงเริ่มต้นชื่อตัวชี้วัดที่อยู่บนพื้นฐานของชื่อชั้นของวิธีการมากกว่าชื่อโมดูล นับตั้งค่าเป็นเท็จปิดการใช้งานสถิติเคาน์เตอร์ที่ส่งไปยัง Statsd ระยะเวลาการตั้งค่าเป็นเท็จปิดการใช้งานสถิติระยะเวลาที่ส่งไปยัง Statsd
& nbsp; ใช้ตัวอย่างเป็นมัณฑนากร:
& nbsp; @Metric ('frequent_func', rate = 0.1 ระยะเวลา = เท็จ)
& nbsp; def frequent_func ():
& nbsp; "" "ทำอะไรได้อย่างรวดเร็วและบ่อยครั้ง" ""
& nbsp; ใช้ตัวอย่างเป็นผู้จัดการบริบท:
& nbsp; def do_something ():
& nbsp; กับเมตริก ('doing_something'):
& nbsp; ผ่าน
& nbsp; หาก perfmetrics ส่งแพ็คเก็ตบ่อยเกินไปแพ็คเก็ต UDP อาจจะหายไปและประสิทธิภาพของโปรแกรมที่อาจได้รับผลกระทบ คุณสามารถลดจำนวนของแพ็คเก็ตและ CPU ค่าใช้จ่ายโดยใช้เมตริกมัณฑนากรที่มีตัวเลือกแทนเมตริกหรือ metricmethod ตัวอย่างเช่นมัณฑนากรด้านบนใช้อัตราตัวอย่างและชื่อตัวชี้วัดที่คงที่ นอกจากนี้ยังปิดการใช้งานการเก็บรวบรวมข้อมูลการกำหนดเวลา
& nbsp; เมื่อใช้เมตริกเป็นผู้จัดการบริบทคุณต้องมีสถิติพารามิเตอร์หรือไม่มีอะไรจะถูกบันทึกไว้
ฟังก์ชั่น
statsd_client ()
& nbsp; กลับกำหนดค่า StatsdClient ผลตอบแทนที่ลูกค้าด้ายท้องถิ่นหากมีหนึ่งหรือลูกค้าทั่วโลกถ้ามีหรือไม่มี
set_statsd_client (client_or_uri)
& nbsp; ตั้ง StatsdClient ทั่วโลก client_or_uri สามารถ StatsdClient, statsd: // URI หรือไม่
statsd_client_from_uri (Uri)
& nbsp; สร้าง StatsdClient จาก URI URI ทั่วไปคือ statsd: // localhost: 8125 สนับสนุนพารามิเตอร์ตัวเลือกที่มีคำนำหน้าและ gauge_suffix คำนำหน้าเริ่มต้นเป็นที่ว่างเปล่าและ gauge_suffix เริ่มต้นคือ .. ดูเอกสาร StatsdClient สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ gauge_suffix
StatsdClient วิธี
รหัสหลามสามารถส่งตัวชี้วัดที่กำหนดเองโดยครั้งแรกได้รับ StatsdClient ปัจจุบันที่ใช้ statsd_client () วิธีการ หมายเหตุ statsd_client ที่ () กลับไม่มีในกรณีที่ลูกค้าไม่ได้รับการกำหนดค่า
ส่วนใหญ่ของวิธีการดังต่อไปนี้มีอัตราการตัวเลือกและพารามิเตอร์ buf พารามิเตอร์อัตราเมื่อตั้งค่าน้อยกว่า 1 สาเหตุ StatsdClient ที่จะส่งตัวอย่างแบบสุ่มของแพ็คเก็ตมากกว่าทุกแพ็คเก็ต หาก buf พารามิเตอร์เป็นรายการ StatsdClient ผนวกเนื้อหาแพ็คเก็ตในรายการ buf มากกว่าส่งแพ็คเก็ตที่ทำให้มันเป็นไปได้ที่จะส่งการปรับปรุงในหลายแพ็คเก็ตเดียว เก็บไว้ในใจว่าขนาดของแพ็กเก็ต UDP ถูก จำกัด (จำกัด แตกต่างกันไปโดยเครือข่าย แต่ 1000 ไบต์มักจะคาดเดาดี) และไบต์พิเศษใด ๆ จะได้รับการละเว้นอยู่เบื้องหลัง
ระยะเวลา (สถิติมูลค่าอัตรา = 1 buf = ไม่มี)
& nbsp; ข้อมูลเวลาการบันทึก สถิติเป็นชื่อของตัวชี้วัดในการบันทึกและความคุ้มค่าคือการวัดระยะเวลาในหน่วยมิลลิวินาที โปรดทราบว่า Statsd รักษาจุดข้อมูลหลายตัวชี้วัดที่ระยะเวลาแต่ละครั้งดังนั้นการวัดเวลาสามารถใช้พื้นที่ดิสก์มากกว่าเคาน์เตอร์หรือเกจ
มาตรวัด (สถิติค่าต่อท้าย = ไม่มีอัตรา = 1 buf = ไม่มี)
& nbsp; อัพเดตค่ามาตรวัด สถิติเป็นชื่อของตัวชี้วัดในการบันทึกและค่าเป็นค่าที่วัดใหม่ มาตรวัดแสดงให้เห็นถึงมูลค่าที่ถาวรเช่นขนาดสระว่ายน้ำ เพราะมาตรวัดจากเครื่องที่แตกต่างกันมักจะขัดแย้งต่อท้ายมักใช้กับวัดชื่อ ถ้าพารามิเตอร์ต่อท้ายเป็นสตริง (รวมถึงสตริงที่ว่างเปล่า) มันแทนที่ท้ายวัดค่าเริ่มต้น
incr (สถิตินับ = 1 อัตรา = 1 buf = ไม่มี)
& nbsp; เพิ่มเคาน์เตอร์โดยนับ โปรดทราบว่า Statsd ล้างค่านับทุกครั้งก็จะส่งตัวชี้วัดที่จะแกรไฟต์ซึ่งมักจะเกิดขึ้นทุก 10 วินาที ถ้าคุณต้องการค่าถาวรก็อาจจะเหมาะสมกว่าที่จะใช้มาตรวัดแทนของเคาน์เตอร์
Decr (สถิตินับ = 1 อัตรา = 1 buf = ไม่มี)
& nbsp; ปรับตัวลดลงนับโดยนับ
sendbuf (buf)
& nbsp; ส่งเนื้อหาของรายการ buf เพื่อ Statsd

มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:

  • เพิ่มพีระมิดตัวเลือก. ทวีและแอพพลิเคกรอง WSGI ที่คล้ายกันที่กำหนดขึ้นสำหรับลูกค้า Statsd แต่ละคำขอ.

มีอะไรใหม่ ในรุ่น 0.9.4:.

  • การเพิ่มประสิทธิภาพการใช้งานของอัตราการลดลงตัวอย่าง

มีอะไรใหม่ ในรุ่น 0.9.2:

  • เมตริกขณะนี้คุณสามารถใช้เป็นทั้งมัณฑนากรหรือ ผู้จัดการบริบท.
  • ทำลายเซ็นของ StatsdClient เพิ่มเติมเช่นเจมส์ Socol ของ StatsClient.

ต้องการ

  • หลาม

ซอฟต์แวร์ที่คล้ายกัน

ซอฟแวร์อื่น ๆ ของนักพัฒนา Shane Hathaway

Yasso
Yasso

14 Apr 15

oauth2sample
oauth2sample

14 Apr 15

repoze.pgtextindex
repoze.pgtextindex

20 Feb 15

ความคิดเห็นที่ perfmetrics

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!