Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Ruby

AppSignal nâng cấp Ruby Monitoring với hỗ trợ Long-Running Streaming Rack Response

Chúng tôi rất vui mừng thông báo AppSignal hiện cung cấp monitoring cải tiến cho long-running streaming Rack responses. Monitoring Rack response cải tiến này có nghĩa là bạn có thể có deep visibility vào sức khỏe của long-running responses trong ứng dụng Ruby, cho phép bắt lỗi có thể nảy sinh sau vài phút thậm chí vài giờ sau khi response body được served.

Layer observability mới này xuất phát từ một đóng góp giá trị của Julik Tarkhanov, Director of Engineering tại Cheddar Payments. Công việc của ông đã cho phép chúng tôi monitor long-running responses trong Ruby gem, nâng cao hỗ trợ cho real-time performance monitoring.

Trong bài viết này, chúng tôi sẽ giải thích ý nghĩa của bổ sung này khi monitor Ruby apps và thảo luận cách approach open-source của chúng tôi thúc đẩy collaboration với clients để cung cấp insights actionable, high-impact.

Tại sao cần Monitor Long-Running Rack Responses?

Thông thường, khi monitor Rack responses, AppSignal có thể trace thời gian render response body:

AppSignal nâng cấp Ruby Monitoring với hỗ trợ Long-Running Streaming Rack Response

Tuy nhiên, AppSignal trước đây không thể monitor long-running responses, như khi download file lớn. Điều này có nghĩa là không thể biết response mất bao lâu để render hoặc có exception nào xảy ra trong khi render.

Mặc dù issue này niche và không khả năng áp dụng cho nhiều trải nghiệm response monitoring của khách hàng, nhưng nó là vấn đề cho Cheddar Payments. Đối với use case của họ, inability monitor long-running responses đặt ra thách thức trong tracking performance và chẩn đoán potential failures trong lengthy processes.

Tại Cheddar Payments, chúng tôi có download cho key reports được delivered theo streaming fashion bên trong zip files từ Rails. Tôi nhận ra việc serve các reports này bị loại khỏi AppSignal monitoring — vì AppSignal tracing sẽ dừng khi phần "chính" của HTTP interaction trong app kết thúc. Tracing các responses này là then chốt vì có errors trong việc generate reports đó, mà chúng tôi không thấy trong AppSignal.

Julik Tarkhanov, Director of Engineering tại Cheddar Payments

Giải pháp driven-by-contribution cho Monitoring Long-Running Rack Responses

Nhờ kinh nghiệm với long-running responses trong Rack từ thời tại WeTransfer, Julik quyết định contribute vào Ruby gem của chúng tôi, implement giải pháp monitor long-running responses.

Chúng tôi đã có APM (AppSignal), có một số functionality có thể implement dễ dàng, tại sao không làm?

Thay vì tìm alternative, initial pull request của Julik giới thiệu cách monitor long-running Rack responses trong traces của AppSignal. Nhờ công sức của Tom từ AppSignal Integrations Team, chúng tôi fully implemented giải pháp trong PR #1140 và release trong version 3.10 của Ruby gem, giải quyết edge cases và cải thiện reliability.

Giải pháp của Julik cho phép team của ông tiếp tục dùng AppSignal cho monitoring, giải quyết nhu cầu track longer-running responses mà không cần implement hoặc chuyển sang alternative tooling.

AppSignal giờ có thể capture duration của long-running responses và notify customers nếu issue nảy sinh tại bất kỳ điểm nào trong quá trình render response, cung cấp cho customers extra layer observability.

AppSignal nâng cấp Ruby Monitoring với hỗ trợ Long-Running Streaming Rack Response

Tại sao chúng tôi giá trị Open-Source Contributions

Tại AppSignal, chúng tôi luôn giá trị customer feedback và feature requests. Mặc dù không phải request nào cũng làm được production, chúng tôi mở để explore needs của customers.

Khi xác định need có thể benefit mọi người, chúng tôi cố gắng xem có thể turn thành working solution không. Giống nhiều người trong Rails community, chúng tôi tin vào sức mạnh của open-source collaboration, giúp chúng tôi stay agile và responsive với needs phát triển của customers.

Là một team nhỏ, bootstrapped, chúng tôi không thể implement mọi feature trên wishlist của mọi client. Đó là nơi contributions vào gem của chúng tôi đóng vai trò: chúng cho phép mở rộng capabilities của product và address important features nhanh hơn, với sự giúp đỡ của community.

Open-source approach của chúng tôi là aim to do as much as possible in integrations out in the open. Chúng tôi yêu thấy contributions từ community và luôn welcome ideas và improvements.

Thijs Cadier, CTO của AppSignal

Tại AppSignal, chúng tôi đặt customers ở trung tâm mọi thứ, luôn cố gắng deliver best possible experience và tools giúp bạn monitor và optimize ứng dụng. Đó là lý do customers yêu thích:

  • Free expert support
  • Transparent pricing
  • Flexible upgrade policy
  • Easy-to-use interface

Vẫn chưa tin? Đây là lời Julik nói:

AppSignal là sản phẩm excellent, và thử nó không phải commitment lớn về tooling. Với sự xuất hiện của OpenTelemetry, nó chỉ sẽ tốt hơn.

Với installation wizard, bạn có thể start free trial và chạy AppSignal trong thời gian ngắn hơn uống ly cà phê. À, có nhắc chúng tôi gửi stroopwafels (theo yêu cầu) cho khách hàng mới không?

Có câu hỏi hoặc muốn tìm hiểu thêm AppSignal giúp gì cho metrics của app? Thoải mái drop us a line, chúng tôi luôn sẵn sàng giúp đỡ!

AppSignal nâng cấp Ruby Monitoring với hỗ trợ Long-Running Streaming Rack Response

Connor James

Developer Marketing Manager tại AppSignal. Podcast addict yêu cannoli đến mức cân nhắc đổi tên thành Connoli. Anh nghĩ có chữ `u` trong color. Bạn có thể tìm anh trên mic, trên stage, hoặc nằm trên sofa khi off duty.

Tất cả bài viết của Connor James