くりにっき

フルスタックキュアエンジニアです

sentry-ravenを使ってるアプリは基本的にsentry-rubyに移行した方がよさそう

tl;dr;

経緯

正月休み中にRubyで趣味アプリを作っててSentryを導入しようとしたところ、いつもと違うセットアップ手順だったので気づきました。

詳しいこと

v3までがsentry-ravenでv4以降がsentry-rubyらしいです。

f:id:sue445:20210127203822p:plain

https://rubygems.org/gems/sentry-raven/versions

f:id:sue445:20210127203753p:plain

https://rubygems.org/gems/sentry-ruby/versions

先月上旬にはv4が出ていたらしい。

dependabotとかで自動bundle updateしてるだけだと絶対に気づかないやつ...

古いsentry-ravenについて

https://github.com/getsentry/sentry-ruby/tree/master/sentry-raven によると

Future Support: sentry-raven has entered maintenance mode, which means it won't receive any new feature supports or aggressive bug fixes.

とのことなので移行した方がよさそうです

新しいsentry-rubyについて

github.com

移行方法は https://docs.sentry.io/platforms/ruby/migration を参照。

注意点

社だとSaaS版ではなくオンプレミス版のSentryを自前でホスティングして運用してるのですが、社で使っているSentryのバージョンが古くてsentry-rubyが動かなくてハマりました。

詳しくは下記のissueを参照

github.com

https://github.com/getsentry/sentry-ruby/issues/1185#issuecomment-755441492 によると

in the new SDK we've switched the reporting endpoint from /store to /envelope, which requires 20.6.0 and above version if you use the on-premise installation.

とのこと。

余談:投げたパッチ一覧

同じgemでメジャーバージョンが上がったら気づくけどgemの名前が変わるとさすがに移行に気づかないので、gem install 後にdeprecation messageを出すPRを投げました。

github.com

【追記】マージされて3.1.2に入りました。

https://github.com/getsentry/sentry-ruby/blob/master/sentry-raven/CHANGELOG.md#312

あとついでに rake build がコケる問題もついでに直してPR投げました。

github.com

上記パッチは2つともマージはされているんだけど、deprecatedなgemなのでいつリリースされるかは不明です

あとsentry-rubyの方も使ってて気になった箇所があったのでPR投げました。

github.com

こっちは4.1.5のマイルストーンに入ってるので順調に行けば次バージョンに入るかなと思ってます

マージされて4.1.5に入りました。

https://github.com/getsentry/sentry-ruby/blob/master/sentry-ruby/CHANGELOG.md#415