Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

AppSignal for Ruby Gem 3.0を発表!主な新機能と変更点を徹底解説

このたび、Ruby向けAPMツール「AppSignal」のメジャーバージョンアップとなるRuby gem 3.0をリリースしました。🎉

本バージョンでは、アプリやgemの計測(インストゥルメンテーション)方式を見直し、他の計測用gemとの互換性を大幅に向上させました。また、Ruby 1.9のサポート終了に加え、非推奨となっていたクラス、モジュール、メソッド、計測機能も削除されています。

詳細はアップグレードガイドをご覧ください。

本記事では、新しいgemがあなたのアプリにもたらす変更点について詳しく解説します。それでは見ていきましょう!

Ruby 1.9のサポートを終了

Ruby 1.9は2015年2月23日にEOL(End of Life)を迎えており、AppSignal Ruby gemでは可能な限りサポートを継続してきましたが、ついにお別れの時が来ました。

本リリースでは、アプリやgemの計測方法を変更しました。この新しい計測方式はRuby 2.0で導入されたものであるため、今後AppSignal gemを使用するにはRuby 2.0以降が必要になります。可能であれば、アプリを新しいRubyバージョンへアップグレードすることをおすすめします。

Sidekiqエラーレポーティングの強化

Sidekiqのエラーレポーティングがより完全なものになりました。ジョブ実行時のエラーだけでなく、Sidekiq自体で発生したエラーも検知してレポートするSidekiqエラーハンドラーを組み込んでいます。

例えば、Redisから読み込んだジョブのJSONが破損している場合、そのエラーがレポートされます。これにより、ジョブが実行できなかった理由を把握できるようになりました。

他のインストゥルメンテーションライブラリとの互換性向上

3.xシリーズでは、アプリやgemを計測するための内部メソッドを変更しました。これにより、同じ計測方式を採用する他のgemとの互換性が向上しています。

従来の計測方式は新しい方式と互換性がなく、アプリが無限ループに陥りSystemStackErrorが発生する原因となることがありました。Rubyエコシステム全体がこの新しい計測方式へ移行しつつあるため、AppSignal gemもそれに合わせて計測方式を更新しました。

アップグレード後にこの問題が発生した場合は、アプリ内の他のAPMツールやエラーレポーティングgemも最新版にアップグレードしてください。新しいバージョンでは、同様に新しい計測方式へ対応している可能性があります。それでも問題が解決しない場合は、お気軽にサポートまでご連絡ください。

この変更に関する技術的な詳細については、他のgemとの互換性に関するアップグレードガイドをご参照ください。

非推奨機能の削除

2.xシリーズのリリースを通じて、gemのコードベースにはいくつかの変更が加えられてきました。アップグレード時に何も壊れないよう、フォールバック機構によって旧メソッドの動作を維持し、変更があった際には警告メッセージと対処手順を出力・ログ記録してきました。

本メジャーリリースでは、gemの保守性向上のため、これらのフォールバックを削除しました。そのため、一部の機能が動作しなくなる可能性があります。3.0へのアップグレード前に必要な変更点を事前に確認できるよう、必ずアップグレードガイドをご一読ください。

これまでAppSignal for Rubyを使用していたアプリで利用されていた可能性があり、今回削除された主な機能は以下の通りです。

  • JavaScript統合の削除: アプリ経由でトラフィックをルーティングしてエラーをレポートする組み込みJavaScript統合を廃止しました。代わりに、専用の「AppSignal for Front-end JavaScript」統合のご利用をおすすめします。詳細はアップグレードガイドをご覧ください。
  • appsignal notify_of_deployコマンドの削除: 代わりにrevision設定オプションを使用することで、より正確にデプロイ情報をレポートできます。詳細はアップグレードガイドをご参照ください。

2.xシリーズからの主な変更点

本Ruby gem 3.0は、2.xシリーズでの数多くの小規模リリースの積み重ねの上に構築されています。本リリースに含まれる注目すべき変更点は以下の通りです。

  • Ruby 3.0(言語本体の方です😉)のサポート
  • パンくず(Breadcrumb)機能:ユーザーの操作履歴を追跡し、エラー発生までにユーザーがどのような手順を踏んだかを可視化
  • ActionMailerマジックダッシュボード:アプリからのメール配信状況を視覚的に表示
  • 他のSidekiqミドルウェアを含む、より正確なSidekiqエラーおよびパフォーマンスレポート
  • ActiveSupport::Notificationsサポートの改善、Shoryukenバッチ対応、その他多数の細かな修正

AppSignal for Ruby Gem 3.0へのアップグレード方法

このメジャーリリースへのアップグレードをスムーズに行えるよう、ドキュメントにアップグレードガイドを用意しています。問題が発生した場合は、遠慮なくお知らせください。

ガイドでは、gemのアップグレードに必要な手順、注意すべきポイント、アプリに影響を与える可能性のある変更点の包括的なリストを紹介しています。

ストロープワッフル付きAPM「AppSignal」を試してみよう 🍪

まだRuby/Railsアプリの監視にAppSignalを試したことがない方は、ぜひ5分だけ体験してみてください。30日間の無料トライアルを実施中で、クレジットカードの登録は不要です。

私たちはオランダの企業なので、なんとユーザーの皆様に世界中へストロープワッフル(絶品オランダ菓子)をお送りしています。ボックスを受け取るには、サポートまでご連絡いただくだけです📧➡️😋

  1. Atomエディター徹底活用ガイド:Ruby開発者必見のプラグイン・ショートカット・スニペット

    Ruby開発にAtomエディターを使っているなら、生産性を高めるプラグイン(Atomでは「パッケージ」と呼ばれます)の存在をご存じかもしれません。 しかし、Atomのパッケージリポジトリには数千ものパッケージが公開されており、どれを選べばよいのか迷ってしまうことも多いはずです。 結局、どれを使えばいいのでしょうか? さらに言えば、作業スピードを上げるために覚えておきたいキーボードショートカットにはどんなものがあるのでしょうか? この記事では、AtomユーザーのRuby開発者が知っておくべき厳選パッケージ、便利なショートカット、スニペット活用術を詳しく解説します。 おすすめのAtomパッケージ

  2. Rubyで学ぶNLP:Nグラム分析の楽しさと実践

    大量のテキストデータが手元にあり、そこから何らかの意味を抽出したい——そんな場面に遭遇したことはありませんか? そんなときにまず試したいのが、テキストをNグラム(n-gram)に分割するという手法です。 Nグラムとは何か? Wikipediaには次のように定義されています。 計算言語学および確率論の分野において、n-gramとは与えられたテキスト列から取り出した、n個の連続した要素からなる列のことである。—— Wikipedia 具体例を見てみましょう。 Hello there, how are you? というフレーズを例にとると、ユニグラム(1要素のNグラム)は Hello, there,