Yappli Tech Blog

株式会社ヤプリの開発メンバーによるブログです。最新の技術情報からチーム・働き方に関するテーマまで、日々の熱い想いを持って発信していきます。

iOSアプリにNewRelic導入の際の気付きと現在の運用について

こんにちは、iOSチームに所属しています加藤です。

iOSチームでは今年の夏からNewRelicの導入を始めました🎉
私自身はNewRelicを利用すること自体も初めてで何ができるの?状態でしたが、 今年のiOSDC2023でTVer様がNewRelicの導入ついて発表をされているのを見てからオブザーバビリティの重要性を知り、とてもNewRelicに興味を持ちました。
※iOSDC2023に関してはこちらで少し書かせて頂きました🙇‍♂️
また、私は問い合わせチームにも所属しているのですが、ユーザ側で発生しているのに開発者側では再現しないケースの対応がとても時間がかかってしまうことも多いです。NewRelicを導入することにより再現箇所の特定や問い合わせ前にアプローチをできるなど嬉しいことばかりです。
まだまだ使いこなせてはいない現状ではありますが、 今回は、導入の際のつまづいた点や現在の運用について書いていきたいと思います。

NewRelicを導入後クラッシュ箇所がわからない

NewRelicを導入後、よしクラッシュした箇所を見てみようと思った所下記のようにクラッシュ箇所がわからない状態で表示されていました🙃
こちらはdSYMが上手くアップロードができていないためこのような結果になっているようです。
ただ導入時に書かれている通りにスクリプトを書いていたのですが、上手く動かていないようでした🤔 弊社では、複数のアプリを運用している兼ね合いでBitriseを用いた自動化でアプリ生成を行なっています。 どこが原因かまではわかっていないのですが、自動化の処理の中で上手く動いていないかもしれません。 また、社内でテストなどアプリを配布することが多いためdSYMを上げる必要アップロード方法を変えることにしました。
Bitriseでアプリ生成を行う時に特定の条件の時だけコマンドラインで上げるようにしました。
こちら導入後はクラッシュ箇所が正しく表示されることを確認しております🙌

毎朝Zapierを利用して自動通知を行う

ただ導入しただけでは意味がありません。
毎朝、特定の条件で抽出したものをSlackに通知するようにしています。 条件の抽出にはAPIを利用して抽出しています。( InsightsクエリAPI NerdGraphI) また、jiraとの連携もできているため 検知済みの不具合かどうかチェックをし、新規であれば改善のチケットを作成し対応を進める形となっています。

まとめ

見て頂いた通り、それだけかよと思われたかと思いますが 開発側で発生できなかった不具合の場所の特定や直近で起こっている不具合をチームとして把握できるなどメリットがとても増えています。
今後の取り組みとしましては、Errors InboxからSlackへエラー内容を送信しているのですが、そこの整理をし重要アラートを気付けるようにしたいと考えています。 今後もNewRelicを利用した取り組みを増やしながら、オブザーバビリティを高めていきアプリの品質向上を進めていきたいと考えております🙇‍♂️

こちらは、ヤプリ Advent Calendar 2023New Relic Advent Calendar 2023 の両方に参加させて頂いております🙇‍♂️