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
PHPこそ OpenTelemetry が嬉しい
Search
sadnessOjisan
December 04, 2024
Programming
460
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPこそ OpenTelemetry が嬉しい
sadnessOjisan
December 04, 2024
More Decks by sadnessOjisan
See All by sadnessOjisan
Cloudflare Workers で Rust 選ぶ理由 is 何?
sadnessojisan
1
96
AIエージェントが動かないときの原因とその対処
sadnessojisan
2
140
React のルーター事情
sadnessojisan
1
640
TypeScript、上達の瞬間
sadnessojisan
53
19k
フロントエンド・オブザーバビリティを支える要素技術を学ぼう
sadnessojisan
2
990
疎通2024
sadnessojisan
5
1.7k
BasicBasic認証
sadnessojisan
5
4.9k
ISUCON入門以前_ISUNARABE_LT#1
sadnessojisan
21
6.6k
サーバーとは何かを理解して、コンテナ1つで実行しよう | PHPerKaigi2024
sadnessojisan
38
16k
Other Decks in Programming
See All in Programming
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3k
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
8
3.1k
What's New in Android 2026
veronikapj
0
140
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
350
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
160
act2-costs.pdf
sumedhbala
0
120
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.3k
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
270
AIが無かった頃の素敵な出会いの話
codmoninc
1
200
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
150
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
1
240
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
210
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
330
The Language of Interfaces
destraynor
162
27k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
Ruling the World: When Life Gets Gamed
codingconduct
0
290
The agentic SEO stack - context over prompts
schlessera
0
850
Scaling GitHub
holman
464
140k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Transcript
PHPこそ OpenTelemetry が嬉しい つよナレ #1 PHPにまつわる話 @sadnessOjisan
自己紹介 • 2019年の立ち上げ時期からTechTrainメン ター • 2023年からTechBowlの技術アドバイザ リー • 元々フロントエンドメインでのアドバイザ リーだったが、サービス分割・認証基盤
・ETL整備などを通じ、全社を巻き込んだ設 計が必要となりPHPも始める • PHPerKaigi2024登壇 https://speakerdeck.com/sadnessojisan/s ahatohahe-kawoli-jie-site-kontena1tutes hi-xing-siyou-phperkaigi2024
PHP、辛さとセットになりがち • 言語機能(特に守りの部分)そのものが不足しがち • 古くからある言語なので、古いシステムとも出会いがち • FWとその周辺プラグインに頼ることが多く、ブラックボックスな開発をし がち そのコードベース、自信を持って改修できますか?
テストを書けば解決だが... • そもそもテスト書いていますか?書けますか? • DB接続や外部SaaSにアクセスするコードにテストを書けていますか? • テストが書きやすい設計ですか? • テストを書きやすくするための改善をCommitするためのテストはあります か?
後手でテストを追加するのは、簡単ではない
そんなあなたに OpenTelemetry • テストをせずに動作確認するには、動作しているシステムを目視で確認すれ ばよい • 呼ばれるはずのコードが呼ばれていなければバグが起きたとみなせる • 本番環境での動作確認の精度をあげていこう
OpenTelemetry • 可観測性を担保するためのフレームワーク • トレースという機能で、「あるエンドポイントが呼ばれ た時に、こういう関数と関数にこういう引数が渡って、 こういう結果を返した」ということを出力できる • ビジュアルで確認もできるし、引数もわかる
どうやって設定するの? • Laravel はライブラリを入れて SDK をエントリポイントで初期化するだけで勝手に計 測される • 詳しくは公式のガイドをチェック: https://github.com/open-telemetry/opentelemetry-php/blob/main/docs/laravel
-quickstart.md
全てを勝手に自動で計測してくれるのですか? • 答えはNO • 自動計装と手動計装があり、SDKで自動計装はセットされる • 自動計装ではあらかじめSDKが、有名ライブラリだけをフックして計装を挟 み込んでくれる(例: HTTP、SQL) •
関数単位で計測ログを入れたければ、自分で計測コードを入れる https://opentelemetry.io/docs/languages/php/instrumentation/#trace
まとめ • Opentelemetryを使えば、複雑なAPIの内部処理をトレースしてログとして 出力できる • 複雑なAPIに後手でテストを書くのは難しいが、トレースを出せれば内部を 観察しながら動作確認ができ、コード編集時の動作確認に役に立てられる • OpenTelemetryは内部実装をあまり変えることなく、トレースを出せる •
PHPコードベースの品質改善も大事だけど、やらかしたときの回復力を身に つけるのも、システム開発に効く