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
GitHub Actions と Datadog でコードベースの定点観測
Search
ryo
October 31, 2023
Technology
7
1.6k
GitHub Actions と Datadog でコードベースの定点観測
2023/10/31 フロントえんどう
ryo
October 31, 2023
Tweet
Share
More Decks by ryo
See All by ryo
個人開発駆動学習 / personal development driven learning
kawamataryo
1
100
GitHub Trending Bot, Sky Follower Bridge の紹介
kawamataryo
0
170
[Minecraft × ChatGPT] マイクラで作りたいものを伝えると魔法のように作ってくれるコマンドを作る
kawamataryo
0
1.9k
Resumable な JavaScript フレームワーク Qwik を学ぶ / qwik-resumable
kawamataryo
0
3.1k
JSからTSへ移行した Vue.jsプロダクトの型チェックを 漸進的に強化する/ reinforcing the type
kawamataryo
0
3.1k
Webで動画解析 〜Google Meetの挙手とリアルの挙手を連動させるChrome拡張作った話〜 / sync-raise-hand
kawamataryo
0
120
suppress-ts-errors を使って TypeScriptの型チェックを漸進的に強化する / Introducing-suppress-ts-errors
kawamataryo
2
460
Python の dotted path をコピーするVS Code 拡張を作ってみた / I made a copy python path.
kawamataryo
0
290
OSS活動ことはじめ / begin oss activities
kawamataryo
7
5.1k
Other Decks in Technology
See All in Technology
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
16k
ルーターでプレゼンする
puhitaku
0
300
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
アクセス制御にまつわる改善 / Improving access control
itkq
0
550
Janus
bkuhlmann
1
490
require(ESM)とECMAScript仕様
uhyo
3
790
生産性向上チームの紹介
cybozuinsideout
PRO
1
880
オーナーシップを持つ領域を明確にする
konifar
13
3.2k
Building Dashboards as a Hobby
egmc
0
240
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.4k
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
260
BPStudyの200回を中心にIT業界を振り返る。そしてこれから
haru860
2
140
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
8
2.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Web development in the modern age
philhawksworth
202
10k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Designing with Data
zakiwarfel
96
4.8k
Product Roadmaps are Hard
iamctodd
44
9.7k
Thoughts on Productivity
jonyablonski
58
3.8k
Faster Mobile Websites
deanohume
299
30k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Practical Orchestrator
shlominoach
182
9.7k
Raft: Consensus for Rubyists
vanstee
132
6.3k
Transcript
GitHub Actions + Datadogで コードベースの定点観測 2023/10/31 BARフロントえんどう @KawamataRyo
エンジニア@Lapras.inc 元消防士 2児の父(育休1年取得中) 懸垂, 個人開発 @KawamataRyo
今日話すこと
GitHub ActionsとDatadogで プロダクトのコードベースを定点観測したら いろいろ良かった話
コードベースの定点観測とは?
コードベースの状況を時系列データとして計測し、 ダッシュボードで可視化すること
どんなものを観測していた?
① リファクタリングの進捗状況
① リファクタリングの進捗状況
② 依存ライブラリのバージョン追従状況
② 依存ライブラリのバージョン追従状況
なぜ作った?
今の進捗をわかりやすく可視化したい 時系列で変化を追いたい 面白そう
どういう仕組み?
GitHub Actionsで計測スクリプトを定期実行
なぜDatadog?
新たにDBを作る必要がなくて楽 時系列データを簡単に可視化できる
計測スクリプトの実装は?
スクリプトの実装例①(メトリクス取得) ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。
スクリプトの実装例①(メトリクス取得) ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。 zx経由でnpm-check-updatesを実行して結果をパース。 メトリクスを取得。
スクリプトの実装例②(Datadogへ送信) ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。
スクリプトの実装例②(Datadogへ送信) ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。 依存ライブラリのメトリクスを取得。
スクリプトの実装例②(Datadogへ送信) ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。 Datadogに時系列データとして送信
GitHub Actionsの実装例 ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。
GitHub Actionsの実装例 ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。 1日1回 1時(UTC)に定期実行
GitHub Actionsの実装例 ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。 対象のプロダクトのコードを取得
GitHub Actionsの実装例 ※ スライドに乗せるためコードを省略しています。参考程度にご覧ください。 計測スクリプトを実行して結果をDatadogに送信
やってみてどうだった?
チーム内外で進捗を把握できるようになった 状況悪化に早めに気づけるようになった ライブラリ更新に対するモチベーションに繋がった
所感
GitHub Actions + Datadog便利 コードベースの定点観測面白い 色々応用ができるかも
Happy Hacking!