Slide 1

Slide 1 text

GitHub Actions + Datadogで コードベースの定点観測 2023/10/31 BARフロントえんどう @KawamataRyo

Slide 2

Slide 2 text

エンジニア@Lapras.inc 元消防士 2児の父(育休1年取得中) 懸垂, 個人開発 @KawamataRyo

Slide 3

Slide 3 text

今日話すこと

Slide 4

Slide 4 text

GitHub ActionsとDatadogで プロダクトのコードベースを定点観測したら いろいろ良かった話

Slide 5

Slide 5 text

コードベースの定点観測とは?

Slide 6

Slide 6 text

コードベースの状況を時系列データとして計測し、 ダッシュボードで可視化すること

Slide 7

Slide 7 text

どんなものを観測していた?

Slide 8

Slide 8 text

① リファクタリングの進捗状況

Slide 9

Slide 9 text

① リファクタリングの進捗状況

Slide 10

Slide 10 text

② 依存ライブラリのバージョン追従状況

Slide 11

Slide 11 text

② 依存ライブラリのバージョン追従状況

Slide 12

Slide 12 text

なぜ作った?

Slide 13

Slide 13 text

今の進捗をわかりやすく可視化したい 時系列で変化を追いたい 面白そう

Slide 14

Slide 14 text

どういう仕組み?

Slide 15

Slide 15 text

GitHub Actionsで計測スクリプトを定期実行

Slide 16

Slide 16 text

なぜDatadog?

Slide 17

Slide 17 text

新たにDBを作る必要がなくて楽 時系列データを簡単に可視化できる

Slide 18

Slide 18 text

計測スクリプトの実装は?

Slide 19

Slide 19 text

スクリプトの実装例①(メトリクス取得) ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。

Slide 20

Slide 20 text

スクリプトの実装例①(メトリクス取得) ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。 zx経由でnpm-check-updatesを実行して結果をパース。 メトリクスを取得。

Slide 21

Slide 21 text

スクリプトの実装例②(Datadogへ送信) ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。

Slide 22

Slide 22 text

スクリプトの実装例②(Datadogへ送信) ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。 依存ライブラリのメトリクスを取得。

Slide 23

Slide 23 text

スクリプトの実装例②(Datadogへ送信) ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。 Datadogに時系列データとして送信

Slide 24

Slide 24 text

GitHub Actionsの実装例 ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。

Slide 25

Slide 25 text

GitHub Actionsの実装例 ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。 1日1回 1時(UTC)に定期実行

Slide 26

Slide 26 text

GitHub Actionsの実装例 ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。 対象のプロダクトのコードを取得

Slide 27

Slide 27 text

GitHub Actionsの実装例 ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。 計測スクリプトを実行して結果をDatadogに送信

Slide 28

Slide 28 text

やってみてどうだった?

Slide 29

Slide 29 text

チーム内外で進捗を把握できるようになった 状況悪化に早めに気づけるようになった ライブラリ更新に対するモチベーションに繋がった

Slide 30

Slide 30 text

所感

Slide 31

Slide 31 text

GitHub Actions + Datadog便利 コードベースの定点観測面白い 色々応用ができるかも

Slide 32

Slide 32 text

Happy Hacking!