Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opent...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
shin1x1
December 22, 2024
Technology
2.5k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
2024-12-22 PHP カンファレンス 2024
shin1x1
December 22, 2024
More Decks by shin1x1
See All by shin1x1
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
670
抽象化という思考のツール - 開発現場での活用 - / Abstraction-as-a-Tool-for-Thinking-in-dev
shin1x1
0
160
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
1.5k
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
6
4.2k
PHPコードの実行モデルを理解する / Understanding-the-PHP-Execution-Model
shin1x1
2
3.4k
制約の力 - 状態を限定する -
shin1x1
6
5.9k
Apple Silicon Mac 時代の PHP 開発環境構築 2021 / php-dev-env-on-m1-mac-era
shin1x1
2
4.9k
Docker イメージのマルチアーキテクチャビルド / docker-muti-arch-build
shin1x1
1
580
Domain modeling with PHP / domain-modeling-with-php-en
shin1x1
1
340
Other Decks in Technology
See All in Technology
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
700
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
480
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
210
NW運用でNWトポロジ可視化ツールに期待すること/shumoku-meetup1
corestate55
2
120
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
2
600
Snowflakeで実現する全社横断の顧客の声(VOC)分析・活用基盤@Snowflake World Tour Tokyo 2026
yuto16
0
200
[2026-09-11]SREは誰のもの?運用エンジニアが始める 「SRE領域への越境」とチームの進化の軌跡 〜Road to NEXT CRE
tosite
0
170
安心して変更できるWebフロントエンドの作り方
pirosikick
4
1.7k
Microsoft 365 Copilot chat -tekoälypalvelun tietosuojaongelmat
hponka
0
740
range over func 2年間の軌跡 Issue #56413 はGoのエコシステムをどう変えたか
ryujicre8ive
0
110
Code4Lib JAPANカンファレンス2026 開会挨拶 / Code4Lib JAPAN Conference 2026: Opening Remarks
ykiyota
0
340
20260912_スクラムにジェネラリストは必要か
ryugen04
0
380
Featured
See All Featured
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
900
How to Talk to Developers About Accessibility
jct
2
540
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Raft: Consensus for Rubyists
vanstee
141
7.7k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
700
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Transcript
1)1ΧϯϑΝϨϯε !TIJOY 1)1ϢʔβͷͨΊͷ0QFO5FMFNFUSZೖ
D .BTBTIJ4IJOCBSB!TIJOY ࣗݾհ ৽ݪʢ͠ΜΒʣխ࢘ େࡕͰ8FCγεςϜ։ൃ։ൃνʔϜͷٕज़ࢧԉΛߦ͍ͬͯ·͢ɻ w CMPHIUUQTCMPHTIJOYDPN w 9NJYJ(JU)VC!TIJOY
D .BTBTIJ4IJOCBSB!TIJOY ͡Ίʹ 👉͜ͷࢿྉެ։͠·͢ 👉1)1ΞϓϦέʔγϣϯΛ0QFO5FMFNFUSZͰܭ͢ΔୈҰา આ໌Λ؆ུԽ͍ͯͨ͠Γলུ͍ͯ͠ΔՕॴ͕͋Γ·͢ 👉ײɺϑΟʔυόοΫ͓͍ͪͯ͠·͢ʂ QIQDPOPSGPSUFFϑΟʔυόοΫϖʔδ
D .BTBTIJ4IJOCBSB!TIJOY "HFOEB w 0QFO5FMFNFUSZͱ w 1)1ΞϓϦέʔγϣϯͷτϨʔεܭ w 0QFO5FMFNFUSZ$PMMFDUPS
D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZͱ
D .BTBTIJ4IJOCBSB!TIJOY PHP アプリケーション ɺ෦ঢ়ଶΛݟΔ͜ͱ͍͠ ͍ Τϥʔ͕ൃੜ γεςϜͷ෦ঢ়ଶ͕Γ͍ͨ
D .BTBTIJ4IJOCBSB!TIJOY PHP アプリケーション ログサービス ϩάΛੜ ϩάΛग़ྗ ϩάΛݟͯ෦ঢ়ଶΛΔ
෦ঢ়ଶΛ؍ଌͯ͠Δ
D .BTBTIJ4IJOCBSB!TIJOY ΦϒβʔόϏϦςΟ w Մ؍ଌੑγεςϜͷ෦ঢ়ଶΛ֎෦͔Β؍Ͱ͖Δೳྗ γεςϜͷݟ͑ΔԽ w ςϨϝτϦσʔλΛݩʹ؍͢Δ γεςϜͷ෦ঢ়ଶΛܭଌ͠ɺ֎෦ʹૹ৴ͨ͠σʔλʢFYϩάʣ w
ςϨϝτϦσʔλΛऔಘͰ͖ΔΑ͏ʹܭ͢Δ ܭଌ͢ΔΈΛ࣮͢Δ͜ͱʢFYϩάΛग़ྗ͢ΔίʔυΛ࣮ʣ
D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZ 05FM ͱ w ςϨϝτϦσʔλΛੜɺऩूɺૹ৴͢ΔπʔϧΩοτ ༷ͱ࣮ w ϕϯμʔχϡʔτϥϧͳΦʔϓϯιʔε
$/$'QSPKFDUҎ্ͷπʔϧαʔϏε͕αϙʔτ w ΦϒβʔόϏϦςΟόοΫΤϯυؚ·ͳ͍ ςϨϝτϦσʔλͷอଘɺੳɺࢹ֮ԽผͷπʔϧαʔϏεΛར༻
D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZओͳ༷ w 0QFO5FMFNFUSZ༷ "1*σʔλϞσϧͳͲ w 0QFO5FMFNFUSZϓϩτίϧʢ05-1ʣ ςϨϝτϦσʔλͷ௨৴ϓϩτίϧʢΤϯίʔσΟϯάɺૹ৴ͷΈͳͲʣ H31$)551
1SPUPCVGPS+40/
D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZओͳ࣮ w 0QFO5FMFNFUSZ༷Λ࣮ͨ͠4%, ֤ϓϩάϥϛϯάݴޠ͚࣮1)1൛$PNQPTFSύοέʔδ w ܭύοέʔδ $PNQPTFSύοέʔδɺ1)1֦ு w
0QFO5FMFNFUSZ$PMMFDUPSʢޙड़ʣ
D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZެࣜυΩϡϝϯτ w ༰͕ॆ࣮ ֓೦ɺ༷ɺ࣮ྫɺ༻ޠू w Ұ෦ɺ༁͋Γ w ຊηογϣϯ͜ΕΛಡΉͨΊʹԼ
IUUQTPQFOUFMFNFUSZJPEPDT
D .BTBTIJ4IJOCBSB!TIJOY 1)1ΞϓϦέʔγϣϯͷτϨʔεܭ
D .BTBTIJ4IJOCBSB!TIJOY τϨʔε w ϦΫΤετͰ࣮ߦ͞ΕͨॲཧΠϕϯτͷύε w εύϯʢॲཧΠϕϯτʣͰߏ͞ΕΔ w ϦΫΤετͷॲཧॱংɺ࣮ߦ࣌ؒɺॲཧ༰ͳͲ͕͔Δ εύϯ
ʢϧʔτεύϯʣ εύϯ
D .BTBTIJ4IJOCBSB!TIJOY ࣮Πϝʔδ PHP アプリケーション Jaeger OTLP ςϨϝτϦσʔλΛੜ
D .BTBTIJ4IJOCBSB!TIJOY खಈܭͱࣗಈܭ w खಈܭNBOVBMJOTUSVNFOUBUJPO ςϨϝτϦσʔλͷੜૹ৴͢ΔίʔυΛΞϓϦέʔγϣϯʹೖΕΔ w ࣗಈܭ[FSP BVUP JOTUSVNFOUBUJPO
ࣗಈܭύοέʔδͳͲΛར༻ͯ͠ΞϓϦέʔγϣϯमਖ਼͠ͳ͍ w Έ߹ΘͤՄ ࣗಈܭͭͭ͠ɺඞཁͳՕॴ͚ͩखಈܭ͢Δ
D .BTBTIJ4IJOCBSB!TIJOY 1)1τϨʔεܭͷྲྀΕ w ඞཁͳύοέʔδͷಋೖ w ܭͷઃఆ w ܭଌίʔυͷՃʢखಈܭͷ߹ʣ खಈܭ1)1ίʔυܭࣗಈܭίʔυมߋແ͠ʹܭ
D .BTBTIJ4IJOCBSB!TIJOY खಈܭඞཁͳύοέʔδ w PQFOUFMFNFUSZTEL 0QFO5FMFNFUSZ4%, w PQFOUFMFNFUSZFYQPSUFSPUMQ ςϨϝτϦσʔλΛ05-1ܗࣜͰग़ྗ w
QIQIUUQHV[[MFBEBQUFS ςϨϝτϦσʔλΛૹ৴͢Δ)551ΫϥΠΞϯτ
D .BTBTIJ4IJOCBSB!TIJOY खಈܭඞཁͳύοέʔδ $ composer require open-telemetry/sdk \ open-telemetry/exporter-otlp \
php-http/guzzle7-adapter # ඞཁʹԠͯ͡ɺy or n Λೖྗ Do you trust "tbachert/spi" to ... [y,n,d,?] n
D .BTBTIJ4IJOCBSB!TIJOY ܭͷઃఆ w ڥมͰࢦఆ ڥม ༰ 05&-@&91035&3@05-1@13050$0- IUUQQSPUPCVGʢσϑΥϧτʣ
ૹ৴ϓϩτίϧ 05&-@4&37*$&@/".& BQQ αʔϏε໊ʢτϨʔεʹؚ·ΕΔʣ 05&-@&91035&3@05-1@&/%10*/5 IUUQKBFHFS ૹ৴ઌ63-ʢ+BFHFSʣ
D .BTBTIJ4IJOCBSB!TIJOY खಈܭ1)1ίʔυྫ $tracerProvider = new TracerProviderFactory()->create(); // TraceProvider ࡞
$tracer = $tracerProvider->getTracer('trace-example'); // Tracer ࡞ $rootSpan = $tracer->spanBuilder('root')->startSpan(); // ϧʔτεύϯ։࢝ $rootScope = $rootSpan->activate(); // Ҏ߱ͷεύϯΛϧʔτεύϯΛʹ͢Δ usleep(50 * 1000); try { $span1 = $tracer->spanBuilder('foo')->startSpan(); // εύϯ։࢝ usleep(100 * 1000); $span1->end(); // εύϯऴྃ } finally { $rootScope->detach(); $rootSpan->end(); // ϧʔτεύϯऴྃ } $tracerProvider->shutdown(); // TraceProvider ऴྃ
D .BTBTIJ4IJOCBSB!TIJOY खಈܭग़ྗྫ w ͭͷεύϯΛग़ྗ w ॲཧͷྲྀΕɺॲཧ࣌ؒɺ։࢝࣌ؒͳͲ͕͔Δ ॲཧ࣌ؒSPPUNTGPPNTʢVTMFFQ ࣮ߦʣ
D .BTBTIJ4IJOCBSB!TIJOY ࣗಈܭ w ඞཁͳύοέʔδΛΠϯετʔϧ w ܭΛઃఆ 1)1ίʔυͷ࣮ෆཁ w ͜͜Ͱ-BSBWFMΞϓϦέʔγϣϯͷܭΛྫࣔ
%#ΞΫηεɺ֎෦"1*ݺͼग़͋͠Γ
D .BTBTIJ4IJOCBSB!TIJOY ࣗಈܭඞཁͳύοέʔδ w खಈܭύοέʔδ w PQFOUFMFNFUSZ֦ு ؔϝιου࣮ߦΛϑοΫͯ͠ҙͷؔΛࠩ͠ࠐΉ w PQFOUFMFNFUSZPQFOUFMFNFUSZBVUPMBSBWFM
-BSBWFMΞϓϦέʔγϣϯͷࣗಈܭ
D .BTBTIJ4IJOCBSB!TIJOY ύοέʔδ w ڥมखಈܭͷઃఆʹՃ ڥม ༰ 05&-@1)1@"650-0"%@&/"#-&% 536&
ΦʔτϩʔμಡΈࠐΈ࣌ʹ4%,ͷ άϩʔόϧઃఆΛࣗಈͰߦ͏
D .BTBTIJ4IJOCBSB!TIJOY w )551ϦΫΤετεύϯʢϧʔτεύϯʣ w 42-จൃߦ w ֎෦)551ϦΫΤετૹ৴ τϨʔεྫ
D .BTBTIJ4IJOCBSB!TIJOY τϨʔεεύϯྫ ൃߦ͞Εͨ42- ൃߦ͞Εͨ42- ࣮ߦ࣌ؒ
D .BTBTIJ4IJOCBSB!TIJOY τϨʔεεύϯྫ ֎෦"1*ݺͼग़͠ )551ϦΫΤετɺϨεϙϯε ϦΫΤετૹ৴ઌ ࣮ߦ࣌ؒ ։࢝࣌ؒ
D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZ$PMMFDUPS
D .BTBTIJ4IJOCBSB!TIJOY PHP アプリケーション Jaeger OTel Collector New Relic Datadog
Loki 0QFO5FMFNFUSZ$PMMFDUPSར༻Πϝʔδ ςϨϝτϦσʔλੜɺૹ৴ όοΫΤϯυʹసૹ σʔλอଘɺࢹ֮Խɺੳ
D .BTBTIJ4IJOCBSB!TIJOY 0QFO5FMFNFUSZ$PMMFDUPS w ςϨϝτϦσʔλͷड৴ɺॲཧɺૹ৴Λߦ͏ιϑτΣΞ (P࣮%PDLFSΠϝʔδɺόΠφϦύοέʔδఏڙ w ΞϓϦέʔγϣϯͱΦϒβʔόϏϦςΟόοΫΤϯυΛհ ΞϓϦέʔγϣϯͱόοΫΤϯυΛૄ݁߹ʹ͢Δ w
ΞϓϦέʔγϣϯ$PMMFDUPSʹૹ৴͢Δ͚ͩͰྑ͍ ϨΠςϯγΛԼ͛ΔΞϓϦέʔγϣϯ͕όοΫΤϯυใΛอ࣋͠ͳͯ͘ྑ͍ w ུޠ05FM$PMMFDUPSPUFMDPM
D .BTBTIJ4IJOCBSB!TIJOY ྫϩʔΧϧڥͱຊ൪ڥྫ PHP アプリケーション Jaeger OTLP OTel Collector OTLP
w ϩʔΧϧڥ w ຊ൪ڥ PHP アプリケーション New Relic OTLP OTel Collector OTLP όοΫΤϯυ͕มΘͬͯ 1)1ΞϓϦέʔγϣϯมߋෆཁ
D .BTBTIJ4IJOCBSB!TIJOY ྫҟͳΔϓϩτίϧʹม PHP アプリケーション Jaeger OTLP OTel Collector OTLP
w ϩʔΧϧڥ w ຊ൪ڥ %BUBEPH&YQPSUFSͰม PHP アプリケーション Datadog OTLP OTel Collector Datadog
D .BTBTIJ4IJOCBSB!TIJOY PHP アプリケーション AWS X-Ray OTLP ADOT Collector X-Ray
ྫόοΫΤϯυઐ༻$PMMFDUPSͷར༻ PHP アプリケーション Jaeger OTLP OTel Collector OTLP w ϩʔΧϧڥ w ຊ൪ڥ "84%JTUSPGPS0QFO5FMFNFUSZ "%05 $PMMFDUPSΛར༻
D .BTBTIJ4IJOCBSB!TIJOY ·ͱΊ
D .BTBTIJ4IJOCBSB!TIJOY ·ͱΊ w 0QFO5FMFNFUSZϕϯμʔχϡʔτϥϧͳ ΦϒβʔόϏϦςΟπʔϧΩοτ w ςϨϝτϦσʔλͷຽओԽ w ·ͣϩʔΧϧڥ͔Βࢼ͢ͷ͕͓͢͢Ί
IUUQTCMPHTIJOYDPNFOUSZQIQPQFOUFMFNFUSZQSJNFS
D .BTBTIJ4IJOCBSB!TIJOY ࢀর w IUUQTPQFOUFMFNFUSZJPEPDT w IUUQTEPDTEBUBEPHIRDPNKBPQFOUFMFNFUSZDPMMFDUPS@FYQPSUFS w IUUQTEPDTOFXSFMJDDPNKQEPDTPQFOUFMFNFUSZPQFOUFMFNFUSZ JOUSPEVDUJPO
w IUUQTBXTPUFMHJUIVCJPEPDTJOUSPEVDUJPO w IUUQTXXXKBFHFSUSBDJOHJP w IUUQTCMPHTIJOYDPNFOUSZQIQPQFOUFMFNFUSZQSJNFS