Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

AppSignal ปรับปรุง Ruby Monitoring ด้วยการสนับสนุนการตอบสนองของ Streaming Rack ที่ทำงานยาวนาน

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

ความสามารถในการสังเกตชั้นใหม่นี้เป็นผลมาจากการสนับสนุนอันมีค่าของ Julik Tarkhanov ผู้อำนวยการฝ่ายวิศวกรรมของ Cheddar Payments งานของเขาช่วยให้เราตรวจสอบการตอบสนองในระยะยาวภายใน Ruby gem ของเราได้ ซึ่งช่วยเพิ่มการสนับสนุนในการตรวจสอบประสิทธิภาพแบบเรียลไทม์

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

เหตุใดจึงตรวจสอบการตอบสนองของแร็คที่ทำงานระยะยาว

โดยทั่วไป เมื่อตรวจสอบการตอบสนองของแร็ค AppSignal สามารถติดตามเวลาที่ใช้ในการเรนเดอร์เนื้อหาการตอบสนอง:

AppSignal ปรับปรุง Ruby Monitoring ด้วยการสนับสนุนการตอบสนองของ Streaming Rack ที่ทำงานยาวนาน

อย่างไรก็ตาม AppSignal เคยไม่สามารถตรวจสอบการตอบสนองที่ใช้เวลานาน เช่น เมื่อดาวน์โหลดไฟล์ขนาดใหญ่ ซึ่งหมายความว่าไม่สามารถทราบได้ว่าการตอบสนองใช้เวลานานเท่าใดในการแสดงผล หรือมีข้อยกเว้นใดๆ เกิดขึ้นในขณะที่กำลังแสดงผลหรือไม่

แม้ว่าปัญหานี้จะเป็นเพียงปัญหาเฉพาะและไม่น่าจะนำไปใช้กับประสบการณ์ของลูกค้าจำนวนมากในการติดตามการตอบสนอง แต่ก็เป็นปัญหาสำหรับ Cheddar Payments สำหรับกรณีการใช้งาน การไม่สามารถติดตามการตอบสนองในระยะยาวทำให้เกิดความท้าทายในการติดตามประสิทธิภาพและการวินิจฉัยความล้มเหลวที่อาจเกิดขึ้นในระหว่างกระบวนการที่ใช้เวลานาน

ที่ Cheddar Payments เรามีการดาวน์โหลดรายงานสำคัญที่จัดส่งในรูปแบบสตรีมมิ่งภายในไฟล์ zip จาก Rails ฉันสังเกตเห็นว่าการให้บริการรายงานเหล่านี้ถูกแยกออกจากการตรวจสอบ AppSignal เนื่องจากการติดตาม AppSignal จะหยุดลงเมื่อส่วน "หลัก" ของการโต้ตอบ HTTP ในแอปเสร็จสิ้น การติดตามการตอบสนองเหล่านี้เป็นสิ่งสำคัญเนื่องจากมีข้อผิดพลาดในการสร้างรายงานเหล่านั้น ซึ่งเราไม่สามารถเห็นได้ใน AppSignal

Julik Tarkhanov ผู้อำนวยการฝ่ายวิศวกรรมของ Cheddar Payments

โซลูชันที่ขับเคลื่อนด้วยการมีส่วนร่วมสำหรับการตรวจสอบการตอบสนองของแร็คที่ทำงานระยะยาว

เนื่องจากประสบการณ์ของเขากับการตอบกลับมายาวนานใน Rack นับตั้งแต่สมัยที่เขาทำงานกับ WeTransfer Julik จึงตัดสินใจสนับสนุน Ruby gem ของเรา โดยใช้โซลูชันเพื่อติดตามการตอบกลับในระยะยาว

เรามี APM (AppSignal) อยู่แล้ว และมีฟังก์ชันบางอย่างที่สามารถนำมาใช้งานได้อย่างง่ายดาย แล้วทำไมจะไม่ทำล่ะ

แทนที่จะสำรวจทางเลือกอื่น คำขอดึงเริ่มต้นของ Julik ได้แนะนำวิธีการตรวจสอบการตอบสนองของ Rack ที่รันระยะยาวภายในการติดตามของ AppSignal ขอขอบคุณการทำงานหนักของ Tom จากทีม AppSignal Integrations เราจึงนำโซลูชันไปใช้อย่างเต็มที่ใน PR #1140 และเผยแพร่ในเวอร์ชัน 3.10 ของ Ruby gem ของเรา เพื่อจัดการกับกรณี Edge และปรับปรุงความน่าเชื่อถือ

โซลูชันของ Julik ช่วยให้ทีมของเขาสามารถใช้ AppSignal ในการตรวจสอบต่อไป โดยตอบสนองความต้องการในการติดตามการตอบสนองที่ใช้เวลานานโดยไม่ต้องปรับใช้หรือเปลี่ยนไปใช้เครื่องมืออื่น

ขณะนี้ AppSignal สามารถบันทึกระยะเวลาของการตอบสนองในระยะยาว และแจ้งให้ลูกค้าทราบหากเกิดปัญหาขึ้น ณ จุดใดก็ได้ระหว่างการแสดงการตอบสนอง ทำให้ลูกค้าของเราสามารถสังเกตได้มากขึ้น

AppSignal ปรับปรุง Ruby Monitoring ด้วยการสนับสนุนการตอบสนองของ Streaming Rack ที่ทำงานยาวนาน

เหตุใดเราจึงให้ความสำคัญกับการมีส่วนร่วมแบบโอเพ่นซอร์ส

ที่ AppSignal เราให้ความสำคัญกับคำติชมของลูกค้าและคำขอคุณสมบัติเสมอ แม้ว่าคำขอทั้งหมดจะไม่สามารถดำเนินการได้จริง แต่เราเปิดกว้างสำหรับการสำรวจความต้องการของลูกค้า

เมื่อเราระบุความต้องการที่จะเป็นประโยชน์ต่อทุกคน เราจะพยายามอย่างเต็มที่เพื่อดูว่าเราสามารถเปลี่ยนให้เป็นโซลูชันที่ใช้งานได้หรือไม่ เช่นเดียวกับหลายๆ คนในชุมชน Rails เราเชื่อในพลังของการทำงานร่วมกันแบบโอเพ่นซอร์ส ซึ่งช่วยให้เรามีความคล่องตัวและตอบสนองต่อความต้องการที่เปลี่ยนแปลงตลอดเวลาของลูกค้า

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

แนวทางโอเพ่นซอร์สของเราคือเราตั้งเป้าที่จะทำการรวมระบบแบบเปิดให้มากที่สุดเท่าที่จะเป็นไปได้ เราชอบที่จะเห็นการมีส่วนร่วมจากชุมชนและยินดีรับแนวคิดและการปรับปรุงอยู่เสมอ

Thijs Cadier, CTO ของ AppSignal

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

  • การสนับสนุนจากผู้เชี่ยวชาญฟรี
  • การกำหนดราคาที่โปร่งใส
  • นโยบายการอัปเกรดที่ยืดหยุ่น
  • อินเทอร์เฟซที่ใช้งานง่าย

ยังไม่มั่นใจ? นี่คือสิ่งที่ Julik พูด:

AppSignal เป็นผลิตภัณฑ์ที่ยอดเยี่ยม และการลองใช้ก็ไม่ใช่ข้อผูกมัดในแง่ของเครื่องมือมากนัก และเมื่อเริ่มต้นของ OpenTelemetry มันก็จะดีขึ้นเท่านั้น

ด้วยวิซาร์ดการติดตั้งของเรา คุณสามารถเริ่มการทดลองใช้ฟรีและเปิดใช้งาน AppSignal ได้ในเวลาน้อยกว่าการดื่มกาแฟ โอ้ แล้วเราเคยบอกไปแล้วหรือยังว่าเราส่งสโตรปวาฟเฟิล (ตามคำขอ) ให้กับลูกค้าใหม่

มีคำถามหรือต้องการเรียนรู้เพิ่มเติมว่า AppSignal สามารถช่วยให้คุณใช้เมตริกของแอปให้เกิดประโยชน์สูงสุดได้อย่างไร อย่าลังเลที่จะติดต่อเรา เรายินดีให้ความช่วยเหลือเสมอ!

AppSignal ปรับปรุง Ruby Monitoring ด้วยการสนับสนุนการตอบสนองของ Streaming Rack ที่ทำงานยาวนาน

คอนเนอร์ เจมส์

ผู้จัดการฝ่ายการตลาดนักพัฒนาซอฟต์แวร์ที่ AppSignal ผู้ติดพอดแคสต์ที่ชื่นชอบ Cannoli มากจนกำลังพิจารณาเปลี่ยนชื่อเป็น Connoli เขาคิดว่ามีตัว 'u' อยู่ในสี คุณอาจพบเขาหน้าไมค์ บนเวที หรือนอนอยู่บนโซฟาเมื่อเขาเลิกงาน

บทความทั้งหมดโดย Connor James