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

Giới thiệu AppSignal Ruby Gem 3.0 – Instrumentation & Compatibility Nâng cao

Chúng tôi rất hạnh phúc trình bày cho bạn phiên bản 3.0 của AppSignal cho Ruby - một major release mới cho Ruby gem. 🎉

Chúng tôi đã thay đổi cách instrument app và gem để cung cấp compatibility tốt hơn với instrumentation gem khác. Hỗ trợ Ruby version 1.9 đã bị loại bỏ và các class, module, method, và instrumentation deprecated cũng đã bị loại bỏ.

Đọc upgrade guide của chúng tôi!

Trong phần còn lại của bài, chúng tôi sẽ giải thích phiên bản gem mới mang lại gì cho bạn và app của bạn. Cùng đi nào!

Loại bỏ Hỗ trợ Ruby 1.9

Ruby 1.9 End of Life từ 23 tháng 2 năm 2015, và dù AppSignal Ruby gem đã cố gắng hỗ trợ nó, giờ đã đến lúc nói lời tạm biệt.

Trong release này, chúng tôi đã thay đổi cách instrument app và gem. Phương pháp instrumentation này được giới thiệu trong Ruby 2.0, nghĩa là bắt đầu release này Ruby 2.0 hoặc mới hơn là bắt buộc cho app dùng AppSignal gem. Hãy upgrade app lên Ruby version mới hơn, nếu có thể.

Sidekiq Error Reporting

Sidekiq error reporting đầy đủ hơn. Chúng tôi đã include Sidekiq error handler report lỗi không chỉ từ job chạy bởi Sidekiq, mà còn lỗi xảy ra trong chính Sidekiq. Ví dụ, khi Sidekiq đọc job JSON từ Redis và nó bị corrupt, nó sẽ report lỗi cho lỗi đó. Cách này bạn biết tại sao job đó không thể executed.

Compatibility với Thư viện Instrumentation Khác

Trong series 3.x, AppSignal for Ruby gem đã thay đổi internal method dùng để instrument app và gem khác. Điều này nên cải thiện compatibility với gem khác dùng cùng instrumentation method. Phương pháp instrumentation trước đó incompatible với method mới và sẽ gây app bị mắc kẹt trong loop, gây SystemStackError.

Hệ sinh thái Ruby dường như đang di chuyển về method instrumentation mới này nên AppSignal gem đã update instrumentation method để compatible hơn với gem khác.

Nếu app bắt đầu gặp issue này sau upgrade, hãy upgrade bất kỳ APM và error reporting gem khác trong app. Phiên bản mới hơn có thể cũng đã update để instrument dùng method instrumentation mới. Nếu issue vẫn tiếp diễn, hãy contact chúng tôi.

Để biết thêm thông tin kỹ thuật và background của thay đổi này, xem upgrade guide về compatibility với gem khác.

Loại bỏ Feature Deprecated Trước Đây

Trong suốt các release 2.x series của Ruby gem, chúng tôi đã thay đổi một vài thứ trong codebase gem. Chúng tôi luôn đảm bảo method cũ vẫn hoạt động qua fallback để không gì bị vỡ giữa các upgrade. Bất cứ khi nào có thay đổi, Ruby gem in và log warning với bước cần làm để resolve warning.

Trong major release này, chúng tôi đã loại bỏ fallback này để cải thiện maintainability của Ruby gem. Điều này có nghĩa là một số thứ có thể bị vỡ với release này. Vui lòng xem upgrade guide cho cách tốt nhất upgrade để AppSignal Ruby gem có thể cảnh báo bạn trước về thay đổi bạn cần làm trước khi upgrade lên version 3.0 của Ruby gem.

Một số thứ app dùng AppSignal for Ruby có thể đang dùng đã bị loại bỏ:

  • Loại bỏ JavaScript integration, chúng tôi đã loại bỏ built-in JavaScript integration route traffic qua app để report lỗi. Chúng tôi khuyên bạn dùng dedicated AppSignal for Front-end JavaScript integration. Xem upgrade guide cho chi tiết JavaScript integration.
  • Loại bỏ command appsignal notify_of_deploy. Thay vào đó chúng tôi khuyên dùng config option revision để report deploy chính xác hơn. Xem upgrade guide cho command notify_of_deploy bị loại bỏ.

Thay đổi trong 2.x Series

Ruby gem 3.0 release này được xây dựng trên nhiều release nhỏ hơn trong 2.x series. Một số thay đổi đáng chú ý cũng include trong release này:

  • Hỗ trợ Ruby 3.0 (ngôn ngữ bản thân 😉)
  • Breadcrumb support, track hành động user qua app. Xem user làm những bước gì để raise error.
  • ActionMailer magic dashboard, visualize mail delivery từ app.
  • Sidekiq error và performance reporting chính xác hơn bao gồm Sidekiq middleware khác.
  • Cải thiện ActiveSupport::Notifications support, Shoryuken batch support, và fix nhỏ khác.

Cách Upgrade lên AppSignal for Ruby Gem 3.0

Để giúp upgrade major release này, chúng tôi đã viết upgrade guide bạn có thể follow trong docs. Thoải mái cho chúng tôi biết nếu bạn gặp vấn đề. Trong guide, chúng tôi mô tả bước cần thiết upgrade Ruby gem, điều cần chú ý, và danh sách toàn diện thay đổi có thể ảnh hưởng app của bạn.

Thử AppSignal - APM kèm Stroopwafel 🍪

Nếu bạn chưa thử AppSignal giám sát Ruby/Rails app, hãy dành 5 phút check it out. Có 30 ngày trial, không cần credit card.

Vì chúng tôi là công ty Hà Lan, chúng tôi cũng ship stroopwafel (bánh quy Hà Lan ngon điên) toàn cầu cho user. Tất cả bạn cần làm để nhận hộp là reach out đến support 📧➡️😋