Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Change Tracking でデプロイを記録してパフォーマンスへの影響を分析しやすくしよう
Search
TVer Inc.
PRO
May 13, 2024
Technology
1
240
Change Tracking でデプロイを記録してパフォーマンスへの影響を分析しやすくしよう
TVer Inc.
PRO
May 13, 2024
Tweet
Share
More Decks by TVer Inc.
See All by TVer Inc.
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
950
20240710_HR SUCCESS SUMMIT 2024_テーマセッション「エンジニア採用2.0」登壇資料(株式会社TVer_香坂)
techtver
PRO
0
71
採用応募者の個人情報保護の取扱いについて_株式会社TVer
techtver
PRO
0
470
月間4.5億回再生を超える大規模サービス TVer iOSアプリのリアーキテクチャ戦略 - iOSDC2024
techtver
PRO
1
11k
成長し続けるTVerサービスを支える オブザーバビリティとカスタマーサポート
techtver
PRO
5
5.6k
採用人事の立場で行う採用広報・技術広報の裏側 〜TVerがエンジニア採用を本格化するために継続し続けたこと〜
techtver
PRO
2
730
株式会社TVer 会社紹介資料
techtver
PRO
9
86k
採用人事の立場から、採用広報の立ち上げや技術広報の促進をしている話
techtver
PRO
0
1.2k
バックエンドで頑張るSEO/OGP対策
techtver
PRO
0
2.1k
Other Decks in Technology
See All in Technology
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
370
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
1
200
Telemetry APIから学ぶGoogle Cloud ObservabilityとOpenTelemetryの現在 / getting-started-telemetry-api-with-google-cloud
k6s4i53rx
0
150
テストを実行してSorbetのsigを書こう!
sansantech
PRO
1
100
PL/pgSQLの基本と使い所
tameguro
1
110
LTに影響を受けてテンプレリポジトリを作った話
hol1kgmg
0
370
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
2.6k
Amazon GuardDuty での脅威検出:脅威検出の実例から学ぶ
kintotechdev
0
110
僕たちが「開発しやすさ」を求め 模索し続けたアーキテクチャ #アーキテクチャ勉強会_findy
bengo4com
0
2.4k
Serverless Meetup #21
yoshidashingo
1
130
生成AI導入の効果を最大化する データ活用戦略
ham0215
0
160
Lambda management with ecspresso and Terraform
ijin
2
160
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Done Done
chrislema
185
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Code Review Best Practice
trishagee
69
19k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Adopting Sorbet at Scale
ufuk
77
9.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
Change Tracking でデプロイを記録して パフォーマンスへの影響を分析しやすくしよう New Relic User Group Vol.9 株式会社TVer
髙品純大
Speaker • 名前 ◦ 髙品純大 • 仕事 ◦ TVer 広告関連システムの
開発, 構築, 運用 • 職種 ◦ インフラエンジニア・SRE Neovim 好き
お話すること • Change Tracking という便利な機能の紹介 • Change Tracking の開始方法
Change Tracking とは? • アプリケーションのデプロイ(変更)を New Relic に記録する機能 ◦ APM,
Browser, Mobile で利用可能 • メリット ◦ デプロイとパフォーマンスの変化に関連があるか分かりやすい ▪ デプロイ前後の速度, スループット, エラーの変化 ◦ 影響を与えたデプロイをすぐに特定できる
こんなときどうしますか? • Web transactions time の メトリクスがおかしい • 関連が疑われるイベントの 有無と内容を確認する
◦ デプロイ? ◦ 基盤の問題? ◦ 外部要因? APM の Web transactions time
Change Tracking あり • デプロイの記録とメトリクスを同時に確認 できるので、2つの事象に関係があるか 分析しやすい • Web transactions
time を悪化させた 可能性がある変更内容を特定しやすい メトリクスとデプロイの記録を同時に 確認することができる
Change Tracking なし • メトリクスから読み取れるのは、 Web transactions time が遅くなった という事実だけ
• デプロイが原因かもしれないし、 そうではないかもしれない メトリクスのみ
Change Tracking はなぜ便利なのか なにかおかしいメトリクスを分析するときの思考 1. 原因となりそうなイベントを複数思い浮かべる 2. イベントの有無と内容を調べ、原因を特定していく Change Tracking
はこの思考において 2 の効率を高めてくれるから便利
Change Tracking 開始方法 • CI / CD パイプラインの中に New Relic
へデータを送信する処理を 追加する • 公式の GitHub Action, Jenkins Plugin がある • お好きな言語でスクリプトを 書いてもOK New Relic の公式 GitHub Action
GitHub Action アプリケーションのバージョンを取得 する newrelic/deployment-marker-action に必要な情報を渡す GitHub Actions workflow workflowに10行程度追記するだけ
使用開始するハードルが低い
シェルスクリプト NerdGraph API Explorer で curl コマンドを生成できる NerdGraph API Explorer
の画面 生成されたコマンドを参考に シェルスクリプトを作成する 参考ブログ https://techblog.tver.co.jp/entr y/takashina/tver-advent-calen dar-2023-newrelic-change-tra cking
まとめ • Change Tracking はアプリケーションのパフォーマンス分析、調査の 効率を高める ◦ デプロイの記録とメトリクスを重ねて見ることで、 パフォーマンスへの影響が理解しやすくなる •
簡単に使い始めることができる ◦ New Relic に変更情報を送信する方法は複数用意されているので、 CI /CD ツールと組み合わせやすい