ข้อมูลเชิงลึกลึกขึ้นด้วย Custom Metrics
ด้วย AppSignal gem คุณใช้ custom instrumentation ได้แล้วเพื่อรายละเอียดประสิทธิภาพแอปพลิเคชันมากขึ้น แต่บางครั้งคุณอยากติดตามเมตริกอื่นๆ ด้วย
ด้วยการปล่อย 1.0 ของ gem เราคุณสามารถส่ง custom metrics ไป AppSignal เมตริกเหล่านี้ช่วยให้คุณติดตามอะไรก็ได้ในแอปพลิเคชัน จากบัญชีใหม่ไปจนถึงการใช้งานดิสก์ฐานข้อมูล ไม่ใช่การแทนที่ code instrumentation แต่วิธีเพิ่มเติมเพื่อทำให้ข้อมูลบางอย่างในโค้ดเข้าถึงง่ายและวัดได้ตลอดเวลา
เราเสนอ 3 ประเภทของเมตริก:
| Gauge | ตัวเลขที่คุณสามารถเขียนทับได้ เหมาะสำหรับจัดเก็บอย่าง user count |
|---|---|
| Counter | ตัวเลขที่เพิ่มขึ้นได้ตามค่าที่กำหนด เหมาะสำหรับนับจำนวนครั้งที่ process รัน |
| Distribution | ชุดตัวเลขที่เราจัดเก็บค่าเฉลี่ยและจำนวน เหมาะสำหรับติดตามยอดขายเฉลี่ย |
AppSignal gem มีเมธอ็ดสำหรับแต่ละประเภทเมตริก คุณสามารถใช้เมธอ็ดเหล่านี้ส่งข้อมูลไประบบของเรา
Gauge
Gauge เหมาะสำหรับเมตริกที่อาจเพิ่มหรือลดลง เราใช้ gauge ใน AppSignal เพื่อกราฟจำนวนบัญชีที่ active
count = Account.active.count Appsignal.set_gauge('account_count', count)Counter
ตามชื่อ Counters เป็นวิธีดีในการติดตามว่าสิ่งใดเกิดขึ้นกี่ครั้ง Workers ของเราประมวลผล payload ที่มีหลาย data points หมายความว่า job count ไม่แสดงปริมาณข้อมูลที่เราประมวลผลอย่างถูกต้อง ด้วย counter เรา increment สำหรับแต่ละ data point ที่ประมวลผล
minute.metrics.each do |metric| Appsignal.increment_counter('metric_count', metric.length) endDistribution
เราใช้ distributions วัดเวลาเฉลี่ยที่ชิ้นโค้ดใช้ในการรัน ตัวอย่าง job อาจรัน map/reduce jobs หลายอย่าง และแม้เราจะติดตาม duration ด้วย instrumentation เรายังอยากเห็นระยะเวลาเฉลี่ยสำหรับแต่ละ job ในกราฟที่สวยงาม
Appsignal.add_distribution_value('mapreduce_duration', MapReduce::Minutely.new.run.time)การเปลี่ยนเมตริกเป็นกราฟ
การส่งเมตริกไป AppSignal เป็นแค่ครึ่งหนึ่งของเรื่อง หลังส่งข้อมูล เราต้องสร้างกราฟแสดงเมตริก เราทำใน editor บนหน้า "custom metrics"
ฟีเจอร์ custom metrics ของเราให้คุณสร้างหลายหน้าจอพร้อมกราฟ คุณสามารถกำหนดหน้าจอและกราฟบนหน้าจอเหล่านั้นผ่าน YAML format
ตัวอย่าง เพื่อสร้างหน้าจอพร้อมกราฟเกี่ยวกับบัญชี แสดงกราฟจำนวนบัญชี คุณสามารถใช้ YAML นี้:
- title: Account overview graphs: - title: "Number of accounts" kind: gauge format: number fields: - account_countสิ่งนี้จะทำให้ได้หน้าตาแบบนี้:
แทนที่จะเป็นรายการ fields คุณสามารถให้ regex ที่จับคู่ metric names หนึ่งหรือหลายตัวได้ ตัวอย่างด้านล่างแสดงกราฟพร้อมเส้นสำหรับแต่ละ API response code สำหรับ 3rd party API
- title: API Responses graphs: - title: "API response codes" kind: count filter: "api_response_code_[0-9]+" format: numberนี่เพียงบางส่วนของเมตริกที่มีประโยชน์มากที่คุณติดตามได้กับ AppSignal ตอนนี้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ custom metrics ดูเอกสารของเราหรือติดต่อเราถ้าต้องการช่วยตั้งค่าให้บัญชีของคุณ